This is a megapatch with the following changes:
[platform/upstream/gstreamer.git] / docs / gst / tmpl / gstpad.sgml
1 <!-- ##### SECTION Title ##### -->
2 GstPad
3
4 <!-- ##### SECTION Short_Description ##### -->
5 The connection between Elements
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9 Elements are connected to each other via "pads", which are extremely light-weight generic 
10 connections. 
11
12 </para>
13
14 <!-- ##### SECTION See_Also ##### -->
15 <para>
16
17 </para>
18
19 <!-- ##### MACRO GST_PAD_NAME ##### -->
20 <para>
21 Get the name of the pad.
22 </para>
23
24 @pad: the pad to query
25
26
27 <!-- ##### MACRO GST_PAD_ELEMENT_PRIVATE ##### -->
28 <para>
29 Get the private data set by the element that owns the pad.
30 </para>
31
32 @pad: the pad to query
33
34
35 <!-- ##### MACRO GST_PAD_PARENT ##### -->
36 <para>
37 Get the parent element of this pad.
38 </para>
39
40 @pad: the pad to query
41
42
43 <!-- ##### MACRO GST_PAD_PADTEMPLATE ##### -->
44 <para>
45 Get the padtemplate that was used to create this pad. NULL if no padtemplate
46 was used.
47 </para>
48
49 @pad: the pad to query
50
51
52 <!-- ##### MACRO GST_PAD_REALIZE ##### -->
53 <para>
54 Return the real pad of this pad.
55 </para>
56
57 @pad: the pad to query
58
59
60 <!-- ##### MACRO GST_PAD_DIRECTION ##### -->
61 <para>
62 Get the pad direction.
63 </para>
64
65 @pad: the pad to query
66
67
68 <!-- ##### MACRO GST_PAD_CAPS ##### -->
69 <para>
70 Get the capabilities of a pad.
71 </para>
72
73 @pad: the pad to query
74
75
76 <!-- ##### MACRO GST_PAD_PEER ##### -->
77 <para>
78 Get the peerpad of this pad.
79 </para>
80
81 @pad: the pad to query
82
83
84 <!-- ##### MACRO GST_PAD_CONNECTED ##### -->
85 <para>
86 Is this pad connected.
87 </para>
88
89 @pad: the pad to check
90
91
92 <!-- ##### MACRO GST_PAD_CAN_PULL ##### -->
93 <para>
94 Can this pad be used to pull a buffer.
95 </para>
96
97 @pad: the pad to check
98
99
100 <!-- ##### STRUCT GstPad ##### -->
101 <para>
102
103 </para>
104
105
106 <!-- ##### USER_FUNCTION GstPadChainFunction ##### -->
107 <para>
108 The function that will be called when chaining buffers.
109 </para>
110
111 @pad: the pad that performed the chain
112 @buf: the buffer that is chained
113
114
115 <!-- ##### USER_FUNCTION GstPadGetFunction ##### -->
116 <para>
117 The function that will be called when pulling a buffer.
118 </para>
119
120 @pad: the pad to get a buffer from
121 @Returns: a #GstBuffer
122
123
124 <!-- ##### USER_FUNCTION GstPadGetRegionFunction ##### -->
125 <para>
126 The function that will be called when pulling a region buffer.
127 </para>
128
129 @pad: the pad to get a buffer from
130 @offset: the offset of the region to get
131 @size: the size of the region to get
132 @Returns: a #GstBuffer
133
134
135 <!-- ##### USER_FUNCTION GstPadQoSFunction ##### -->
136 <para>
137 The function that will be called when a QoS message is sent.
138 </para>
139
140 @pad: the pad that sent the QoS message
141 @qos_message: the message
142
143
144 <!-- ##### USER_FUNCTION GstPadEOSFunction ##### -->
145 <para>
146 The function that will be called in an EOS case.
147 </para>
148
149 @pad: the pad that needs to be set to EOS state
150 @Returns: TRUE if EOS was successful, FALSE otherwise
151
152
153 <!-- ##### USER_FUNCTION GstPadPushFunction ##### -->
154 <para>
155
156 The function that will be called when pushing a buffers.
157 </para>
158
159 @pad: the pad to push
160 @buf: a GstBuffer to push
161
162
163 <!-- ##### USER_FUNCTION GstPadPullFunction ##### -->
164 <para>
165 The function that will be called when pulling buffers.
166 </para>
167
168 @pad: the pad to pull
169 @Returns: a GstBuffer
170
171
172 <!-- ##### USER_FUNCTION GstPadPullRegionFunction ##### -->
173 <para>
174 The function that will be called when pulling a region buffer.
175 </para>
176
177 @pad: the pad to pull
178 @offset: the offset of the region to pull
179 @size: the size of the region to pull
180 @Returns: a GstBuffer
181
182
183 <!-- ##### ENUM GstPadDirection ##### -->
184 <para>
185 The direction this pad is.
186 </para>
187
188 @GST_PAD_UNKNOWN: direction is unknown
189 @GST_PAD_SRC: this is a source pad
190 @GST_PAD_SINK: this is a sink pad
191
192 <!-- ##### ENUM GstPadFlags ##### -->
193 <para>
194 Flags for the pad.
195 </para>
196
197 @GST_PAD_DISABLED: the pad is disabled
198 @GST_PAD_EOS: the pad is in end of stream state
199 @GST_PAD_FLAG_LAST: subclasses can use this number to enumerate their flags
200
201 <!-- ##### FUNCTION gst_pad_new ##### -->
202 <para>
203
204 </para>
205
206 @name: 
207 @direction: 
208 @Returns: 
209
210
211 <!-- ##### MACRO gst_pad_destroy ##### -->
212 <para>
213 Destroy the pad.
214 </para>
215
216 @pad: the pad to destroy
217
218
219 <!-- ##### FUNCTION gst_pad_new_from_template ##### -->
220 <para>
221
222 </para>
223
224 @templ: 
225 @name: 
226 @Returns: 
227 <!-- # Unused Parameters # -->
228 @temp: 
229
230
231 <!-- ##### FUNCTION gst_pad_get_direction ##### -->
232 <para>
233
234 </para>
235
236 @pad: 
237 @Returns: 
238
239
240 <!-- ##### FUNCTION gst_pad_set_chain_function ##### -->
241 <para>
242
243 </para>
244
245 @pad: 
246 @chain: 
247
248
249 <!-- ##### FUNCTION gst_pad_set_get_function ##### -->
250 <para>
251
252 </para>
253
254 @pad: 
255 @get: 
256
257
258 <!-- ##### FUNCTION gst_pad_set_getregion_function ##### -->
259 <para>
260
261 </para>
262
263 @pad: 
264 @getregion: 
265
266
267 <!-- ##### FUNCTION gst_pad_set_qos_function ##### -->
268 <para>
269
270 </para>
271
272 @pad: 
273 @qos: 
274
275
276 <!-- ##### FUNCTION gst_pad_set_eos_function ##### -->
277 <para>
278
279 </para>
280
281 @pad: 
282 @eos: 
283
284
285 <!-- ##### FUNCTION gst_pad_set_caps_list ##### -->
286 <para>
287
288 </para>
289
290 @pad: 
291 @caps: 
292
293
294 <!-- ##### FUNCTION gst_pad_get_caps_list ##### -->
295 <para>
296
297 </para>
298
299 @pad: 
300 @Returns: 
301
302
303 <!-- ##### FUNCTION gst_pad_get_caps_by_name ##### -->
304 <para>
305
306 </para>
307
308 @pad: 
309 @name: 
310 @Returns: 
311
312
313 <!-- ##### FUNCTION gst_pad_check_compatibility ##### -->
314 <para>
315
316 </para>
317
318 @srcpad: 
319 @sinkpad: 
320 @Returns: 
321
322
323 <!-- ##### FUNCTION gst_pad_set_name ##### -->
324 <para>
325
326 </para>
327
328 @pad: 
329 @name: 
330
331
332 <!-- ##### FUNCTION gst_pad_get_name ##### -->
333 <para>
334
335 </para>
336
337 @pad: 
338 @Returns: 
339
340
341 <!-- ##### FUNCTION gst_pad_set_element_private ##### -->
342 <para>
343
344 </para>
345
346 @pad: 
347 @priv: 
348
349
350 <!-- ##### FUNCTION gst_pad_get_element_private ##### -->
351 <para>
352
353 </para>
354
355 @pad: 
356 @Returns: 
357
358
359 <!-- ##### FUNCTION gst_pad_set_parent ##### -->
360 <para>
361
362 </para>
363
364 @pad: 
365 @parent: 
366
367
368 <!-- ##### FUNCTION gst_pad_get_parent ##### -->
369 <para>
370
371 </para>
372
373 @pad: 
374 @Returns: 
375
376
377 <!-- ##### FUNCTION gst_pad_add_ghost_pad ##### -->
378 <para>
379
380 </para>
381
382 @pad: 
383 @ghostpad: 
384
385
386 <!-- ##### FUNCTION gst_pad_remove_ghost_pad ##### -->
387 <para>
388
389 </para>
390
391 @pad: 
392 @ghostpad: 
393
394
395 <!-- ##### FUNCTION gst_pad_get_ghost_pad_list ##### -->
396 <para>
397
398 </para>
399
400 @pad: 
401 @Returns: 
402
403
404 <!-- ##### FUNCTION gst_pad_get_peer ##### -->
405 <para>
406
407 </para>
408
409 @pad: 
410 @Returns: 
411
412
413 <!-- ##### FUNCTION gst_pad_connect ##### -->
414 <para>
415
416 </para>
417
418 @srcpad: 
419 @sinkpad: 
420
421
422 <!-- ##### FUNCTION gst_pad_disconnect ##### -->
423 <para>
424
425 </para>
426
427 @srcpad: 
428 @sinkpad: 
429
430
431 <!-- ##### FUNCTION gst_pad_push ##### -->
432 <para>
433
434 </para>
435
436 @pad: 
437 @buffer: 
438
439
440 <!-- ##### FUNCTION gst_pad_pull ##### -->
441 <para>
442
443 </para>
444
445 @pad: 
446 @Returns: 
447
448
449 <!-- ##### FUNCTION gst_pad_pull_region ##### -->
450 <para>
451
452 </para>
453
454 @pad: 
455 @offset: 
456 @size: 
457 @Returns: 
458
459
460 <!-- ##### MACRO gst_pad_pullregion ##### -->
461 <para>
462
463 </para>
464
465 @pad: 
466 @offset: 
467 @size: 
468
469
470 <!-- ##### FUNCTION gst_pad_select ##### -->
471 <para>
472
473 </para>
474
475 @nextpad: 
476 @Varargs: 
477 @Returns: 
478
479
480 <!-- ##### FUNCTION gst_pad_set_eos ##### -->
481 <para>
482
483 </para>
484
485 @pad: 
486 @Returns: 
487
488
489 <!-- ##### FUNCTION gst_pad_handle_qos ##### -->
490 <para>
491
492 </para>
493
494 @pad: 
495 @qos_message: 
496
497
498 <!-- ##### MACRO gst_pad_eos ##### -->
499 <para>
500 Call the EOS function of the pad
501 </para>
502
503 @pad: the pad to call the eos function of.
504
505
506 <!-- ##### FUNCTION gst_pad_load_and_connect ##### -->
507 <para>
508
509 </para>
510
511 @self: 
512 @parent: 
513 <!-- # Unused Parameters # -->
514 @element: 
515 @elements: 
516
517
518 <!-- ##### STRUCT GstRealPad ##### -->
519 <para>
520
521 </para>
522
523 @pad: 
524 @caps: 
525 @direction: 
526 @threadstate: 
527 @peer: 
528 @bufpen: 
529 @chainfunc: 
530 @getfunc: 
531 @getregionfunc: 
532 @qosfunc: 
533 @eosfunc: 
534 @pushfunc: 
535 @pullfunc: 
536 @pullregionfunc: 
537 @ghostpads: 
538
539 <!-- ##### MACRO GST_RPAD_DIRECTION ##### -->
540 <para>
541 Get the direction of the real pad.
542 </para>
543
544 @pad: the realpad to query.
545
546
547 <!-- ##### MACRO GST_RPAD_CAPS ##### -->
548 <para>
549 Get the caps of the real pad.
550 </para>
551
552 @pad: the real pad to query.
553
554
555 <!-- ##### MACRO GST_RPAD_PEER ##### -->
556 <para>
557 Get the peer element of the real pad.
558 </para>
559
560 @pad: the real pad to query.
561
562
563 <!-- ##### MACRO GST_RPAD_BUFPEN ##### -->
564 <para>
565 Get the bufpen of the real pad.
566 </para>
567
568 @pad: the real pad to query.
569
570
571 <!-- ##### MACRO GST_RPAD_CHAINFUNC ##### -->
572 <para>
573 Get the chain function of the real pad.
574 </para>
575
576 @pad: the real pad to query.
577
578
579 <!-- ##### MACRO GST_RPAD_GETFUNC ##### -->
580 <para>
581 Get get getfunction of the real pad.
582 </para>
583
584 @pad: the real pad to query.
585
586
587 <!-- ##### MACRO GST_RPAD_GETREGIONFUNC ##### -->
588 <para>
589 Get the getregion function of the real pad.
590 </para>
591
592 @pad: the real pad to query.
593
594
595 <!-- ##### MACRO GST_RPAD_PUSHFUNC ##### -->
596 <para>
597 Get the pushfunction of the real pad.
598 </para>
599
600 @pad: the real pad to query.
601
602
603 <!-- ##### MACRO GST_RPAD_PULLFUNC ##### -->
604 <para>
605 Get the pullfunction of the real pad.
606 </para>
607
608 @pad: the real pad to query.
609
610
611 <!-- ##### MACRO GST_RPAD_PULLREGIONFUNC ##### -->
612 <para>
613 Get the pullregion function of the real pad.
614 </para>
615
616 @pad: the real pad to query.
617
618
619 <!-- ##### MACRO GST_RPAD_QOSFUNC ##### -->
620 <para>
621 Get the QoS function of the real pad.
622 </para>
623
624 @pad: the real pad to query.
625
626
627 <!-- ##### MACRO GST_RPAD_EOSFUNC ##### -->
628 <para>
629 Get the EOS function of the real pad.
630 </para>
631
632 @pad: the real pad to query.
633
634
635 <!-- ##### MACRO GST_GPAD_REALPAD ##### -->
636 <para>
637 Get the real pad of this ghost pad.
638 </para>
639
640 @pad: the real pad to query.
641
642
643 <!-- ##### STRUCT GstGhostPad ##### -->
644 <para>
645
646 </para>
647
648 @pad: 
649 @realpad: 
650
651 <!-- ##### FUNCTION gst_ghost_pad_new ##### -->
652 <para>
653
654 </para>
655
656 @name: 
657 @pad: 
658 @Returns: 
659
660
661 <!-- ##### TYPEDEF GstPadFactoryEntry ##### -->
662 <para>
663 Defines an entry for a padfactory.
664 </para>
665
666
667 <!-- ##### TYPEDEF GstPadFactory[] ##### -->
668 <para>
669 The padfactory.
670 </para>
671
672
673 <!-- ##### MACRO GST_PAD_FACTORY_SOMETIMES ##### -->
674 <para>
675 Indicate that this pad will become available depending
676 on the media type. Use this in the factory definition.
677 </para>
678
679
680
681 <!-- ##### MACRO GST_PAD_FACTORY_ALWAYS ##### -->
682 <para>
683 Indicate that this pad will always be available.
684 Use this in the factory definition.
685 </para>
686
687
688
689 <!-- ##### MACRO GST_PAD_FACTORY_REQUEST ##### -->
690 <para>
691 Indicates that this pad will be available on request. Use 
692 this in the factory definition. 
693 </para>
694
695
696
697 <!-- ##### MACRO GST_PAD_FACTORY_SINK ##### -->
698 <para>
699 Indicates a sinkpad for the padfactory.
700 </para>
701
702
703
704 <!-- ##### MACRO GST_PAD_FACTORY_SRC ##### -->
705 <para>
706 Indicates a srcpad for the padfactory.
707 </para>
708
709
710
711 <!-- ##### MACRO GST_PAD_FACTORY_CAPS ##### -->
712 <para>
713 Starts the declaration of a the capabilities for this padtemplate.
714 </para>
715
716 @a...: a capability factory
717
718
719 <!-- ##### ENUM GstPadPresence ##### -->
720 <para>
721 Indicates when this pad will become available.
722 </para>
723
724 @GST_PAD_ALWAYS: the pad is always available
725 @GST_PAD_SOMETIMES: the pad will become available depending on the media stream
726 @GST_PAD_REQUEST: 
727
728 <!-- ##### STRUCT GstPadTemplate ##### -->
729 <para>
730
731 </para>
732
733 @object: 
734 @name_template: 
735 @direction: 
736 @presence: 
737 @caps: 
738
739 <!-- ##### FUNCTION gst_padtemplate_new ##### -->
740 <para>
741
742 </para>
743
744 @factory: 
745 @Returns: 
746
747
748 <!-- ##### FUNCTION gst_padtemplate_create ##### -->
749 <para>
750
751 </para>
752
753 @name_template: 
754 @direction: 
755 @presence: 
756 @caps: 
757 @Returns: 
758
759
760 <!-- ##### FUNCTION gst_padtemplate_load_thyself ##### -->
761 <para>
762
763 </para>
764
765 @parent: 
766 @Returns: 
767
768
769 <!-- ##### FUNCTION gst_padtemplate_save_thyself ##### -->
770 <para>
771
772 </para>
773
774 @templ: 
775 @parent: 
776 @Returns: 
777 <!-- # Unused Parameters # -->
778 @pad: 
779
780