More updates to the API docs.
[platform/upstream/gstreamer.git] / docs / gst / tmpl / gstelement.sgml
1 <!-- ##### SECTION Title ##### -->
2 GstElement
3
4 <!-- ##### SECTION Short_Description ##### -->
5 Base class for all pipeline elements
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9 GstElement is the base class needed to construct an element that can be
10 used in a GST pipeline.  As such, it is not a functional entity, and
11 cannot do anything when placed in a pipeline.
12 </para>
13
14 <para>
15 All GstElements have a list containing the #GstPad structure for all their
16 inputs and outputs.  These can be added with gst_element_add_pad() or
17 gst_element_add_ghost_pad(), and retrieved by name with
18 gst_element_get_pad(), or in a list form by gst_element_get_pad_list().
19 </para>
20
21 <para>
22 gst_element_connect() is a convenience function provided to make it
23 simpler to connect pads of two elements together.
24 </para>
25
26 <!-- ##### SECTION See_Also ##### -->
27 <para>
28
29 </para>
30
31 <!-- ##### ENUM GstElementState ##### -->
32 <para>
33 This enum defines the standard states an element may be in.  You will normally
34 use gst_element_set_state() to change the state of an element.
35
36 </para>
37
38 @GST_STATE_VOID_PENDING: 
39 @GST_STATE_NULL: Reset the state of an element.
40 @GST_STATE_READY: will make the element ready to start processing data. some
41 elements might have a non trivial way to initialize themselves.
42 @GST_STATE_PAUSED: means there really is data flowing temporary stops the data flow.
43 @GST_STATE_PLAYING: means there really is data flowing through the graph.
44
45 <!-- ##### ENUM GstElementStateReturn ##### -->
46 <para>
47 This enum defines the standard return values that an element
48 can return after a state change.
49
50 </para>
51
52 @GST_STATE_FAILURE: the element could not perform the state change
53 @GST_STATE_SUCCESS: the element successfully changed its state
54 @GST_STATE_ASYNC: the element will asynchronously change its state as soon as possible
55
56 <!-- ##### MACRO GST_STATE ##### -->
57 <para>
58 This macro returns the current state of the element.
59 </para>
60
61 @obj: Element to return state for.
62
63
64 <!-- ##### MACRO GST_STATE_PENDING ##### -->
65 <para>
66 This macro returns the currently pending state of the element.
67 </para>
68
69 @obj: Element to return the pending state for.
70
71
72 <!-- ##### MACRO GST_STATE_TRANSITION ##### -->
73 <para>
74 Returns the state transition this object is going through.
75 </para>
76
77 @obj: the Element to return the state transition for
78
79
80 <!-- ##### MACRO GST_STATE_NULL_TO_READY ##### -->
81 <para>
82 The Element is going from the NULL state to the READY state.
83 </para>
84
85
86
87 <!-- ##### MACRO GST_STATE_READY_TO_PAUSED ##### -->
88 <para>
89 The Element is going from the READY state to the PAUSED state.
90 </para>
91
92
93
94 <!-- ##### MACRO GST_STATE_PAUSED_TO_READY ##### -->
95 <para>
96 The Element is going from the PAUSED state to the READY state.
97 </para>
98
99
100
101 <!-- ##### MACRO GST_STATE_PLAYING_TO_PAUSED ##### -->
102 <para>
103 The Element is going from the PLAYING state to the PAUSED state.
104 </para>
105
106
107
108 <!-- ##### MACRO GST_STATE_PAUSED_TO_PLAYING ##### -->
109 <para>
110 The Element is going from the PAUSED state to the PLAYING state.
111 </para>
112
113
114
115 <!-- ##### MACRO GST_STATE_READY_TO_NULL ##### -->
116 <para>
117 The Element is going from the READY state to the NULL state.
118 </para>
119
120
121
122 <!-- ##### ENUM GstElementFlags ##### -->
123 <para>
124 This enum defines the standard flags that an element may have.
125 </para>
126
127 @GST_ELEMENT_COMPLEX: 
128 @GST_ELEMENT_DECOUPLED: 
129 @GST_ELEMENT_THREAD_SUGGESTED: 
130 @GST_ELEMENT_NO_SEEK: 
131 @GST_ELEMENT_NO_ENTRY: 
132 @GST_ELEMENT_NEW_LOOPFUNC: 
133 @GST_ELEMENT_COTHREAD_STOPPING: 
134 @GST_ELEMENT_USE_COTHREAD: 
135 @GST_ELEMENT_EOS: 
136 @GST_ELEMENT_FLAG_LAST: 
137
138 <!-- ##### MACRO GST_ELEMENT_IS_THREAD_SUGGESTED ##### -->
139 <para>
140 Queries whether the Element should be placed in a thread.
141 </para>
142
143 @obj: The element to query
144
145
146 <!-- ##### MACRO GST_ELEMENT_IS_COTHREAD_STOPPING ##### -->
147 <para>
148 Queries whether the cothread holding this element needs to be stopped.
149 </para>
150
151 @obj: The element to query
152
153
154 <!-- ##### MACRO GST_ELEMENT_IS_EOS ##### -->
155 <para>
156 Query wether this element is in the End Of Stream state.
157 </para>
158
159 @obj: The element to query
160
161
162 <!-- ##### MACRO GST_ELEMENT_PARENT ##### -->
163 <para>
164 Get the parent object of this element.
165 </para>
166
167 @obj: The element to query
168
169
170 <!-- ##### MACRO GST_ELEMENT_NAME ##### -->
171 <para>
172 Get the name of this element.
173 </para>
174
175 @obj: The element to query
176
177
178 <!-- ##### MACRO GST_ELEMENT_PADS ##### -->
179 <para>
180 Get the pads of this elements.
181 </para>
182
183 @obj: The element to query
184
185
186 <!-- ##### MACRO GST_ELEMENT_SCHED ##### -->
187 <para>
188 Get the scheduler of this element.
189 </para>
190
191 @obj: The element to query
192
193
194 <!-- ##### MACRO GST_ELEMENT_MANAGER ##### -->
195 <para>
196 Get the manager of this element.
197 </para>
198
199 @obj: The element to query
200
201
202 <!-- ##### STRUCT GstElement ##### -->
203 <para>
204
205 </para>
206
207
208 <!-- ##### STRUCT GstElementDetails ##### -->
209 <para>
210 This struct is used to define public information about the element.  It
211 describes the element, mostly for the benefit of editors.
212 </para>
213
214 @longname: 
215 @klass: 
216 @description: 
217 @version: 
218 @author: 
219 @copyright: 
220
221 <!-- ##### STRUCT GstElementFactory ##### -->
222 <para>
223 This factory is used when registering the element, and contains the name
224 of the element, the GtkType value for it, as well as a pointer to the
225 GstElementDetails struct for the element.
226 </para>
227
228 @feature: 
229 @type: 
230 @details_dynamic: 
231 @details: 
232 @padtemplates: 
233 @numpadtemplates: 
234
235 <!-- ##### USER_FUNCTION GstElementLoopFunction ##### -->
236 <para>
237 This function type is used to specify a loop function for the element.  It
238 is passed the element in question, and is expect to return only in error
239 circumstances.
240 </para>
241
242 @element: The element in question.
243
244
245 <!-- ##### FUNCTION gst_element_class_add_padtemplate ##### -->
246 <para>
247
248 </para>
249
250 @klass: 
251 @templ: 
252 <!-- # Unused Parameters # -->
253 @element: 
254
255
256 <!-- ##### MACRO gst_element_destroy ##### -->
257 <para>
258 Destroy the element. This is potentially dangerous, use gst_object_unref
259 instead.
260 </para>
261
262 @element: the element to destroy
263
264
265 <!-- ##### FUNCTION gst_element_set_loop_function ##### -->
266 <para>
267
268 </para>
269
270 @element: 
271 @loop: 
272
273
274 <!-- ##### FUNCTION gst_element_set_name ##### -->
275 <para>
276
277 </para>
278
279 @element: 
280 @name: 
281
282
283 <!-- ##### FUNCTION gst_element_get_name ##### -->
284 <para>
285
286 </para>
287
288 @element: 
289 @Returns: 
290
291
292 <!-- ##### FUNCTION gst_element_get_sched ##### -->
293 <para>
294
295 </para>
296
297 @element: 
298 @Returns: 
299
300
301 <!-- ##### FUNCTION gst_element_set_sched ##### -->
302 <para>
303
304 </para>
305
306 @element: 
307 @sched: 
308
309
310 <!-- ##### FUNCTION gst_element_set_parent ##### -->
311 <para>
312
313 </para>
314
315 @element: 
316 @parent: 
317
318
319 <!-- ##### FUNCTION gst_element_get_parent ##### -->
320 <para>
321
322 </para>
323
324 @element: 
325 @Returns: 
326
327
328 <!-- ##### FUNCTION gst_element_add_pad ##### -->
329 <para>
330
331 </para>
332
333 @element: 
334 @pad: 
335
336
337 <!-- ##### FUNCTION gst_element_remove_pad ##### -->
338 <para>
339
340 </para>
341
342 @element: 
343 @pad: 
344
345
346 <!-- ##### FUNCTION gst_element_get_pad ##### -->
347 <para>
348
349 </para>
350
351 @element: 
352 @name: 
353 @Returns: GList of pads
354
355
356 <!-- ##### FUNCTION gst_element_get_pad_list ##### -->
357 <para>
358
359 </para>
360
361 @element: 
362 @Returns: 
363
364
365 <!-- ##### FUNCTION gst_element_get_padtemplate_list ##### -->
366 <para>
367
368 </para>
369
370 @element: 
371 @Returns: 
372
373
374 <!-- ##### FUNCTION gst_element_get_padtemplate_by_name ##### -->
375 <para>
376
377 </para>
378
379 @element: 
380 @name: 
381 @Returns: 
382
383
384 <!-- ##### FUNCTION gst_element_add_ghost_pad ##### -->
385 <para>
386
387 </para>
388
389 @element: 
390 @pad: 
391 @name: 
392
393
394 <!-- ##### FUNCTION gst_element_remove_ghost_pad ##### -->
395 <para>
396
397 </para>
398
399 @element: 
400 @pad: 
401
402
403 <!-- ##### FUNCTION gst_element_request_compatible_pad ##### -->
404 <para>
405
406 </para>
407
408 @element: 
409 @templ: 
410 @Returns: 
411
412
413 <!-- ##### FUNCTION gst_element_request_pad_by_name ##### -->
414 <para>
415
416 </para>
417
418 @element: 
419 @name: 
420 @Returns: 
421
422
423 <!-- ##### FUNCTION gst_element_connect ##### -->
424 <para>
425
426 </para>
427
428 @src: 
429 @srcpadname: 
430 @dest: 
431 @destpadname: 
432
433
434 <!-- ##### FUNCTION gst_element_disconnect ##### -->
435 <para>
436
437 </para>
438
439 @src: 
440 @srcpadname: 
441 @dest: 
442 @destpadname: 
443
444
445 <!-- ##### FUNCTION gst_element_set_state ##### -->
446 <para>
447
448 </para>
449
450 @element: 
451 @state: 
452 @Returns: 
453
454
455 <!-- ##### FUNCTION gst_element_get_state ##### -->
456 <para>
457
458 </para>
459
460 @element: 
461 @Returns: 
462 <!-- # Unused Parameters # -->
463 @elem: 
464
465
466 <!-- ##### FUNCTION gst_element_statename ##### -->
467 <para>
468
469 </para>
470
471 @state: 
472 @Returns: 
473
474
475 <!-- ##### FUNCTION gst_element_error ##### -->
476 <para>
477
478 </para>
479
480 @element: 
481 @error: 
482
483
484 <!-- ##### FUNCTION gst_element_get_factory ##### -->
485 <para>
486
487 </para>
488
489 @element: 
490 @Returns: 
491
492
493 <!-- ##### FUNCTION gst_element_signal_eos ##### -->
494 <para>
495
496 </para>
497
498 @element: 
499
500
501 <!-- ##### FUNCTION gst_element_restore_thyself ##### -->
502 <para>
503
504 </para>
505
506 @self: 
507 @parent: 
508 @Returns: 
509
510
511 <!-- ##### FUNCTION gst_elementfactory_new ##### -->
512 <para>
513
514 </para>
515
516 @name: 
517 @type: 
518 @details: 
519 @Returns: 
520
521
522 <!-- ##### FUNCTION gst_elementfactory_add_padtemplate ##### -->
523 <para>
524
525 </para>
526
527 @elementfactory: 
528 @templ: 
529 <!-- # Unused Parameters # -->
530 @temp: 
531 @pad: 
532
533
534 <!-- ##### FUNCTION gst_elementfactory_find ##### -->
535 <para>
536
537 </para>
538
539 @name: 
540 @Returns: 
541
542
543 <!-- ##### FUNCTION gst_elementfactory_get_list ##### -->
544 <para>
545
546 </para>
547
548 @Returns: 
549
550
551 <!-- ##### FUNCTION gst_elementfactory_can_src_caps ##### -->
552 <para>
553
554 </para>
555
556 @factory: 
557 @caps: 
558 @Returns: 
559
560
561 <!-- ##### FUNCTION gst_elementfactory_can_sink_caps ##### -->
562 <para>
563
564 </para>
565
566 @factory: 
567 @caps: 
568 @Returns: 
569
570
571 <!-- ##### FUNCTION gst_elementfactory_create ##### -->
572 <para>
573
574 </para>
575
576 @factory: 
577 @name: 
578 @Returns: 
579
580
581 <!-- ##### FUNCTION gst_elementfactory_make ##### -->
582 <para>
583
584 </para>
585
586 @factoryname: 
587 @name: 
588 @Returns: 
589
590
591 <!-- ##### SIGNAL GstElement::state-change ##### -->
592 <para>
593 Is trigered whenever the state of an element changes
594 </para>
595
596 @gstelement: the object which received the signal.
597 @arg1: the new state of the object
598
599 <!-- ##### SIGNAL GstElement::new-pad ##### -->
600 <para>
601 Is trigered whenever a new pad is added to an element
602 </para>
603
604 @gstelement: the object which received the signal.
605 @arg1: the new pad that was added
606
607 <!-- ##### SIGNAL GstElement::pad-removed ##### -->
608 <para>
609
610 </para>
611
612 @gstelement: the object which received the signal.
613 @arg1: The pad that was removed.
614
615 <!-- ##### SIGNAL GstElement::new-ghost-pad ##### -->
616 <para>
617
618 Is trigered whenever a new ghost pad is added to an element
619 </para>
620
621 @gstelement: the object which received the signal.
622 @arg1: the new ghost pad that was added
623
624 <!-- ##### SIGNAL GstElement::ghost-pad-removed ##### -->
625 <para>
626
627 </para>
628
629 @gstelement: the object which received the signal.
630 @arg1: The ghost pad that was removed.
631
632 <!-- ##### SIGNAL GstElement::error ##### -->
633 <para>
634 Is trigered whenever an error occured
635
636 </para>
637
638 @gstelement: the object which received the signal.
639 @arg1: the error message
640
641 <!-- ##### SIGNAL GstElement::eos ##### -->
642 <para>
643
644 </para>
645
646 @gstelement: the object which received the signal.
647