gstelement.sgml 14.5 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 70 71 72 73
<para>

</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_set_name ##### -->
85
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
86
Sets the name of the element, getting rid of the old name if there was one.
87 88
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
89 90
@element: a #GstElement to set the name of.
@name: the new name of the element.
91

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
92
<!-- ##### MACRO gst_element_get_name ##### -->
93
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
94
Gets the name of the element.
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
95
</para>
96

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
97 98
@element: a #GstElement to get the name of.
@Returns: the name of the element.
99 100


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
101
<!-- connection -->
102 103


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

107 108
</para>

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


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

116 117
</para>

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


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

125 126
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
127 128
@element: 
@pad: 
129 130


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
131
<!-- ##### FUNCTION gst_element_add_ghost_pad ##### -->
132
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
133

134 135
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
136 137 138 139
@element: 
@pad: 
@name: 
@Returns: 
140 141


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
142
<!-- ##### FUNCTION gst_element_remove_ghost_pad ##### -->
143
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
144

145 146
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
147 148
@element: 
@pad: 
149 150


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
151 152 153 154
<!-- pad template manipulation -->


<!-- ##### FUNCTION gst_element_get_pad ##### -->
155
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
156

157 158
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
159 160 161
@element: 
@name: 
@Returns: GList of #GstPads
162 163


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
164
<!-- ##### FUNCTION gst_element_get_static_pad ##### -->
165
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
166

167 168
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
169 170 171
@element: 
@name: 
@Returns: 
172

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
173 174

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

177 178
</para>

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


Wim Taymans's avatar
Wim Taymans committed
184 185 186 187 188 189 190 191 192
<!-- ##### FUNCTION gst_element_release_request_pad ##### -->
<para>

</para>

@element: 
@pad: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
193
<!-- ##### FUNCTION gst_element_get_pad_list ##### -->
194
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
195

196 197
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
198 199
@element: 
@Returns: 
200 201


Wim Taymans's avatar
Wim Taymans committed
202 203 204 205 206 207 208 209 210 211
<!-- ##### FUNCTION gst_element_get_pad_template ##### -->
<para>

</para>

@element: 
@name: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
212
<!-- ##### FUNCTION gst_element_get_pad_template_list ##### -->
213
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
214

215 216
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
217 218
@element: 
@Returns: 
219 220 221



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
222
<!-- scheduling -->
223 224


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

228 229
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
230 231 232 233
@klass: 
@templ: 
<!-- # Unused Parameters # -->
@element: 
234 235


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

239 240
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
241 242 243
@src: 
@dest: 
@Returns: 
244 245


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

249 250
</para>

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


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

260 261
</para>

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


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

271 272
</para>

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


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

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

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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
293
<!-- ##### FUNCTION gst_element_disconnect ##### -->
294 295 296 297
<para>

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
298 299 300 301 302
@src: 
@dest: 
<!-- # Unused Parameters # -->
@srcpadname: 
@destpadname: 
303

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
304 305

<!-- ##### FUNCTION gst_element_disconnect_many ##### -->
306
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
307

308 309
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
310 311 312
@element_1: 
@element_2: 
@Varargs: 
313 314


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

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

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
320 321 322 323
@src: 
@srcpadname: 
@dest: 
@destpadname: 
Wim Taymans's avatar
Wim Taymans committed
324 325


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
326 327 328 329
<!-- pad manipulation -->


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

Wim Taymans's avatar
Wim Taymans committed
332 333
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
334 335 336
@element: 
@pad: 
@Returns: 
Wim Taymans's avatar
Wim Taymans committed
337 338


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
339
<!-- ##### FUNCTION gst_element_get_compatible_pad_filtered ##### -->
340 341 342 343 344
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
345 346 347
@pad: 
@filtercaps: 
@Returns: 
348 349


Wim Taymans's avatar
Wim Taymans committed
350 351 352 353 354 355 356 357 358 359
<!-- ##### FUNCTION gst_element_get_compatible_pad_template ##### -->
<para>

</para>

@element: 
@compattempl: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
360
<!-- ##### FUNCTION gst_element_set_state ##### -->
361
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
362

363 364
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
365 366 367
@element: 
@state: 
@Returns: 
368 369


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
370
<!-- ##### FUNCTION gst_element_get_state ##### -->
371 372 373 374 375
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
376 377 378
@Returns: 
<!-- # Unused Parameters # -->
@elem: 
379 380


381
<!-- ##### FUNCTION gst_element_state_get_name ##### -->
382 383 384 385
<para>

</para>

386 387
@state: 
@Returns: 
388 389


390
<!-- ##### FUNCTION gst_element_wait_state_change ##### -->
391 392 393 394
<para>

</para>

395
@element: 
396 397


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
398
<!-- ##### FUNCTION gst_element_error ##### -->
399 400 401 402 403
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
404 405
@error: 
@Varargs: 
406 407


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

</para>

@element: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
416
<!-- ##### FUNCTION gst_element_interrupt ##### -->
417 418 419 420 421
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
422
@Returns: 
423 424


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
425
<!-- ##### FUNCTION gst_element_yield ##### -->
426 427 428 429 430 431 432
<para>

</para>

@element: 


Wim Taymans's avatar
Wim Taymans committed
433 434 435 436 437 438 439 440 441
<!-- ##### FUNCTION gst_element_release_locks ##### -->
<para>

</para>

@element: 
@Returns: 


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
442
<!-- ##### FUNCTION gst_element_get_clock ##### -->
Wim Taymans's avatar
Wim Taymans committed
443 444 445 446 447 448 449 450
<para>

</para>

@element: 
@Returns: 


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

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
457
@clock: 
458 459


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
460
<!-- ##### FUNCTION gst_element_clock_wait ##### -->
461 462 463 464 465
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
466 467
@clock: 
@time: 
Wim Taymans's avatar
Wim Taymans committed
468
@jitter: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
469
@Returns: 
470 471


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
472
<!-- ##### FUNCTION gst_element_set_loop_function ##### -->
473 474 475 476 477
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
478
@loop: 
479 480


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
481
<!-- ##### USER_FUNCTION GstElementLoopFunction ##### -->
482
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
483 484 485
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.
486 487
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
488
@element: The element in question.
489 490


491
<!-- ##### FUNCTION gst_element_get_scheduler ##### -->
492 493 494 495 496 497 498 499
<para>

</para>

@element: 
@Returns: 


500
<!-- ##### FUNCTION gst_element_set_scheduler ##### -->
501 502 503 504 505
<para>

</para>

@element: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
506
@sched: 
507 508


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
509
<!-- ##### MACRO gst_element_get_parent ##### -->
510
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
511
Gets the parent of an element.
512 513
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
514 515
@element: a #GstElement to get the parent of.
@Returns: the #GstObject parent of the element.
516 517


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
518
<!-- ##### MACRO gst_element_set_parent ##### -->
519
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
520
Sets the parent of an element.
521 522
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
523 524
@element: a #GstElement to set the parent of.
@parent:  the new #GstObject parent of the object.
525 526


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
527
<!-- ##### FUNCTION gst_element_get_managing_bin ##### -->
528 529 530 531 532 533 534
<para>

</para>

@element: 
@Returns: 

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
535
<!-- clocking -->
536

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
537

Wim Taymans's avatar
Wim Taymans committed
538 539
<!-- ##### USER_FUNCTION GstElementPostRunFunction ##### -->
<para>
Wim Taymans's avatar
Wim Taymans committed
540 541
The signature of the function to execute before this element
is scheduled.
Wim Taymans's avatar
Wim Taymans committed
542 543
</para>

Wim Taymans's avatar
Wim Taymans committed
544
@element: The element
Wim Taymans's avatar
Wim Taymans committed
545 546 547 548


<!-- ##### USER_FUNCTION GstElementPreRunFunction ##### -->
<para>
Wim Taymans's avatar
Wim Taymans committed
549 550
The signature of the function to execute after this element
is scheduled.
Wim Taymans's avatar
Wim Taymans committed
551 552
</para>

Wim Taymans's avatar
Wim Taymans committed
553
@element: The element
Wim Taymans's avatar
Wim Taymans committed
554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661


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


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
662
<!-- ##### ENUM GstElementState ##### -->
Wim Taymans's avatar
Wim Taymans committed
663
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
664 665
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
666 667 668

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
669 670 671 672 673 674
@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
675

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
676
<!-- ##### ENUM GstElementStateReturn ##### -->
677
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
678 679
This enum defines the standard return values that an element
can return after a state change.
680 681 682

</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
683 684 685
@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
686

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
687
<!-- ##### MACRO GST_NUM_STATES ##### -->
688
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
689
The maximun number of states.
690 691
</para>

692 693


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
694
<!-- ##### MACRO GST_STATE ##### -->
695
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
696
This macro returns the current state of the element.
697 698
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
699
@obj: Element to return state for.
700 701


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
702
<!-- ##### MACRO GST_STATE_PENDING ##### -->
Wim Taymans's avatar
Wim Taymans committed
703
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
704
This macro returns the currently pending state of the element.
Wim Taymans's avatar
Wim Taymans committed
705 706
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
707
@obj: Element to return the pending state for.
Wim Taymans's avatar
Wim Taymans committed
708 709


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
710
<!-- ##### MACRO GST_STATE_TRANSITION ##### -->
Wim Taymans's avatar
Wim Taymans committed
711
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
712
Returns the state transition this object is going through.
Wim Taymans's avatar
Wim Taymans committed
713 714
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
715
@obj: the Element to return the state transition for
Wim Taymans's avatar
Wim Taymans committed
716 717


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
718
<!-- ##### MACRO GST_STATE_NULL_TO_READY ##### -->
Wim Taymans's avatar
Wim Taymans committed
719
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
720
The Element is going from the NULL state to the READY state.
Wim Taymans's avatar
Wim Taymans committed
721 722 723 724
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
725
<!-- ##### MACRO GST_STATE_READY_TO_PAUSED ##### -->
726
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
727
The Element is going from the READY state to the PAUSED state.
728 729 730 731
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
732
<!-- ##### MACRO GST_STATE_PAUSED_TO_READY ##### -->
Wim Taymans's avatar
Wim Taymans committed
733
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
734
The Element is going from the PAUSED state to the READY state.
Wim Taymans's avatar
Wim Taymans committed
735 736 737 738
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
739
<!-- ##### MACRO GST_STATE_PLAYING_TO_PAUSED ##### -->
740
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
741
The Element is going from the PLAYING state to the PAUSED state.
742 743 744 745
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
746
<!-- ##### MACRO GST_STATE_PAUSED_TO_PLAYING ##### -->
747
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
748
The Element is going from the PAUSED state to the PLAYING state.
749 750 751 752
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
753
<!-- ##### MACRO GST_STATE_READY_TO_NULL ##### -->
754
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
755
The Element is going from the READY state to the NULL state.
756 757 758 759
</para>



Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
760
<!-- ##### ENUM GstElementFlags ##### -->
761
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
762 763
This enum defines the standard flags that an element may have.
</para>
764

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
765 766 767 768 769 770
@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
771 772 773
@GST_ELEMENT_USE_THREADSAFE_PROPERTIES: 
@GST_ELEMENT_SCHEDULER_PRIVATE1: 
@GST_ELEMENT_SCHEDULER_PRIVATE2: 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
774 775 776 777 778
@GST_ELEMENT_FLAG_LAST: 

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

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
781
@obj: a #GstElement to query
782 783


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
784
<!-- ##### MACRO GST_ELEMENT_IS_DECOUPLED ##### -->
785
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
786
Queries if the Element is decoupled.
787 788
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
789
@obj: a #GstElement to query
790 791


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
792
<!-- ##### MACRO GST_ELEMENT_IS_EOS ##### -->
793
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
794
Query wether this element is in the End Of Stream state.
795 796
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
797
@obj: a #GstElement to query
798 799


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
800
<!-- ##### MACRO GST_ELEMENT_IS_EVENT_AWARE ##### -->
801
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
802
Query wether this element can handle events.
803 804
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
805
@obj: a #GstElement to query
806 807


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
808
<!-- ##### MACRO GST_ELEMENT_PARENT ##### -->
809
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
810
Get the parent object of this element.
811 812
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
813
@obj: a #GstElement to query
814 815


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
816
<!-- ##### MACRO GST_ELEMENT_NAME ##### -->
817
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
818
Gets the name of this element.  Used in the core.  Not ABI-compatible.
819 820
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
821
@obj: A #GstElement to query
822 823


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
824
<!-- ##### MACRO GST_ELEMENT_PADS ##### -->
825
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
826
Get the pads of this elements.
827 828
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
829
@obj: a #GstElement to query
830 831


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
832
<!-- ##### MACRO GST_ELEMENT_SCHED ##### -->
833
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
834
Get the scheduler of this element.
835 836
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
837
@obj: a #GstElement to query
838 839


Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
840
<!-- ##### MACRO GST_ELEMENT_MANAGER ##### -->
841
<para>
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
842 843
Get the manager of this element.
</para>
844

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


<!-- ##### MACRO GST_ELEMENT_CLOCK ##### -->
<para>
Get the clock of this element
851 852
</para>

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
853
@obj: a #GstElement to query
854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870


<!-- ##### 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
871
@arg2: 
872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897

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