gstelement.sgml 14.7 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
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 
Wim Taymans's avatar
Wim Taymans committed
52
gst_element_state_get_name().
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
53
</para>
54

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
55 56 57 58 59
<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>
60

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

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
66
<!-- basic object functions -->
67

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

</para>


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
74
<!-- ##### MACRO gst_element_destroy ##### -->
75
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
76 77 78
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.
79 80
</para>

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


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

87 88
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
89 90
@element: 
@Returns: 
91 92


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

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
96
</para>
97

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
98 99
@element: 
@name: 
100 101


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
102
<!-- connection -->
103 104


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

108 109
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
110 111
@element: 
@Returns: 
112 113


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

117 118
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
119 120
@element: 
@pad: 
121 122


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

126 127
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
128 129
@element: 
@pad: 
130 131


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

135 136
</para>

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


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

146 147
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
148 149
@element: 
@pad: 
150 151


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


<!-- ##### FUNCTION gst_element_get_pad ##### -->
156
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
157

158 159
</para>

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


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

168 169
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
170 171 172
@element: 
@name: 
@Returns: 
173

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
174 175

<!-- ##### FUNCTION gst_element_get_request_pad ##### -->
176
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
177

178 179
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
180 181 182
@element: 
@name: 
@Returns: 
183 184


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

</para>

@element: 
@pad: 


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

197 198
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
199 200
@element: 
@Returns: 
201 202


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

</para>

@element: 
@name: 
@Returns: 


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

216 217
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
218 219
@element: 
@Returns: 
220 221 222



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
223
<!-- scheduling -->
224 225


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

229 230
</para>

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


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

240 241
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
242 243 244
@src: 
@dest: 
@Returns: 
245 246


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

250 251
</para>

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


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

261 262
</para>

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


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

272 273
</para>

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


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

Wim Taymans's avatar
Wim Taymans committed
284 285
</para>

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


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

</para>

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

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
305 306

<!-- ##### FUNCTION gst_element_disconnect_many ##### -->
307
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
308

309 310
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
311 312 313
@element_1: 
@element_2: 
@Varargs: 
314 315


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

Wim Taymans's avatar
Wim Taymans committed
319 320
</para>

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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
327 328 329 330
<!-- pad manipulation -->


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

Wim Taymans's avatar
Wim Taymans committed
333 334
</para>

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


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

</para>

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


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

</para>

@element: 
@compattempl: 
@Returns: 


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

364 365
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
366 367 368
@element: 
@state: 
@Returns: 
369 370


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

</para>

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


382
<!-- ##### FUNCTION gst_element_state_get_name ##### -->
383 384 385 386
<para>

</para>

387 388
@state: 
@Returns: 
389 390


391
<!-- ##### FUNCTION gst_element_wait_state_change ##### -->
392 393 394 395
<para>

</para>

396
@element: 
397 398


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

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
405 406
@error: 
@Varargs: 
407 408


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

</para>

@element: 


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

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
423
@Returns: 
424 425


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

</para>

@element: 


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

</para>

@element: 
@Returns: 


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

</para>

@element: 
@Returns: 


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

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
458
@clock: 
459 460


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

</para>

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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
473
<!-- ##### USER_FUNCTION GstElementGetClockFunction ##### -->
474
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
475 476 477 478 479 480
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

481

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

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


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

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
497
@loop: 
498 499


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
500
<!-- ##### USER_FUNCTION GstElementLoopFunction ##### -->
501
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
502 503 504
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.
505 506
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
507
@element: The element in question.
508 509


510
<!-- ##### FUNCTION gst_element_get_scheduler ##### -->
511 512 513 514 515 516 517 518
<para>

</para>

@element: 
@Returns: 


519
<!-- ##### FUNCTION gst_element_set_scheduler ##### -->
520 521 522 523 524
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
525
@sched: 
526 527


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

</para>

@element: 
Wim Taymans's avatar
Wim Taymans committed
534
@Returns: 
535 536


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

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
543
@parent: 
544 545


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

</para>

@element: 
@Returns: 

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
554
<!-- clocking -->
555

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
556

Wim Taymans's avatar
Wim Taymans committed
557 558
<!-- ##### USER_FUNCTION GstElementPostRunFunction ##### -->
<para>
Wim Taymans's avatar
Wim Taymans committed
559 560
The signature of the function to execute before this element
is scheduled.
Wim Taymans's avatar
Wim Taymans committed
561 562
</para>

Wim Taymans's avatar
Wim Taymans committed
563
@element: The element
Wim Taymans's avatar
Wim Taymans committed
564 565 566 567


<!-- ##### USER_FUNCTION GstElementPreRunFunction ##### -->
<para>
Wim Taymans's avatar
Wim Taymans committed
568 569
The signature of the function to execute after this element
is scheduled.
Wim Taymans's avatar
Wim Taymans committed
570 571
</para>

Wim Taymans's avatar
Wim Taymans committed
572
@element: The element
Wim Taymans's avatar
Wim Taymans committed
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


<!-- ##### 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: