| <!-- ##### 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_element_factory_new() to create a new factory which can be added to a plugin |
| with gst_plugin_add_feature(). |
| </para> |
| <para> |
| gst_element_factory_add_pad_template() 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_element_factory_find() and gst_element_factory_create() functions |
| to create element instances or use gst_element_factory_make() as a convenient |
| shortcut. |
| </para> |
| <para> |
| The following code example shows you how to create a GstFileSrc element. |
| </para> |
| |
| <para> |
| <programlisting role="C"> |
| #include <gst/gst.h> |
| |
| GstElement *src; |
| GstElementFactory *srcfactory; |
| |
| gst_init(&argc,&argv); |
| |
| srcfactory = gst_element_factory_find("filesrc"); |
| g_return_if_fail(srcfactory != NULL); |
| |
| src = gst_element_factory_create(srcfactory,"src"); |
| g_return_if_fail(src != NULL); |
| ... |
| </programlisting> |
| </para> |
| <para> |
| An elementfactory can be assigned a rank with gst_element_factory_set_rank() |
| so that the autopluggers can select a plugin more appropriatly |
| </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: |
| @license: |
| @description: |
| @version: |
| @author: |
| @copyright: |
| |
| <!-- ##### FUNCTION gst_element_factory_new ##### --> |
| <para> |
| |
| </para> |
| |
| @name: |
| @type: |
| @details: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_element_factory_find ##### --> |
| <para> |
| |
| </para> |
| |
| @name: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_element_factory_add_pad_template ##### --> |
| <para> |
| |
| </para> |
| |
| @elementfactory: |
| @templ: |
| |
| |
| <!-- ##### FUNCTION gst_element_factory_can_src_caps ##### --> |
| <para> |
| |
| </para> |
| |
| @factory: |
| @caps: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_element_factory_can_sink_caps ##### --> |
| <para> |
| |
| </para> |
| |
| @factory: |
| @caps: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_element_factory_create ##### --> |
| <para> |
| |
| </para> |
| |
| @factory: |
| @name: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_element_factory_make ##### --> |
| <para> |
| |
| </para> |
| |
| @factoryname: |
| @name: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_element_factory_make_or_warn ##### --> |
| <para> |
| |
| </para> |
| |
| @factoryname: |
| @name: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_element_factory_set_rank ##### --> |
| <para> |
| |
| </para> |
| |
| @factory: |
| @rank: |
| |
| |
| <!-- ##### MACRO GST_ELEMENT_RANK_MARGINAL ##### --> |
| <para> |
| The element is only marginally usefull for autoplugging |
| </para> |
| |
| |
| |
| <!-- ##### MACRO GST_ELEMENT_RANK_NONE ##### --> |
| <para> |
| The plugin may not be used in autoplugging |
| </para> |
| |
| |
| |
| <!-- ##### MACRO GST_ELEMENT_RANK_PRIMARY ##### --> |
| <para> |
| The plugin is well suited for autoplugging |
| </para> |
| |
| |
| |
| <!-- ##### MACRO GST_ELEMENT_RANK_SECONDARY ##### --> |
| <para> |
| The plugin is suited for autoplugging but only as a second |
| candidate. |
| </para> |
| |
| |
| |