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_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 The error quark Get the error quark @Returns: The error quark used in GError messages 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 object @desc: @filename: @features: @numfeatures: @manager: @module: @_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 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 @description: @plugin_init: The init function of this plugin. @plugin_exit: @version: @license: @package: @origin: @_gst_reserved: @plugin: @Returns: @plugin: @Returns: @plugin: @Returns: @plugin: @Returns: @plugin: @name: @type: @Returns: @plugin: @Returns: @plugin: @feature: @name: @Returns: @name: @Returns: