3e2fad117703ef5d0f8c7c1a0cd3831b27fb879c
[platform/upstream/gstreamer.git] / docs / gst / tmpl / gstplugin.sgml
1 <!-- ##### SECTION Title ##### -->
2 GstPlugin
3
4 <!-- ##### SECTION Short_Description ##### -->
5 Dynamically loadable Elements
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 Optionally a new plugin is created with gst_plugin_new(). this function will return a handle
21 to the GstPlugin or NULL if the plugin could not be created.
22 </para>
23 <para>
24 Once you have a handle to a #GstPlugin, you can add any object that subclasses #GstPluginFeature.
25 </para>
26 <para>
27 use gst_plugin_find(), gst_plugin_get_list() and gst_plugin_get_feature_list()
28 to query the plugin repository.
29 </para>
30 <para>
31 Plugins are always automaticlly loaded  so you don't need to call gst_plugin_load() explicitly 
32 to bring it into memory. 
33 </para>
34
35 <!-- ##### SECTION See_Also ##### -->
36 <para>
37 #GstPluginFeature, #GstType, #GstAutoplug, #GstElementFactory
38 </para>
39
40 <!-- ##### STRUCT GstPlugin ##### -->
41 <para>
42
43 </para>
44
45 @name: 
46 @longname: 
47 @filename: 
48 @features: 
49 @numfeatures: 
50 @module: 
51
52 <!-- ##### USER_FUNCTION GstPluginInitFunc ##### -->
53 <para>
54 A plugin should provide a pointer to a function of this type in the plugin_desc struct.
55 It will be called by the loader at statup.
56 </para>
57
58 @module: The <classname>GModule</classname> it was loaded from
59 @plugin: The plugin object that can be used to register stuff for this plugin.
60 @Returns: A boolean indicating success or failure.
61
62
63 <!-- ##### STRUCT GstPluginDesc ##### -->
64 <para>
65 A plugins should export a variable of this type called plugin_desc. This plugin
66 loaded will use this variable to initialize the plugin.
67 </para>
68
69 @major_version: The minor version of the gstreamer library this plugin was created with
70 @minor_version: The minor version of the gstreamer library this plugin was created with
71 @name: The name of the plugin
72 @plugin_init: The init function of this plugin.
73
74 <!-- ##### MACRO GST_PLUGIN_DESC ##### -->
75 <para>
76 A handy macro to define a plugin description. This macro handles with all the issues
77 involved with the different linking methods for this plugin.
78 </para>
79
80 @major: The major version of GStreamer this plugin was compiled against.
81 @minor: The minor version of GStreamer this plugin was compiled against.
82 @name: The name of the plugin.
83 @init: The init function of this plugin.
84
85
86 <!-- ##### MACRO GST_PLUGIN_DESC_DYNAMIC ##### -->
87 <para>
88 The macro used to define dynamically loaded plugins.
89 </para>
90
91 @major: The major version of GStreamer this plugin was compiled against.
92 @minor: The minor version of GStreamer this plugin was compiled against.
93 @name: The name of the plugin.
94 @init: The init function of this plugin.
95
96
97 <!-- ##### MACRO GST_PLUGIN_DESC_STATIC ##### -->
98 <para>
99 A macro used to define a statically linked plugin.
100 </para>
101
102 @major: The major version of GStreamer this plugin was compiled against.
103 @minor: The minor version of GStreamer this plugin was compiled against.
104 @name: The name of the plugin.
105 @init: The init function of this plugin.
106
107
108 <!-- ##### FUNCTION gst_plugin_new ##### -->
109 <para>
110
111 </para>
112
113 @name: 
114 @major: 
115 @minor: 
116 @Returns: 
117
118
119 <!-- ##### FUNCTION gst_plugin_set_name ##### -->
120 <para>
121
122 </para>
123
124 @plugin: 
125 @name: 
126
127
128 <!-- ##### FUNCTION gst_plugin_get_name ##### -->
129 <para>
130
131 </para>
132
133 @plugin: 
134 @Returns: 
135
136
137 <!-- ##### FUNCTION gst_plugin_get_longname ##### -->
138 <para>
139
140 </para>
141
142 @plugin: 
143 @Returns: 
144
145
146 <!-- ##### FUNCTION gst_plugin_set_longname ##### -->
147 <para>
148
149 </para>
150
151 @plugin: 
152 @longname: 
153
154
155 <!-- ##### FUNCTION gst_plugin_get_filename ##### -->
156 <para>
157
158 </para>
159
160 @plugin: 
161 @Returns: 
162
163
164 <!-- ##### FUNCTION gst_plugin_is_loaded ##### -->
165 <para>
166
167 </para>
168
169 @plugin: 
170 @Returns: 
171
172
173 <!-- ##### FUNCTION gst_plugin_load_all ##### -->
174 <para>
175
176 </para>
177
178
179
180 <!-- ##### FUNCTION gst_plugin_load ##### -->
181 <para>
182
183 </para>
184
185 @name: 
186 @Returns: 
187
188
189 <!-- ##### FUNCTION gst_plugin_load_absolute ##### -->
190 <para>
191
192 </para>
193
194 @name: 
195 @Returns: 
196
197
198 <!-- ##### FUNCTION gst_plugin_add_path ##### -->
199 <para>
200
201 </para>
202
203 @path: 
204
205
206 <!-- ##### FUNCTION gst_library_load ##### -->
207 <para>
208
209 </para>
210
211 @name: 
212 @Returns: 
213
214
215 <!-- ##### FUNCTION gst_plugin_find ##### -->
216 <para>
217
218 </para>
219
220 @name: 
221 @Returns: 
222
223
224 <!-- ##### FUNCTION gst_plugin_get_list ##### -->
225 <para>
226
227 </para>
228
229 @Returns: 
230
231
232 <!-- ##### FUNCTION gst_plugin_load_thyself ##### -->
233 <para>
234
235 </para>
236
237 @parent: 
238
239
240 <!-- ##### FUNCTION gst_plugin_save_thyself ##### -->
241 <para>
242
243 </para>
244
245 @parent: 
246 @Returns: 
247
248
249 <!-- ##### FUNCTION gst_plugin_add_feature ##### -->
250 <para>
251
252 </para>
253
254 @plugin: 
255 @feature: 
256
257
258 <!-- ##### FUNCTION gst_plugin_get_feature_list ##### -->
259 <para>
260
261 </para>
262
263 @plugin: 
264 @Returns: 
265
266
267 <!-- ##### FUNCTION gst_plugin_load_plugin ##### -->
268 <para>
269
270 </para>
271
272 @plugin: 
273 @Returns: 
274
275
276 <!-- ##### FUNCTION gst_plugin_unload_all ##### -->
277 <para>
278
279 </para>
280
281
282