mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 11:41:09 +00:00
Fix padtemplate docs, fixes #328805.
Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstpadtemplate.c: * gst/gstpadtemplate.h: Fix padtemplate docs, fixes #328805.
This commit is contained in:
parent
5c8d6fdb6e
commit
63245ea1bb
4 changed files with 56 additions and 23 deletions
|
@ -1,3 +1,10 @@
|
|||
2006-02-14 Wim Taymans <wim@fluendo.com>
|
||||
|
||||
* docs/gst/gstreamer-sections.txt:
|
||||
* gst/gstpadtemplate.c:
|
||||
* gst/gstpadtemplate.h:
|
||||
Fix padtemplate docs, fixes #328805.
|
||||
|
||||
2006-02-14 Wim Taymans <wim@fluendo.com>
|
||||
|
||||
* tools/gst-launch.c: (main):
|
||||
|
|
|
@ -1344,18 +1344,19 @@ GST_PAD_PREROLL_WAIT
|
|||
<SECTION>
|
||||
<FILE>gstpadtemplate</FILE>
|
||||
<TITLE>GstPadTemplate</TITLE>
|
||||
GstPadTemplate
|
||||
GstStaticPadTemplate
|
||||
GST_STATIC_PAD_TEMPLATE
|
||||
gst_static_pad_template_get
|
||||
gst_static_pad_template_get_caps
|
||||
GstPadTemplate
|
||||
GstPadTemplateFlags
|
||||
GstPadPresence
|
||||
GST_PAD_TEMPLATE_NAME_TEMPLATE
|
||||
GST_PAD_TEMPLATE_DIRECTION
|
||||
GST_PAD_TEMPLATE_PRESENCE
|
||||
GST_PAD_TEMPLATE_CAPS
|
||||
GST_PAD_TEMPLATE_IS_FIXED
|
||||
GstPadTemplateFlags
|
||||
GstPadPresence
|
||||
gst_pad_template_new
|
||||
gst_static_pad_template_get
|
||||
gst_static_pad_template_get_caps
|
||||
gst_pad_template_get_caps
|
||||
|
||||
<SUBSECTION Standard>
|
||||
|
@ -1364,7 +1365,6 @@ GST_PAD_TEMPLATE
|
|||
GST_IS_PAD_TEMPLATE
|
||||
GST_PAD_TEMPLATE_CLASS
|
||||
GST_IS_PAD_TEMPLATE_CLASS
|
||||
GST_STATIC_PAD_TEMPLATE
|
||||
GST_TYPE_PAD_TEMPLATE
|
||||
GST_TYPE_PAD_TEMPLATE_FLAGS
|
||||
GST_TYPE_STATIC_CAPS
|
||||
|
|
|
@ -26,16 +26,32 @@
|
|||
* @see_also: #GstPad, #GstElementFactory
|
||||
*
|
||||
* Padtemplates describe the possible media types a pad or an elementfactory can
|
||||
* handle.
|
||||
* handle. This allows for both inspection of handled types before loading the
|
||||
* element plugin as well as identifying pads on elements that are not yet
|
||||
* created (request or sometimes pads).
|
||||
*
|
||||
* Pad and PadTemplates have #GstCaps attached to it to describe the media type
|
||||
* they are capable of dealing with. gst_pad_template_get_caps() is used to get
|
||||
* the caps of a padtemplate. It's not possible to modify the caps of a
|
||||
* padtemplate after creation.
|
||||
* they are capable of dealing with. gst_pad_template_get_caps() or
|
||||
* GST_PAD_TEMPLATE_CAPS() are used to get the caps of a padtemplate. It's not
|
||||
* possible to modify the caps of a padtemplate after creation.
|
||||
*
|
||||
* Padtemplates can be created with gst_pad_template_new() or with the
|
||||
* convenient GST_PAD_TEMPLATE_FACTORY() macro. A padtemplate can be used to
|
||||
* create a pad or to add to an elementfactory.
|
||||
* PadTemplates have a #GstPadPresence property which identifies the lifetime
|
||||
* of the pad and that can be retrieved with GST_PAD_TEMPLATE_PRESENCE(). Also
|
||||
* the direction of the pad can be retrieved from the #GstPadTemplate with
|
||||
* GST_PAD_TEMPLATE_DIRECTION().
|
||||
*
|
||||
* The GST_PAD_TEMPLATE_NAME_TEMPLATE () is important for GST_PAD_REQUEST pads
|
||||
* because it has to be used as the name in the gst_element_request_pad_by_name()
|
||||
* call to instantiate a pad from this template.
|
||||
*
|
||||
* Padtemplates can be created with gst_pad_template_new() or with
|
||||
* gst_static_pad_template_get (), which creates a #GstPadTemplate from a
|
||||
* #GstStaticPadTemplate that can be filled with the
|
||||
* convenient GST_STATIC_PAD_TEMPLATE() macro.
|
||||
*
|
||||
* A padtemplate can be used to create a pad (see gst_pad_new_from_template()
|
||||
* or gst_pad_new_from_static_template ()) or to add to an element class
|
||||
* (see gst_element_class_add_pad_template ()).
|
||||
*
|
||||
* The following code example shows the code to create a pad from a padtemplate.
|
||||
* <example>
|
||||
|
@ -55,28 +71,28 @@
|
|||
* my_method (void)
|
||||
* {
|
||||
* GstPad *pad;
|
||||
* pad = gst_pad_new_from_template (GST_PAD_TEMPLATE_GET (my_template_factory), "sink");
|
||||
* pad = gst_pad_new_from_static_template (&my_template, "sink");
|
||||
* ...
|
||||
* }
|
||||
* </programlisting>
|
||||
* </example>
|
||||
*
|
||||
* The following example shows you how to add the padtemplate to an
|
||||
* elementfactory:
|
||||
* element class, this is usually done in the base_init of the class:
|
||||
* <informalexample>
|
||||
* <programlisting>
|
||||
* gboolean
|
||||
* my_factory_init (GstPlugin *plugin)
|
||||
* static void
|
||||
* my_element_base_init (gpointer g_class)
|
||||
* {
|
||||
* GstElementFactory *factory;
|
||||
* factory = gst_element_factory_new ("my_factory", GST_TYPE_MYFACTORY, &gst_myfactory_details);
|
||||
* g_return_val_if_fail (factory != NULL, FALSE);
|
||||
* gst_element_factory_add_pad_template (factory, GST_PAD_TEMPLATE_GET (my_template_factory));
|
||||
* gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (factory));
|
||||
* return TRUE;
|
||||
* GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class);
|
||||
*
|
||||
* gst_element_class_add_pad_template (gstelement_class,
|
||||
* gst_static_pad_template_get (&my_template));
|
||||
* }
|
||||
* </programlisting>
|
||||
* </informalexample>
|
||||
*
|
||||
* Last reviewed on 2006-02-14 (0.10.3)
|
||||
*/
|
||||
|
||||
#include "gst_private.h"
|
||||
|
|
|
@ -157,6 +157,16 @@ struct _GstStaticPadTemplate {
|
|||
GstStaticCaps static_caps;
|
||||
};
|
||||
|
||||
/**
|
||||
* GST_STATIC_PAD_TEMPLATE:
|
||||
* @padname: the name template of pad
|
||||
* @dir: the GstPadDirection of the pad
|
||||
* @pres: the GstPadPresence of the pad
|
||||
* @caps: the GstStaticCaps of the pad
|
||||
*
|
||||
* Convenience macro to fill the values of a GstStaticPadTemplate
|
||||
* structure.
|
||||
*/
|
||||
#define GST_STATIC_PAD_TEMPLATE(padname, dir, pres, caps) \
|
||||
{ \
|
||||
/* name_template */ padname, \
|
||||
|
|
Loading…
Reference in a new issue