1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 Dynamically loadable Elements
7 <!-- ##### SECTION Long_Description ##### -->
9 GStreamer is extensible so <classname>GstElements</classname> can be loaded at runtime. A plugin
10 system can provide one or more of the following basic <application>GStreamer</application>
15 A #GstElementFactory: the components to build a pipeline.
20 A #GstTypeFactory: A MIME type and an optional typefind function.
25 A #GstAutoplugFactory: An object used to automatically construct pipelines.
31 A plugin should export a symbol plugin_desc that is a struct of type #GstPluginDesc.
32 the plugin loader will check the version of the core library the plugin was linked against
33 and will create a new #GstPlugin. It will then call the #GstPluginInitFunc function
34 that was provided in the plugin_desc.
37 Optionally a new plugin is created with gst_plugin_new(). this function will return a handle
38 to the GstPlugin or NULL if the plugin could not be created.
41 Once you have a handle to a #GstPlugin, you can add the different types of factories
42 to it with gst_plugin_add_factory(), gst_plugin_add_type(), gst_plugin_add_autoplugger().
45 use gst_plugin_find(), gst_plugin_get_list(), gst_plugin_get_factory_list(), gst_plugin_get_type_list() and
46 gst_plugin_get_autoplug_list() to query the plugin repository.
49 Plugins are always automaticlly loaded so you don't need to call gst_plugin_load() explicitly
50 to bring it into memory.
53 <!-- ##### SECTION See_Also ##### -->
55 #GstElement, #GstType, #GstAutoplug
58 <!-- ##### STRUCT GstPlugin ##### -->
70 <!-- ##### USER_FUNCTION GstPluginInitFunc ##### -->
72 A plugin should provide a pointer to a function of this type in the plugin_desc struct.
73 It will be called by the loader at statup.
76 @module: The <classname>GModule</classname> it was loaded from
77 @plugin: The plugin object that can be used to register stuff for this plugin.
78 @Returns: A boolean indicating success or failure.
81 <!-- ##### STRUCT GstPluginDesc ##### -->
83 A plugins should export a variable of this type called plugin_desc. This plugin
84 loaded will use this variable to initialize the plugin.
87 @major_version: The minor version of the gstreamer library this plugin was created with
88 @minor_version: The minor version of the gstreamer library this plugin was created with
89 @name: The name of the plugin
90 @plugin_init: The init function of this plugin.
92 <!-- ##### FUNCTION gst_plugin_new ##### -->
103 <!-- ##### FUNCTION gst_plugin_set_name ##### -->
112 <!-- ##### FUNCTION gst_plugin_get_name ##### -->
121 <!-- ##### FUNCTION gst_plugin_get_longname ##### -->
130 <!-- ##### FUNCTION gst_plugin_set_longname ##### -->
139 <!-- ##### FUNCTION gst_plugin_get_filename ##### -->
148 <!-- ##### FUNCTION gst_plugin_is_loaded ##### -->
157 <!-- ##### FUNCTION gst_plugin_load_all ##### -->
164 <!-- ##### FUNCTION gst_plugin_load ##### -->
173 <!-- ##### FUNCTION gst_plugin_load_absolute ##### -->
182 <!-- ##### FUNCTION gst_plugin_add_path ##### -->
190 <!-- ##### FUNCTION gst_library_load ##### -->
199 <!-- ##### FUNCTION gst_plugin_find ##### -->
208 <!-- ##### FUNCTION gst_plugin_get_list ##### -->
216 <!-- ##### FUNCTION gst_plugin_load_thyself ##### -->
224 <!-- ##### FUNCTION gst_plugin_save_thyself ##### -->