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

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

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

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

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

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

<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
48 49 50 51
Each element has a state (see #GstElementState).  You can get and set the state
of an element with gst_element_get_state() and gst_element_set_state().  
You can wait for an element to change it's state with gst_element_wait_state_change().
To get a string representation of a #GstElementState, use 
Wim Taymans's avatar
Wim Taymans committed
52
gst_element_state_get_name().
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
53
</para>
54

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

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

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

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
68
<!-- ##### STRUCT GstElement ##### -->
69
<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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
93
<!-- connection -->
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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
235
<!-- ##### FUNCTION gst_element_connect ##### -->
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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
245
<!-- ##### FUNCTION gst_element_connect_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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
256
<!-- ##### FUNCTION gst_element_connect_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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
267
<!-- ##### FUNCTION gst_element_connect_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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
279
<!-- ##### FUNCTION gst_element_connect_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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
292
<!-- ##### FUNCTION gst_element_disconnect ##### -->
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_disconnect_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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
311
<!-- ##### FUNCTION gst_element_disconnect_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
<!-- ##### 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
721
<!-- ##### ENUM GstElementState ##### -->
Wim Taymans's avatar
Wim Taymans committed
722
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
723 724
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
725 726 727

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
728 729 730 731 732 733
@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
734

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
735
<!-- ##### ENUM GstElementStateReturn ##### -->
736
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
737 738
This enum defines the standard return values that an element
can return after a state change.
739 740 741

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
742 743 744
@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
745

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
746
<!-- ##### MACRO GST_NUM_STATES ##### -->
747
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
748
The maximun number of states.
749 750
</para>

751 752


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
753
<!-- ##### MACRO GST_STATE ##### -->
754
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
755
This macro returns the current state of the element.
756 757
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
758
@obj: Element to return state for.
759 760


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
761
<!-- ##### MACRO GST_STATE_PENDING ##### -->
Wim Taymans's avatar
Wim Taymans committed
762
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
763
This macro returns the currently pending state of the element.
Wim Taymans's avatar
Wim Taymans committed
764 765
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
766
@obj: Element to return the pending state for.
Wim Taymans's avatar
Wim Taymans committed
767 768


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
769
<!-- ##### MACRO GST_STATE_TRANSITION ##### -->
Wim Taymans's avatar
Wim Taymans committed
770
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
771
Returns the state transition this object is going through.
Wim Taymans's avatar
Wim Taymans committed
772 773
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
774
@obj: the Element to return the state transition for
Wim Taymans's avatar
Wim Taymans committed
775 776


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
777
<!-- ##### MACRO GST_STATE_NULL_TO_READY ##### -->
Wim Taymans's avatar
Wim Taymans committed
778
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
779
The Element is going from the NULL state to the READY state.
Wim Taymans's avatar
Wim Taymans committed
780 781 782 783
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
784
<!-- ##### MACRO GST_STATE_READY_TO_PAUSED ##### -->
785
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
786
The Element is going from the READY state to the PAUSED state.
787 788 789 790
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
791
<!-- ##### MACRO GST_STATE_PAUSED_TO_READY ##### -->
Wim Taymans's avatar
Wim Taymans committed
792
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
793
The Element is going from the PAUSED state to the READY state.
Wim Taymans's avatar
Wim Taymans committed
794 795 796 797
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
798
<!-- ##### MACRO GST_STATE_PLAYING_TO_PAUSED ##### -->
799
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
800
The Element is going from the PLAYING state to the PAUSED state.
801 802 803 804
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
805
<!-- ##### MACRO GST_STATE_PAUSED_TO_PLAYING ##### -->
806
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
807
The Element is going from the PAUSED state to the PLAYING state.
808 809 810 811
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
812
<!-- ##### MACRO GST_STATE_READY_TO_NULL ##### -->
813
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
814
The Element is going from the READY state to the NULL state.
815 816 817 818
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
819
<!-- ##### ENUM GstElementFlags ##### -->
820
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
821 822
This enum defines the standard flags that an element may have.
</para>
823

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
824 825 826 827 828 829
@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
830 831 832
@GST_ELEMENT_USE_THREADSAFE_PROPERTIES: 
@GST_ELEMENT_SCHEDULER_PRIVATE1: 
@GST_ELEMENT_SCHEDULER_PRIVATE2: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
833 834 835 836 837
@GST_ELEMENT_FLAG_LAST: 

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

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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
843
<!-- ##### MACRO GST_ELEMENT_IS_DECOUPLED ##### -->
844
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
845
Queries if the Element is decoupled.
846 847
</para>

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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
851
<!-- ##### MACRO GST_ELEMENT_IS_EOS ##### -->
852
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
853
Query wether this element is in the End Of Stream state.
854 855
</para>

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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
859
<!-- ##### MACRO GST_ELEMENT_IS_EVENT_AWARE ##### -->
860
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
861
Query wether this element can handle events.
862 863
</para>

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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
867
<!-- ##### MACRO GST_ELEMENT_PARENT ##### -->
868
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
869
Get the parent object of this element.
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_NAME ##### -->
876
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
877
Gets the name of this element.  Used in the core.  Not ABI-compatible.
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_PADS ##### -->
884
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
885
Get the pads of this elements.
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_SCHED ##### -->
892
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
893
Get the scheduler of this element.
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_MANAGER ##### -->
900
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
901 902
Get the manager of this element.
</para>
903

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


<!-- ##### MACRO GST_ELEMENT_CLOCK ##### -->
<para>
Get the clock of this element
910 911
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
912
@obj: a #GstElement to query
913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929


<!-- ##### SIGNAL GstElement::eos ##### -->
<para>

</para>

@gstelement: the object which received the signal.

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

</para>

@gstelement: the object which received the signal.
@arg1: the error message
Wim Taymans's avatar
Wim Taymans committed
930
@arg2: 
931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956

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