GstPlugin Dynamically loadable Elements GStreamer is extensible so GstElements can be loaded at runtime. A plugin system can provide one or more of the following basic GStreamer objects factories: A #GstElementFactory: the components to build a pipeline. A #GstTypeFactory: A MIME type and an optional typefind function. A #GstAutoplugFactory: An object used to automatically construct pipelines. 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. Optionally a new plugin is created with gst_plugin_new(). this function will return a handle to the GstPlugin or NULL if the plugin could not be created. Once you have a handle to a #GstPlugin, you can add the different types of factories to it with gst_plugin_add_factory(), gst_plugin_add_type(), gst_plugin_add_autoplugger(). use gst_plugin_find(), gst_plugin_get_list(), gst_plugin_get_factory_list(), gst_plugin_get_type_list() and gst_plugin_get_autoplug_list() to query the plugin repository. Plugins are always automaticlly loaded so you don't need to call gst_plugin_load() explicitly to bring it into memory. #GstElement, #GstType, #GstAutoplug @name: @longname: @filename: @types: @numtypes: @elements: @numelements: @autopluggers: @numautopluggers: @loaded: 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. @name: @major: @minor: @Returns: @plugin: @name: @plugin: @Returns: @plugin: @Returns: @plugin: @longname: @plugin: @Returns: @plugin: @Returns: @name: @Returns: @name: @Returns: @path: @name: @Returns: @plugin: @factory: @plugin: @factory: @plugin: @factory: @name: @Returns: @Returns: @plugin: @Returns: @plugin: @Returns: @plugin: @Returns: @name: @Returns: @mime: @name: @Returns: @parent: @parent: @Returns: