gstelement.sgml 15.4 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 101 102 103 104 105 106
<!-- # Unused Parameters # -->
@element: a #GstElement to get the name of.


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

@elem: 
@name: the new name of the element.
<!-- # Unused Parameters # -->
@element: a #GstElement to set the name of.
107 108


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
109
<!-- ##### FUNCTION gst_element_get_factory ##### -->
110
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
111

112 113
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
114 115
@element: 
@Returns: 
116 117


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
118
<!-- ##### FUNCTION gst_element_add_pad ##### -->
119
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
120

121 122
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
123 124
@element: 
@pad: 
125 126


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
127
<!-- ##### FUNCTION gst_element_remove_pad ##### -->
128
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
129

130 131
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
132 133
@element: 
@pad: 
134 135


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
136
<!-- ##### FUNCTION gst_element_add_ghost_pad ##### -->
137
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
138

139 140
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
141 142 143 144
@element: 
@pad: 
@name: 
@Returns: 
145 146


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
147
<!-- ##### FUNCTION gst_element_remove_ghost_pad ##### -->
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: 
@pad: 
154 155


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
156 157 158 159
<!-- pad template manipulation -->


<!-- ##### FUNCTION gst_element_get_pad ##### -->
160
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
161

162 163
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
164 165 166
@element: 
@name: 
@Returns: GList of #GstPads
167 168


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
169
<!-- ##### FUNCTION gst_element_get_static_pad ##### -->
170
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
171

172 173
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
174 175 176
@element: 
@name: 
@Returns: 
177

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
178 179

<!-- ##### FUNCTION gst_element_get_request_pad ##### -->
180
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
181

182 183
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
184 185 186
@element: 
@name: 
@Returns: 
187 188


Wim Taymans's avatar
Wim Taymans committed
189 190 191 192 193 194 195 196 197
<!-- ##### FUNCTION gst_element_release_request_pad ##### -->
<para>

</para>

@element: 
@pad: 


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

201 202
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
203 204
@element: 
@Returns: 
205 206


Wim Taymans's avatar
Wim Taymans committed
207 208 209 210 211 212 213 214 215 216
<!-- ##### FUNCTION gst_element_get_pad_template ##### -->
<para>

</para>

@element: 
@name: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
217
<!-- ##### FUNCTION gst_element_get_pad_template_list ##### -->
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
@element: 
@Returns: 
224 225 226



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
227
<!-- scheduling -->
228 229


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
230
<!-- ##### FUNCTION gst_element_class_add_pad_template ##### -->
231
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
232

233 234
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
235 236 237 238
@klass: 
@templ: 
<!-- # Unused Parameters # -->
@element: 
239 240


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
241
<!-- ##### FUNCTION gst_element_connect ##### -->
242
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
243

244 245
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
246 247 248
@src: 
@dest: 
@Returns: 
249 250


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
251
<!-- ##### FUNCTION gst_element_connect_many ##### -->
252
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
253

254 255
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
256 257 258 259
@element_1: 
@element_2: 
@Varargs: 
@Returns: 
260 261


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
262
<!-- ##### FUNCTION gst_element_connect_filtered ##### -->
263
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
264

265 266
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
267 268 269 270
@src: 
@dest: 
@filtercaps: 
@Returns: 
271 272


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
273
<!-- ##### FUNCTION gst_element_connect_pads ##### -->
274
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
275

276 277
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
278 279 280 281 282
@src: 
@srcpadname: 
@dest: 
@destpadname: 
@Returns: 
283 284


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
285
<!-- ##### FUNCTION gst_element_connect_pads_filtered ##### -->
Wim Taymans's avatar
Wim Taymans committed
286
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
287

Wim Taymans's avatar
Wim Taymans committed
288 289
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
290 291 292 293 294 295
@src: 
@srcpadname: 
@dest: 
@destpadname: 
@filtercaps: 
@Returns: 
Wim Taymans's avatar
Wim Taymans committed
296 297


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

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
303 304 305 306 307
@src: 
@dest: 
<!-- # Unused Parameters # -->
@srcpadname: 
@destpadname: 
308

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
309 310

<!-- ##### FUNCTION gst_element_disconnect_many ##### -->
311
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
312

313 314
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
315 316 317
@element_1: 
@element_2: 
@Varargs: 
318 319


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

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

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
325 326 327 328
@src: 
@srcpadname: 
@dest: 
@destpadname: 
Wim Taymans's avatar
Wim Taymans committed
329 330


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
331 332 333 334
<!-- pad manipulation -->


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

Wim Taymans's avatar
Wim Taymans committed
337 338
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
339 340 341
@element: 
@pad: 
@Returns: 
Wim Taymans's avatar
Wim Taymans committed
342 343


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
344
<!-- ##### FUNCTION gst_element_get_compatible_pad_filtered ##### -->
345 346 347 348 349
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
350 351 352
@pad: 
@filtercaps: 
@Returns: 
353 354


Wim Taymans's avatar
Wim Taymans committed
355 356 357 358 359 360 361 362 363 364
<!-- ##### FUNCTION gst_element_get_compatible_pad_template ##### -->
<para>

</para>

@element: 
@compattempl: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
365
<!-- ##### FUNCTION gst_element_set_state ##### -->
366
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
367

368 369
</para>

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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
375
<!-- ##### FUNCTION gst_element_get_state ##### -->
376 377 378 379 380
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
381 382 383
@Returns: 
<!-- # Unused Parameters # -->
@elem: 
384 385


386
<!-- ##### FUNCTION gst_element_state_get_name ##### -->
387 388 389 390
<para>

</para>

391 392
@state: 
@Returns: 
393 394


395
<!-- ##### FUNCTION gst_element_wait_state_change ##### -->
396 397 398 399
<para>

</para>

400
@element: 
401 402


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

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
409 410
@error: 
@Varargs: 
411 412


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
413
<!-- ##### FUNCTION gst_element_set_eos ##### -->
414 415 416 417 418 419 420
<para>

</para>

@element: 


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

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
427
@Returns: 
428 429


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
430
<!-- ##### FUNCTION gst_element_yield ##### -->
431 432 433 434 435 436 437
<para>

</para>

@element: 


Wim Taymans's avatar
Wim Taymans committed
438 439 440 441 442 443 444 445 446
<!-- ##### FUNCTION gst_element_release_locks ##### -->
<para>

</para>

@element: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
447
<!-- ##### FUNCTION gst_element_get_clock ##### -->
Wim Taymans's avatar
Wim Taymans committed
448 449 450 451 452 453 454 455
<para>

</para>

@element: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
456
<!-- ##### FUNCTION gst_element_set_clock ##### -->
457 458 459 460 461
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
462
@clock: 
463 464


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
465
<!-- ##### FUNCTION gst_element_clock_wait ##### -->
466 467 468 469 470
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
471 472
@clock: 
@time: 
Wim Taymans's avatar
Wim Taymans committed
473
@jitter: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
474
@Returns: 
475 476


Wim Taymans's avatar
Wim Taymans committed
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 513 514 515 516 517 518 519 520 521
<!-- ##### 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
522
<!-- ##### FUNCTION gst_element_set_loop_function ##### -->
523 524 525 526 527
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
528
@loop: 
529 530


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
531
<!-- ##### USER_FUNCTION GstElementLoopFunction ##### -->
532
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
533 534 535
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.
536 537
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
538
@element: The element in question.
539 540


541
<!-- ##### FUNCTION gst_element_get_scheduler ##### -->
542 543 544 545 546 547 548 549
<para>

</para>

@element: 
@Returns: 


550
<!-- ##### FUNCTION gst_element_set_scheduler ##### -->
551 552 553 554 555
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
556
@sched: 
557 558


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

Wim Taymans's avatar
Wim Taymans committed
564
@elem: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
565
@Returns: the #GstObject parent of the element.
Wim Taymans's avatar
Wim Taymans committed
566 567
<!-- # Unused Parameters # -->
@element: a #GstElement to get the parent of.
568 569


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
570
<!-- ##### MACRO gst_element_set_parent ##### -->
571
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
572
Sets the parent of an element.
573 574
</para>

Wim Taymans's avatar
Wim Taymans committed
575
@elem: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
576
@parent:  the new #GstObject parent of the object.
Wim Taymans's avatar
Wim Taymans committed
577 578
<!-- # Unused Parameters # -->
@element: a #GstElement to set the parent of.
579 580


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
581
<!-- ##### FUNCTION gst_element_get_managing_bin ##### -->
582 583 584 585 586 587 588
<para>

</para>

@element: 
@Returns: 

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
589
<!-- clocking -->
590

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
591

Wim Taymans's avatar
Wim Taymans committed
592 593
<!-- ##### USER_FUNCTION GstElementPostRunFunction ##### -->
<para>
Wim Taymans's avatar
Wim Taymans committed
594 595
The signature of the function to execute before this element
is scheduled.
Wim Taymans's avatar
Wim Taymans committed
596 597
</para>

Wim Taymans's avatar
Wim Taymans committed
598
@element: The element
Wim Taymans's avatar
Wim Taymans committed
599 600 601 602


<!-- ##### USER_FUNCTION GstElementPreRunFunction ##### -->
<para>
Wim Taymans's avatar
Wim Taymans committed
603 604
The signature of the function to execute after this element
is scheduled.
Wim Taymans's avatar
Wim Taymans committed
605 606
</para>

Wim Taymans's avatar
Wim Taymans committed
607
@element: The element
Wim Taymans's avatar
Wim Taymans committed
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 703 704 705 706 707 708 709 710 711 712 713 714 715


<!-- ##### 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
716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733
<!-- ##### 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
734
<!-- ##### ENUM GstElementState ##### -->
Wim Taymans's avatar
Wim Taymans committed
735
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
736 737
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
738 739 740

</para>

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

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
748
<!-- ##### ENUM GstElementStateReturn ##### -->
749
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
750 751
This enum defines the standard return values that an element
can return after a state change.
752 753 754

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
755 756 757
@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
758

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
759
<!-- ##### MACRO GST_NUM_STATES ##### -->
760
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
761
The maximun number of states.
762 763
</para>

764 765


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
766
<!-- ##### MACRO GST_STATE ##### -->
767
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
768
This macro returns the current state of the element.
769 770
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
771
@obj: Element to return state for.
772 773


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
774
<!-- ##### MACRO GST_STATE_PENDING ##### -->
Wim Taymans's avatar
Wim Taymans committed
775
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
776
This macro returns the currently pending state of the element.
Wim Taymans's avatar
Wim Taymans committed
777 778
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
779
@obj: Element to return the pending state for.
Wim Taymans's avatar
Wim Taymans committed
780 781


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
782
<!-- ##### MACRO GST_STATE_TRANSITION ##### -->
Wim Taymans's avatar
Wim Taymans committed
783
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
784
Returns the state transition this object is going through.
Wim Taymans's avatar
Wim Taymans committed
785 786
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
787
@obj: the Element to return the state transition for
Wim Taymans's avatar
Wim Taymans committed
788 789


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



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



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
804
<!-- ##### MACRO GST_STATE_PAUSED_TO_READY ##### -->
Wim Taymans's avatar
Wim Taymans committed
805
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
806
The Element is going from the PAUSED state to the READY state.
Wim Taymans's avatar
Wim Taymans committed
807 808 809 810
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
811
<!-- ##### MACRO GST_STATE_PLAYING_TO_PAUSED ##### -->
812
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
813
The Element is going from the PLAYING state to the PAUSED state.
814 815 816 817
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
818
<!-- ##### MACRO GST_STATE_PAUSED_TO_PLAYING ##### -->
819
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
820
The Element is going from the PAUSED state to the PLAYING state.
821 822 823 824
</para>



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



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
832
<!-- ##### ENUM GstElementFlags ##### -->
833
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
834 835
This enum defines the standard flags that an element may have.
</para>
836

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
837 838 839 840 841 842
@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
843 844 845
@GST_ELEMENT_USE_THREADSAFE_PROPERTIES: 
@GST_ELEMENT_SCHEDULER_PRIVATE1: 
@GST_ELEMENT_SCHEDULER_PRIVATE2: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
846 847 848 849 850
@GST_ELEMENT_FLAG_LAST: 

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

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
853
@obj: a #GstElement to query
854 855


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
856
<!-- ##### MACRO GST_ELEMENT_IS_DECOUPLED ##### -->
857
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
858
Queries if the Element is decoupled.
859 860
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
861
@obj: a #GstElement to query
862 863


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
864
<!-- ##### MACRO GST_ELEMENT_IS_EOS ##### -->
865
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
866
Query wether this element is in the End Of Stream state.
867 868
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
869
@obj: a #GstElement to query
870 871


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
872
<!-- ##### MACRO GST_ELEMENT_IS_EVENT_AWARE ##### -->
873
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
874
Query wether this element can handle events.
875 876
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
877
@obj: a #GstElement to query
878 879


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
880
<!-- ##### MACRO GST_ELEMENT_PARENT ##### -->
881
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
882
Get the parent object of this element.
883 884
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
885
@obj: a #GstElement to query
886 887


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
888
<!-- ##### MACRO GST_ELEMENT_NAME ##### -->
889
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
890
Gets the name of this element.  Used in the core.  Not ABI-compatible.
891 892
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
893
@obj: A #GstElement to query
894 895


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
896
<!-- ##### MACRO GST_ELEMENT_PADS ##### -->
897
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
898
Get the pads of this elements.
899 900
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
901
@obj: a #GstElement to query
902 903


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
904
<!-- ##### MACRO GST_ELEMENT_SCHED ##### -->
905
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
906
Get the scheduler of this element.
907 908
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
909
@obj: a #GstElement to query
910 911


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
912
<!-- ##### MACRO GST_ELEMENT_MANAGER ##### -->
913
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
914 915
Get the manager of this element.
</para>
916

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


<!-- ##### MACRO GST_ELEMENT_CLOCK ##### -->
<para>
Get the clock of this element
923 924
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
925
@obj: a #GstElement to query
926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942


<!-- ##### 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
943
@arg2: 
944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969

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