moved docs to sgml files added first batch of docs provided by ronald
[platform/upstream/gstreamer.git] / docs / gst / tmpl / gstplugin.sgml
1 <!-- ##### SECTION Title ##### -->
2 GstPlugin
3
4 <!-- ##### SECTION Short_Description ##### -->
5 Container for features loaded from a shared object module
6
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>
31
32 <!-- ##### SECTION See_Also ##### -->
33 <para>
34 #GstPluginFeature, #GstType, #GstAutoplug, #GstElementFactory
35 </para>
36
37 <!-- ##### FUNCTION gst_plugin_error_quark ##### -->
38 <para>
39 Get the error quark
40 </para>
41
42 @Returns: The error quark used in GError messages
43
44
45 <!-- ##### MACRO GST_PLUGIN_ERROR ##### -->
46 <para>
47 The error quark
48 </para>
49
50
51
52 <!-- ##### ENUM GstPluginError ##### -->
53 <para>
54 The plugin loading errors
55 </para>
56
57 @GST_PLUGIN_ERROR_MODULE: The plugin could not be loaded
58 @GST_PLUGIN_ERROR_DEPENDENCIES: The plugin has unresolved dependencies
59 @GST_PLUGIN_ERROR_NAME_MISMATCH: 
60
61 <!-- ##### STRUCT GstPlugin ##### -->
62 <para>
63 The plugin object
64 </para>
65
66 @desc: 
67 @filename: 
68 @features: 
69 @numfeatures: 
70 @manager: 
71 @module: 
72 @_gst_reserved: 
73
74 <!-- ##### STRUCT GstPluginDesc ##### -->
75 <para>
76 A plugins should export a variable of this type called plugin_desc. This plugin
77 loaded will use this variable to initialize the plugin.
78 </para>
79
80 @major_version: the major version number of core that plugin was compiled for
81 @minor_version: the minor version number of core that plugin was compiled for
82 @name: a unique name of the plugin
83 @description: 
84 @plugin_init: The init function of this plugin.
85 @plugin_exit: 
86 @version: version of the plugin
87 @license: effective license of plugin
88 @package: package plugin belongs to
89 @origin: URL to provider of plugin
90 @_gst_reserved: 
91
92 <!-- ##### USER_FUNCTION GstPluginInitFunc ##### -->
93 <para>
94 A plugin should provide a pointer to a function of this type in the plugin_desc struct.
95 It will be called by the loader at statup.
96 </para>
97
98 @plugin: The plugin object that can be used to register stuff for this plugin.
99 @Returns: A boolean indicating success or failure.
100 <!-- # Unused Parameters # -->
101 @module: The <classname>GModule</classname> it was loaded from
102
103
104 <!-- ##### USER_FUNCTION GstPluginExitFunc ##### -->
105 <para>
106 Exiting function when plugin is unloaded.
107 </para>
108
109 @plugin: The plugin object that can be used to unregister stuff for this plugin.
110
111
112 <!-- ##### MACRO GST_PLUGIN_DEFINE ##### -->
113 <para>
114 This macro needs to be used to define the entry point and meta data of a plugin.
115 One would use this macro to export a plugin, so that it can be used by other applications
116 </para>
117
118 @major: major version number of the gstreamer-core that plugin was compiled for
119 @minor: minor version number of the gstreamer-core that plugin was compiled for
120 @name: short, but unique name of the plugin
121 @description: information about the purpose of the plugin
122 @init: function pointer to the plugin_init method with the signature of <code>static gboolean plugin_init (GstPlugin * plugin)</code>.
123 @version: full version string (e.g. VERSION from config.h)
124 @license: under which licence the package has been released, e.g. GPL, LGPL.
125 @package: the package-name (e.g. PACKAGE_NAME from config.h)
126 @origin: a description from where the package comes from (e.g. the homepage URL)
127
128
129 <!-- ##### MACRO GST_PLUGIN_DEFINE_STATIC ##### -->
130 <para>
131 This macro needs to be used to define the entry point and meta data of a local plugin.
132 One would use this macro to define a local plugin that can only be used by the own application.
133 </para>
134
135 @major: major version number of the gstreamer-core that plugin was compiled for
136 @minor: minor version number of the gstreamer-core that plugin was compiled for
137 @name: short, but unique name of the plugin
138 @description: information about the purpose of the plugin
139 @init: function pointer to the plugin_init method with the signature of <code>static gboolean plugin_init (GstPlugin * plugin)</code>.
140 @version: full version string (e.g. VERSION from config.h)
141 @license: under which licence the package has been released, e.g. GPL, LGPL.
142 @package: the package-name (e.g. PACKAGE_NAME from config.h)
143 @origin: a description from where the package comes from (e.g. the homepage URL)
144
145
146 <!-- ##### MACRO GST_LICENSE_UNKNOWN ##### -->
147 <para>
148
149 </para>
150
151
152
153 <!-- ##### USER_FUNCTION GstPluginFilter ##### -->
154 <para>
155
156 </para>
157
158 @plugin: 
159 @user_data: 
160 @Returns: 
161
162
163 <!-- ##### MACRO GST_TYPE_PLUGIN ##### -->
164 <para>
165
166 </para>
167
168
169
170 <!-- ##### FUNCTION gst_plugin_get_name ##### -->
171 <para>
172
173 </para>
174
175 @plugin: 
176 @Returns: 
177
178
179 <!-- ##### FUNCTION gst_plugin_get_description ##### -->
180 <para>
181
182 </para>
183
184 @plugin: 
185 @Returns: 
186
187
188 <!-- ##### FUNCTION gst_plugin_get_filename ##### -->
189 <para>
190
191 </para>
192
193 @plugin: 
194 @Returns: 
195
196
197 <!-- ##### FUNCTION gst_plugin_get_license ##### -->
198 <para>
199
200 </para>
201
202 @plugin: 
203 @Returns: 
204
205
206 <!-- ##### FUNCTION gst_plugin_get_package ##### -->
207 <para>
208
209 </para>
210
211 @plugin: 
212 @Returns: 
213
214
215 <!-- ##### FUNCTION gst_plugin_get_origin ##### -->
216 <para>
217
218 </para>
219
220 @plugin: 
221 @Returns: 
222
223
224 <!-- ##### FUNCTION gst_plugin_get_module ##### -->
225 <para>
226
227 </para>
228
229 @plugin: 
230 @Returns: 
231
232
233 <!-- ##### FUNCTION gst_plugin_is_loaded ##### -->
234 <para>
235
236 </para>
237
238 @plugin: 
239 @Returns: 
240
241
242 <!-- ##### FUNCTION gst_plugin_feature_filter ##### -->
243 <para>
244
245 </para>
246
247 @plugin: 
248 @filter: 
249 @first: 
250 @user_data: 
251 @Returns: 
252
253
254 <!-- ##### FUNCTION gst_plugin_list_feature_filter ##### -->
255 <para>
256
257 </para>
258
259 @list: 
260 @filter: 
261 @first: 
262 @user_data: 
263 @Returns: 
264
265
266 <!-- ##### FUNCTION gst_plugin_name_filter ##### -->
267 <para>
268
269 </para>
270
271 @plugin: 
272 @name: 
273 @Returns: 
274
275
276 <!-- ##### FUNCTION gst_plugin_get_feature_list ##### -->
277 <para>
278
279 </para>
280
281 @plugin: 
282 @Returns: 
283
284
285 <!-- ##### FUNCTION gst_plugin_find_feature ##### -->
286 <para>
287
288 </para>
289
290 @plugin: 
291 @name: 
292 @type: 
293 @Returns: 
294
295
296 <!-- ##### FUNCTION gst_plugin_check_file ##### -->
297 <para>
298
299 </para>
300
301 @filename: 
302 @error: 
303 @Returns: 
304
305
306 <!-- ##### FUNCTION gst_plugin_load_file ##### -->
307 <para>
308
309 </para>
310
311 @filename: 
312 @error: 
313 @Returns: 
314
315
316 <!-- ##### FUNCTION gst_plugin_unload_plugin ##### -->
317 <para>
318
319 </para>
320
321 @plugin: 
322 @Returns: 
323
324
325 <!-- ##### FUNCTION gst_plugin_add_feature ##### -->
326 <para>
327
328 </para>
329
330 @plugin: 
331 @feature: 
332
333
334 <!-- ##### FUNCTION gst_plugin_load ##### -->
335 <para>
336
337 </para>
338
339 @name: 
340 @Returns: 
341
342
343 <!-- ##### FUNCTION gst_library_load ##### -->
344 <para>
345
346 </para>
347
348 @name: 
349 @Returns: 
350
351