![]() | ![]() | ![]() | GStreamer 0.8 Core API Reference (0.8.0) | ![]() |
---|
GstElementFactory — Create GstElements from a factory
#include <gst/gst.h> struct GstElementDetails; GstElementFactory* gst_element_factory_find (const gchar *name); gboolean gst_element_factory_can_src_caps (GstElementFactory *factory, const GstCaps *caps); gboolean gst_element_factory_can_sink_caps (GstElementFactory *factory, const GstCaps *caps); GstElement* gst_element_factory_create (GstElementFactory *factory, const gchar *name); GstElement* gst_element_factory_make (const gchar *factoryname, const gchar *name);
GstElementFactory is used to create instances of elements. A GstElementfactory can be added to a GstPlugin as it is also a GstPluginFeature.
Use gst_element_factory_new() to create a new factory which can be added to a plugin with gst_plugin_add_feature().
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.
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.
The following code example shows you how to create a GstFileSrc element.
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); ...
An elementfactory can be assigned a rank with gst_element_factory_set_rank() so that the autopluggers can select a plugin more appropriatly
struct GstElementDetails { gchar *longname; /* long, english name */ gchar *klass; /* type of element, as hierarchy */ gchar *description; /* insights of one form or another */ gchar *author; /* who wrote this thing? */ gpointer _gst_reserved[GST_PADDING]; };
This struct is used to define public information about the element. It describes the element, mostly for the benefit of editors.
GstElementFactory* gst_element_factory_find (const gchar *name);
Search for an element factory of the given name.
name : | name of factory to find |
Returns : | GstElementFactory if found, NULL otherwise |
gboolean gst_element_factory_can_src_caps (GstElementFactory *factory, const GstCaps *caps);
Checks if the factory can source the given capability.
factory : | factory to query |
caps : | the caps to check |
Returns : | true if it can src the capabilities |
gboolean gst_element_factory_can_sink_caps (GstElementFactory *factory, const GstCaps *caps);
Checks if the factory can sink the given capability.
factory : | factory to query |
caps : | the caps to check |
Returns : | true if it can sink the capabilities |
GstElement* gst_element_factory_create (GstElementFactory *factory, const gchar *name);
Create a new element of the type defined by the given elementfactory. It will be given the name supplied, since all elements require a name as their first argument.
factory : | factory to instantiate |
name : | name of new element |
Returns : | new GstElement or NULL if the element couldn't be created |
GstElement* gst_element_factory_make (const gchar *factoryname, const gchar *name);
Create a new element of the type defined by the given element factory. If name is NULL, then the element will receive a guaranteed unique name, consisting of the element factory name and a number. If name is given, it will be given the name supplied.
factoryname : | a named factory to instantiate |
name : | name of new element |
Returns : | new GstElement or NULL if unable to create element |
GstElement, GstPlugin, GstPluginFeature, GstPadTemplate.
<< GstElement | GstError >> |