0668663d5262decd1dd7f0c703c5559c6d645b13
[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 following basic <application>GStreamer</application> 
11 objects factories:
12  <itemizedlist>
13   <listitem>
14    <para>
15     A #GstElementFactory: the components to build a pipeline.
16    </para>
17   </listitem>
18   <listitem>
19    <para>
20     A #GstTypeFactory: A MIME type and an optional typefind function.
21    </para>
22   </listitem>
23   <listitem>
24    <para>
25     A #GstAutoplugFactory: An object used to automatically construct pipelines.
26    </para>
27   </listitem>
28  </itemizedlist>
29 </para>
30 <para>
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.
35 </para>
36 <para>
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.
39 </para>
40 <para>
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().
43 </para>
44 <para>
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.
47 </para>
48 <para>
49 Plugins are always automaticlly loaded  so you don't need to call gst_plugin_load() explicitly 
50 to bring it into memory. 
51 </para>
52
53 <!-- ##### SECTION See_Also ##### -->
54 <para>
55 #GstElement, #GstType, #GstAutoplug
56 </para>
57
58 <!-- ##### STRUCT GstPlugin ##### -->
59 <para>
60
61 </para>
62
63 @name: 
64 @longname: 
65 @filename: 
66 @features: 
67 @numfeatures: 
68 @module: 
69
70 <!-- ##### USER_FUNCTION GstPluginInitFunc ##### -->
71 <para>
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.
74 </para>
75
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.
79
80
81 <!-- ##### STRUCT GstPluginDesc ##### -->
82 <para>
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.
85 </para>
86
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.
91
92 <!-- ##### FUNCTION gst_plugin_new ##### -->
93 <para>
94
95 </para>
96
97 @name: 
98 @major: 
99 @minor: 
100 @Returns: 
101
102
103 <!-- ##### FUNCTION gst_plugin_set_name ##### -->
104 <para>
105
106 </para>
107
108 @plugin: 
109 @name: 
110
111
112 <!-- ##### FUNCTION gst_plugin_get_name ##### -->
113 <para>
114
115 </para>
116
117 @plugin: 
118 @Returns: 
119
120
121 <!-- ##### FUNCTION gst_plugin_get_longname ##### -->
122 <para>
123
124 </para>
125
126 @plugin: 
127 @Returns: 
128
129
130 <!-- ##### FUNCTION gst_plugin_set_longname ##### -->
131 <para>
132
133 </para>
134
135 @plugin: 
136 @longname: 
137
138
139 <!-- ##### FUNCTION gst_plugin_get_filename ##### -->
140 <para>
141
142 </para>
143
144 @plugin: 
145 @Returns: 
146
147
148 <!-- ##### FUNCTION gst_plugin_is_loaded ##### -->
149 <para>
150
151 </para>
152
153 @plugin: 
154 @Returns: 
155
156
157 <!-- ##### FUNCTION gst_plugin_load_all ##### -->
158 <para>
159
160 </para>
161
162
163
164 <!-- ##### FUNCTION gst_plugin_load ##### -->
165 <para>
166
167 </para>
168
169 @name: 
170 @Returns: 
171
172
173 <!-- ##### FUNCTION gst_plugin_load_absolute ##### -->
174 <para>
175
176 </para>
177
178 @name: 
179 @Returns: 
180
181
182 <!-- ##### FUNCTION gst_plugin_add_path ##### -->
183 <para>
184
185 </para>
186
187 @path: 
188
189
190 <!-- ##### FUNCTION gst_library_load ##### -->
191 <para>
192
193 </para>
194
195 @name: 
196 @Returns: 
197
198
199 <!-- ##### FUNCTION gst_plugin_find ##### -->
200 <para>
201
202 </para>
203
204 @name: 
205 @Returns: 
206
207
208 <!-- ##### FUNCTION gst_plugin_get_list ##### -->
209 <para>
210
211 </para>
212
213 @Returns: 
214
215
216 <!-- ##### FUNCTION gst_plugin_load_thyself ##### -->
217 <para>
218
219 </para>
220
221 @parent: 
222
223
224 <!-- ##### FUNCTION gst_plugin_save_thyself ##### -->
225 <para>
226
227 </para>
228
229 @parent: 
230 @Returns: 
231
232