ElementFactory

GstElementFactory is used to create instances of elements. A GstElementfactory can be added to a GstPlugin as it is also a GstPluginFeature.

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.

Last reviewed on 2005-11-23 (0.9.5)

Constructors

this
this(GstElementFactory* gstElementFactory)

Sets our main struct and passes it to the parent class

Members

Functions

canSinkAllCaps
int canSinkAllCaps(Caps caps)

Checks if the factory can sink all possible capabilities.

canSinkAnyCaps
int canSinkAnyCaps(Caps caps)

Checks if the factory can sink any possible capability.

canSrcAllCaps
int canSrcAllCaps(Caps caps)

Checks if the factory can src all possible capabilities.

canSrcAnyCaps
int canSrcAnyCaps(Caps caps)

Checks if the factory can src any possible capability.

create
Element create(string 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.

getElementFactoryStruct
GstElementFactory* getElementFactoryStruct()

Get the main Gtk struct

getElementType
GType getElementType()

Get the GType for elements managed by this factory. The type can only be retrieved if the element factory is loaded, which can be assured with gst_plugin_feature_load().

getMetadata
string getMetadata(string key)

Get the metadata on factory with key.

getMetadataKeys
string[] getMetadataKeys()

Get the available keys for the metadata on factory.

getNumPadTemplates
uint getNumPadTemplates()

Gets the number of pad_templates in this factory.

getStaticPadTemplates
ListG getStaticPadTemplates()

Gets the GList of GstStaticPadTemplate for this factory.

getStruct
void* getStruct()

the main Gtk struct as a void*

getUriProtocols
string[] getUriProtocols()

Gets a NULL-terminated array of protocols this element supports or NULL if no protocols are supported. You may not change the contents of the returned array, as it is still owned by the element factory. Use g_strdupv() to make a copy of the protocol string array if you need to.

getUriType
GstURIType getUriType()

Gets the type of URIs the element supports or GST_URI_UNKNOWN if none.

hasInterface
int hasInterface(string interfacename)

Check if factory implements the interface with name interfacename.

listIsType
int listIsType(GstElementFactoryListType type)

Check if factory is of the given types.

setStruct
void setStruct(GObject* obj)
Undocumented in source. Be warned that the author may not have intended to support it.

Static functions

find
ElementFactory find(string name)

Search for an element factory of the given name. Refs the returned element factory; caller is responsible for unreffing.

listFilter
ListG listFilter(ListG list, Caps caps, GstPadDirection direction, int subsetonly)

Filter out all the elementfactories in list that can handle caps in the given direction. If subsetonly is TRUE, then only the elements whose pads templates are a complete superset of caps will be returned. Else any element whose pad templates caps can intersect with caps will be returned.

listGetElements
ListG listGetElements(GstElementFactoryListType type, GstRank minrank)

Get a list of factories that match the given type. Only elements with a rank greater or equal to minrank will be returned. The list of factories is returned by decreasing rank.

make
Element make(string factoryname)

Create a new element of the type defined by the given element factory. The element will receive a guaranteed unique name, consisting of the element factory name and a number.

make
Element make(string factoryname, string 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.

register
int register(Plugin plugin, string name, uint rank, GType type)

Create a new elementfactory capable of instantiating objects of the type and add the factory to plugin.

Variables

gstElementFactory
GstElementFactory* gstElementFactory;

the main Gtk struct

Inherited Members

From PluginFeature

gstPluginFeature
GstPluginFeature* gstPluginFeature;

the main Gtk struct

getPluginFeatureStruct
GstPluginFeature* getPluginFeatureStruct()

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

setStruct
void setStruct(GObject* obj)
Undocumented in source. Be warned that the author may not have intended to support it.
setRank
void setRank(uint rank)

Specifies a rank for a plugin feature, so that autoplugging uses the most appropriate feature.

getRank
uint getRank()

Gets the rank of a plugin feature.

getPlugin
Plugin getPlugin()

Get the plugin that provides this feature.

getPluginName
string getPluginName()

Get the name of the plugin that provides this feature. Since 1.2.0

load
PluginFeature load()

Loads the plugin containing feature if it's not already loaded. feature is unaffected; use the return value instead.

listCopy
ListG listCopy(ListG list)

Copies the list of features. Caller should call gst_plugin_feature_list_free when done with the list.

listFree
void listFree(ListG list)

Unrefs each member of list, then frees the list.

checkVersion
int checkVersion(uint minMajor, uint minMinor, uint minMicro)

Checks whether the given plugin feature is at least the required version

rankCompareFunc
int rankCompareFunc(void* p1, void* p2)

Compares the two given GstPluginFeature instances. This function can be used as a GCompareFunc when sorting by rank and then by name.

Meta