gstelement.sgml 16 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_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
<!-- ##### MACRO gst_element_get_name ##### -->
85
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
86
Gets the name of the element.
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
87
</para>
88

Wim Taymans's avatar
Wim Taymans committed
89
@elem: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
90
@Returns: the name of the element.
91 92


93
<!-- link -->
Wim Taymans's avatar
Wim Taymans committed
94 95 96 97 98 99 100


<!-- ##### 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
101
@elem: a #GstElement to set the name of.
Wim Taymans's avatar
Wim Taymans committed
102
@name: the new name of the element.
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
@klass: 
@templ: 
233 234


235
<!-- ##### FUNCTION gst_element_link ##### -->
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
@src: 
@dest: 
@Returns: 
243 244


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

248 249
</para>

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


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

259 260
</para>

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


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

270 271
</para>

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


279
<!-- ##### FUNCTION gst_element_link_pads_filtered ##### -->
Wim Taymans's avatar
Wim Taymans committed
280
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
281

Wim Taymans's avatar
Wim Taymans committed
282 283
</para>

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


292
<!-- ##### FUNCTION gst_element_unlink ##### -->
293 294 295 296
<para>

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
297 298
@src: 
@dest: 
299

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
300

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

304 305
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
306 307 308
@element_1: 
@element_2: 
@Varargs: 
309 310


311
<!-- ##### FUNCTION gst_element_unlink_pads ##### -->
Wim Taymans's avatar
Wim Taymans committed
312
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
313

Wim Taymans's avatar
Wim Taymans committed
314 315
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
316 317 318 319
@src: 
@srcpadname: 
@dest: 
@destpadname: 
Wim Taymans's avatar
Wim Taymans committed
320 321


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
322 323 324 325
<!-- pad manipulation -->


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

Wim Taymans's avatar
Wim Taymans committed
328 329
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
330 331 332
@element: 
@pad: 
@Returns: 
Wim Taymans's avatar
Wim Taymans committed
333 334


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
335
<!-- ##### FUNCTION gst_element_get_compatible_pad_filtered ##### -->
336 337 338 339 340
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
341 342 343
@pad: 
@filtercaps: 
@Returns: 
344 345


Wim Taymans's avatar
Wim Taymans committed
346 347 348 349 350 351 352 353 354 355
<!-- ##### FUNCTION gst_element_get_compatible_pad_template ##### -->
<para>

</para>

@element: 
@compattempl: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
356
<!-- ##### FUNCTION gst_element_set_state ##### -->
357
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
358

359 360
</para>

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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
366
<!-- ##### FUNCTION gst_element_get_state ##### -->
367 368 369 370 371
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
372
@Returns: 
373 374


375
<!-- ##### FUNCTION gst_element_state_get_name ##### -->
376 377 378 379
<para>

</para>

380 381
@state: 
@Returns: 
382 383


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

</para>

389
@element: 
390 391


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

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
398 399
@error: 
@Varargs: 
400 401


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
402
<!-- ##### FUNCTION gst_element_set_eos ##### -->
403 404 405 406 407 408 409
<para>

</para>

@element: 


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

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
416
@Returns: 
417 418


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

</para>

@element: 


Wim Taymans's avatar
Wim Taymans committed
427 428 429 430 431 432 433 434 435
<!-- ##### FUNCTION gst_element_release_locks ##### -->
<para>

</para>

@element: 
@Returns: 


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

</para>

@element: 
@Returns: 


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

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
451
@clock: 
452 453


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

</para>

@element: 
Wim Taymans's avatar
Wim Taymans committed
460
@id: 
Wim Taymans's avatar
Wim Taymans committed
461
@jitter: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
462
@Returns: 
Wim Taymans's avatar
Wim Taymans committed
463 464 465
<!-- # Unused Parameters # -->
@clock: 
@time: 
466 467


Wim Taymans's avatar
Wim Taymans committed
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 503 504 505 506 507 508 509 510 511 512
<!-- ##### 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
513
<!-- ##### FUNCTION gst_element_set_loop_function ##### -->
514 515 516 517 518
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
519
@loop: 
520 521


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
522
<!-- ##### USER_FUNCTION GstElementLoopFunction ##### -->
523
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
524 525 526
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.
527 528
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
529
@element: The element in question.
530 531


532
<!-- ##### FUNCTION gst_element_get_scheduler ##### -->
533 534 535 536 537 538 539 540
<para>

</para>

@element: 
@Returns: 


541
<!-- ##### FUNCTION gst_element_set_scheduler ##### -->
542 543 544 545 546
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
547
@sched: 
548 549


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

Wim Taymans's avatar
Wim Taymans committed
555
@elem: a #GstElement to get the parent of.
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
556
@Returns: the #GstObject parent of the element.
557 558


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
559
<!-- ##### MACRO gst_element_set_parent ##### -->
560
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
561
Sets the parent of an element.
562 563
</para>

Wim Taymans's avatar
Wim Taymans committed
564
@elem: a #GstElement to set the parent of.
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
565
@parent:  the new #GstObject parent of the object.
566 567


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
568
<!-- ##### FUNCTION gst_element_get_managing_bin ##### -->
569 570 571 572 573 574 575
<para>

</para>

@element: 
@Returns: 

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
576
<!-- clocking -->
577

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
578

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

Wim Taymans's avatar
Wim Taymans committed
585
@element: The element
Wim Taymans's avatar
Wim Taymans committed
586 587 588 589


<!-- ##### USER_FUNCTION GstElementPreRunFunction ##### -->
<para>
Wim Taymans's avatar
Wim Taymans committed
590 591
The signature of the function to execute after this element
is scheduled.
Wim Taymans's avatar
Wim Taymans committed
592 593
</para>

Wim Taymans's avatar
Wim Taymans committed
594
@element: The element
Wim Taymans's avatar
Wim Taymans committed
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 693 694 695 696 697 698 699 700 701 702


<!-- ##### 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
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
<!-- ##### 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
743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760
<!-- ##### 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
761
<!-- ##### ENUM GstElementState ##### -->
Wim Taymans's avatar
Wim Taymans committed
762
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
763 764
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
765 766 767

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
768 769 770 771 772 773
@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
774

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
775
<!-- ##### ENUM GstElementStateReturn ##### -->
776
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
777 778
This enum defines the standard return values that an element
can return after a state change.
779 780 781

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
782 783 784
@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
785

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
786
<!-- ##### MACRO GST_NUM_STATES ##### -->
787
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
788
The maximun number of states.
789 790
</para>

791 792


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
793
<!-- ##### MACRO GST_STATE ##### -->
794
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
795
This macro returns the current state of the element.
796 797
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
798
@obj: Element to return state for.
799 800


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
801
<!-- ##### MACRO GST_STATE_PENDING ##### -->
Wim Taymans's avatar
Wim Taymans committed
802
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
803
This macro returns the currently pending state of the element.
Wim Taymans's avatar
Wim Taymans committed
804 805
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
806
@obj: Element to return the pending state for.
Wim Taymans's avatar
Wim Taymans committed
807 808


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
809
<!-- ##### MACRO GST_STATE_TRANSITION ##### -->
Wim Taymans's avatar
Wim Taymans committed
810
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
811
Returns the state transition this object is going through.
Wim Taymans's avatar
Wim Taymans committed
812 813
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
814
@obj: the Element to return the state transition for
Wim Taymans's avatar
Wim Taymans committed
815 816


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
817
<!-- ##### MACRO GST_STATE_NULL_TO_READY ##### -->
Wim Taymans's avatar
Wim Taymans committed
818
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
819
The Element is going from the NULL state to the READY state.
Wim Taymans's avatar
Wim Taymans committed
820 821 822 823
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
824
<!-- ##### MACRO GST_STATE_READY_TO_PAUSED ##### -->
825
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
826
The Element is going from the READY state to the PAUSED state.
827 828 829 830
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
831
<!-- ##### MACRO GST_STATE_PAUSED_TO_READY ##### -->
Wim Taymans's avatar
Wim Taymans committed
832
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
833
The Element is going from the PAUSED state to the READY state.
Wim Taymans's avatar
Wim Taymans committed
834 835 836 837
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
838
<!-- ##### MACRO GST_STATE_PLAYING_TO_PAUSED ##### -->
839
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
840
The Element is going from the PLAYING state to the PAUSED state.
841 842 843 844
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
845
<!-- ##### MACRO GST_STATE_PAUSED_TO_PLAYING ##### -->
846
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
847
The Element is going from the PAUSED state to the PLAYING state.
848 849 850 851
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
852
<!-- ##### MACRO GST_STATE_READY_TO_NULL ##### -->
853
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
854
The Element is going from the READY state to the NULL state.
855 856 857 858
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
859
<!-- ##### ENUM GstElementFlags ##### -->
860
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
861 862
This enum defines the standard flags that an element may have.
</para>
863

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
864 865 866 867 868 869
@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
870 871 872
@GST_ELEMENT_USE_THREADSAFE_PROPERTIES: 
@GST_ELEMENT_SCHEDULER_PRIVATE1: 
@GST_ELEMENT_SCHEDULER_PRIVATE2: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
873 874 875 876 877
@GST_ELEMENT_FLAG_LAST: 

<!-- ##### MACRO GST_ELEMENT_IS_THREAD_SUGGESTED ##### -->
<para>
Queries whether the Element should be placed in a thread.
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_DECOUPLED ##### -->
884
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
885
Queries if the Element is decoupled.
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_EOS ##### -->
892
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
893
Query wether this element is in the End Of Stream state.
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_IS_EVENT_AWARE ##### -->
900
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
901
Query wether this element can handle events.
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_PARENT ##### -->
908
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
909
Get the parent object of this element.
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_NAME ##### -->
916
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
917
Gets the name of this element.  Used in the core.  Not ABI-compatible.
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_PADS ##### -->
924
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
925
Get the pads of this elements.
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_SCHED ##### -->
932
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
933
Get the scheduler of this element.
934 935
</para>

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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
939
<!-- ##### MACRO GST_ELEMENT_MANAGER ##### -->
940
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
941 942
Get the manager of this element.
</para>
943

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


<!-- ##### MACRO GST_ELEMENT_CLOCK ##### -->
<para>
Get the clock of this element
950 951
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
952
@obj: a #GstElement to query
953 954


Wim Taymans's avatar
Wim Taymans committed
955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973
<!-- ##### 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 ##### -->
974
<para>
Wim Taymans's avatar
Wim Taymans committed
975 976 977 978 979
Helper macro to create query type functions
</para>

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

Wim Taymans's avatar
Wim Taymans committed
981 982 983 984 985

<!-- ##### SIGNAL GstElement::eos ##### -->
<para>
Signal emited when the element goes to PAUSED due to an end-of-stream
condition.
986 987 988 989 990 991 992 993 994 995 996 997
</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
998
@arg2: 
999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024

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