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>


Benjamin Otte's avatar
Benjamin Otte committed
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
<!-- ##### SIGNAL GstElement::eos ##### -->
<para>
Signal emited when the element goes to PAUSED due to an end-of-stream
condition.
</para>

@gstelement: the object which received the signal.

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

</para>

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

<!-- ##### SIGNAL GstElement::found-tag ##### -->
<para>

</para>

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

<!-- ##### SIGNAL GstElement::new-pad ##### -->
<para>
Is triggered 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>
Is triggered whenever a pad has been removed from the element.
</para>

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

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

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

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
126
<!-- ##### MACRO gst_element_get_name ##### -->
127
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
128
Gets the name of the element.
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
129
</para>
130

Wim Taymans's avatar
Wim Taymans committed
131
@elem: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
132
@Returns: the name of the element.
133 134


135
<!-- link -->
Wim Taymans's avatar
Wim Taymans committed
136 137 138 139 140 141 142


<!-- ##### 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
143
@elem: a #GstElement to set the name of.
Wim Taymans's avatar
Wim Taymans committed
144
@name: the new name of the element.
145 146


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
147
<!-- ##### FUNCTION gst_element_get_factory ##### -->
148
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
149

150 151
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
152 153
@element: 
@Returns: 
154 155


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

159 160
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
161 162
@element: 
@pad: 
163 164


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
165
<!-- ##### FUNCTION gst_element_remove_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
@element: 
@pad: 
172 173


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
174
<!-- ##### FUNCTION gst_element_add_ghost_pad ##### -->
175
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
176

177 178
</para>

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


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

188 189
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
190 191
@element: 
@pad: 
192 193


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
194 195 196 197
<!-- pad template manipulation -->


<!-- ##### FUNCTION gst_element_get_pad ##### -->
198
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
199

200 201
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
202 203 204
@element: 
@name: 
@Returns: GList of #GstPads
205 206


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
207
<!-- ##### FUNCTION gst_element_get_static_pad ##### -->
208
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
209

210 211
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
212 213 214
@element: 
@name: 
@Returns: 
215

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
216 217

<!-- ##### FUNCTION gst_element_get_request_pad ##### -->
218
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
219

220 221
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
222 223 224
@element: 
@name: 
@Returns: 
225 226


Wim Taymans's avatar
Wim Taymans committed
227 228 229 230 231 232 233 234 235
<!-- ##### FUNCTION gst_element_release_request_pad ##### -->
<para>

</para>

@element: 
@pad: 


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

239 240
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
241 242
@element: 
@Returns: 
243 244


Wim Taymans's avatar
Wim Taymans committed
245 246 247 248 249 250 251 252 253 254
<!-- ##### FUNCTION gst_element_get_pad_template ##### -->
<para>

</para>

@element: 
@name: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
255
<!-- ##### FUNCTION gst_element_get_pad_template_list ##### -->
256
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
257

258 259
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
260 261
@element: 
@Returns: 
262 263 264



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
265
<!-- scheduling -->
266 267


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

271 272
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
273 274
@klass: 
@templ: 
275 276


277
<!-- ##### FUNCTION gst_element_link ##### -->
278
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
279

280 281
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
282 283 284
@src: 
@dest: 
@Returns: 
285 286


287
<!-- ##### FUNCTION gst_element_link_many ##### -->
288
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
289

290 291
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
292 293 294 295
@element_1: 
@element_2: 
@Varargs: 
@Returns: 
296 297


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

301 302
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
303 304 305 306
@src: 
@dest: 
@filtercaps: 
@Returns: 
307 308


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

312 313
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
314 315 316 317 318
@src: 
@srcpadname: 
@dest: 
@destpadname: 
@Returns: 
319 320


321
<!-- ##### FUNCTION gst_element_link_pads_filtered ##### -->
Wim Taymans's avatar
Wim Taymans committed
322
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
323

Wim Taymans's avatar
Wim Taymans committed
324 325
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
326 327 328 329 330 331
@src: 
@srcpadname: 
@dest: 
@destpadname: 
@filtercaps: 
@Returns: 
Wim Taymans's avatar
Wim Taymans committed
332 333


334
<!-- ##### FUNCTION gst_element_unlink ##### -->
335 336 337 338
<para>

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
339 340
@src: 
@dest: 
341

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
342

343
<!-- ##### FUNCTION gst_element_unlink_many ##### -->
344
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
345

346 347
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
348 349 350
@element_1: 
@element_2: 
@Varargs: 
351 352


353
<!-- ##### FUNCTION gst_element_unlink_pads ##### -->
Wim Taymans's avatar
Wim Taymans committed
354
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
355

Wim Taymans's avatar
Wim Taymans committed
356 357
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
358 359 360 361
@src: 
@srcpadname: 
@dest: 
@destpadname: 
Wim Taymans's avatar
Wim Taymans committed
362 363


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
364 365 366 367
<!-- pad manipulation -->


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

Wim Taymans's avatar
Wim Taymans committed
370 371
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
372 373 374
@element: 
@pad: 
@Returns: 
Wim Taymans's avatar
Wim Taymans committed
375 376


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
377
<!-- ##### FUNCTION gst_element_get_compatible_pad_filtered ##### -->
378 379 380 381 382
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
383 384 385
@pad: 
@filtercaps: 
@Returns: 
386 387


Wim Taymans's avatar
Wim Taymans committed
388 389 390 391 392 393 394 395 396 397
<!-- ##### FUNCTION gst_element_get_compatible_pad_template ##### -->
<para>

</para>

@element: 
@compattempl: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
398
<!-- ##### FUNCTION gst_element_set_state ##### -->
399
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
400

401 402
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
403 404 405
@element: 
@state: 
@Returns: 
406 407


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
408
<!-- ##### FUNCTION gst_element_get_state ##### -->
409 410 411 412 413
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
414
@Returns: 
415 416


417
<!-- ##### FUNCTION gst_element_state_get_name ##### -->
418 419 420 421
<para>

</para>

422 423
@state: 
@Returns: 
424 425


426
<!-- ##### FUNCTION gst_element_wait_state_change ##### -->
427 428 429 430
<para>

</para>

431
@element: 
432 433


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

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
440 441
@error: 
@Varargs: 
442 443


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

</para>

@element: 


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

</para>

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


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

</para>

@element: 


Wim Taymans's avatar
Wim Taymans committed
469 470 471 472 473 474 475 476 477
<!-- ##### FUNCTION gst_element_release_locks ##### -->
<para>

</para>

@element: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
478
<!-- ##### FUNCTION gst_element_get_clock ##### -->
Wim Taymans's avatar
Wim Taymans committed
479 480 481 482 483 484 485 486
<para>

</para>

@element: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
487
<!-- ##### FUNCTION gst_element_set_clock ##### -->
488 489 490 491 492
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
493
@clock: 
494 495


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
496
<!-- ##### FUNCTION gst_element_clock_wait ##### -->
497 498 499 500 501
<para>

</para>

@element: 
Wim Taymans's avatar
Wim Taymans committed
502
@id: 
Wim Taymans's avatar
Wim Taymans committed
503
@jitter: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
504
@Returns: 
Wim Taymans's avatar
Wim Taymans committed
505 506 507
<!-- # Unused Parameters # -->
@clock: 
@time: 
508 509


Wim Taymans's avatar
Wim Taymans committed
510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554
<!-- ##### 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
555
<!-- ##### FUNCTION gst_element_set_loop_function ##### -->
556 557 558 559 560
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
561
@loop: 
562 563


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
564
<!-- ##### USER_FUNCTION GstElementLoopFunction ##### -->
565
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
566 567 568
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.
569 570
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
571
@element: The element in question.
572 573


574
<!-- ##### FUNCTION gst_element_get_scheduler ##### -->
575 576 577 578 579 580 581 582
<para>

</para>

@element: 
@Returns: 


583
<!-- ##### FUNCTION gst_element_set_scheduler ##### -->
584 585 586 587 588
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
589
@sched: 
590 591


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
592
<!-- ##### MACRO gst_element_get_parent ##### -->
593
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
594
Gets the parent of an element.
595 596
</para>

Wim Taymans's avatar
Wim Taymans committed
597
@elem: a #GstElement to get the parent of.
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
598
@Returns: the #GstObject parent of the element.
599 600


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
601
<!-- ##### MACRO gst_element_set_parent ##### -->
602
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
603
Sets the parent of an element.
604 605
</para>

Wim Taymans's avatar
Wim Taymans committed
606
@elem: a #GstElement to set the parent of.
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
607
@parent:  the new #GstObject parent of the object.
608 609


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
610
<!-- ##### FUNCTION gst_element_get_managing_bin ##### -->
611 612 613 614 615 616 617
<para>

</para>

@element: 
@Returns: 

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
618
<!-- clocking -->
619

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
620

Wim Taymans's avatar
Wim Taymans committed
621 622
<!-- ##### USER_FUNCTION GstElementPostRunFunction ##### -->
<para>
Wim Taymans's avatar
Wim Taymans committed
623 624
The signature of the function to execute before this element
is scheduled.
Wim Taymans's avatar
Wim Taymans committed
625 626
</para>

Wim Taymans's avatar
Wim Taymans committed
627
@element: The element
Wim Taymans's avatar
Wim Taymans committed
628 629 630 631


<!-- ##### USER_FUNCTION GstElementPreRunFunction ##### -->
<para>
Wim Taymans's avatar
Wim Taymans committed
632 633
The signature of the function to execute after this element
is scheduled.
Wim Taymans's avatar
Wim Taymans committed
634 635
</para>

Wim Taymans's avatar
Wim Taymans committed
636
@element: The element
Wim Taymans's avatar
Wim Taymans committed
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 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 733 734 735 736 737 738 739 740 741 742 743 744


<!-- ##### 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
745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784
<!-- ##### 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
785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802
<!-- ##### 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
803
<!-- ##### ENUM GstElementState ##### -->
Wim Taymans's avatar
Wim Taymans committed
804
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
805 806
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
807 808 809

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
810 811 812 813 814 815
@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
816

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
817
<!-- ##### ENUM GstElementStateReturn ##### -->
818
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
819 820
This enum defines the standard return values that an element
can return after a state change.
821 822 823

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
824 825 826
@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
827

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
828
<!-- ##### MACRO GST_NUM_STATES ##### -->
829
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
830
The maximun number of states.
831 832
</para>

833 834


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
835
<!-- ##### MACRO GST_STATE ##### -->
836
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
837
This macro returns the current state of the element.
838 839
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
840
@obj: Element to return state for.
841 842


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
843
<!-- ##### MACRO GST_STATE_PENDING ##### -->
Wim Taymans's avatar
Wim Taymans committed
844
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
845
This macro returns the currently pending state of the element.
Wim Taymans's avatar
Wim Taymans committed
846 847
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
848
@obj: Element to return the pending state for.
Wim Taymans's avatar
Wim Taymans committed
849 850


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
851
<!-- ##### MACRO GST_STATE_TRANSITION ##### -->
Wim Taymans's avatar
Wim Taymans committed
852
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
853
Returns the state transition this object is going through.
Wim Taymans's avatar
Wim Taymans committed
854 855
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
856
@obj: the Element to return the state transition for
Wim Taymans's avatar
Wim Taymans committed
857 858


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
859
<!-- ##### MACRO GST_STATE_NULL_TO_READY ##### -->
Wim Taymans's avatar
Wim Taymans committed
860
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
861
The Element is going from the NULL state to the READY state.
Wim Taymans's avatar
Wim Taymans committed
862 863 864 865
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
866
<!-- ##### MACRO GST_STATE_READY_TO_PAUSED ##### -->
867
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
868
The Element is going from the READY state to the PAUSED state.
869 870 871 872
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
873
<!-- ##### MACRO GST_STATE_PAUSED_TO_READY ##### -->
Wim Taymans's avatar
Wim Taymans committed
874
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
875
The Element is going from the PAUSED state to the READY state.
Wim Taymans's avatar
Wim Taymans committed
876 877 878 879
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
880
<!-- ##### MACRO GST_STATE_PLAYING_TO_PAUSED ##### -->
881
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
882
The Element is going from the PLAYING state to the PAUSED state.
883 884 885 886
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
887
<!-- ##### MACRO GST_STATE_PAUSED_TO_PLAYING ##### -->
888
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
889
The Element is going from the PAUSED state to the PLAYING state.
890 891 892 893
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
894
<!-- ##### MACRO GST_STATE_READY_TO_NULL ##### -->
895
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
896
The Element is going from the READY state to the NULL state.
897 898 899 900
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
901
<!-- ##### ENUM GstElementFlags ##### -->
902
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
903 904
This enum defines the standard flags that an element may have.
</para>
905

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
906 907 908 909 910 911
@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
912 913 914
@GST_ELEMENT_USE_THREADSAFE_PROPERTIES: 
@GST_ELEMENT_SCHEDULER_PRIVATE1: 
@GST_ELEMENT_SCHEDULER_PRIVATE2: 
915 916
@GST_ELEMENT_LOCKED_STATE: 
@GST_ELEMENT_ERROR: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
917 918 919 920 921
@GST_ELEMENT_FLAG_LAST: 

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

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
924
@obj: a #GstElement to query
925 926


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
927
<!-- ##### MACRO GST_ELEMENT_IS_DECOUPLED ##### -->
928
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
929
Queries if the Element is decoupled.
930 931
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
932
@obj: a #GstElement to query
933 934


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
935
<!-- ##### MACRO GST_ELEMENT_IS_EVENT_AWARE ##### -->
936
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
937
Query wether this element can handle events.
938 939
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
940
@obj: a #GstElement to query
941 942


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
943
<!-- ##### MACRO GST_ELEMENT_PARENT ##### -->
944
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
945
Get the parent object of this element.
946 947
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
948
@obj: a #GstElement to query
949 950


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
951
<!-- ##### MACRO GST_ELEMENT_NAME ##### -->
952
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
953
Gets the name of this element.  Used in the core.  Not ABI-compatible.
954 955
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
956
@obj: A #GstElement to query
957 958


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
959
<!-- ##### MACRO GST_ELEMENT_PADS ##### -->
960
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
961
Get the pads of this elements.
962 963
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
964
@obj: a #GstElement to query
965 966


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
967
<!-- ##### MACRO GST_ELEMENT_SCHED ##### -->
968
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
969
Get the scheduler of this element.
970 971
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
972
@obj: a #GstElement to query
973 974


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
975
<!-- ##### MACRO GST_ELEMENT_MANAGER ##### -->
976
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
977 978
Get the manager of this element.
</para>
979

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
980 981 982 983 984 985
@obj: a #GstElement to query


<!-- ##### MACRO GST_ELEMENT_CLOCK ##### -->
<para>
Get the clock of this element
986 987
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
988
@obj: a #GstElement to query
989 990


Wim Taymans's avatar
Wim Taymans committed
991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009
<!-- ##### 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 ##### -->
1010
<para>
Wim Taymans's avatar
Wim Taymans committed
1011 1012 1013 1014 1015
Helper macro to create query type functions
</para>

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

Wim Taymans's avatar
Wim Taymans committed
1017