GstPlugin
Container for features loaded from a shared object module
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 (e.g. from the #GstRegistryPool), you can
add any object that subclasses #GstPluginFeature.
Use gst_plugin_find_feature() and gst_plugin_get_feature_list() to find features in a plugin.
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
Get the error quark
@Returns: The error quark used in GError messages
The error quark
The plugin loading errors
@GST_PLUGIN_ERROR_MODULE: The plugin could not be loaded
@GST_PLUGIN_ERROR_DEPENDENCIES: The plugin has unresolved dependencies
@GST_PLUGIN_ERROR_NAME_MISMATCH: The plugin has already be loaded from a different file
The plugin object
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 major version number of core that plugin was compiled for
@minor_version: the minor version number of core that plugin was compiled for
@name: a unique name of the plugin
@description:
@plugin_init: The init function of this plugin.
@version: version of the plugin
@license: effective license of plugin
@source:
@package: package plugin belongs to
@origin: URL to provider of plugin
@_gst_reserved:
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.
@plugin: The plugin object that can be used to register stuff for this plugin.
@Returns: A boolean indicating success or failure.
@module: The GModule it was loaded from
This macro needs to be used to define the entry point and meta data of a plugin.
One would use this macro to export a plugin, so that it can be used by other applications
@major: major version number of the gstreamer-core that plugin was compiled for
@minor: minor version number of the gstreamer-core that plugin was compiled for
@name: short, but unique name of the plugin
@description: information about the purpose of the plugin
@init: function pointer to the plugin_init method with the signature of static gboolean plugin_init (GstPlugin * plugin)
.
@version: full version string (e.g. VERSION from config.h)
@license: under which licence the package has been released, e.g. GPL, LGPL.
@package: the package-name (e.g. PACKAGE_NAME from config.h)
@origin: a description from where the package comes from (e.g. the homepage URL)
@domain:
This macro needs to be used to define the entry point and meta data of a local plugin.
One would use this macro to define a local plugin that can only be used by the own application.
@major: major version number of the gstreamer-core that plugin was compiled for
@minor: minor version number of the gstreamer-core that plugin was compiled for
@name: short, but unique name of the plugin
@description: information about the purpose of the plugin
@init: function pointer to the plugin_init method with the signature of static gboolean plugin_init (GstPlugin * plugin)
.
@version: full version string (e.g. VERSION from config.h)
@license: under which licence the package has been released, e.g. GPL, LGPL.
@package: the package-name (e.g. PACKAGE_NAME from config.h)
@origin: a description from where the package comes from (e.g. the homepage URL)
@domain:
A function that can be used with e.g. gst_registry_plugin_filter()
to get a list of plugins that match certain criteria.
@plugin: the plugin to check
@user_data: the user_data that has been passed on e.g. gst_registry_plugin_filter()
@Returns: TRUE for a positive match, FALSE otherwise
@plugin:
@Returns:
@plugin:
@Returns:
@plugin:
@Returns:
@plugin:
@Returns:
@plugin:
@Returns:
@plugin:
@Returns:
@plugin:
@Returns:
@plugin:
@Returns:
@plugin:
@Returns:
@plugin:
@Returns:
@plugin:
@filter:
@first:
@user_data:
@Returns:
@list:
@filter:
@first:
@user_data:
@Returns:
@plugin:
@name:
@Returns:
@plugin:
@Returns:
@plugin:
@name:
@type:
@Returns:
@filename:
@error:
@Returns:
@filename:
@error:
@Returns:
@plugin:
@feature:
@plugin:
@Returns:
@name: