gstelement.sgml 14.6 KB
Newer Older
1 2 3 4 5 6 7 8 9
<!-- ##### SECTION Title ##### -->
GstElement

<!-- ##### SECTION Short_Description ##### -->
Base class for all pipeline elements

<!-- ##### SECTION Long_Description ##### -->
<para>
GstElement is the base class needed to construct an element that can be
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
10
used in a GStreamer pipeline.  As such, it is not a functional entity, and
11 12 13 14
cannot do anything when placed in a pipeline.
</para>

<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
15 16 17 18 19
The name of a GstElement can be get with gst_element_get_name() and set with
gst_element_set_name().  For speed, GST_ELEMENT_NAME() can be used in the 
core.
Do not use this in plug-ins or applications in order to retain ABI 
compatibility.
20 21 22
</para>

<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
23 24 25 26 27 28 29 30 31 32
All elements have pads (of the type #GstPad).  These pads connect to pads on
other elements.  Buffers flow between these connected pads.
A GstElement has a GList of #GstPad structures for all their input (or sink)
and output (or source) pads.  
Core and plug-in writers can add and remove pads with gst_element_add_pad()
and gst_element_remove_pad().
Application writers can manipulate ghost pads (copies of real pads inside a bin)
with gst_element_add_ghost_pad() and gst_element_remove_ghost_pad().
A pad of an element can be retrieved by name with gst_element_get_pad().
A GList of all pads can be retrieved with gst_element_get_pad_list().
33 34 35
</para>

<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
36 37 38 39 40 41 42 43 44
Elements can be connected through their pads.
If the connection is straightforward, use the gst_element_connect() 
convenience function to connect two elements, or gst_element_connect_many() 
for more elements in a row.
Use gst_element_connect_filtered() to connect two elements constrained by
a specified set of #GstCaps.
For finer control, use gst_element_connect_pads() and 
gst_element_connect_pads_filtered() to specify the pads to connect on 
each element by name.
45 46 47
</para>

<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
48 49 50 51 52 53 54 55
Each element has a state (see #GstElementState).  You can get and set the state
of an element with gst_element_get_state() and gst_element_set_state().  
You can wait for an element to change it's state with gst_element_wait_state_change().
To get a string representation of a #GstElementState, use 
gst_element_statename(), which is a really bad name for what it does 
and should probably be renamed
to gst_element_state_get_name if we can be bothered to do that.
</para>
56

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
57 58 59 60 61
<para>
You can get and set a #GstClock on an element using gst_element_get_clock()
and gst_element_set_clock().  You can wait for the clock to reach a given
#GstClockTime using gst_element_clock_wait().
</para>
62

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
63 64 65
<!-- ##### SECTION See_Also ##### -->
<para>
#GstElementFactory, #GstPad
66 67
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
68
<!-- basic object functions -->
69

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
70
<!-- ##### STRUCT GstElement ##### -->
71 72 73 74 75
<para>

</para>


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
76
<!-- ##### MACRO gst_element_destroy ##### -->
77
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
78 79 80
Destroys the element (without taking the refcount into account).
An application programmer should use #gst_object_unref instead to dispose
of an element he doesn't need anymore.
81 82
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
83
@element: a #GstElement to destroy
84 85


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
86
<!-- ##### FUNCTION gst_element_get_name ##### -->
87
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
88

89 90
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
91 92
@element: 
@Returns: 
93 94


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
95
<!-- ##### FUNCTION gst_element_set_name ##### -->
96 97
<para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
98
</para>
99

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
100 101
@element: 
@name: 
102 103


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
104
<!-- connection -->
105 106


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
107
<!-- ##### FUNCTION gst_element_get_factory ##### -->
108
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
109

110 111
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
112 113
@element: 
@Returns: 
114 115


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
116
<!-- ##### FUNCTION gst_element_add_pad ##### -->
117
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
118

119 120
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
121 122
@element: 
@pad: 
123 124


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
125
<!-- ##### FUNCTION gst_element_remove_pad ##### -->
126
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
127

128 129
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
130 131
@element: 
@pad: 
132 133


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
134
<!-- ##### FUNCTION gst_element_add_ghost_pad ##### -->
135
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
136

137 138
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
139 140 141 142
@element: 
@pad: 
@name: 
@Returns: 
143 144


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
145
<!-- ##### FUNCTION gst_element_remove_ghost_pad ##### -->
146
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
147

148 149
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
150 151
@element: 
@pad: 
152 153


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
154 155 156 157
<!-- pad template manipulation -->


<!-- ##### FUNCTION gst_element_get_pad ##### -->
158
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
159

160 161
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
162 163 164
@element: 
@name: 
@Returns: GList of #GstPads
165 166


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
167
<!-- ##### FUNCTION gst_element_get_static_pad ##### -->
168
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
169

170 171
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
172 173 174
@element: 
@name: 
@Returns: 
175

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
176 177

<!-- ##### FUNCTION gst_element_get_request_pad ##### -->
178
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
179

180 181
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
182 183 184
@element: 
@name: 
@Returns: 
185 186


Wim Taymans's avatar
Wim Taymans committed
187 188 189 190 191 192 193 194 195
<!-- ##### FUNCTION gst_element_release_request_pad ##### -->
<para>

</para>

@element: 
@pad: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
196
<!-- ##### FUNCTION gst_element_get_pad_list ##### -->
197
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
198

199 200
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
201 202
@element: 
@Returns: 
203 204


Wim Taymans's avatar
Wim Taymans committed
205 206 207 208 209 210 211 212 213 214
<!-- ##### FUNCTION gst_element_get_pad_template ##### -->
<para>

</para>

@element: 
@name: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
215
<!-- ##### FUNCTION gst_element_get_pad_template_list ##### -->
216
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
217

218 219
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
220 221
@element: 
@Returns: 
222 223 224



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
225
<!-- scheduling -->
226 227


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
228
<!-- ##### FUNCTION gst_element_class_add_pad_template ##### -->
229
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
230

231 232
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
233 234 235 236
@klass: 
@templ: 
<!-- # Unused Parameters # -->
@element: 
237 238


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
239
<!-- ##### FUNCTION gst_element_connect ##### -->
240
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
241

242 243
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
244 245 246
@src: 
@dest: 
@Returns: 
247 248


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
249
<!-- ##### FUNCTION gst_element_connect_many ##### -->
250
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
251

252 253
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
254 255 256 257
@element_1: 
@element_2: 
@Varargs: 
@Returns: 
258 259


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
260
<!-- ##### FUNCTION gst_element_connect_filtered ##### -->
261
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
262

263 264
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
265 266 267 268
@src: 
@dest: 
@filtercaps: 
@Returns: 
269 270


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
271
<!-- ##### FUNCTION gst_element_connect_pads ##### -->
272
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
273

274 275
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
276 277 278 279 280
@src: 
@srcpadname: 
@dest: 
@destpadname: 
@Returns: 
281 282


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
283
<!-- ##### FUNCTION gst_element_connect_pads_filtered ##### -->
Wim Taymans's avatar
Wim Taymans committed
284
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
285

Wim Taymans's avatar
Wim Taymans committed
286 287
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
288 289 290 291 292 293
@src: 
@srcpadname: 
@dest: 
@destpadname: 
@filtercaps: 
@Returns: 
Wim Taymans's avatar
Wim Taymans committed
294 295


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
296
<!-- ##### FUNCTION gst_element_disconnect ##### -->
297 298 299 300
<para>

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
301 302 303 304 305
@src: 
@dest: 
<!-- # Unused Parameters # -->
@srcpadname: 
@destpadname: 
306

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
307 308

<!-- ##### FUNCTION gst_element_disconnect_many ##### -->
309
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
310

311 312
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
313 314 315
@element_1: 
@element_2: 
@Varargs: 
316 317


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
318
<!-- ##### FUNCTION gst_element_disconnect_pads ##### -->
Wim Taymans's avatar
Wim Taymans committed
319
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
320

Wim Taymans's avatar
Wim Taymans committed
321 322
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
323 324 325 326
@src: 
@srcpadname: 
@dest: 
@destpadname: 
Wim Taymans's avatar
Wim Taymans committed
327 328


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
329 330 331 332
<!-- pad manipulation -->


<!-- ##### FUNCTION gst_element_get_compatible_pad ##### -->
Wim Taymans's avatar
Wim Taymans committed
333
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
334

Wim Taymans's avatar
Wim Taymans committed
335 336
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
337 338 339
@element: 
@pad: 
@Returns: 
Wim Taymans's avatar
Wim Taymans committed
340 341


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
342
<!-- ##### FUNCTION gst_element_get_compatible_pad_filtered ##### -->
343 344 345 346 347
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
348 349 350
@pad: 
@filtercaps: 
@Returns: 
351 352


Wim Taymans's avatar
Wim Taymans committed
353 354 355 356 357 358 359 360 361 362
<!-- ##### FUNCTION gst_element_get_compatible_pad_template ##### -->
<para>

</para>

@element: 
@compattempl: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
363
<!-- ##### FUNCTION gst_element_set_state ##### -->
364
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
365

366 367
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
368 369 370
@element: 
@state: 
@Returns: 
371 372


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
373
<!-- ##### FUNCTION gst_element_get_state ##### -->
374 375 376 377 378
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
379 380 381
@Returns: 
<!-- # Unused Parameters # -->
@elem: 
382 383


384
<!-- ##### FUNCTION gst_element_state_get_name ##### -->
385 386 387 388
<para>

</para>

389 390
@state: 
@Returns: 
391 392


393
<!-- ##### FUNCTION gst_element_wait_state_change ##### -->
394 395 396 397
<para>

</para>

398
@element: 
399 400


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
401
<!-- ##### FUNCTION gst_element_error ##### -->
402 403 404 405 406
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
407 408
@error: 
@Varargs: 
409 410


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
411
<!-- ##### FUNCTION gst_element_set_eos ##### -->
412 413 414 415 416 417 418
<para>

</para>

@element: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
419
<!-- ##### FUNCTION gst_element_interrupt ##### -->
420 421 422 423 424
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
425
@Returns: 
426 427


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
428
<!-- ##### FUNCTION gst_element_yield ##### -->
429 430 431 432 433 434 435
<para>

</para>

@element: 


Wim Taymans's avatar
Wim Taymans committed
436 437 438 439 440 441 442 443 444
<!-- ##### FUNCTION gst_element_release_locks ##### -->
<para>

</para>

@element: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
445
<!-- ##### FUNCTION gst_element_get_clock ##### -->
Wim Taymans's avatar
Wim Taymans committed
446 447 448 449 450 451 452 453
<para>

</para>

@element: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
454
<!-- ##### FUNCTION gst_element_set_clock ##### -->
455 456 457 458 459
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
460
@clock: 
461 462


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
463
<!-- ##### FUNCTION gst_element_clock_wait ##### -->
464 465 466 467 468
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
469 470
@clock: 
@time: 
Wim Taymans's avatar
Wim Taymans committed
471
@jitter: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
472
@Returns: 
473 474


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
475
<!-- ##### USER_FUNCTION GstElementGetClockFunction ##### -->
476
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
477 478 479 480 481 482
The function to get the clock from a clock providing element
</para>

@element: The element to get the clock of
@Returns: The clock provided by the element

483

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
484 485 486
<!-- ##### USER_FUNCTION GstElementSetClockFunction ##### -->
<para>
The function to set the clock on a clock receiving element.
487 488
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
489 490
@element: The element to set the clock on
@clock: The clock to set on the element
491 492


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
493
<!-- ##### FUNCTION gst_element_set_loop_function ##### -->
494 495 496 497 498
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
499
@loop: 
500 501


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
502
<!-- ##### USER_FUNCTION GstElementLoopFunction ##### -->
503
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
504 505 506
This function type is used to specify a loop function for the element.  It
is passed the element in question, and is expect to return only in error
circumstances.
507 508
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
509
@element: The element in question.
510 511


512
<!-- ##### FUNCTION gst_element_get_scheduler ##### -->
513 514 515 516 517 518 519 520
<para>

</para>

@element: 
@Returns: 


521
<!-- ##### FUNCTION gst_element_set_scheduler ##### -->
522 523 524 525 526
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
527
@sched: 
528 529


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
530
<!-- ##### FUNCTION gst_element_get_parent ##### -->
531 532 533 534 535
<para>

</para>

@element: 
Wim Taymans's avatar
Wim Taymans committed
536
@Returns: 
537 538


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
539
<!-- ##### FUNCTION gst_element_set_parent ##### -->
540 541 542 543 544
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
545
@parent: 
546 547


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
548
<!-- ##### FUNCTION gst_element_get_managing_bin ##### -->
549 550 551 552 553 554 555
<para>

</para>

@element: 
@Returns: 

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
556
<!-- clocking -->
557

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
558

Wim Taymans's avatar
Wim Taymans committed
559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680
<!-- ##### USER_FUNCTION GstElementPostRunFunction ##### -->
<para>

</para>

@element: 


<!-- ##### USER_FUNCTION GstElementPreRunFunction ##### -->
<para>

</para>

@element: 


<!-- ##### FUNCTION gst_element_disable_threadsafe_properties ##### -->
<para>

</para>

@element: 


<!-- ##### FUNCTION gst_element_enable_threadsafe_properties ##### -->
<para>

</para>

@element: 


<!-- ##### FUNCTION gst_element_get ##### -->
<para>

</para>

@element: 
@first_property_name: 
@Varargs: 


<!-- ##### FUNCTION gst_element_get_property ##### -->
<para>

</para>

@element: 
@property_name: 
@value: 


<!-- ##### FUNCTION gst_element_get_valist ##### -->
<para>

</para>

@element: 
@first_property_name: 
@var_args: 


<!-- ##### FUNCTION gst_element_set ##### -->
<para>

</para>

@element: 
@first_property_name: 
@Varargs: 


<!-- ##### FUNCTION gst_element_set_pending_properties ##### -->
<para>

</para>

@element: 


<!-- ##### FUNCTION gst_element_set_property ##### -->
<para>

</para>

@element: 
@property_name: 
@value: 


<!-- ##### FUNCTION gst_element_set_valist ##### -->
<para>

</para>

@element: 
@first_property_name: 
@var_args: 


<!-- ##### FUNCTION gst_element_query ##### -->
<para>

</para>

@element: 
@type: 
@format: 
@value: 
@Returns: 


<!-- ##### FUNCTION gst_element_send_event ##### -->
<para>

</para>

@element: 
@event: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
681
<!-- ##### ENUM GstElementState ##### -->
Wim Taymans's avatar
Wim Taymans committed
682
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
683 684
This enum defines the standard states an element may be in.  You will normally
use gst_element_set_state() to change the state of an element.
Wim Taymans's avatar
Wim Taymans committed
685 686 687

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
688 689 690 691 692 693
@GST_STATE_VOID_PENDING: 
@GST_STATE_NULL: Reset the state of an element.
@GST_STATE_READY: will make the element ready to start processing data. some
elements might have a non trivial way to initialize themselves.
@GST_STATE_PAUSED: means there really is data flowing temporary stops the data flow.
@GST_STATE_PLAYING: means there really is data flowing through the graph.
Wim Taymans's avatar
Wim Taymans committed
694

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
695
<!-- ##### ENUM GstElementStateReturn ##### -->
696
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
697 698
This enum defines the standard return values that an element
can return after a state change.
699 700 701

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
702 703 704
@GST_STATE_FAILURE: the element could not perform the state change
@GST_STATE_SUCCESS: the element successfully changed its state
@GST_STATE_ASYNC: the element will asynchronously change its state as soon as possible
705

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
706
<!-- ##### MACRO GST_NUM_STATES ##### -->
707
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
708
The maximun number of states.
709 710
</para>

711 712


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
713
<!-- ##### MACRO GST_STATE ##### -->
714
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
715
This macro returns the current state of the element.
716 717
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
718
@obj: Element to return state for.
719 720


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
721
<!-- ##### MACRO GST_STATE_PENDING ##### -->
Wim Taymans's avatar
Wim Taymans committed
722
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
723
This macro returns the currently pending state of the element.
Wim Taymans's avatar
Wim Taymans committed
724 725
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
726
@obj: Element to return the pending state for.
Wim Taymans's avatar
Wim Taymans committed
727 728


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
729
<!-- ##### MACRO GST_STATE_TRANSITION ##### -->
Wim Taymans's avatar
Wim Taymans committed
730
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
731
Returns the state transition this object is going through.
Wim Taymans's avatar
Wim Taymans committed
732 733
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
734
@obj: the Element to return the state transition for
Wim Taymans's avatar
Wim Taymans committed
735 736


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
737
<!-- ##### MACRO GST_STATE_NULL_TO_READY ##### -->
Wim Taymans's avatar
Wim Taymans committed
738
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
739
The Element is going from the NULL state to the READY state.
Wim Taymans's avatar
Wim Taymans committed
740 741 742 743
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
744
<!-- ##### MACRO GST_STATE_READY_TO_PAUSED ##### -->
745
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
746
The Element is going from the READY state to the PAUSED state.
747 748 749 750
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
751
<!-- ##### MACRO GST_STATE_PAUSED_TO_READY ##### -->
Wim Taymans's avatar
Wim Taymans committed
752
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
753
The Element is going from the PAUSED state to the READY state.
Wim Taymans's avatar
Wim Taymans committed
754 755 756 757
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
758
<!-- ##### MACRO GST_STATE_PLAYING_TO_PAUSED ##### -->
759
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
760
The Element is going from the PLAYING state to the PAUSED state.
761 762 763 764
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
765
<!-- ##### MACRO GST_STATE_PAUSED_TO_PLAYING ##### -->
766
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
767
The Element is going from the PAUSED state to the PLAYING state.
768 769 770 771
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
772
<!-- ##### MACRO GST_STATE_READY_TO_NULL ##### -->
773
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
774
The Element is going from the READY state to the NULL state.
775 776 777 778
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
779
<!-- ##### ENUM GstElementFlags ##### -->
780
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
781 782
This enum defines the standard flags that an element may have.
</para>
783

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
784 785 786 787 788 789
@GST_ELEMENT_COMPLEX: 
@GST_ELEMENT_DECOUPLED: 
@GST_ELEMENT_THREAD_SUGGESTED: 
@GST_ELEMENT_INFINITE_LOOP: 
@GST_ELEMENT_NEW_LOOPFUNC: 
@GST_ELEMENT_EVENT_AWARE: 
Wim Taymans's avatar
Wim Taymans committed
790 791 792
@GST_ELEMENT_USE_THREADSAFE_PROPERTIES: 
@GST_ELEMENT_SCHEDULER_PRIVATE1: 
@GST_ELEMENT_SCHEDULER_PRIVATE2: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
793 794 795 796 797
@GST_ELEMENT_FLAG_LAST: 

<!-- ##### MACRO GST_ELEMENT_IS_THREAD_SUGGESTED ##### -->
<para>
Queries whether the Element should be placed in a thread.
798 799
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
800
@obj: a #GstElement to query
801 802


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
803
<!-- ##### MACRO GST_ELEMENT_IS_DECOUPLED ##### -->
804
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
805
Queries if the Element is decoupled.
806 807
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
808
@obj: a #GstElement to query
809 810


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
811
<!-- ##### MACRO GST_ELEMENT_IS_EOS ##### -->
812
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
813
Query wether this element is in the End Of Stream state.
814 815
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
816
@obj: a #GstElement to query
817 818


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
819
<!-- ##### MACRO GST_ELEMENT_IS_EVENT_AWARE ##### -->
820
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
821
Query wether this element can handle events.
822 823
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
824
@obj: a #GstElement to query
825 826


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
827
<!-- ##### MACRO GST_ELEMENT_PARENT ##### -->
828
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
829
Get the parent object of this element.
830 831
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
832
@obj: a #GstElement to query
833 834


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
835
<!-- ##### MACRO GST_ELEMENT_NAME ##### -->
836
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
837
Gets the name of this element.  Used in the core.  Not ABI-compatible.
838 839
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
840
@obj: A #GstElement to query
841 842


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
843
<!-- ##### MACRO GST_ELEMENT_PADS ##### -->
844
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
845
Get the pads of this elements.
846 847
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
848
@obj: a #GstElement to query
849 850


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
851
<!-- ##### MACRO GST_ELEMENT_SCHED ##### -->
852
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
853
Get the scheduler of this element.
854 855
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
856
@obj: a #GstElement to query
857 858


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
859
<!-- ##### MACRO GST_ELEMENT_MANAGER ##### -->
860
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
861 862
Get the manager of this element.
</para>
863

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
864 865 866 867 868 869
@obj: a #GstElement to query


<!-- ##### MACRO GST_ELEMENT_CLOCK ##### -->
<para>
Get the clock of this element
870 871
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
872
@obj: a #GstElement to query
873 874


Wim Taymans's avatar
Wim Taymans committed
875 876 877 878 879 880 881 882 883
<!-- ##### SIGNAL GstElement::deep-notify ##### -->
<para>

</para>

@gstelement: the object which received the signal.
@arg1: 
@arg2: 

884 885 886 887 888 889 890 891 892 893 894 895 896 897 898
<!-- ##### SIGNAL GstElement::eos ##### -->
<para>

</para>

@gstelement: the object which received the signal.

<!-- ##### SIGNAL GstElement::error ##### -->
<para>
Is trigered whenever an error occured

</para>

@gstelement: the object which received the signal.
@arg1: the error message
Wim Taymans's avatar
Wim Taymans committed
899
@arg2: 
900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925

<!-- ##### SIGNAL GstElement::new-pad ##### -->
<para>
Is trigered whenever a new pad is added to an element
</para>

@gstelement: the object which received the signal.
@arg1: the new pad that was added

<!-- ##### SIGNAL GstElement::pad-removed ##### -->
<para>

</para>

@gstelement: the object which received the signal.
@arg1: The pad that was removed.

<!-- ##### SIGNAL GstElement::state-change ##### -->
<para>
Is trigered whenever the state of an element changes
</para>

@gstelement: the object which received the signal.
@arg1: the new state of the object
@arg2: