summaryrefslogtreecommitdiff
path: root/docs/gst
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2001-10-24 21:44:48 +0000
committerWim Taymans <wim.taymans@gmail.com>2001-10-24 21:44:48 +0000
commit0bb01afa843fb2923ff0d932d07fdcf681c77d78 (patch)
tree9c115e876d6be298889c71a80b584ba5fc7a558c /docs/gst
parent7e5cd5fc387bdf434a0986b9b26bc06a31344127 (diff)
Split out the padtemplate, autoplugfactoy and elementfactory into different pages to be able to show more examples an...
Original commit message from CVS: Split out the padtemplate, autoplugfactoy and elementfactory into different pages to be able to show more examples and the object hierarchy.
Diffstat (limited to 'docs/gst')
-rw-r--r--docs/gst/gstreamer-docs.sgml38
-rw-r--r--docs/gst/gstreamer-sections.txt89
-rw-r--r--docs/gst/gstreamer.hierarchy1
-rw-r--r--docs/gst/tmpl/gstautoplug.sgml68
-rw-r--r--docs/gst/tmpl/gstautoplugfactory.sgml93
-rw-r--r--docs/gst/tmpl/gstelement.sgml103
-rw-r--r--docs/gst/tmpl/gstelementfactory.sgml149
-rw-r--r--docs/gst/tmpl/gstpad.sgml174
-rw-r--r--docs/gst/tmpl/gstpadtemplate.sgml212
-rw-r--r--docs/gst/tmpl/gstreamer-unused.sgml8
-rw-r--r--docs/gst/tmpl/gsttypefactory.sgml12
11 files changed, 546 insertions, 401 deletions
diff --git a/docs/gst/gstreamer-docs.sgml b/docs/gst/gstreamer-docs.sgml
index fb3c81e79..8e6f224ca 100644
--- a/docs/gst/gstreamer-docs.sgml
+++ b/docs/gst/gstreamer-docs.sgml
@@ -1,6 +1,8 @@
<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
<!entity Gst SYSTEM "sgml/gst.sgml">
+<!entity GstAutoplug SYSTEM "sgml/gstautoplug.sgml">
+<!entity GstAutoplugFactory SYSTEM "sgml/gstautoplugfactory.sgml">
<!entity GstInfo SYSTEM "sgml/gstinfo.sgml">
<!entity GstBin SYSTEM "sgml/gstbin.sgml">
<!entity GstData SYSTEM "sgml/gstdata.sgml">
@@ -9,12 +11,13 @@
<!entity GstBufferPool SYSTEM "sgml/gstbufferpool.sgml">
<!entity GstCpu SYSTEM "sgml/gstcpu.sgml">
<!entity GstElement SYSTEM "sgml/gstelement.sgml">
+<!entity GstElementFactory SYSTEM "sgml/gstelementfactory.sgml">
<!entity GstLog SYSTEM "sgml/gstlog.sgml">
<!entity GstObject SYSTEM "sgml/gstobject.sgml">
<!entity GstPad SYSTEM "sgml/gstpad.sgml">
-<!entity GstPipeline SYSTEM "sgml/gstpipeline.sgml">
-<!entity GstAutoplug SYSTEM "sgml/gstautoplug.sgml">
+<!entity GstPadTemplate SYSTEM "sgml/gstpadtemplate.sgml">
<!entity GstParse SYSTEM "sgml/gstparse.sgml">
+<!entity GstPipeline SYSTEM "sgml/gstpipeline.sgml">
<!entity GstPlugin SYSTEM "sgml/gstplugin.sgml">
<!entity GstPluginFeature SYSTEM "sgml/gstpluginfeature.sgml">
<!entity GstThread SYSTEM "sgml/gstthread.sgml">
@@ -65,6 +68,7 @@ with some more specialized elements.</para>
&Gst;
&GstAutoplug;
+ &GstAutoplugFactory;
&GstBin;
&GstBuffer;
&GstBufferPool;
@@ -73,10 +77,12 @@ with some more specialized elements.</para>
&GstCpu;
&GstData;
&GstElement;
+ &GstElementFactory;
&GstEvent;
&GstInfo;
&GstObject;
&GstPad;
+ &GstPadTemplate;
&GstParse;
&GstPipeline;
&GstPlugin;
@@ -100,32 +106,8 @@ with some more specialized elements.</para>
<para>
libgstelements.la provide some basic elements like a disk source
- and sink. The use of these elements is strictly though the gtk_object_get() and
- gtk_object_set() functions and the GStreamer Core Library functions.
- </para>
- <para>
- Use the gst_elementfactory_find() and gst_elementfactory_create() functions
- to create these elements.
- </para>
- <para>
- The following code example shows you how to create a GstDiskSrc element.
- </para>
-
- <para>
- <programlisting role="C">
- #include &lt;gst/gst.h&gt;
-
- GstElement *src;
- GstElementFactory *srcfactory;
-
- gst_init(&amp;argc,&amp;argv);
-
- srcfactory = gst_elementfactory_find("disksrc");
- g_return_if_fail(srcfactory != NULL);
- src = gst_elementfactory_create(srcfactory,"src");
- g_return_if_fail(src != NULL);
- ...
- </programlisting>
+ and sink. The use of these elements is strictly though the g_object_get() and
+ g_object_set() functions and the GStreamer Core Library functions.
</para>
&GstAggregator;
diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt
index b410b8cba..1be9bf4e2 100644
--- a/docs/gst/gstreamer-sections.txt
+++ b/docs/gst/gstreamer-sections.txt
@@ -485,8 +485,6 @@ GST_ELEMENT_PADS
GST_ELEMENT_SCHED
GST_ELEMENT_MANAGER
GstElement
-GstElementDetails
-GstElementFactory
GstElementLoopFunction
gst_element_class_add_padtemplate
gst_element_destroy
@@ -516,14 +514,6 @@ gst_element_error
gst_element_get_factory
gst_element_signal_eos
gst_element_restore_thyself
-gst_elementfactory_new
-gst_elementfactory_add_padtemplate
-gst_elementfactory_find
-gst_elementfactory_get_list
-gst_elementfactory_can_src_caps
-gst_elementfactory_can_sink_caps
-gst_elementfactory_create
-gst_elementfactory_make
<SUBSECTION Standard>
GstElementClass
GST_TYPE_ELEMENT
@@ -534,12 +524,27 @@ GST_ELEMENT_CLASS_FAST
GST_IS_ELEMENT
GST_IS_ELEMENT_CLASS
gst_element_get_type
-gst_elementfactory_get_type
-GstElementFactoryClass
-GST_TYPE_ELEMENTFACTORY
+</SECTION>
+
+<SECTION>
+<FILE>gstelementfactory</FILE>
+<TITLE>GstElementFactory</TITLE>
+GstElementDetails
+gst_elementfactory_new
+gst_elementfactory_find
+gst_elementfactory_get_list
+gst_elementfactory_add_padtemplate
+gst_elementfactory_can_src_caps
+gst_elementfactory_can_sink_caps
+gst_elementfactory_create
+gst_elementfactory_make
+<SUBSECTION Standard>
+GstElementFactory
GST_ELEMENTFACTORY
-GST_ELEMENTFACTORY_CLASS
GST_IS_ELEMENTFACTORY
+GST_TYPE_ELEMENTFACTORY
+gst_elementfactory_get_type
+GST_ELEMENTFACTORY_CLASS
GST_IS_ELEMENTFACTORY_CLASS
</SECTION>
@@ -549,16 +554,9 @@ GST_IS_ELEMENTFACTORY_CLASS
<TITLE>GstAutoplug</TITLE>
GstAutoplug
GstAutoplugFlags
-GstAutoplugFactory
gst_autoplug_signal_new_object
gst_autoplug_to_caps
gst_autoplug_to_renderers
-gst_autoplugfactory_new
-gst_autoplugfactory_destroy
-gst_autoplugfactory_find
-gst_autoplugfactory_get_list
-gst_autoplugfactory_create
-gst_autoplugfactory_make
<SUBSECTION Standard>
GST_AUTOPLUG
GST_IS_AUTOPLUG
@@ -566,6 +564,19 @@ GST_TYPE_AUTOPLUG
gst_autoplug_get_type
GST_AUTOPLUG_CLASS
GST_IS_AUTOPLUG_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstautoplugfactory</FILE>
+<TITLE>GstAutoplugFactory</TITLE>
+GstAutoplugFactory
+gst_autoplugfactory_new
+gst_autoplugfactory_destroy
+gst_autoplugfactory_find
+gst_autoplugfactory_get_list
+gst_autoplugfactory_create
+gst_autoplugfactory_make
+<SUBSECTION Standard>
gst_autoplugfactory_get_type
GstAutoplugFactoryClass
GST_TYPE_AUTOPLUGFACTORY
@@ -745,21 +756,6 @@ GST_GPAD_REALPAD
GstGhostPad
gst_ghost_pad_new
-GstPadPresence
-GstPadTemplate
-GST_PADTEMPLATE_CAPS
-GST_PADTEMPLATE_DIRECTION
-GST_PADTEMPLATE_NAME_TEMPLATE
-GST_PADTEMPLATE_PRESENCE
-GST_PADTEMPLATE_NEW
-GST_PADTEMPLATE_FACTORY
-GST_PADTEMPLATE_GET
-gst_padtemplate_new
-gst_padtemplate_load_thyself
-gst_padtemplate_save_thyself
-gst_padtemplate_get_caps
-gst_padtemplate_get_caps_by_name
-
<SUBSECTION Standard>
GstPadClass
GST_TYPE_PAD
@@ -793,7 +789,27 @@ GST_IS_GHOST_PAD
GST_IS_GHOST_PAD_CLASS
GST_IS_GHOST_PAD_FAST
gst_ghost_pad_get_type
+</SECTION>
+
+<SECTION>
+<FILE>gstpadtemplate</FILE>
+<TITLE>GstPadTemplate</TITLE>
+GstPadPresence
+GstPadTemplate
+GST_PADTEMPLATE_CAPS
+GST_PADTEMPLATE_DIRECTION
+GST_PADTEMPLATE_NAME_TEMPLATE
+GST_PADTEMPLATE_PRESENCE
+GST_PADTEMPLATE_NEW
+GST_PADTEMPLATE_FACTORY
+GST_PADTEMPLATE_GET
+gst_padtemplate_new
+gst_padtemplate_load_thyself
+gst_padtemplate_save_thyself
+gst_padtemplate_get_caps
+gst_padtemplate_get_caps_by_name
+<SUBSECTION Standard>
GstPadTemplateClass
GST_TYPE_PADTEMPLATE
GST_PADTEMPLATE
@@ -938,6 +954,7 @@ GstTypeDefinition
GstTypeFindFunc
gst_typefactory_new
gst_typefactory_find
+gst_typefactory_get_list
<SUBSECTION Standard>
GST_TYPEFACTORY
GST_IS_TYPEFACTORY
diff --git a/docs/gst/gstreamer.hierarchy b/docs/gst/gstreamer.hierarchy
index 9b9cf6809..a5e36a251 100644
--- a/docs/gst/gstreamer.hierarchy
+++ b/docs/gst/gstreamer.hierarchy
@@ -47,6 +47,7 @@ GtkObject
GstQueue
GstTypeFind
GstPad
+ GstPadTemplate
GstPluginFeature
GstAutoplugFactory
GstTypeFactory
diff --git a/docs/gst/tmpl/gstautoplug.sgml b/docs/gst/tmpl/gstautoplug.sgml
index f07c1c5d8..61d1925a4 100644
--- a/docs/gst/tmpl/gstautoplug.sgml
+++ b/docs/gst/tmpl/gstautoplug.sgml
@@ -13,14 +13,12 @@ non renderer ones do.
</para>
<para>
-You first need to create a suitable autoplugger with gst_autoplugfactory_make().
+You first need to create a suitable autoplugger with gst_autoplugfactory_make()
+(see #GstAutoplugFactory).
The name of the autoplugger must be one of the registered autopluggers
(see #GstStaticAutoplug and #GstStaticAutoplugRender).
</para>
<para>
-A list of all available autopluggers can be obtained with gst_autoplugfactory_get_list().
-</para>
-<para>
If the autoplugger supports the RENDERER API, use gst_autoplug_to_renderers() call to
create a bin that connectes the src caps to the specified rendrer elements. You can
then add the bin to a pipeline and run it.
@@ -83,7 +81,7 @@ compatible with the provided sink caps.
<para>
Optionally you can get a notification when a new object is added to the created
-pipeline with a gtk_signal_connect to the "new_object" signal.
+pipeline with a g_signal_connect to the "new_object" signal.
</para>
<para>
@@ -110,12 +108,6 @@ The type of the autoplugger.
@GST_AUTOPLUG_TO_RENDERER:
@GST_AUTOPLUG_FLAG_LAST:
-<!-- ##### STRUCT GstAutoplugFactory ##### -->
-<para>
-
-</para>
-
-
<!-- ##### FUNCTION gst_autoplug_signal_new_object ##### -->
<para>
@@ -149,57 +141,3 @@ The type of the autoplugger.
@Returns:
-<!-- ##### FUNCTION gst_autoplugfactory_new ##### -->
-<para>
-
-</para>
-
-@name:
-@longdesc:
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_autoplugfactory_destroy ##### -->
-<para>
-
-</para>
-
-@factory:
-
-
-<!-- ##### FUNCTION gst_autoplugfactory_find ##### -->
-<para>
-
-</para>
-
-@name:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_autoplugfactory_get_list ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION gst_autoplugfactory_create ##### -->
-<para>
-
-</para>
-
-@factory:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_autoplugfactory_make ##### -->
-<para>
-
-</para>
-
-@name:
-@Returns:
-
-
diff --git a/docs/gst/tmpl/gstautoplugfactory.sgml b/docs/gst/tmpl/gstautoplugfactory.sgml
new file mode 100644
index 000000000..649c2aace
--- /dev/null
+++ b/docs/gst/tmpl/gstautoplugfactory.sgml
@@ -0,0 +1,93 @@
+<!-- ##### SECTION Title ##### -->
+GstAutoplugFactory
+
+<!-- ##### SECTION Short_Description ##### -->
+Create autopluggers from a factory.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+An autoplugfactory is used to create instances of an autoplugger. It
+can be added to a #GstPlugin as it extends #GstPluginFeature.
+</para>
+<para>
+Use gst_autoplugfactory_new() to create a new autoplugger which can be registered
+to a plugin with gst_plugin_add_feature().
+</para>
+<para>
+Use gst_autoplugfactory_find() to find the named autoplugfactory.
+or use gst_autoplugfactory_get_list() to get a list of all available autopluggers.
+</para>
+<para>
+Once an autoplugfactory has been obtained use gst_autoplugfactory_create() to
+instantiate a real autopugger. Optionally gst_autoplugfactory_make() to create
+and autoplugger from the named factory.
+</para>
+<para>
+Use gst_autoplugfactory_destroy() to remove the factory from the global list.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+#GstAutoplug, #GstPlugin, #GstPluginFeature.
+</para>
+
+<!-- ##### STRUCT GstAutoplugFactory ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION gst_autoplugfactory_new ##### -->
+<para>
+
+</para>
+
+@name:
+@longdesc:
+@type:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_autoplugfactory_destroy ##### -->
+<para>
+
+</para>
+
+@factory:
+
+
+<!-- ##### FUNCTION gst_autoplugfactory_find ##### -->
+<para>
+
+</para>
+
+@name:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_autoplugfactory_get_list ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gst_autoplugfactory_create ##### -->
+<para>
+
+</para>
+
+@factory:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_autoplugfactory_make ##### -->
+<para>
+
+</para>
+
+@name:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gstelement.sgml b/docs/gst/tmpl/gstelement.sgml
index 5903439f8..8bdb5dbfc 100644
--- a/docs/gst/tmpl/gstelement.sgml
+++ b/docs/gst/tmpl/gstelement.sgml
@@ -25,7 +25,7 @@ simpler to connect pads of two elements together.
<!-- ##### SECTION See_Also ##### -->
<para>
-
+#GstElementFactory
</para>
<!-- ##### ENUM GstElementState ##### -->
@@ -205,27 +205,6 @@ Get the manager of this element.
</para>
-<!-- ##### STRUCT GstElementDetails ##### -->
-<para>
-This struct is used to define public information about the element. It
-describes the element, mostly for the benefit of editors.
-</para>
-
-@longname:
-@klass:
-@description:
-@version:
-@author:
-@copyright:
-
-<!-- ##### STRUCT GstElementFactory ##### -->
-<para>
-This factory is used when registering the element, and contains the name
-of the element, the GtkType value for it, as well as a pointer to the
-GstElementDetails struct for the element.
-</para>
-
-
<!-- ##### USER_FUNCTION GstElementLoopFunction ##### -->
<para>
This function type is used to specify a loop function for the element. It
@@ -502,86 +481,6 @@ instead.
@Returns:
-<!-- ##### FUNCTION gst_elementfactory_new ##### -->
-<para>
-
-</para>
-
-@name:
-@type:
-@details:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_elementfactory_add_padtemplate ##### -->
-<para>
-
-</para>
-
-@elementfactory:
-@templ:
-<!-- # Unused Parameters # -->
-@temp:
-@pad:
-
-
-<!-- ##### FUNCTION gst_elementfactory_find ##### -->
-<para>
-
-</para>
-
-@name:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_elementfactory_get_list ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION gst_elementfactory_can_src_caps ##### -->
-<para>
-
-</para>
-
-@factory:
-@caps:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_elementfactory_can_sink_caps ##### -->
-<para>
-
-</para>
-
-@factory:
-@caps:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_elementfactory_create ##### -->
-<para>
-
-</para>
-
-@factory:
-@name:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_elementfactory_make ##### -->
-<para>
-
-</para>
-
-@factoryname:
-@name:
-@Returns:
-
-
<!-- ##### SIGNAL GstElement::state-change ##### -->
<para>
Is trigered whenever the state of an element changes
diff --git a/docs/gst/tmpl/gstelementfactory.sgml b/docs/gst/tmpl/gstelementfactory.sgml
new file mode 100644
index 000000000..9d31aa298
--- /dev/null
+++ b/docs/gst/tmpl/gstelementfactory.sgml
@@ -0,0 +1,149 @@
+<!-- ##### SECTION Title ##### -->
+GstElementFactory
+
+<!-- ##### SECTION Short_Description ##### -->
+Create GstElements from a factory
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+GstElementFactory is used to create instances of elements. A GstElementfactory
+can be added to a #GstPlugin as it is also a #GstPluginFeature.
+</para>
+<para>
+Use gst_elementfactory_new() to create a new factory which can be added to a plugin
+with gst_plugin_add_feature().
+</para>
+<para>
+gst_elementfactory_get_list() is used to get a list of all available factories in
+the plugin repository.
+</para>
+<para>
+gst_elementfactory_add_padtemplate() is used to add a padtemplate to the factory.
+This function will enable the application to query for elementfactories that handle
+a specific media type.
+</para>
+<para>
+Use the gst_elementfactory_find() and gst_elementfactory_create() functions
+to create element instances or use gst_elementfactory_make() as a convenient
+shortcut.
+</para>
+<para>
+The following code example shows you how to create a GstDiskSrc element.
+</para>
+
+<para>
+ <programlisting role="C">
+ #include &lt;gst/gst.h&gt;
+
+ GstElement *src;
+ GstElementFactory *srcfactory;
+
+ gst_init(&amp;argc,&amp;argv);
+
+ srcfactory = gst_elementfactory_find("disksrc");
+ g_return_if_fail(srcfactory != NULL);
+
+ src = gst_elementfactory_create(srcfactory,"src");
+ g_return_if_fail(src != NULL);
+ ...
+ </programlisting>
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+#GstElement, #GstPlugin, #GstPluginFeature, #GstPadTemplate.
+</para>
+
+<!-- ##### STRUCT GstElementDetails ##### -->
+<para>
+This struct is used to define public information about the element. It
+describes the element, mostly for the benefit of editors.
+</para>
+
+@longname:
+@klass:
+@description:
+@version:
+@author:
+@copyright:
+
+<!-- ##### FUNCTION gst_elementfactory_new ##### -->
+<para>
+
+</para>
+
+@name:
+@type:
+@details:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_elementfactory_find ##### -->
+<para>
+
+</para>
+
+@name:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_elementfactory_get_list ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gst_elementfactory_add_padtemplate ##### -->
+<para>
+
+</para>
+
+@elementfactory:
+@templ:
+<!-- # Unused Parameters # -->
+@temp:
+@pad:
+
+
+<!-- ##### FUNCTION gst_elementfactory_can_src_caps ##### -->
+<para>
+
+</para>
+
+@factory:
+@caps:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_elementfactory_can_sink_caps ##### -->
+<para>
+
+</para>
+
+@factory:
+@caps:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_elementfactory_create ##### -->
+<para>
+
+</para>
+
+@factory:
+@name:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_elementfactory_make ##### -->
+<para>
+
+</para>
+
+@factoryname:
+@name:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gstpad.sgml b/docs/gst/tmpl/gstpad.sgml
index 0083f0785..9d493e01b 100644
--- a/docs/gst/tmpl/gstpad.sgml
+++ b/docs/gst/tmpl/gstpad.sgml
@@ -11,38 +11,12 @@ connections. After two pad are retrieved from an element with gst_element_get_pa
can be connected with gst_pad_connect().
</para>
<para>
-PedTemplates are use to describe the runtime behaviour of an element and what pads it
-will have during its lifetime. Pads are typically created from a padtemplate with
-GST_PADTEMPLATE_NEW() or with the factory macro GST_PADTEMPLATE_FACTORY().
+Pads are typically created from a #GstPadTemplate with gst_pad_new_from_template().
</para>
<para>
-Pad and PadTemplates have #GstCaps attached to it to describe the media type they
+Pad have #GstCaps attached to it to describe the media type they
are capable of dealing with. gst_pad_get_caps() and gst_pad_set_caps() are used to
-manipulate the caps of the pads. gst_padtemplate_get_caps() is used to get the
-caps of a padtemplate. It's not possible to modify the caps of a padtemplate after
-creation. The following code example shows the code to create a pad from a padtemplate.
-<programlisting>
-GST_PADTEMPLATE_FACTORY (my_factory,
- "sink", /* the name of the pad */
- GST_PAD_SINK, /* the direction of the pad */
- GST_PAD_ALWAYS, /* when this pad will be present */
- GST_CAPS_NEW ( /* the capabilities of the padtemplate */
- "my_caps",
- "audio/raw",
- "format", GST_PROPS_STRING ("int"),
- "channels", GST_PROPS_INT_RANGE (1, 6)
- )
-)
-
-void
-my_method (void)
-{
- GstPad *pad;
-
- pad = gst_pad_new_from_template (GST_PADTEMPLATE_GET (my_factory), "sink");
- ...
-}
-</programlisting>
+manipulate the caps of the pads.
Pads created from a padtemplate cannot set capabilities that are incompatible with
the padtemplates capabilities.
</para>
@@ -51,7 +25,7 @@ Pads without padtemplates can be created with gst_pad_new() which takes a direct
a name as an argument.
</para>
<para>
-gst_pad_get_parent() will retrieve the GstElement that owns the pad.
+gst_pad_get_parent() will retrieve the #GstElement that owns the pad.
</para>
<para>
GstElements creating a pad will typicilally use the various gst_pad_set_*_function() calls
@@ -61,7 +35,7 @@ to register callbacks for various events on the pads.
GstElements will use gst_pad_push() and gst_pad_pull() to push out or pull a buffer in. The
gst_pad_pullregion() function can be used to request for a buffer with a specific offset (in
time or in bytes). gst_pad_select() and gst_pad_selectv() are use by plugins to wait on a set
-of pads for a new GstBuffer or GstEvent.
+of pads for a new #GstBuffer or #GstEvent.
</para>
<para>
To send an event on a pad, use gst_pad_send_event().
@@ -69,7 +43,7 @@ To send an event on a pad, use gst_pad_send_event().
<!-- ##### SECTION See_Also ##### -->
<para>
-#GstCaps, #GstElement, #GstEvent
+#GstPadTemplate, #GstElement, #GstEvent
</para>
<!-- ##### MACRO GST_PAD_NAME ##### -->
@@ -911,139 +885,3 @@ Get the real pad of this ghost pad.
@Returns:
-<!-- ##### ENUM GstPadPresence ##### -->
-<para>
-Indicates when this pad will become available.
-</para>
-
-@GST_PAD_ALWAYS: the pad is always available
-@GST_PAD_SOMETIMES: the pad will become available depending on the media stream
-@GST_PAD_REQUEST: th pad is only available on request with
-gst_element_request_pad_by_name() or gst_element_request_compatible_pad().
-
-<!-- ##### STRUCT GstPadTemplate ##### -->
-<para>
-
-</para>
-
-@object:
-@name_template:
-@direction:
-@presence:
-@caps:
-
-<!-- ##### MACRO GST_PADTEMPLATE_CAPS ##### -->
-<para>
-Get a handle to the padtemplate #GstCaps
-</para>
-
-@templ: the template to query
-
-
-<!-- ##### MACRO GST_PADTEMPLATE_DIRECTION ##### -->
-<para>
-Get the direction of the padtemplate.
-</para>
-
-@templ: the template to query
-
-
-<!-- ##### MACRO GST_PADTEMPLATE_NAME_TEMPLATE ##### -->
-<para>
-Get the nametemplate of the padtemplate.
-</para>
-
-@templ: the template to query
-
-
-<!-- ##### MACRO GST_PADTEMPLATE_PRESENCE ##### -->
-<para>
-Get the presence of the padtemplate.
-</para>
-
-@templ: the template to query
-
-
-<!-- ##### MACRO GST_PADTEMPLATE_NEW ##### -->
-<para>
-Create a new padtemplate.
-</para>
-
-@padname: the nametemplate for the pads that will be created with this template
-@dir: the direction of the pads.
-@pres: the presence of the pads.
-@a...: the capabilities of this padtemplate usually created with GST_CAPS_NEW()
-
-
-<!-- ##### MACRO GST_PADTEMPLATE_FACTORY ##### -->
-<para>
-Create a factory for a padtemplate. This can be used if you only want one instance
-of the padtemplate. Use GST_PADTEMPLATE_GET() to get the unique padtemplate.
-</para>
-
-@name: th name of the factory
-@padname: the nametemplate of the pads
-@dir: the direction of the pads.
-@pres: the presence of the pads.
-@a...: the capabilities of this padtemplate, usually created with GST_CAPS_NEW()
-
-
-<!-- ##### MACRO GST_PADTEMPLATE_GET ##### -->
-<para>
-Get the padtemplate of the factory created with GST_PADTEMPLATE_FACTORY()
-</para>
-
-@fact: the factory name to get the padtemplate from.
-
-
-<!-- ##### FUNCTION gst_padtemplate_new ##### -->
-<para>
-
-</para>
-
-@name_template:
-@direction:
-@presence:
-@caps:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_padtemplate_load_thyself ##### -->
-<para>
-
-</para>
-
-@parent:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_padtemplate_save_thyself ##### -->
-<para>
-
-</para>
-
-@templ:
-@parent:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_padtemplate_get_caps ##### -->
-<para>
-
-</para>
-
-@templ:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_padtemplate_get_caps_by_name ##### -->
-<para>
-
-</para>
-
-@templ:
-@name:
-@Returns:
-
-
diff --git a/docs/gst/tmpl/gstpadtemplate.sgml b/docs/gst/tmpl/gstpadtemplate.sgml
new file mode 100644
index 000000000..39d714ed9
--- /dev/null
+++ b/docs/gst/tmpl/gstpadtemplate.sgml
@@ -0,0 +1,212 @@
+<!-- ##### SECTION Title ##### -->
+GstPadTemplate
+
+<!-- ##### SECTION Short_Description ##### -->
+Describe the media type of a pad.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+Padtemplates describe the possible media types a pad or an elementfactory can
+handle.
+</para>
+<para>
+Pad and PadTemplates have #GstCaps attached to it to describe the media type they
+are capable of dealing with. gst_padtemplate_get_caps() is used to get the
+caps of a padtemplate. It's not possible to modify the caps of a padtemplate after
+creation.
+</para>
+<para>
+Padtemplates can be created with gst_padtemplate_new() or with the convenient
+GST_PADTEMPLATE_FACTORY() macro. A padtemplate can be used to create a pad or
+to add to an elementfactory.
+</para>
+<para>
+The following code example shows the code to create a pad from a padtemplate.
+<programlisting>
+ GST_PADTEMPLATE_FACTORY (my_template_factory,
+ "sink", /* the name of the pad */
+ GST_PAD_SINK, /* the direction of the pad */
+ GST_PAD_ALWAYS, /* when this pad will be present */
+ GST_CAPS_NEW ( /* the capabilities of the padtemplate */
+ "my_caps",
+ "audio/raw",
+ "format", GST_PROPS_STRING ("int"),
+ "channels", GST_PROPS_INT_RANGE (1, 6)
+ )
+ )
+
+ void
+ my_method (void)
+ {
+ GstPad *pad;
+
+ pad = gst_pad_new_from_template (GST_PADTEMPLATE_GET (my_template_factory), "sink");
+ ...
+ }
+</programlisting>
+</para>
+<para>
+The following example shows you how to add the padtemplate to an elementfactory:
+<programlisting>
+ gboolean
+ my_factory_init (GstPlugin *plugin)
+ {
+ GstElementFactory *factory;
+
+ factory = gst_elementfactory_new ("my_factory", GST_TYPE_MYFACTORY, &amp;gst_myfactory_details);
+ g_return_val_if_fail (factory != NULL, FALSE);
+
+ gst_elementfactory_add_padtemplate (factory, GST_PADTEMPLATE_GET (my_template_factory));
+
+ gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (factory));
+
+ return TRUE;
+ }
+
+</programlisting>
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+#GstPad, #GstElementFactory
+</para>
+
+<!-- ##### ENUM GstPadPresence ##### -->
+<para>
+Indicates when this pad will become available.
+</para>
+
+@GST_PAD_ALWAYS: the pad is always available
+@GST_PAD_SOMETIMES: the pad will become available depending on the media stream
+@GST_PAD_REQUEST: th pad is only available on request with
+gst_element_request_pad_by_name() or gst_element_request_compatible_pad().
+
+<!-- ##### STRUCT GstPadTemplate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GST_PADTEMPLATE_CAPS ##### -->
+<para>
+Get a handle to the padtemplate #GstCaps
+</para>
+
+@templ: the template to query
+
+
+<!-- ##### MACRO GST_PADTEMPLATE_DIRECTION ##### -->
+<para>
+Get the direction of the padtemplate.
+</para>
+
+@templ: the template to query
+
+
+<!-- ##### MACRO GST_PADTEMPLATE_NAME_TEMPLATE ##### -->
+<para>
+Get the nametemplate of the padtemplate.
+</para>
+
+@templ: the template to query
+
+
+<!-- ##### MACRO GST_PADTEMPLATE_PRESENCE ##### -->
+<para>
+Get the presence of the padtemplate.
+</para>
+
+@templ: the template to query
+
+
+<!-- ##### MACRO GST_PADTEMPLATE_NEW ##### -->
+<para>
+Create a new padtemplate.
+</para>
+
+@padname: the nametemplate for the pads that will be created with this template
+@dir: the direction of the pads.
+@pres: the presence of the pads.
+@a...: the capabilities of this padtemplate usually created with GST_CAPS_NEW()
+
+
+<!-- ##### MACRO GST_PADTEMPLATE_FACTORY ##### -->
+<para>
+Create a factory for a padtemplate. This can be used if you only want one instance
+of the padtemplate. Use GST_PADTEMPLATE_GET() to get the unique padtemplate.
+</para>
+
+@name: th name of the factory
+@padname: the nametemplate of the pads
+@dir: the direction of the pads.
+@pres: the presence of the pads.
+@a...: the capabilities of this padtemplate, usually created with GST_CAPS_NEW()
+
+
+<!-- ##### MACRO GST_PADTEMPLATE_GET ##### -->
+<para>
+Get the padtemplate of the factory created with GST_PADTEMPLATE_FACTORY()
+</para>
+
+@fact: the factory name to get the padtemplate from.
+
+
+<!-- ##### FUNCTION gst_padtemplate_new ##### -->
+<para>
+
+</para>
+
+@name_template:
+@direction:
+@presence:
+@caps:
+@Varargs:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_padtemplate_load_thyself ##### -->
+<para>
+
+</para>
+
+@parent:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_padtemplate_save_thyself ##### -->
+<para>
+
+</para>
+
+@templ:
+@parent:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_padtemplate_get_caps ##### -->
+<para>
+
+</para>
+
+@templ:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_padtemplate_get_caps_by_name ##### -->
+<para>
+
+</para>
+
+@templ:
+@name:
+@Returns:
+
+
+<!-- ##### SIGNAL GstPadTemplate::pad-created ##### -->
+<para>
+
+</para>
+
+@gstpadtemplate: the object which received the signal.
+@arg1:
+
diff --git a/docs/gst/tmpl/gstreamer-unused.sgml b/docs/gst/tmpl/gstreamer-unused.sgml
index 9e2cab14a..900eee8d7 100644
--- a/docs/gst/tmpl/gstreamer-unused.sgml
+++ b/docs/gst/tmpl/gstreamer-unused.sgml
@@ -2423,6 +2423,14 @@ Get the size of the file.
</para>
+<!-- ##### STRUCT GstElementFactory ##### -->
+<para>
+This factory is used when registering the element, and contains the name
+of the element, the GtkType value for it, as well as a pointer to the
+GstElementDetails struct for the element.
+</para>
+
+
<!-- ##### STRUCT GstEsdSink ##### -->
<para>
diff --git a/docs/gst/tmpl/gsttypefactory.sgml b/docs/gst/tmpl/gsttypefactory.sgml
index a3e03af0f..f5ed4fcc6 100644
--- a/docs/gst/tmpl/gsttypefactory.sgml
+++ b/docs/gst/tmpl/gsttypefactory.sgml
@@ -20,8 +20,8 @@ gst_plugin_add_feature() as shown in the example:
{
gchar *data = GST_BUFFER_DATA (buf);
- if (strncmp (&data[0], "RIFF", 4)) return NULL;
- if (strncmp (&data[8], "AVI ", 4)) return NULL;
+ if (strncmp (&amp;data[0], "RIFF", 4)) return NULL;
+ if (strncmp (&amp;data[8], "AVI ", 4)) return NULL;
return gst_caps_new ("avi_typefind","video/avi", NULL);
}
@@ -97,3 +97,11 @@ performed by a plugin.
@Returns:
+<!-- ##### FUNCTION gst_typefactory_get_list ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+