gstelement.sgml 15.9 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>
23 24
All elements have pads (of the type #GstPad).  These pads link to pads on
other elements.  Buffers flow between these linked pads.
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
25 26 27 28 29 30 31 32
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>
36 37 38
Elements can be linked through their pads.
If the link is straightforward, use the gst_element_link() 
convenience function to link two elements, or gst_element_link_many() 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
39
for more elements in a row.
40
Use gst_element_link_filtered() to link two elements constrained by
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
41
a specified set of #GstCaps.
42 43
For finer control, use gst_element_link_pads() and 
gst_element_link_pads_filtered() to specify the pads to link on 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
44
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
<para>
Wim Taymans's avatar
Wim Taymans committed
70
The element object
71 72 73
</para>


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
74
<!-- ##### MACRO gst_element_get_name ##### -->
75
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
76
Gets the name of the element.
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
77
</para>
78

Wim Taymans's avatar
Wim Taymans committed
79
@elem: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
80
@Returns: the name of the element.
81 82


83
<!-- link -->
Wim Taymans's avatar
Wim Taymans committed
84 85 86 87 88 89 90


<!-- ##### MACRO gst_element_set_name ##### -->
<para>
Sets the name of the element, getting rid of the old name if there was one.
</para>

Wim Taymans's avatar
Wim Taymans committed
91
@elem: a #GstElement to set the name of.
Wim Taymans's avatar
Wim Taymans committed
92
@name: the new name of the element.
93 94


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

98 99
</para>

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


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

107 108
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
109 110
@element: 
@pad: 
111 112


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

116 117
</para>

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


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

125 126
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
127 128 129 130
@element: 
@pad: 
@name: 
@Returns: 
131 132


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

136 137
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
138 139
@element: 
@pad: 
140 141


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
142 143 144 145
<!-- pad template manipulation -->


<!-- ##### FUNCTION gst_element_get_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 152
@element: 
@name: 
@Returns: GList of #GstPads
153 154


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
155
<!-- ##### FUNCTION gst_element_get_static_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: 
163

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
164 165

<!-- ##### FUNCTION gst_element_get_request_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 174


Wim Taymans's avatar
Wim Taymans committed
175 176 177 178 179 180 181 182 183
<!-- ##### FUNCTION gst_element_release_request_pad ##### -->
<para>

</para>

@element: 
@pad: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
184
<!-- ##### FUNCTION gst_element_get_pad_list ##### -->
185
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
186

187 188
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
189 190
@element: 
@Returns: 
191 192


Wim Taymans's avatar
Wim Taymans committed
193 194 195 196 197 198 199 200 201 202
<!-- ##### FUNCTION gst_element_get_pad_template ##### -->
<para>

</para>

@element: 
@name: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
203
<!-- ##### FUNCTION gst_element_get_pad_template_list ##### -->
204
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
205

206 207
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
208 209
@element: 
@Returns: 
210 211 212



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
213
<!-- scheduling -->
214 215


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

219 220
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
221 222
@klass: 
@templ: 
223 224


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

228 229
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
230 231 232
@src: 
@dest: 
@Returns: 
233 234


235
<!-- ##### FUNCTION gst_element_link_many ##### -->
236
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
237

238 239
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
240 241 242 243
@element_1: 
@element_2: 
@Varargs: 
@Returns: 
244 245


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

249 250
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
251 252 253 254
@src: 
@dest: 
@filtercaps: 
@Returns: 
255 256


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

260 261
</para>

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


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

Wim Taymans's avatar
Wim Taymans committed
272 273
</para>

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


282
<!-- ##### FUNCTION gst_element_unlink ##### -->
283 284 285 286
<para>

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
287 288
@src: 
@dest: 
289

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
290

291
<!-- ##### FUNCTION gst_element_unlink_many ##### -->
292
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
293

294 295
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
296 297 298
@element_1: 
@element_2: 
@Varargs: 
299 300


301
<!-- ##### FUNCTION gst_element_unlink_pads ##### -->
Wim Taymans's avatar
Wim Taymans committed
302
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
303

Wim Taymans's avatar
Wim Taymans committed
304 305
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
306 307 308 309
@src: 
@srcpadname: 
@dest: 
@destpadname: 
Wim Taymans's avatar
Wim Taymans committed
310 311


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
312 313 314 315
<!-- pad manipulation -->


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

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

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
320 321 322
@element: 
@pad: 
@Returns: 
Wim Taymans's avatar
Wim Taymans committed
323 324


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
325
<!-- ##### FUNCTION gst_element_get_compatible_pad_filtered ##### -->
326 327 328 329 330
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
331 332 333
@pad: 
@filtercaps: 
@Returns: 
334 335


Wim Taymans's avatar
Wim Taymans committed
336 337 338 339 340 341 342 343 344 345
<!-- ##### FUNCTION gst_element_get_compatible_pad_template ##### -->
<para>

</para>

@element: 
@compattempl: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
346
<!-- ##### FUNCTION gst_element_set_state ##### -->
347
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
348

349 350
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
351 352 353
@element: 
@state: 
@Returns: 
354 355


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
356
<!-- ##### FUNCTION gst_element_get_state ##### -->
357 358 359 360 361
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
362
@Returns: 
363 364


365
<!-- ##### FUNCTION gst_element_state_get_name ##### -->
366 367 368 369
<para>

</para>

370 371
@state: 
@Returns: 
372 373


374
<!-- ##### FUNCTION gst_element_wait_state_change ##### -->
375 376 377 378
<para>

</para>

379
@element: 
380 381


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
382
<!-- ##### FUNCTION gst_element_error ##### -->
383 384 385 386 387
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
388 389
@error: 
@Varargs: 
390 391


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
392
<!-- ##### FUNCTION gst_element_set_eos ##### -->
393 394 395 396 397 398 399
<para>

</para>

@element: 


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

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
406
@Returns: 
407 408


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

</para>

@element: 


Wim Taymans's avatar
Wim Taymans committed
417 418 419 420 421 422 423 424 425
<!-- ##### FUNCTION gst_element_release_locks ##### -->
<para>

</para>

@element: 
@Returns: 


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

</para>

@element: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
435
<!-- ##### FUNCTION gst_element_set_clock ##### -->
436 437 438 439 440
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
441
@clock: 
442 443


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
444
<!-- ##### FUNCTION gst_element_clock_wait ##### -->
445 446 447 448 449
<para>

</para>

@element: 
Wim Taymans's avatar
Wim Taymans committed
450
@id: 
Wim Taymans's avatar
Wim Taymans committed
451
@jitter: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
452
@Returns: 
Wim Taymans's avatar
Wim Taymans committed
453 454 455
<!-- # Unused Parameters # -->
@clock: 
@time: 
456 457


Wim Taymans's avatar
Wim Taymans committed
458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502
<!-- ##### FUNCTION gst_element_provides_clock ##### -->
<para>

</para>

@element: 
@Returns: 


<!-- ##### FUNCTION gst_element_requires_clock ##### -->
<para>

</para>

@element: 
@Returns: 


<!-- ##### FUNCTION gst_element_set_index ##### -->
<para>

</para>

@element: 
@index: 


<!-- ##### FUNCTION gst_element_get_index ##### -->
<para>

</para>

@element: 
@Returns: 


<!-- ##### FUNCTION gst_element_is_indexable ##### -->
<para>

</para>

@element: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
503
<!-- ##### FUNCTION gst_element_set_loop_function ##### -->
504 505 506 507 508
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
509
@loop: 
510 511


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
512
<!-- ##### USER_FUNCTION GstElementLoopFunction ##### -->
513
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
514 515 516
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.
517 518
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
519
@element: The element in question.
520 521


522
<!-- ##### FUNCTION gst_element_get_scheduler ##### -->
523 524 525 526 527 528 529 530
<para>

</para>

@element: 
@Returns: 


531
<!-- ##### FUNCTION gst_element_set_scheduler ##### -->
532 533 534 535 536
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
537
@sched: 
538 539


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
540
<!-- ##### MACRO gst_element_get_parent ##### -->
541
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
542
Gets the parent of an element.
543 544
</para>

Wim Taymans's avatar
Wim Taymans committed
545
@elem: a #GstElement to get the parent of.
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
546
@Returns: the #GstObject parent of the element.
547 548


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
549
<!-- ##### MACRO gst_element_set_parent ##### -->
550
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
551
Sets the parent of an element.
552 553
</para>

Wim Taymans's avatar
Wim Taymans committed
554
@elem: a #GstElement to set the parent of.
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
555
@parent:  the new #GstObject parent of the object.
556 557


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
558
<!-- ##### FUNCTION gst_element_get_managing_bin ##### -->
559 560 561 562 563 564 565
<para>

</para>

@element: 
@Returns: 

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
566
<!-- clocking -->
567

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
568

Wim Taymans's avatar
Wim Taymans committed
569 570
<!-- ##### USER_FUNCTION GstElementPostRunFunction ##### -->
<para>
Wim Taymans's avatar
Wim Taymans committed
571 572
The signature of the function to execute before this element
is scheduled.
Wim Taymans's avatar
Wim Taymans committed
573 574
</para>

Wim Taymans's avatar
Wim Taymans committed
575
@element: The element
Wim Taymans's avatar
Wim Taymans committed
576 577 578 579


<!-- ##### USER_FUNCTION GstElementPreRunFunction ##### -->
<para>
Wim Taymans's avatar
Wim Taymans committed
580 581
The signature of the function to execute after this element
is scheduled.
Wim Taymans's avatar
Wim Taymans committed
582 583
</para>

Wim Taymans's avatar
Wim Taymans committed
584
@element: The element
Wim Taymans's avatar
Wim Taymans committed
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 681 682 683 684 685 686 687 688 689 690 691 692


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


Wim Taymans's avatar
Wim Taymans committed
693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732
<!-- ##### FUNCTION gst_element_get_event_masks ##### -->
<para>

</para>

@element: 
@Returns: 


<!-- ##### FUNCTION gst_element_get_formats ##### -->
<para>

</para>

@element: 
@Returns: 


<!-- ##### FUNCTION gst_element_get_query_types ##### -->
<para>

</para>

@element: 
@Returns: 


<!-- ##### FUNCTION gst_element_convert ##### -->
<para>

</para>

@element: 
@src_format: 
@src_value: 
@dest_format: 
@dest_value: 
@Returns: 


Wim Taymans's avatar
Wim Taymans committed
733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750
<!-- ##### MACRO gst_element_default_deep_notify ##### -->
<para>
The default deep notify handler that prints out the property change
notifications to stdout.
</para>



<!-- ##### FUNCTION gst_element_default_error ##### -->
<para>

</para>

@object: 
@orig: 
@error: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
751
<!-- ##### ENUM GstElementState ##### -->
Wim Taymans's avatar
Wim Taymans committed
752
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
753 754
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
755 756 757

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
758 759 760 761 762 763
@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
764

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
765
<!-- ##### ENUM GstElementStateReturn ##### -->
766
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
767 768
This enum defines the standard return values that an element
can return after a state change.
769 770 771

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
772 773 774
@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
775

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
776
<!-- ##### MACRO GST_NUM_STATES ##### -->
777
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
778
The maximun number of states.
779 780
</para>

781 782


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
783
<!-- ##### MACRO GST_STATE ##### -->
784
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
785
This macro returns the current state of the element.
786 787
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
788
@obj: Element to return state for.
789 790


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
791
<!-- ##### MACRO GST_STATE_PENDING ##### -->
Wim Taymans's avatar
Wim Taymans committed
792
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
793
This macro returns the currently pending state of the element.
Wim Taymans's avatar
Wim Taymans committed
794 795
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
796
@obj: Element to return the pending state for.
Wim Taymans's avatar
Wim Taymans committed
797 798


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
799
<!-- ##### MACRO GST_STATE_TRANSITION ##### -->
Wim Taymans's avatar
Wim Taymans committed
800
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
801
Returns the state transition this object is going through.
Wim Taymans's avatar
Wim Taymans committed
802 803
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
804
@obj: the Element to return the state transition for
Wim Taymans's avatar
Wim Taymans committed
805 806


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
807
<!-- ##### MACRO GST_STATE_NULL_TO_READY ##### -->
Wim Taymans's avatar
Wim Taymans committed
808
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
809
The Element is going from the NULL state to the READY state.
Wim Taymans's avatar
Wim Taymans committed
810 811 812 813
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
814
<!-- ##### MACRO GST_STATE_READY_TO_PAUSED ##### -->
815
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
816
The Element is going from the READY state to the PAUSED state.
817 818 819 820
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
821
<!-- ##### MACRO GST_STATE_PAUSED_TO_READY ##### -->
Wim Taymans's avatar
Wim Taymans committed
822
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
823
The Element is going from the PAUSED state to the READY state.
Wim Taymans's avatar
Wim Taymans committed
824 825 826 827
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
828
<!-- ##### MACRO GST_STATE_PLAYING_TO_PAUSED ##### -->
829
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
830
The Element is going from the PLAYING state to the PAUSED state.
831 832 833 834
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
835
<!-- ##### MACRO GST_STATE_PAUSED_TO_PLAYING ##### -->
836
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
837
The Element is going from the PAUSED state to the PLAYING state.
838 839 840 841
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
842
<!-- ##### MACRO GST_STATE_READY_TO_NULL ##### -->
843
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
844
The Element is going from the READY state to the NULL state.
845 846 847 848
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
849
<!-- ##### ENUM GstElementFlags ##### -->
850
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
851 852
This enum defines the standard flags that an element may have.
</para>
853

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
854 855 856 857 858 859
@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
860 861 862
@GST_ELEMENT_USE_THREADSAFE_PROPERTIES: 
@GST_ELEMENT_SCHEDULER_PRIVATE1: 
@GST_ELEMENT_SCHEDULER_PRIVATE2: 
863 864
@GST_ELEMENT_LOCKED_STATE: 
@GST_ELEMENT_ERROR: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
865 866 867 868 869
@GST_ELEMENT_FLAG_LAST: 

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

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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
875
<!-- ##### MACRO GST_ELEMENT_IS_DECOUPLED ##### -->
876
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
877
Queries if the Element is decoupled.
878 879
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
880
@obj: a #GstElement to query
881 882


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
883
<!-- ##### MACRO GST_ELEMENT_IS_EOS ##### -->
884
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
885
Query wether this element is in the End Of Stream state.
886 887
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
888
@obj: a #GstElement to query
889 890


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
891
<!-- ##### MACRO GST_ELEMENT_IS_EVENT_AWARE ##### -->
892
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
893
Query wether this element can handle events.
894 895
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
896
@obj: a #GstElement to query
897 898


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
899
<!-- ##### MACRO GST_ELEMENT_PARENT ##### -->
900
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
901
Get the parent object of this element.
902 903
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
904
@obj: a #GstElement to query
905 906


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
907
<!-- ##### MACRO GST_ELEMENT_NAME ##### -->
908
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
909
Gets the name of this element.  Used in the core.  Not ABI-compatible.
910 911
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
912
@obj: A #GstElement to query
913 914


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
915
<!-- ##### MACRO GST_ELEMENT_PADS ##### -->
916
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
917
Get the pads of this elements.
918 919
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
920
@obj: a #GstElement to query
921 922


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
923
<!-- ##### MACRO GST_ELEMENT_SCHED ##### -->
924
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
925
Get the scheduler of this element.
926 927
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
928
@obj: a #GstElement to query
929 930


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
931
<!-- ##### MACRO GST_ELEMENT_MANAGER ##### -->
932
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
933 934
Get the manager of this element.
</para>
935

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
936 937 938 939 940 941
@obj: a #GstElement to query


<!-- ##### MACRO GST_ELEMENT_CLOCK ##### -->
<para>
Get the clock of this element
942 943
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
944
@obj: a #GstElement to query
945 946


Wim Taymans's avatar
Wim Taymans committed
947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965
<!-- ##### MACRO GST_ELEMENT_EVENT_MASK_FUNCTION ##### -->
<para>
A helper macro to create a mask function
</para>

@functionname: the name of the mask function
@...: Masks


<!-- ##### MACRO GST_ELEMENT_FORMATS_FUNCTION ##### -->
<para>
Halper macro to create element format functions
</para>

@functionname: The function name
@...: formats


<!-- ##### MACRO GST_ELEMENT_QUERY_TYPE_FUNCTION ##### -->
966
<para>
Wim Taymans's avatar
Wim Taymans committed
967 968 969 970 971
Helper macro to create query type functions
</para>

@functionname: The function name
@...: list of query types.
972

Wim Taymans's avatar
Wim Taymans committed
973 974 975 976 977

<!-- ##### SIGNAL GstElement::eos ##### -->
<para>
Signal emited when the element goes to PAUSED due to an end-of-stream
condition.
978 979 980 981 982 983
</para>

@gstelement: the object which received the signal.

<!-- ##### SIGNAL GstElement::error ##### -->
<para>
984
Is triggered whenever an error occured.
985 986 987 988 989

</para>

@gstelement: the object which received the signal.
@arg1: the error message
Wim Taymans's avatar
Wim Taymans committed
990
@arg2: 
991 992 993

<!-- ##### SIGNAL GstElement::new-pad ##### -->
<para>
994
Is triggered whenever a new pad is added to an element.
995 996 997 998 999 1000 1001
</para>

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

<!-- ##### SIGNAL GstElement::pad-removed ##### -->
<para>
1002
Is triggered whenever a pad has been removed from the element.
1003 1004 1005 1006 1007 1008 1009
</para>

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

<!-- ##### SIGNAL GstElement::state-change ##### -->
<para>
1010
Is triggered whenever the state of an element changes.
1011 1012 1013 1014 1015 1016
</para>

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