1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 Describe the media type of a pad.
7 <!-- ##### SECTION Long_Description ##### -->
9 Padtemplates describe the possible media types a pad or an elementfactory can
13 Pad and PadTemplates have #GstCaps attached to it to describe the media type they
14 are capable of dealing with. gst_pad_template_get_caps() is used to get the
15 caps of a padtemplate. It's not possible to modify the caps of a padtemplate after
19 Padtemplates can be created with gst_pad_template_new() or with the convenient
20 GST_PAD_TEMPLATE_FACTORY() macro. A padtemplate can be used to create a pad or
21 to add to an elementfactory.
24 The following code example shows the code to create a pad from a padtemplate.
26 GstStaticPadTemplate my_template =
27 GST_STATIC_PAD_TEMPLATE (
28 "sink", /* the name of the pad */
29 GST_PAD_SINK, /* the direction of the pad */
30 GST_PAD_ALWAYS, /* when this pad will be present */
31 GST_STATIC_CAPS ( /* the capabilities of the padtemplate */
33 "channels = (int) [ 1, 6 ]"
42 pad = gst_pad_new_from_template (GST_PAD_TEMPLATE_GET (my_template_factory), "sink");
48 The following example shows you how to add the padtemplate to an elementfactory:
51 my_factory_init (GstPlugin *plugin)
53 GstElementFactory *factory;
55 factory = gst_element_factory_new ("my_factory", GST_TYPE_MYFACTORY, &gst_myfactory_details);
56 g_return_val_if_fail (factory != NULL, FALSE);
58 gst_element_factory_add_pad_template (factory, GST_PAD_TEMPLATE_GET (my_template_factory));
60 gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (factory));
68 <!-- ##### SECTION See_Also ##### -->
70 #GstPad, #GstElementFactory
73 <!-- ##### ENUM GstPadPresence ##### -->
75 Indicates when this pad will become available.
78 @GST_PAD_ALWAYS: the pad is always available
79 @GST_PAD_SOMETIMES: the pad will become available depending on the media stream
80 @GST_PAD_REQUEST: th pad is only available on request with
81 gst_element_request_pad_by_name() or gst_element_request_compatible_pad().
83 <!-- ##### STRUCT GstPadTemplate ##### -->
85 The padtemplate object.
89 <!-- ##### ENUM GstPadTemplateFlags ##### -->
91 Flags for the padtemplate
94 @GST_PAD_TEMPLATE_FIXED: The padtemplate has no variable properties
95 @GST_PAD_TEMPLATE_FLAG_LAST: first flag that can be used by subclasses.
97 <!-- ##### MACRO GST_PAD_TEMPLATE_CAPS ##### -->
99 Get a handle to the padtemplate #GstCaps
102 @templ: the template to query
105 <!-- ##### MACRO GST_PAD_TEMPLATE_DIRECTION ##### -->
107 Get the direction of the padtemplate.
110 @templ: the template to query
113 <!-- ##### MACRO GST_PAD_TEMPLATE_NAME_TEMPLATE ##### -->
115 Get the nametemplate of the padtemplate.
118 @templ: the template to query
121 <!-- ##### MACRO GST_PAD_TEMPLATE_PRESENCE ##### -->
123 Get the presence of the padtemplate.
126 @templ: the template to query
129 <!-- ##### MACRO GST_PAD_TEMPLATE_IS_FIXED ##### -->
131 Check if the properties of the padtemplate are fixed
134 @templ: the template to query
137 <!-- ##### FUNCTION gst_pad_template_new ##### -->
147 <!-- # Unused Parameters # -->
151 <!-- ##### FUNCTION gst_pad_template_get_caps ##### -->
160 <!-- ##### FUNCTION gst_pad_template_get_caps_by_name ##### -->
170 <!-- ##### SIGNAL GstPadTemplate::pad-created ##### -->
172 This signal is fired when an element creates a pad from this
176 @gstpadtemplate: the object which received the signal.
177 @arg1: The pad that was created.