GstPlugin
Dynamically loadable Elements
GStreamer is extensible so GstElements can be loaded at runtime. A plugin
system can provide one or more of the basic GStreamer
#GstPluginFeature subclasses.
A plugin should export a symbol plugin_desc that is a struct of type #GstPluginDesc.
the plugin loader will check the version of the core library the plugin was linked against
and will create a new #GstPlugin. It will then call the #GstPluginInitFunc function
that was provided in the plugin_desc.
Once you have a handle to a #GstPlugin, you can add any object that subclasses #GstPluginFeature.
use gst_plugin_find(), gst_plugin_get_list() and gst_plugin_get_feature_list()
to query the plugin repository.
Usually plugins are always automaticlly loaded so you don't need to call gst_plugin_load() explicitly
to bring it into memory. There are options to statically link plugins to an app or even
use GStreamer without a plugin repository in which case gst_plugin_load() can be needed
to bring the plugin into memory.
#GstPluginFeature, #GstType, #GstAutoplug, #GstElementFactory
@name:
@longname:
@filename:
@features:
@numfeatures:
@module:
A plugin should provide a pointer to a function of this type in the plugin_desc struct.
It will be called by the loader at statup.
@module: The GModule it was loaded from
@plugin: The plugin object that can be used to register stuff for this plugin.
@Returns: A boolean indicating success or failure.
A plugins should export a variable of this type called plugin_desc. This plugin
loaded will use this variable to initialize the plugin.
@major_version: The minor version of the gstreamer library this plugin was created with
@minor_version: The minor version of the gstreamer library this plugin was created with
@name: The name of the plugin
@plugin_init: The init function of this plugin.
A handy macro to define a plugin description. This macro handles with all the issues
involved with the different linking methods for this plugin.
@major: The major version of GStreamer this plugin was compiled against.
@minor: The minor version of GStreamer this plugin was compiled against.
@name: The name of the plugin.
@init: The init function of this plugin.
The macro used to define dynamically loaded plugins.
@major: The major version of GStreamer this plugin was compiled against.
@minor: The minor version of GStreamer this plugin was compiled against.
@name: The name of the plugin.
@init: The init function of this plugin.
A macro used to define a statically linked plugin.
@major: The major version of GStreamer this plugin was compiled against.
@minor: The minor version of GStreamer this plugin was compiled against.
@name: The name of the plugin.
@init: The init function of this plugin.
@plugin:
@name:
@plugin:
@Returns:
@plugin:
@Returns:
@plugin:
@longname:
@plugin:
@Returns:
@plugin:
@Returns:
@name:
@Returns:
@name:
@Returns:
@path:
@name:
@Returns:
@name:
@Returns:
@Returns:
@parent:
@parent:
@Returns:
@plugin:
@feature:
@plugin:
@Returns:
@plugin:
@Returns: