1 <!-- ##### SECTION Title ##### -->
2 GstPlugin
4 <!-- ##### SECTION Short_Description ##### -->
5 Dynamically loadable Elements
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9 GStreamer is extensible so <classname>GstElements</classname> can be loaded at runtime. A plugin
10 system can provide one or more of the basic <application>GStreamer</application>
11 #GstPluginFeature subclasses.
12 </para>
13 <para>
14 A plugin should export a symbol plugin_desc that is a struct of type #GstPluginDesc.
15 the plugin loader will check the version of the core library the plugin was linked against
16 and will create a new #GstPlugin. It will then call the #GstPluginInitFunc function
17 that was provided in the plugin_desc.
18 </para>
19 <para>
20 Once you have a handle to a #GstPlugin, you can add any object that subclasses #GstPluginFeature.
21 </para>
22 <para>
23 use gst_plugin_find_feature() and gst_plugin_get_feature_list() to find features in a plugin.
24 </para>
25 <para>
26 Usually plugins are always automaticlly loaded so you don't need to call gst_plugin_load() explicitly
27 to bring it into memory. There are options to statically link plugins to an app or even
28 use GStreamer without a plugin repository in which case gst_plugin_load() can be needed
29 to bring the plugin into memory.
30 </para>
32 <!-- ##### SECTION See_Also ##### -->
33 <para>
34 #GstPluginFeature, #GstType, #GstAutoplug, #GstElementFactory
35 </para>
37 <!-- ##### MACRO GST_PLUGIN_ERROR ##### -->
38 <para>
39 The error quark
40 </para>
44 <!-- ##### ENUM GstPluginError ##### -->
45 <para>
46 The plugin loading errors
47 </para>
49 @GST_PLUGIN_ERROR_MODULE: The plugin could not be loaded
50 @GST_PLUGIN_ERROR_DEPENDENCIES: The plugin has unresolved dependencies
51 @GST_PLUGIN_ERROR_NAME_MISMATCH:
53 <!-- ##### STRUCT GstPlugin ##### -->
54 <para>
55 The plugin object
56 </para>
58 @desc:
59 @filename:
60 @features:
61 @numfeatures:
62 @manager:
63 @module:
64 @_gst_reserved:
66 <!-- ##### USER_FUNCTION GstPluginInitFunc ##### -->
67 <para>
68 A plugin should provide a pointer to a function of this type in the plugin_desc struct.
69 It will be called by the loader at statup.
70 </para>
72 @plugin: The plugin object that can be used to register stuff for this plugin.
73 @Returns: A boolean indicating success or failure.
74 <!-- # Unused Parameters # -->
75 @module: The <classname>GModule</classname> it was loaded from
78 <!-- ##### STRUCT GstPluginDesc ##### -->
79 <para>
80 A plugins should export a variable of this type called plugin_desc. This plugin
81 loaded will use this variable to initialize the plugin.
82 </para>
84 @major_version: The minor version of the gstreamer library this plugin was created with
85 @minor_version: The minor version of the gstreamer library this plugin was created with
86 @name: The name of the plugin
87 @description:
88 @plugin_init: The init function of this plugin.
89 @plugin_exit:
90 @version:
91 @license:
92 @package:
93 @origin:
94 @_gst_reserved:
96 <!-- ##### FUNCTION gst_plugin_get_name ##### -->
97 <para>
99 </para>
101 @plugin:
102 @Returns:
105 <!-- ##### FUNCTION gst_plugin_get_filename ##### -->
106 <para>
108 </para>
110 @plugin:
111 @Returns:
114 <!-- ##### FUNCTION gst_plugin_is_loaded ##### -->
115 <para>
117 </para>
119 @plugin:
120 @Returns:
123 <!-- ##### FUNCTION gst_plugin_get_feature_list ##### -->
124 <para>
126 </para>
128 @plugin:
129 @Returns:
132 <!-- ##### FUNCTION gst_plugin_find_feature ##### -->
133 <para>
135 </para>
137 @plugin:
138 @name:
139 @type:
140 @Returns:
143 <!-- ##### FUNCTION gst_plugin_unload_plugin ##### -->
144 <para>
146 </para>
148 @plugin:
149 @Returns:
152 <!-- ##### FUNCTION gst_plugin_add_feature ##### -->
153 <para>
155 </para>
157 @plugin:
158 @feature:
161 <!-- ##### FUNCTION gst_plugin_load ##### -->
162 <para>
164 </para>
166 @name:
167 @Returns:
170 <!-- ##### FUNCTION gst_library_load ##### -->
171 <para>
173 </para>
175 @name:
176 @Returns: