sync
[gir-1.1] / GstBase-0.10.gir
1 <?xml version="1.0"?>
2 <!-- This file was automatically generated from C sources - DO NOT EDIT!
3 To affect the contents of this file, edit the original C definitions,
4 and/or use gtk-doc annotations.  -->
5 <repository version="1.1"
6             xmlns="http://www.gtk.org/introspection/core/1.0"
7             xmlns:c="http://www.gtk.org/introspection/c/1.0"
8             xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9   <include name="GLib" version="2.0"/>
10   <include name="GModule" version="2.0"/>
11   <include name="GObject" version="2.0"/>
12   <include name="Gst" version="0.10"/>
13   <include name="libxml2" version="2.0"/>
14   <package name="gobject-2.0"/>
15   <package name="gstreamer-0.10"/>
16   <package name="gstreamer-base-0.10"/>
17   <namespace name="GstBase"
18              version="0.10"
19              shared-library="libgstbase-0.10.so.0"
20              c:prefix="GstBase">
21     <class name="GstAdapter"
22            c:type="GstAdapter"
23            parent="GObject.Object"
24            glib:type-name="GstAdapter"
25            glib:get-type="gst_adapter_get_type"
26            glib:type-struct="GstAdapterClass">
27       <doc xml:whitespace="preserve">The opaque #GstAdapter data structure.</doc>
28       <constructor name="new" c:identifier="gst_adapter_new">
29         <return-value transfer-ownership="full">
30           <type name="GstAdapter" c:type="GstAdapter*"/>
31         </return-value>
32       </constructor>
33       <method name="clear" c:identifier="gst_adapter_clear">
34         <return-value transfer-ownership="none">
35           <type name="none" c:type="void"/>
36         </return-value>
37       </method>
38       <method name="push" c:identifier="gst_adapter_push">
39         <return-value transfer-ownership="none">
40           <type name="none" c:type="void"/>
41         </return-value>
42         <parameters>
43           <parameter name="buf" transfer-ownership="none">
44             <type name="Gst.Buffer" c:type="GstBuffer*"/>
45           </parameter>
46         </parameters>
47       </method>
48       <method name="peek" c:identifier="gst_adapter_peek">
49         <return-value transfer-ownership="none">
50           <array c:type="guint8*">
51             <type name="uint8"/>
52           </array>
53         </return-value>
54         <parameters>
55           <parameter name="size" transfer-ownership="none">
56             <type name="uint" c:type="guint"/>
57           </parameter>
58         </parameters>
59       </method>
60       <method name="copy" c:identifier="gst_adapter_copy">
61         <return-value transfer-ownership="none">
62           <type name="none" c:type="void"/>
63         </return-value>
64         <parameters>
65           <parameter name="dest" transfer-ownership="none">
66             <array c:type="guint8*">
67               <type name="uint8"/>
68             </array>
69           </parameter>
70           <parameter name="offset" transfer-ownership="none">
71             <type name="uint" c:type="guint"/>
72           </parameter>
73           <parameter name="size" transfer-ownership="none">
74             <type name="uint" c:type="guint"/>
75           </parameter>
76         </parameters>
77       </method>
78       <method name="flush" c:identifier="gst_adapter_flush">
79         <return-value transfer-ownership="none">
80           <type name="none" c:type="void"/>
81         </return-value>
82         <parameters>
83           <parameter name="flush" transfer-ownership="none">
84             <type name="uint" c:type="guint"/>
85           </parameter>
86         </parameters>
87       </method>
88       <method name="take" c:identifier="gst_adapter_take">
89         <return-value transfer-ownership="full">
90           <array c:type="guint8*">
91             <type name="uint8"/>
92           </array>
93         </return-value>
94         <parameters>
95           <parameter name="nbytes" transfer-ownership="none">
96             <type name="uint" c:type="guint"/>
97           </parameter>
98         </parameters>
99       </method>
100       <method name="take_buffer" c:identifier="gst_adapter_take_buffer">
101         <return-value transfer-ownership="full">
102           <type name="Gst.Buffer" c:type="GstBuffer*"/>
103         </return-value>
104         <parameters>
105           <parameter name="nbytes" transfer-ownership="none">
106             <type name="uint" c:type="guint"/>
107           </parameter>
108         </parameters>
109       </method>
110       <method name="available" c:identifier="gst_adapter_available">
111         <return-value transfer-ownership="none">
112           <type name="uint" c:type="guint"/>
113         </return-value>
114       </method>
115       <method name="available_fast" c:identifier="gst_adapter_available_fast">
116         <return-value transfer-ownership="none">
117           <type name="uint" c:type="guint"/>
118         </return-value>
119       </method>
120       <method name="prev_timestamp" c:identifier="gst_adapter_prev_timestamp">
121         <return-value transfer-ownership="full">
122           <type name="Gst.ClockTime" c:type="GstClockTime"/>
123         </return-value>
124         <parameters>
125           <parameter name="distance"
126                      direction="out"
127                      caller-allocates="0"
128                      transfer-ownership="full">
129             <type name="uint64" c:type="guint64*"/>
130           </parameter>
131         </parameters>
132       </method>
133       <method name="masked_scan_uint32"
134               c:identifier="gst_adapter_masked_scan_uint32">
135         <return-value transfer-ownership="none">
136           <type name="uint" c:type="guint"/>
137         </return-value>
138         <parameters>
139           <parameter name="mask" transfer-ownership="none">
140             <type name="uint32" c:type="guint32"/>
141           </parameter>
142           <parameter name="pattern" transfer-ownership="none">
143             <type name="uint32" c:type="guint32"/>
144           </parameter>
145           <parameter name="offset" transfer-ownership="none">
146             <type name="uint" c:type="guint"/>
147           </parameter>
148           <parameter name="size" transfer-ownership="none">
149             <type name="uint" c:type="guint"/>
150           </parameter>
151         </parameters>
152       </method>
153       <method name="masked_scan_uint32_peek"
154               c:identifier="gst_adapter_masked_scan_uint32_peek">
155         <return-value transfer-ownership="none">
156           <type name="uint" c:type="guint"/>
157         </return-value>
158         <parameters>
159           <parameter name="mask" transfer-ownership="none">
160             <type name="uint32" c:type="guint32"/>
161           </parameter>
162           <parameter name="pattern" transfer-ownership="none">
163             <type name="uint32" c:type="guint32"/>
164           </parameter>
165           <parameter name="offset" transfer-ownership="none">
166             <type name="uint" c:type="guint"/>
167           </parameter>
168           <parameter name="size" transfer-ownership="none">
169             <type name="uint" c:type="guint"/>
170           </parameter>
171           <parameter name="value"
172                      direction="out"
173                      caller-allocates="0"
174                      transfer-ownership="full">
175             <type name="uint32" c:type="guint32*"/>
176           </parameter>
177         </parameters>
178       </method>
179       <field name="object">
180         <type name="GObject.Object" c:type="GObject"/>
181       </field>
182       <field name="buflist">
183         <type name="GLib.SList" c:type="GSList*">
184           <type name="any" c:type="gpointer"/>
185         </type>
186       </field>
187       <field name="size">
188         <type name="uint" c:type="guint"/>
189       </field>
190       <field name="skip">
191         <type name="uint" c:type="guint"/>
192       </field>
193       <field name="assembled_data">
194         <type name="any" c:type="guint8*"/>
195       </field>
196       <field name="assembled_size">
197         <type name="uint" c:type="guint"/>
198       </field>
199       <field name="assembled_len">
200         <type name="uint" c:type="guint"/>
201       </field>
202       <field name="buflist_end">
203         <type name="GLib.SList" c:type="GSList*">
204           <type name="any" c:type="gpointer"/>
205         </type>
206       </field>
207       <field name="priv">
208         <type name="Gst.AdapterPrivate" c:type="GstAdapterPrivate*"/>
209       </field>
210       <field name="_gst_reserved">
211         <array zero-terminated="0" c:type="gpointer" fixed-size="2">
212           <type name="any"/>
213         </array>
214       </field>
215     </class>
216     <record name="GstAdapterClass"
217             c:type="GstAdapterClass"
218             glib:is-gtype-struct-for="GstAdapter">
219       <field name="parent_class">
220         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
221       </field>
222       <field name="_gst_reserved">
223         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
224           <type name="any"/>
225         </array>
226       </field>
227     </record>
228     <record name="GstAdapterPrivate" c:type="GstAdapterPrivate">
229     </record>
230     <record name="GstBitReader" c:type="GstBitReader">
231       <doc xml:whitespace="preserve">A bit reader instance.</doc>
232       <field name="data" writable="1">
233         <type name="any" c:type="guint8*"/>
234       </field>
235       <field name="size" writable="1">
236         <type name="uint" c:type="guint"/>
237       </field>
238       <field name="byte" writable="1">
239         <type name="uint" c:type="guint"/>
240       </field>
241       <field name="bit" writable="1">
242         <type name="uint" c:type="guint"/>
243       </field>
244       <constructor name="new" c:identifier="gst_bit_reader_new">
245         <return-value transfer-ownership="full">
246           <type name="GstBitReader" c:type="GstBitReader*"/>
247         </return-value>
248         <parameters>
249           <parameter name="data" transfer-ownership="none">
250             <array c:type="guint8*">
251               <type name="uint8"/>
252             </array>
253           </parameter>
254           <parameter name="size" transfer-ownership="none">
255             <type name="uint" c:type="guint"/>
256           </parameter>
257         </parameters>
258       </constructor>
259       <constructor name="new_from_buffer"
260                    c:identifier="gst_bit_reader_new_from_buffer">
261         <return-value transfer-ownership="full">
262           <type name="GstBitReader" c:type="GstBitReader*"/>
263         </return-value>
264         <parameters>
265           <parameter name="buffer" transfer-ownership="none">
266             <type name="Gst.Buffer" c:type="GstBuffer*"/>
267           </parameter>
268         </parameters>
269       </constructor>
270       <method name="free" c:identifier="gst_bit_reader_free">
271         <return-value transfer-ownership="none">
272           <type name="none" c:type="void"/>
273         </return-value>
274       </method>
275       <method name="init" c:identifier="gst_bit_reader_init">
276         <return-value transfer-ownership="none">
277           <type name="none" c:type="void"/>
278         </return-value>
279         <parameters>
280           <parameter name="data" transfer-ownership="none">
281             <array c:type="guint8*">
282               <type name="uint8"/>
283             </array>
284           </parameter>
285           <parameter name="size" transfer-ownership="none">
286             <type name="uint" c:type="guint"/>
287           </parameter>
288         </parameters>
289       </method>
290       <method name="init_from_buffer"
291               c:identifier="gst_bit_reader_init_from_buffer">
292         <return-value transfer-ownership="none">
293           <type name="none" c:type="void"/>
294         </return-value>
295         <parameters>
296           <parameter name="buffer" transfer-ownership="none">
297             <type name="Gst.Buffer" c:type="GstBuffer*"/>
298           </parameter>
299         </parameters>
300       </method>
301       <method name="set_pos" c:identifier="gst_bit_reader_set_pos">
302         <return-value transfer-ownership="none">
303           <type name="boolean" c:type="gboolean"/>
304         </return-value>
305         <parameters>
306           <parameter name="pos" transfer-ownership="none">
307             <type name="uint" c:type="guint"/>
308           </parameter>
309         </parameters>
310       </method>
311       <method name="get_pos" c:identifier="gst_bit_reader_get_pos">
312         <return-value transfer-ownership="none">
313           <type name="uint" c:type="guint"/>
314         </return-value>
315       </method>
316       <method name="get_remaining" c:identifier="gst_bit_reader_get_remaining">
317         <return-value transfer-ownership="none">
318           <type name="uint" c:type="guint"/>
319         </return-value>
320       </method>
321       <method name="get_size" c:identifier="gst_bit_reader_get_size">
322         <return-value transfer-ownership="none">
323           <type name="uint" c:type="guint"/>
324         </return-value>
325       </method>
326       <method name="skip" c:identifier="gst_bit_reader_skip">
327         <return-value transfer-ownership="none">
328           <type name="boolean" c:type="gboolean"/>
329         </return-value>
330         <parameters>
331           <parameter name="nbits" transfer-ownership="none">
332             <type name="uint" c:type="guint"/>
333           </parameter>
334         </parameters>
335       </method>
336       <method name="skip_to_byte" c:identifier="gst_bit_reader_skip_to_byte">
337         <return-value transfer-ownership="none">
338           <type name="boolean" c:type="gboolean"/>
339         </return-value>
340       </method>
341       <method name="get_bits_uint8"
342               c:identifier="gst_bit_reader_get_bits_uint8">
343         <return-value transfer-ownership="none">
344           <type name="boolean" c:type="gboolean"/>
345         </return-value>
346         <parameters>
347           <parameter name="val" transfer-ownership="none">
348             <array c:type="guint8*">
349               <type name="uint8"/>
350             </array>
351           </parameter>
352           <parameter name="nbits" transfer-ownership="none">
353             <type name="uint" c:type="guint"/>
354           </parameter>
355         </parameters>
356       </method>
357       <method name="get_bits_uint16"
358               c:identifier="gst_bit_reader_get_bits_uint16">
359         <return-value transfer-ownership="none">
360           <type name="boolean" c:type="gboolean"/>
361         </return-value>
362         <parameters>
363           <parameter name="val"
364                      direction="out"
365                      caller-allocates="0"
366                      transfer-ownership="full">
367             <type name="uint16" c:type="guint16*"/>
368           </parameter>
369           <parameter name="nbits" transfer-ownership="none">
370             <type name="uint" c:type="guint"/>
371           </parameter>
372         </parameters>
373       </method>
374       <method name="get_bits_uint32"
375               c:identifier="gst_bit_reader_get_bits_uint32">
376         <return-value transfer-ownership="none">
377           <type name="boolean" c:type="gboolean"/>
378         </return-value>
379         <parameters>
380           <parameter name="val"
381                      direction="out"
382                      caller-allocates="0"
383                      transfer-ownership="full">
384             <type name="uint32" c:type="guint32*"/>
385           </parameter>
386           <parameter name="nbits" transfer-ownership="none">
387             <type name="uint" c:type="guint"/>
388           </parameter>
389         </parameters>
390       </method>
391       <method name="get_bits_uint64"
392               c:identifier="gst_bit_reader_get_bits_uint64">
393         <return-value transfer-ownership="none">
394           <type name="boolean" c:type="gboolean"/>
395         </return-value>
396         <parameters>
397           <parameter name="val"
398                      direction="out"
399                      caller-allocates="0"
400                      transfer-ownership="full">
401             <type name="uint64" c:type="guint64*"/>
402           </parameter>
403           <parameter name="nbits" transfer-ownership="none">
404             <type name="uint" c:type="guint"/>
405           </parameter>
406         </parameters>
407       </method>
408       <method name="peek_bits_uint8"
409               c:identifier="gst_bit_reader_peek_bits_uint8">
410         <return-value transfer-ownership="none">
411           <type name="boolean" c:type="gboolean"/>
412         </return-value>
413         <parameters>
414           <parameter name="val" transfer-ownership="none">
415             <array c:type="guint8*">
416               <type name="uint8"/>
417             </array>
418           </parameter>
419           <parameter name="nbits" transfer-ownership="none">
420             <type name="uint" c:type="guint"/>
421           </parameter>
422         </parameters>
423       </method>
424       <method name="peek_bits_uint16"
425               c:identifier="gst_bit_reader_peek_bits_uint16">
426         <return-value transfer-ownership="none">
427           <type name="boolean" c:type="gboolean"/>
428         </return-value>
429         <parameters>
430           <parameter name="val"
431                      direction="out"
432                      caller-allocates="0"
433                      transfer-ownership="full">
434             <type name="uint16" c:type="guint16*"/>
435           </parameter>
436           <parameter name="nbits" transfer-ownership="none">
437             <type name="uint" c:type="guint"/>
438           </parameter>
439         </parameters>
440       </method>
441       <method name="peek_bits_uint32"
442               c:identifier="gst_bit_reader_peek_bits_uint32">
443         <return-value transfer-ownership="none">
444           <type name="boolean" c:type="gboolean"/>
445         </return-value>
446         <parameters>
447           <parameter name="val"
448                      direction="out"
449                      caller-allocates="0"
450                      transfer-ownership="full">
451             <type name="uint32" c:type="guint32*"/>
452           </parameter>
453           <parameter name="nbits" transfer-ownership="none">
454             <type name="uint" c:type="guint"/>
455           </parameter>
456         </parameters>
457       </method>
458       <method name="peek_bits_uint64"
459               c:identifier="gst_bit_reader_peek_bits_uint64">
460         <return-value transfer-ownership="none">
461           <type name="boolean" c:type="gboolean"/>
462         </return-value>
463         <parameters>
464           <parameter name="val"
465                      direction="out"
466                      caller-allocates="0"
467                      transfer-ownership="full">
468             <type name="uint64" c:type="guint64*"/>
469           </parameter>
470           <parameter name="nbits" transfer-ownership="none">
471             <type name="uint" c:type="guint"/>
472           </parameter>
473         </parameters>
474       </method>
475     </record>
476     <record name="GstByteReader" c:type="GstByteReader">
477       <doc xml:whitespace="preserve">A byte reader instance.</doc>
478       <field name="data" writable="1">
479         <type name="any" c:type="guint8*"/>
480       </field>
481       <field name="size" writable="1">
482         <type name="uint" c:type="guint"/>
483       </field>
484       <field name="byte" writable="1">
485         <type name="uint" c:type="guint"/>
486       </field>
487       <constructor name="new" c:identifier="gst_byte_reader_new">
488         <return-value transfer-ownership="full">
489           <type name="GstByteReader" c:type="GstByteReader*"/>
490         </return-value>
491         <parameters>
492           <parameter name="data" transfer-ownership="none">
493             <array c:type="guint8*">
494               <type name="uint8"/>
495             </array>
496           </parameter>
497           <parameter name="size" transfer-ownership="none">
498             <type name="uint" c:type="guint"/>
499           </parameter>
500         </parameters>
501       </constructor>
502       <constructor name="new_from_buffer"
503                    c:identifier="gst_byte_reader_new_from_buffer">
504         <return-value transfer-ownership="full">
505           <type name="GstByteReader" c:type="GstByteReader*"/>
506         </return-value>
507         <parameters>
508           <parameter name="buffer" transfer-ownership="none">
509             <type name="Gst.Buffer" c:type="GstBuffer*"/>
510           </parameter>
511         </parameters>
512       </constructor>
513       <method name="free" c:identifier="gst_byte_reader_free">
514         <return-value transfer-ownership="none">
515           <type name="none" c:type="void"/>
516         </return-value>
517       </method>
518       <method name="init" c:identifier="gst_byte_reader_init">
519         <return-value transfer-ownership="none">
520           <type name="none" c:type="void"/>
521         </return-value>
522         <parameters>
523           <parameter name="data" transfer-ownership="none">
524             <array c:type="guint8*">
525               <type name="uint8"/>
526             </array>
527           </parameter>
528           <parameter name="size" transfer-ownership="none">
529             <type name="uint" c:type="guint"/>
530           </parameter>
531         </parameters>
532       </method>
533       <method name="init_from_buffer"
534               c:identifier="gst_byte_reader_init_from_buffer">
535         <return-value transfer-ownership="none">
536           <type name="none" c:type="void"/>
537         </return-value>
538         <parameters>
539           <parameter name="buffer" transfer-ownership="none">
540             <type name="Gst.Buffer" c:type="GstBuffer*"/>
541           </parameter>
542         </parameters>
543       </method>
544       <method name="set_pos" c:identifier="gst_byte_reader_set_pos">
545         <return-value transfer-ownership="none">
546           <type name="boolean" c:type="gboolean"/>
547         </return-value>
548         <parameters>
549           <parameter name="pos" transfer-ownership="none">
550             <type name="uint" c:type="guint"/>
551           </parameter>
552         </parameters>
553       </method>
554       <method name="get_pos" c:identifier="gst_byte_reader_get_pos">
555         <return-value transfer-ownership="none">
556           <type name="uint" c:type="guint"/>
557         </return-value>
558       </method>
559       <method name="get_remaining"
560               c:identifier="gst_byte_reader_get_remaining">
561         <return-value transfer-ownership="none">
562           <type name="uint" c:type="guint"/>
563         </return-value>
564       </method>
565       <method name="get_size" c:identifier="gst_byte_reader_get_size">
566         <return-value transfer-ownership="none">
567           <type name="uint" c:type="guint"/>
568         </return-value>
569       </method>
570       <method name="skip" c:identifier="gst_byte_reader_skip">
571         <return-value transfer-ownership="none">
572           <type name="boolean" c:type="gboolean"/>
573         </return-value>
574         <parameters>
575           <parameter name="nbytes" transfer-ownership="none">
576             <type name="uint" c:type="guint"/>
577           </parameter>
578         </parameters>
579       </method>
580       <method name="get_uint8" c:identifier="gst_byte_reader_get_uint8">
581         <return-value transfer-ownership="none">
582           <type name="boolean" c:type="gboolean"/>
583         </return-value>
584         <parameters>
585           <parameter name="val" transfer-ownership="none">
586             <array c:type="guint8*">
587               <type name="uint8"/>
588             </array>
589           </parameter>
590         </parameters>
591       </method>
592       <method name="get_int8" c:identifier="gst_byte_reader_get_int8">
593         <return-value transfer-ownership="none">
594           <type name="boolean" c:type="gboolean"/>
595         </return-value>
596         <parameters>
597           <parameter name="val"
598                      direction="out"
599                      caller-allocates="0"
600                      transfer-ownership="full">
601             <type name="int8" c:type="gint8*"/>
602           </parameter>
603         </parameters>
604       </method>
605       <method name="get_uint16_le"
606               c:identifier="gst_byte_reader_get_uint16_le">
607         <return-value transfer-ownership="none">
608           <type name="boolean" c:type="gboolean"/>
609         </return-value>
610         <parameters>
611           <parameter name="val"
612                      direction="out"
613                      caller-allocates="0"
614                      transfer-ownership="full">
615             <type name="uint16" c:type="guint16*"/>
616           </parameter>
617         </parameters>
618       </method>
619       <method name="get_int16_le" c:identifier="gst_byte_reader_get_int16_le">
620         <return-value transfer-ownership="none">
621           <type name="boolean" c:type="gboolean"/>
622         </return-value>
623         <parameters>
624           <parameter name="val"
625                      direction="out"
626                      caller-allocates="0"
627                      transfer-ownership="full">
628             <type name="int16" c:type="gint16*"/>
629           </parameter>
630         </parameters>
631       </method>
632       <method name="get_uint16_be"
633               c:identifier="gst_byte_reader_get_uint16_be">
634         <return-value transfer-ownership="none">
635           <type name="boolean" c:type="gboolean"/>
636         </return-value>
637         <parameters>
638           <parameter name="val"
639                      direction="out"
640                      caller-allocates="0"
641                      transfer-ownership="full">
642             <type name="uint16" c:type="guint16*"/>
643           </parameter>
644         </parameters>
645       </method>
646       <method name="get_int16_be" c:identifier="gst_byte_reader_get_int16_be">
647         <return-value transfer-ownership="none">
648           <type name="boolean" c:type="gboolean"/>
649         </return-value>
650         <parameters>
651           <parameter name="val"
652                      direction="out"
653                      caller-allocates="0"
654                      transfer-ownership="full">
655             <type name="int16" c:type="gint16*"/>
656           </parameter>
657         </parameters>
658       </method>
659       <method name="get_uint24_le"
660               c:identifier="gst_byte_reader_get_uint24_le">
661         <return-value transfer-ownership="none">
662           <type name="boolean" c:type="gboolean"/>
663         </return-value>
664         <parameters>
665           <parameter name="val"
666                      direction="out"
667                      caller-allocates="0"
668                      transfer-ownership="full">
669             <type name="uint32" c:type="guint32*"/>
670           </parameter>
671         </parameters>
672       </method>
673       <method name="get_int24_le" c:identifier="gst_byte_reader_get_int24_le">
674         <return-value transfer-ownership="none">
675           <type name="boolean" c:type="gboolean"/>
676         </return-value>
677         <parameters>
678           <parameter name="val"
679                      direction="out"
680                      caller-allocates="0"
681                      transfer-ownership="full">
682             <type name="int32" c:type="gint32*"/>
683           </parameter>
684         </parameters>
685       </method>
686       <method name="get_uint24_be"
687               c:identifier="gst_byte_reader_get_uint24_be">
688         <return-value transfer-ownership="none">
689           <type name="boolean" c:type="gboolean"/>
690         </return-value>
691         <parameters>
692           <parameter name="val"
693                      direction="out"
694                      caller-allocates="0"
695                      transfer-ownership="full">
696             <type name="uint32" c:type="guint32*"/>
697           </parameter>
698         </parameters>
699       </method>
700       <method name="get_int24_be" c:identifier="gst_byte_reader_get_int24_be">
701         <return-value transfer-ownership="none">
702           <type name="boolean" c:type="gboolean"/>
703         </return-value>
704         <parameters>
705           <parameter name="val"
706                      direction="out"
707                      caller-allocates="0"
708                      transfer-ownership="full">
709             <type name="int32" c:type="gint32*"/>
710           </parameter>
711         </parameters>
712       </method>
713       <method name="get_uint32_le"
714               c:identifier="gst_byte_reader_get_uint32_le">
715         <return-value transfer-ownership="none">
716           <type name="boolean" c:type="gboolean"/>
717         </return-value>
718         <parameters>
719           <parameter name="val"
720                      direction="out"
721                      caller-allocates="0"
722                      transfer-ownership="full">
723             <type name="uint32" c:type="guint32*"/>
724           </parameter>
725         </parameters>
726       </method>
727       <method name="get_int32_le" c:identifier="gst_byte_reader_get_int32_le">
728         <return-value transfer-ownership="none">
729           <type name="boolean" c:type="gboolean"/>
730         </return-value>
731         <parameters>
732           <parameter name="val"
733                      direction="out"
734                      caller-allocates="0"
735                      transfer-ownership="full">
736             <type name="int32" c:type="gint32*"/>
737           </parameter>
738         </parameters>
739       </method>
740       <method name="get_uint32_be"
741               c:identifier="gst_byte_reader_get_uint32_be">
742         <return-value transfer-ownership="none">
743           <type name="boolean" c:type="gboolean"/>
744         </return-value>
745         <parameters>
746           <parameter name="val"
747                      direction="out"
748                      caller-allocates="0"
749                      transfer-ownership="full">
750             <type name="uint32" c:type="guint32*"/>
751           </parameter>
752         </parameters>
753       </method>
754       <method name="get_int32_be" c:identifier="gst_byte_reader_get_int32_be">
755         <return-value transfer-ownership="none">
756           <type name="boolean" c:type="gboolean"/>
757         </return-value>
758         <parameters>
759           <parameter name="val"
760                      direction="out"
761                      caller-allocates="0"
762                      transfer-ownership="full">
763             <type name="int32" c:type="gint32*"/>
764           </parameter>
765         </parameters>
766       </method>
767       <method name="get_uint64_le"
768               c:identifier="gst_byte_reader_get_uint64_le">
769         <return-value transfer-ownership="none">
770           <type name="boolean" c:type="gboolean"/>
771         </return-value>
772         <parameters>
773           <parameter name="val"
774                      direction="out"
775                      caller-allocates="0"
776                      transfer-ownership="full">
777             <type name="uint64" c:type="guint64*"/>
778           </parameter>
779         </parameters>
780       </method>
781       <method name="get_int64_le" c:identifier="gst_byte_reader_get_int64_le">
782         <return-value transfer-ownership="none">
783           <type name="boolean" c:type="gboolean"/>
784         </return-value>
785         <parameters>
786           <parameter name="val"
787                      direction="out"
788                      caller-allocates="0"
789                      transfer-ownership="full">
790             <type name="int64" c:type="gint64*"/>
791           </parameter>
792         </parameters>
793       </method>
794       <method name="get_uint64_be"
795               c:identifier="gst_byte_reader_get_uint64_be">
796         <return-value transfer-ownership="none">
797           <type name="boolean" c:type="gboolean"/>
798         </return-value>
799         <parameters>
800           <parameter name="val"
801                      direction="out"
802                      caller-allocates="0"
803                      transfer-ownership="full">
804             <type name="uint64" c:type="guint64*"/>
805           </parameter>
806         </parameters>
807       </method>
808       <method name="get_int64_be" c:identifier="gst_byte_reader_get_int64_be">
809         <return-value transfer-ownership="none">
810           <type name="boolean" c:type="gboolean"/>
811         </return-value>
812         <parameters>
813           <parameter name="val"
814                      direction="out"
815                      caller-allocates="0"
816                      transfer-ownership="full">
817             <type name="int64" c:type="gint64*"/>
818           </parameter>
819         </parameters>
820       </method>
821       <method name="peek_uint8" c:identifier="gst_byte_reader_peek_uint8">
822         <return-value transfer-ownership="none">
823           <type name="boolean" c:type="gboolean"/>
824         </return-value>
825         <parameters>
826           <parameter name="val" transfer-ownership="none">
827             <array c:type="guint8*">
828               <type name="uint8"/>
829             </array>
830           </parameter>
831         </parameters>
832       </method>
833       <method name="peek_int8" c:identifier="gst_byte_reader_peek_int8">
834         <return-value transfer-ownership="none">
835           <type name="boolean" c:type="gboolean"/>
836         </return-value>
837         <parameters>
838           <parameter name="val"
839                      direction="out"
840                      caller-allocates="0"
841                      transfer-ownership="full">
842             <type name="int8" c:type="gint8*"/>
843           </parameter>
844         </parameters>
845       </method>
846       <method name="peek_uint16_le"
847               c:identifier="gst_byte_reader_peek_uint16_le">
848         <return-value transfer-ownership="none">
849           <type name="boolean" c:type="gboolean"/>
850         </return-value>
851         <parameters>
852           <parameter name="val"
853                      direction="out"
854                      caller-allocates="0"
855                      transfer-ownership="full">
856             <type name="uint16" c:type="guint16*"/>
857           </parameter>
858         </parameters>
859       </method>
860       <method name="peek_int16_le"
861               c:identifier="gst_byte_reader_peek_int16_le">
862         <return-value transfer-ownership="none">
863           <type name="boolean" c:type="gboolean"/>
864         </return-value>
865         <parameters>
866           <parameter name="val"
867                      direction="out"
868                      caller-allocates="0"
869                      transfer-ownership="full">
870             <type name="int16" c:type="gint16*"/>
871           </parameter>
872         </parameters>
873       </method>
874       <method name="peek_uint16_be"
875               c:identifier="gst_byte_reader_peek_uint16_be">
876         <return-value transfer-ownership="none">
877           <type name="boolean" c:type="gboolean"/>
878         </return-value>
879         <parameters>
880           <parameter name="val"
881                      direction="out"
882                      caller-allocates="0"
883                      transfer-ownership="full">
884             <type name="uint16" c:type="guint16*"/>
885           </parameter>
886         </parameters>
887       </method>
888       <method name="peek_int16_be"
889               c:identifier="gst_byte_reader_peek_int16_be">
890         <return-value transfer-ownership="none">
891           <type name="boolean" c:type="gboolean"/>
892         </return-value>
893         <parameters>
894           <parameter name="val"
895                      direction="out"
896                      caller-allocates="0"
897                      transfer-ownership="full">
898             <type name="int16" c:type="gint16*"/>
899           </parameter>
900         </parameters>
901       </method>
902       <method name="peek_uint24_le"
903               c:identifier="gst_byte_reader_peek_uint24_le">
904         <return-value transfer-ownership="none">
905           <type name="boolean" c:type="gboolean"/>
906         </return-value>
907         <parameters>
908           <parameter name="val"
909                      direction="out"
910                      caller-allocates="0"
911                      transfer-ownership="full">
912             <type name="uint32" c:type="guint32*"/>
913           </parameter>
914         </parameters>
915       </method>
916       <method name="peek_int24_le"
917               c:identifier="gst_byte_reader_peek_int24_le">
918         <return-value transfer-ownership="none">
919           <type name="boolean" c:type="gboolean"/>
920         </return-value>
921         <parameters>
922           <parameter name="val"
923                      direction="out"
924                      caller-allocates="0"
925                      transfer-ownership="full">
926             <type name="int32" c:type="gint32*"/>
927           </parameter>
928         </parameters>
929       </method>
930       <method name="peek_uint24_be"
931               c:identifier="gst_byte_reader_peek_uint24_be">
932         <return-value transfer-ownership="none">
933           <type name="boolean" c:type="gboolean"/>
934         </return-value>
935         <parameters>
936           <parameter name="val"
937                      direction="out"
938                      caller-allocates="0"
939                      transfer-ownership="full">
940             <type name="uint32" c:type="guint32*"/>
941           </parameter>
942         </parameters>
943       </method>
944       <method name="peek_int24_be"
945               c:identifier="gst_byte_reader_peek_int24_be">
946         <return-value transfer-ownership="none">
947           <type name="boolean" c:type="gboolean"/>
948         </return-value>
949         <parameters>
950           <parameter name="val"
951                      direction="out"
952                      caller-allocates="0"
953                      transfer-ownership="full">
954             <type name="int32" c:type="gint32*"/>
955           </parameter>
956         </parameters>
957       </method>
958       <method name="peek_uint32_le"
959               c:identifier="gst_byte_reader_peek_uint32_le">
960         <return-value transfer-ownership="none">
961           <type name="boolean" c:type="gboolean"/>
962         </return-value>
963         <parameters>
964           <parameter name="val"
965                      direction="out"
966                      caller-allocates="0"
967                      transfer-ownership="full">
968             <type name="uint32" c:type="guint32*"/>
969           </parameter>
970         </parameters>
971       </method>
972       <method name="peek_int32_le"
973               c:identifier="gst_byte_reader_peek_int32_le">
974         <return-value transfer-ownership="none">
975           <type name="boolean" c:type="gboolean"/>
976         </return-value>
977         <parameters>
978           <parameter name="val"
979                      direction="out"
980                      caller-allocates="0"
981                      transfer-ownership="full">
982             <type name="int32" c:type="gint32*"/>
983           </parameter>
984         </parameters>
985       </method>
986       <method name="peek_uint32_be"
987               c:identifier="gst_byte_reader_peek_uint32_be">
988         <return-value transfer-ownership="none">
989           <type name="boolean" c:type="gboolean"/>
990         </return-value>
991         <parameters>
992           <parameter name="val"
993                      direction="out"
994                      caller-allocates="0"
995                      transfer-ownership="full">
996             <type name="uint32" c:type="guint32*"/>
997           </parameter>
998         </parameters>
999       </method>
1000       <method name="peek_int32_be"
1001               c:identifier="gst_byte_reader_peek_int32_be">
1002         <return-value transfer-ownership="none">
1003           <type name="boolean" c:type="gboolean"/>
1004         </return-value>
1005         <parameters>
1006           <parameter name="val"
1007                      direction="out"
1008                      caller-allocates="0"
1009                      transfer-ownership="full">
1010             <type name="int32" c:type="gint32*"/>
1011           </parameter>
1012         </parameters>
1013       </method>
1014       <method name="peek_uint64_le"
1015               c:identifier="gst_byte_reader_peek_uint64_le">
1016         <return-value transfer-ownership="none">
1017           <type name="boolean" c:type="gboolean"/>
1018         </return-value>
1019         <parameters>
1020           <parameter name="val"
1021                      direction="out"
1022                      caller-allocates="0"
1023                      transfer-ownership="full">
1024             <type name="uint64" c:type="guint64*"/>
1025           </parameter>
1026         </parameters>
1027       </method>
1028       <method name="peek_int64_le"
1029               c:identifier="gst_byte_reader_peek_int64_le">
1030         <return-value transfer-ownership="none">
1031           <type name="boolean" c:type="gboolean"/>
1032         </return-value>
1033         <parameters>
1034           <parameter name="val"
1035                      direction="out"
1036                      caller-allocates="0"
1037                      transfer-ownership="full">
1038             <type name="int64" c:type="gint64*"/>
1039           </parameter>
1040         </parameters>
1041       </method>
1042       <method name="peek_uint64_be"
1043               c:identifier="gst_byte_reader_peek_uint64_be">
1044         <return-value transfer-ownership="none">
1045           <type name="boolean" c:type="gboolean"/>
1046         </return-value>
1047         <parameters>
1048           <parameter name="val"
1049                      direction="out"
1050                      caller-allocates="0"
1051                      transfer-ownership="full">
1052             <type name="uint64" c:type="guint64*"/>
1053           </parameter>
1054         </parameters>
1055       </method>
1056       <method name="peek_int64_be"
1057               c:identifier="gst_byte_reader_peek_int64_be">
1058         <return-value transfer-ownership="none">
1059           <type name="boolean" c:type="gboolean"/>
1060         </return-value>
1061         <parameters>
1062           <parameter name="val"
1063                      direction="out"
1064                      caller-allocates="0"
1065                      transfer-ownership="full">
1066             <type name="int64" c:type="gint64*"/>
1067           </parameter>
1068         </parameters>
1069       </method>
1070       <method name="get_float32_le"
1071               c:identifier="gst_byte_reader_get_float32_le">
1072         <return-value transfer-ownership="none">
1073           <type name="boolean" c:type="gboolean"/>
1074         </return-value>
1075         <parameters>
1076           <parameter name="val"
1077                      direction="out"
1078                      caller-allocates="0"
1079                      transfer-ownership="full">
1080             <type name="float" c:type="gfloat*"/>
1081           </parameter>
1082         </parameters>
1083       </method>
1084       <method name="get_float32_be"
1085               c:identifier="gst_byte_reader_get_float32_be">
1086         <return-value transfer-ownership="none">
1087           <type name="boolean" c:type="gboolean"/>
1088         </return-value>
1089         <parameters>
1090           <parameter name="val"
1091                      direction="out"
1092                      caller-allocates="0"
1093                      transfer-ownership="full">
1094             <type name="float" c:type="gfloat*"/>
1095           </parameter>
1096         </parameters>
1097       </method>
1098       <method name="get_float64_le"
1099               c:identifier="gst_byte_reader_get_float64_le">
1100         <return-value transfer-ownership="none">
1101           <type name="boolean" c:type="gboolean"/>
1102         </return-value>
1103         <parameters>
1104           <parameter name="val"
1105                      direction="out"
1106                      caller-allocates="0"
1107                      transfer-ownership="full">
1108             <type name="double" c:type="gdouble*"/>
1109           </parameter>
1110         </parameters>
1111       </method>
1112       <method name="get_float64_be"
1113               c:identifier="gst_byte_reader_get_float64_be">
1114         <return-value transfer-ownership="none">
1115           <type name="boolean" c:type="gboolean"/>
1116         </return-value>
1117         <parameters>
1118           <parameter name="val"
1119                      direction="out"
1120                      caller-allocates="0"
1121                      transfer-ownership="full">
1122             <type name="double" c:type="gdouble*"/>
1123           </parameter>
1124         </parameters>
1125       </method>
1126       <method name="peek_float32_le"
1127               c:identifier="gst_byte_reader_peek_float32_le">
1128         <return-value transfer-ownership="none">
1129           <type name="boolean" c:type="gboolean"/>
1130         </return-value>
1131         <parameters>
1132           <parameter name="val"
1133                      direction="out"
1134                      caller-allocates="0"
1135                      transfer-ownership="full">
1136             <type name="float" c:type="gfloat*"/>
1137           </parameter>
1138         </parameters>
1139       </method>
1140       <method name="peek_float32_be"
1141               c:identifier="gst_byte_reader_peek_float32_be">
1142         <return-value transfer-ownership="none">
1143           <type name="boolean" c:type="gboolean"/>
1144         </return-value>
1145         <parameters>
1146           <parameter name="val"
1147                      direction="out"
1148                      caller-allocates="0"
1149                      transfer-ownership="full">
1150             <type name="float" c:type="gfloat*"/>
1151           </parameter>
1152         </parameters>
1153       </method>
1154       <method name="peek_float64_le"
1155               c:identifier="gst_byte_reader_peek_float64_le">
1156         <return-value transfer-ownership="none">
1157           <type name="boolean" c:type="gboolean"/>
1158         </return-value>
1159         <parameters>
1160           <parameter name="val"
1161                      direction="out"
1162                      caller-allocates="0"
1163                      transfer-ownership="full">
1164             <type name="double" c:type="gdouble*"/>
1165           </parameter>
1166         </parameters>
1167       </method>
1168       <method name="peek_float64_be"
1169               c:identifier="gst_byte_reader_peek_float64_be">
1170         <return-value transfer-ownership="none">
1171           <type name="boolean" c:type="gboolean"/>
1172         </return-value>
1173         <parameters>
1174           <parameter name="val"
1175                      direction="out"
1176                      caller-allocates="0"
1177                      transfer-ownership="full">
1178             <type name="double" c:type="gdouble*"/>
1179           </parameter>
1180         </parameters>
1181       </method>
1182       <method name="dup_data" c:identifier="gst_byte_reader_dup_data">
1183         <return-value transfer-ownership="none">
1184           <type name="boolean" c:type="gboolean"/>
1185         </return-value>
1186         <parameters>
1187           <parameter name="size" transfer-ownership="none">
1188             <type name="uint" c:type="guint"/>
1189           </parameter>
1190           <parameter name="val"
1191                      direction="out"
1192                      caller-allocates="0"
1193                      transfer-ownership="full">
1194             <type name="uint8" c:type="guint8**"/>
1195           </parameter>
1196         </parameters>
1197       </method>
1198       <method name="get_data" c:identifier="gst_byte_reader_get_data">
1199         <return-value transfer-ownership="none">
1200           <type name="boolean" c:type="gboolean"/>
1201         </return-value>
1202         <parameters>
1203           <parameter name="size" transfer-ownership="none">
1204             <type name="uint" c:type="guint"/>
1205           </parameter>
1206           <parameter name="val"
1207                      direction="out"
1208                      caller-allocates="0"
1209                      transfer-ownership="full">
1210             <type name="uint8" c:type="guint8**"/>
1211           </parameter>
1212         </parameters>
1213       </method>
1214       <method name="peek_data" c:identifier="gst_byte_reader_peek_data">
1215         <return-value transfer-ownership="none">
1216           <type name="boolean" c:type="gboolean"/>
1217         </return-value>
1218         <parameters>
1219           <parameter name="size" transfer-ownership="none">
1220             <type name="uint" c:type="guint"/>
1221           </parameter>
1222           <parameter name="val"
1223                      direction="out"
1224                      caller-allocates="0"
1225                      transfer-ownership="full">
1226             <type name="uint8" c:type="guint8**"/>
1227           </parameter>
1228         </parameters>
1229       </method>
1230       <method name="dup_string_utf8"
1231               c:identifier="gst_byte_reader_dup_string_utf8">
1232         <return-value transfer-ownership="none">
1233           <type name="boolean" c:type="gboolean"/>
1234         </return-value>
1235         <parameters>
1236           <parameter name="str" transfer-ownership="none">
1237             <array c:type="gchar**">
1238               <type name="utf8"/>
1239             </array>
1240           </parameter>
1241         </parameters>
1242       </method>
1243       <method name="dup_string_utf16"
1244               c:identifier="gst_byte_reader_dup_string_utf16">
1245         <return-value transfer-ownership="none">
1246           <type name="boolean" c:type="gboolean"/>
1247         </return-value>
1248         <parameters>
1249           <parameter name="str"
1250                      direction="out"
1251                      caller-allocates="0"
1252                      transfer-ownership="full">
1253             <type name="uint16" c:type="guint16**"/>
1254           </parameter>
1255         </parameters>
1256       </method>
1257       <method name="dup_string_utf32"
1258               c:identifier="gst_byte_reader_dup_string_utf32">
1259         <return-value transfer-ownership="none">
1260           <type name="boolean" c:type="gboolean"/>
1261         </return-value>
1262         <parameters>
1263           <parameter name="str"
1264                      direction="out"
1265                      caller-allocates="0"
1266                      transfer-ownership="full">
1267             <type name="uint32" c:type="guint32**"/>
1268           </parameter>
1269         </parameters>
1270       </method>
1271       <method name="skip_string_utf8"
1272               c:identifier="gst_byte_reader_skip_string_utf8">
1273         <return-value transfer-ownership="none">
1274           <type name="boolean" c:type="gboolean"/>
1275         </return-value>
1276       </method>
1277       <method name="skip_string_utf16"
1278               c:identifier="gst_byte_reader_skip_string_utf16">
1279         <return-value transfer-ownership="none">
1280           <type name="boolean" c:type="gboolean"/>
1281         </return-value>
1282       </method>
1283       <method name="skip_string_utf32"
1284               c:identifier="gst_byte_reader_skip_string_utf32">
1285         <return-value transfer-ownership="none">
1286           <type name="boolean" c:type="gboolean"/>
1287         </return-value>
1288       </method>
1289       <method name="get_string_utf8"
1290               c:identifier="gst_byte_reader_get_string_utf8">
1291         <return-value transfer-ownership="none">
1292           <type name="boolean" c:type="gboolean"/>
1293         </return-value>
1294         <parameters>
1295           <parameter name="str" transfer-ownership="none">
1296             <array c:type="gchar**">
1297               <type name="utf8"/>
1298             </array>
1299           </parameter>
1300         </parameters>
1301       </method>
1302       <method name="peek_string_utf8"
1303               c:identifier="gst_byte_reader_peek_string_utf8">
1304         <return-value transfer-ownership="none">
1305           <type name="boolean" c:type="gboolean"/>
1306         </return-value>
1307         <parameters>
1308           <parameter name="str" transfer-ownership="none">
1309             <array c:type="gchar**">
1310               <type name="utf8"/>
1311             </array>
1312           </parameter>
1313         </parameters>
1314       </method>
1315       <method name="masked_scan_uint32"
1316               c:identifier="gst_byte_reader_masked_scan_uint32">
1317         <return-value transfer-ownership="none">
1318           <type name="uint" c:type="guint"/>
1319         </return-value>
1320         <parameters>
1321           <parameter name="mask" transfer-ownership="none">
1322             <type name="uint32" c:type="guint32"/>
1323           </parameter>
1324           <parameter name="pattern" transfer-ownership="none">
1325             <type name="uint32" c:type="guint32"/>
1326           </parameter>
1327           <parameter name="offset" transfer-ownership="none">
1328             <type name="uint" c:type="guint"/>
1329           </parameter>
1330           <parameter name="size" transfer-ownership="none">
1331             <type name="uint" c:type="guint"/>
1332           </parameter>
1333         </parameters>
1334       </method>
1335     </record>
1336     <record name="GstByteWriter" c:type="GstByteWriter">
1337       <doc xml:whitespace="preserve">A byte writer instance.</doc>
1338       <field name="parent" writable="1">
1339         <type name="Gst.ByteReader" c:type="GstByteReader"/>
1340       </field>
1341       <field name="alloc_size" writable="1">
1342         <type name="uint" c:type="guint"/>
1343       </field>
1344       <field name="fixed" writable="1">
1345         <type name="boolean" c:type="gboolean"/>
1346       </field>
1347       <field name="owned" writable="1">
1348         <type name="boolean" c:type="gboolean"/>
1349       </field>
1350       <constructor name="new" c:identifier="gst_byte_writer_new">
1351         <return-value transfer-ownership="full">
1352           <type name="GstByteWriter" c:type="GstByteWriter*"/>
1353         </return-value>
1354       </constructor>
1355       <constructor name="new_with_size"
1356                    c:identifier="gst_byte_writer_new_with_size">
1357         <return-value transfer-ownership="full">
1358           <type name="GstByteWriter" c:type="GstByteWriter*"/>
1359         </return-value>
1360         <parameters>
1361           <parameter name="size" transfer-ownership="none">
1362             <type name="uint" c:type="guint"/>
1363           </parameter>
1364           <parameter name="fixed" transfer-ownership="none">
1365             <type name="boolean" c:type="gboolean"/>
1366           </parameter>
1367         </parameters>
1368       </constructor>
1369       <constructor name="new_with_data"
1370                    c:identifier="gst_byte_writer_new_with_data">
1371         <return-value transfer-ownership="full">
1372           <type name="GstByteWriter" c:type="GstByteWriter*"/>
1373         </return-value>
1374         <parameters>
1375           <parameter name="data" transfer-ownership="none">
1376             <array c:type="guint8*">
1377               <type name="uint8"/>
1378             </array>
1379           </parameter>
1380           <parameter name="size" transfer-ownership="none">
1381             <type name="uint" c:type="guint"/>
1382           </parameter>
1383           <parameter name="initialized" transfer-ownership="none">
1384             <type name="boolean" c:type="gboolean"/>
1385           </parameter>
1386         </parameters>
1387       </constructor>
1388       <constructor name="new_with_buffer"
1389                    c:identifier="gst_byte_writer_new_with_buffer">
1390         <return-value transfer-ownership="full">
1391           <type name="GstByteWriter" c:type="GstByteWriter*"/>
1392         </return-value>
1393         <parameters>
1394           <parameter name="buffer" transfer-ownership="none">
1395             <type name="Gst.Buffer" c:type="GstBuffer*"/>
1396           </parameter>
1397           <parameter name="initialized" transfer-ownership="none">
1398             <type name="boolean" c:type="gboolean"/>
1399           </parameter>
1400         </parameters>
1401       </constructor>
1402       <method name="init" c:identifier="gst_byte_writer_init">
1403         <return-value transfer-ownership="none">
1404           <type name="none" c:type="void"/>
1405         </return-value>
1406       </method>
1407       <method name="init_with_size"
1408               c:identifier="gst_byte_writer_init_with_size">
1409         <return-value transfer-ownership="none">
1410           <type name="none" c:type="void"/>
1411         </return-value>
1412         <parameters>
1413           <parameter name="size" transfer-ownership="none">
1414             <type name="uint" c:type="guint"/>
1415           </parameter>
1416           <parameter name="fixed" transfer-ownership="none">
1417             <type name="boolean" c:type="gboolean"/>
1418           </parameter>
1419         </parameters>
1420       </method>
1421       <method name="init_with_data"
1422               c:identifier="gst_byte_writer_init_with_data">
1423         <return-value transfer-ownership="none">
1424           <type name="none" c:type="void"/>
1425         </return-value>
1426         <parameters>
1427           <parameter name="data" transfer-ownership="none">
1428             <array c:type="guint8*">
1429               <type name="uint8"/>
1430             </array>
1431           </parameter>
1432           <parameter name="size" transfer-ownership="none">
1433             <type name="uint" c:type="guint"/>
1434           </parameter>
1435           <parameter name="initialized" transfer-ownership="none">
1436             <type name="boolean" c:type="gboolean"/>
1437           </parameter>
1438         </parameters>
1439       </method>
1440       <method name="init_with_buffer"
1441               c:identifier="gst_byte_writer_init_with_buffer">
1442         <return-value transfer-ownership="none">
1443           <type name="none" c:type="void"/>
1444         </return-value>
1445         <parameters>
1446           <parameter name="buffer" transfer-ownership="none">
1447             <type name="Gst.Buffer" c:type="GstBuffer*"/>
1448           </parameter>
1449           <parameter name="initialized" transfer-ownership="none">
1450             <type name="boolean" c:type="gboolean"/>
1451           </parameter>
1452         </parameters>
1453       </method>
1454       <method name="free" c:identifier="gst_byte_writer_free">
1455         <return-value transfer-ownership="none">
1456           <type name="none" c:type="void"/>
1457         </return-value>
1458       </method>
1459       <method name="free_and_get_data"
1460               c:identifier="gst_byte_writer_free_and_get_data">
1461         <return-value transfer-ownership="full">
1462           <array c:type="guint8*">
1463             <type name="uint8"/>
1464           </array>
1465         </return-value>
1466       </method>
1467       <method name="free_and_get_buffer"
1468               c:identifier="gst_byte_writer_free_and_get_buffer">
1469         <return-value transfer-ownership="full">
1470           <type name="Gst.Buffer" c:type="GstBuffer*"/>
1471         </return-value>
1472       </method>
1473       <method name="reset" c:identifier="gst_byte_writer_reset">
1474         <return-value transfer-ownership="none">
1475           <type name="none" c:type="void"/>
1476         </return-value>
1477       </method>
1478       <method name="reset_and_get_data"
1479               c:identifier="gst_byte_writer_reset_and_get_data">
1480         <return-value transfer-ownership="full">
1481           <array c:type="guint8*">
1482             <type name="uint8"/>
1483           </array>
1484         </return-value>
1485       </method>
1486       <method name="reset_and_get_buffer"
1487               c:identifier="gst_byte_writer_reset_and_get_buffer">
1488         <return-value transfer-ownership="full">
1489           <type name="Gst.Buffer" c:type="GstBuffer*"/>
1490         </return-value>
1491       </method>
1492       <method name="get_remaining"
1493               c:identifier="gst_byte_writer_get_remaining">
1494         <return-value transfer-ownership="none">
1495           <type name="uint" c:type="guint"/>
1496         </return-value>
1497       </method>
1498       <method name="ensure_free_space"
1499               c:identifier="gst_byte_writer_ensure_free_space">
1500         <return-value transfer-ownership="none">
1501           <type name="boolean" c:type="gboolean"/>
1502         </return-value>
1503         <parameters>
1504           <parameter name="size" transfer-ownership="none">
1505             <type name="uint" c:type="guint"/>
1506           </parameter>
1507         </parameters>
1508       </method>
1509       <method name="put_uint8" c:identifier="gst_byte_writer_put_uint8">
1510         <return-value transfer-ownership="none">
1511           <type name="boolean" c:type="gboolean"/>
1512         </return-value>
1513         <parameters>
1514           <parameter name="val" transfer-ownership="none">
1515             <type name="uint8" c:type="guint8"/>
1516           </parameter>
1517         </parameters>
1518       </method>
1519       <method name="put_int8" c:identifier="gst_byte_writer_put_int8">
1520         <return-value transfer-ownership="none">
1521           <type name="boolean" c:type="gboolean"/>
1522         </return-value>
1523         <parameters>
1524           <parameter name="val" transfer-ownership="none">
1525             <type name="int8" c:type="gint8"/>
1526           </parameter>
1527         </parameters>
1528       </method>
1529       <method name="put_uint16_be"
1530               c:identifier="gst_byte_writer_put_uint16_be">
1531         <return-value transfer-ownership="none">
1532           <type name="boolean" c:type="gboolean"/>
1533         </return-value>
1534         <parameters>
1535           <parameter name="val" transfer-ownership="none">
1536             <type name="uint16" c:type="guint16"/>
1537           </parameter>
1538         </parameters>
1539       </method>
1540       <method name="put_uint16_le"
1541               c:identifier="gst_byte_writer_put_uint16_le">
1542         <return-value transfer-ownership="none">
1543           <type name="boolean" c:type="gboolean"/>
1544         </return-value>
1545         <parameters>
1546           <parameter name="val" transfer-ownership="none">
1547             <type name="uint16" c:type="guint16"/>
1548           </parameter>
1549         </parameters>
1550       </method>
1551       <method name="put_int16_be" c:identifier="gst_byte_writer_put_int16_be">
1552         <return-value transfer-ownership="none">
1553           <type name="boolean" c:type="gboolean"/>
1554         </return-value>
1555         <parameters>
1556           <parameter name="val" transfer-ownership="none">
1557             <type name="int16" c:type="gint16"/>
1558           </parameter>
1559         </parameters>
1560       </method>
1561       <method name="put_int16_le" c:identifier="gst_byte_writer_put_int16_le">
1562         <return-value transfer-ownership="none">
1563           <type name="boolean" c:type="gboolean"/>
1564         </return-value>
1565         <parameters>
1566           <parameter name="val" transfer-ownership="none">
1567             <type name="int16" c:type="gint16"/>
1568           </parameter>
1569         </parameters>
1570       </method>
1571       <method name="put_uint24_be"
1572               c:identifier="gst_byte_writer_put_uint24_be">
1573         <return-value transfer-ownership="none">
1574           <type name="boolean" c:type="gboolean"/>
1575         </return-value>
1576         <parameters>
1577           <parameter name="val" transfer-ownership="none">
1578             <type name="uint32" c:type="guint32"/>
1579           </parameter>
1580         </parameters>
1581       </method>
1582       <method name="put_uint24_le"
1583               c:identifier="gst_byte_writer_put_uint24_le">
1584         <return-value transfer-ownership="none">
1585           <type name="boolean" c:type="gboolean"/>
1586         </return-value>
1587         <parameters>
1588           <parameter name="val" transfer-ownership="none">
1589             <type name="uint32" c:type="guint32"/>
1590           </parameter>
1591         </parameters>
1592       </method>
1593       <method name="put_int24_be" c:identifier="gst_byte_writer_put_int24_be">
1594         <return-value transfer-ownership="none">
1595           <type name="boolean" c:type="gboolean"/>
1596         </return-value>
1597         <parameters>
1598           <parameter name="val" transfer-ownership="none">
1599             <type name="int32" c:type="gint32"/>
1600           </parameter>
1601         </parameters>
1602       </method>
1603       <method name="put_int24_le" c:identifier="gst_byte_writer_put_int24_le">
1604         <return-value transfer-ownership="none">
1605           <type name="boolean" c:type="gboolean"/>
1606         </return-value>
1607         <parameters>
1608           <parameter name="val" transfer-ownership="none">
1609             <type name="int32" c:type="gint32"/>
1610           </parameter>
1611         </parameters>
1612       </method>
1613       <method name="put_uint32_be"
1614               c:identifier="gst_byte_writer_put_uint32_be">
1615         <return-value transfer-ownership="none">
1616           <type name="boolean" c:type="gboolean"/>
1617         </return-value>
1618         <parameters>
1619           <parameter name="val" transfer-ownership="none">
1620             <type name="uint32" c:type="guint32"/>
1621           </parameter>
1622         </parameters>
1623       </method>
1624       <method name="put_uint32_le"
1625               c:identifier="gst_byte_writer_put_uint32_le">
1626         <return-value transfer-ownership="none">
1627           <type name="boolean" c:type="gboolean"/>
1628         </return-value>
1629         <parameters>
1630           <parameter name="val" transfer-ownership="none">
1631             <type name="uint32" c:type="guint32"/>
1632           </parameter>
1633         </parameters>
1634       </method>
1635       <method name="put_int32_be" c:identifier="gst_byte_writer_put_int32_be">
1636         <return-value transfer-ownership="none">
1637           <type name="boolean" c:type="gboolean"/>
1638         </return-value>
1639         <parameters>
1640           <parameter name="val" transfer-ownership="none">
1641             <type name="int32" c:type="gint32"/>
1642           </parameter>
1643         </parameters>
1644       </method>
1645       <method name="put_int32_le" c:identifier="gst_byte_writer_put_int32_le">
1646         <return-value transfer-ownership="none">
1647           <type name="boolean" c:type="gboolean"/>
1648         </return-value>
1649         <parameters>
1650           <parameter name="val" transfer-ownership="none">
1651             <type name="int32" c:type="gint32"/>
1652           </parameter>
1653         </parameters>
1654       </method>
1655       <method name="put_uint64_be"
1656               c:identifier="gst_byte_writer_put_uint64_be">
1657         <return-value transfer-ownership="none">
1658           <type name="boolean" c:type="gboolean"/>
1659         </return-value>
1660         <parameters>
1661           <parameter name="val" transfer-ownership="none">
1662             <type name="uint64" c:type="guint64"/>
1663           </parameter>
1664         </parameters>
1665       </method>
1666       <method name="put_uint64_le"
1667               c:identifier="gst_byte_writer_put_uint64_le">
1668         <return-value transfer-ownership="none">
1669           <type name="boolean" c:type="gboolean"/>
1670         </return-value>
1671         <parameters>
1672           <parameter name="val" transfer-ownership="none">
1673             <type name="uint64" c:type="guint64"/>
1674           </parameter>
1675         </parameters>
1676       </method>
1677       <method name="put_int64_be" c:identifier="gst_byte_writer_put_int64_be">
1678         <return-value transfer-ownership="none">
1679           <type name="boolean" c:type="gboolean"/>
1680         </return-value>
1681         <parameters>
1682           <parameter name="val" transfer-ownership="none">
1683             <type name="int64" c:type="gint64"/>
1684           </parameter>
1685         </parameters>
1686       </method>
1687       <method name="put_int64_le" c:identifier="gst_byte_writer_put_int64_le">
1688         <return-value transfer-ownership="none">
1689           <type name="boolean" c:type="gboolean"/>
1690         </return-value>
1691         <parameters>
1692           <parameter name="val" transfer-ownership="none">
1693             <type name="int64" c:type="gint64"/>
1694           </parameter>
1695         </parameters>
1696       </method>
1697       <method name="put_float32_be"
1698               c:identifier="gst_byte_writer_put_float32_be">
1699         <return-value transfer-ownership="none">
1700           <type name="boolean" c:type="gboolean"/>
1701         </return-value>
1702         <parameters>
1703           <parameter name="val" transfer-ownership="none">
1704             <type name="float" c:type="gfloat"/>
1705           </parameter>
1706         </parameters>
1707       </method>
1708       <method name="put_float32_le"
1709               c:identifier="gst_byte_writer_put_float32_le">
1710         <return-value transfer-ownership="none">
1711           <type name="boolean" c:type="gboolean"/>
1712         </return-value>
1713         <parameters>
1714           <parameter name="val" transfer-ownership="none">
1715             <type name="float" c:type="gfloat"/>
1716           </parameter>
1717         </parameters>
1718       </method>
1719       <method name="put_float64_be"
1720               c:identifier="gst_byte_writer_put_float64_be">
1721         <return-value transfer-ownership="none">
1722           <type name="boolean" c:type="gboolean"/>
1723         </return-value>
1724         <parameters>
1725           <parameter name="val" transfer-ownership="none">
1726             <type name="double" c:type="gdouble"/>
1727           </parameter>
1728         </parameters>
1729       </method>
1730       <method name="put_float64_le"
1731               c:identifier="gst_byte_writer_put_float64_le">
1732         <return-value transfer-ownership="none">
1733           <type name="boolean" c:type="gboolean"/>
1734         </return-value>
1735         <parameters>
1736           <parameter name="val" transfer-ownership="none">
1737             <type name="double" c:type="gdouble"/>
1738           </parameter>
1739         </parameters>
1740       </method>
1741       <method name="put_data" c:identifier="gst_byte_writer_put_data">
1742         <return-value transfer-ownership="none">
1743           <type name="boolean" c:type="gboolean"/>
1744         </return-value>
1745         <parameters>
1746           <parameter name="data" transfer-ownership="none">
1747             <array c:type="guint8*">
1748               <type name="uint8"/>
1749             </array>
1750           </parameter>
1751           <parameter name="size" transfer-ownership="none">
1752             <type name="uint" c:type="guint"/>
1753           </parameter>
1754         </parameters>
1755       </method>
1756       <method name="fill" c:identifier="gst_byte_writer_fill">
1757         <return-value transfer-ownership="none">
1758           <type name="boolean" c:type="gboolean"/>
1759         </return-value>
1760         <parameters>
1761           <parameter name="value" transfer-ownership="none">
1762             <type name="uint8" c:type="guint8"/>
1763           </parameter>
1764           <parameter name="size" transfer-ownership="none">
1765             <type name="uint" c:type="guint"/>
1766           </parameter>
1767         </parameters>
1768       </method>
1769       <method name="put_string_utf8"
1770               c:identifier="gst_byte_writer_put_string_utf8">
1771         <return-value transfer-ownership="none">
1772           <type name="boolean" c:type="gboolean"/>
1773         </return-value>
1774         <parameters>
1775           <parameter name="data" transfer-ownership="none">
1776             <type name="utf8" c:type="gchar*"/>
1777           </parameter>
1778         </parameters>
1779       </method>
1780       <method name="put_string_utf16"
1781               c:identifier="gst_byte_writer_put_string_utf16">
1782         <return-value transfer-ownership="none">
1783           <type name="boolean" c:type="gboolean"/>
1784         </return-value>
1785         <parameters>
1786           <parameter name="data"
1787                      direction="out"
1788                      caller-allocates="0"
1789                      transfer-ownership="none">
1790             <type name="uint16" c:type="guint16*"/>
1791           </parameter>
1792         </parameters>
1793       </method>
1794       <method name="put_string_utf32"
1795               c:identifier="gst_byte_writer_put_string_utf32">
1796         <return-value transfer-ownership="none">
1797           <type name="boolean" c:type="gboolean"/>
1798         </return-value>
1799         <parameters>
1800           <parameter name="data"
1801                      direction="out"
1802                      caller-allocates="0"
1803                      transfer-ownership="none">
1804             <type name="uint32" c:type="guint32*"/>
1805           </parameter>
1806         </parameters>
1807       </method>
1808     </record>
1809     <record name="GstCollectData" c:type="GstCollectData">
1810       <doc xml:whitespace="preserve">Structure used by the collect_pads.</doc>
1811       <field name="collect" writable="1">
1812         <type name="Gst.CollectPads" c:type="GstCollectPads*"/>
1813       </field>
1814       <field name="pad" writable="1">
1815         <type name="Gst.Pad" c:type="GstPad*"/>
1816       </field>
1817       <field name="buffer" writable="1">
1818         <type name="Gst.Buffer" c:type="GstBuffer*"/>
1819       </field>
1820       <field name="pos" writable="1">
1821         <type name="uint" c:type="guint"/>
1822       </field>
1823       <field name="segment" writable="1">
1824         <type name="Gst.Segment" c:type="GstSegment"/>
1825       </field>
1826       <union name="abidata" c:type="abidata">
1827         <record name="ABI" c:type="ABI">
1828           <field name="flushing" writable="1">
1829             <type name="boolean" c:type="gboolean"/>
1830           </field>
1831           <field name="new_segment" writable="1">
1832             <type name="boolean" c:type="gboolean"/>
1833           </field>
1834           <field name="eos" writable="1">
1835             <type name="boolean" c:type="gboolean"/>
1836           </field>
1837           <field name="refcount" writable="1">
1838             <type name="int" c:type="gint"/>
1839           </field>
1840         </record>
1841         <field name="_gst_reserved" writable="1">
1842           <array zero-terminated="0" c:type="gpointer" fixed-size="4">
1843             <type name="any"/>
1844           </array>
1845         </field>
1846       </union>
1847     </record>
1848     <callback name="GstCollectDataDestroyNotify"
1849               c:type="GstCollectDataDestroyNotify"
1850               version="0.10.12">
1851       <doc xml:whitespace="preserve">A function that will be called when the #GstCollectData will be freed.
1852 It is passed the pointer to the structure and should free any custom
1853 memory and resources allocated for it.</doc>
1854       <return-value transfer-ownership="none">
1855         <type name="none" c:type="void"/>
1856       </return-value>
1857       <parameters>
1858         <parameter name="data" transfer-ownership="none">
1859           <doc xml:whitespace="preserve">the #GstCollectData that will be freed</doc>
1860           <type name="Gst.CollectData" c:type="GstCollectData*"/>
1861         </parameter>
1862       </parameters>
1863     </callback>
1864     <class name="GstCollectPads"
1865            c:type="GstCollectPads"
1866            parent="Gst.Object"
1867            glib:type-name="GstCollectPads"
1868            glib:get-type="gst_collect_pads_get_type"
1869            glib:type-struct="GstCollectPadsClass">
1870       <doc xml:whitespace="preserve">Collectpads object.
1871 Note that @data doesn't contain the complete #GstCollectData list
1872 at all times and should not be used for iterating them.</doc>
1873       <constructor name="new" c:identifier="gst_collect_pads_new">
1874         <return-value transfer-ownership="full">
1875           <type name="GstCollectPads" c:type="GstCollectPads*"/>
1876         </return-value>
1877       </constructor>
1878       <method name="set_function" c:identifier="gst_collect_pads_set_function">
1879         <return-value transfer-ownership="none">
1880           <type name="none" c:type="void"/>
1881         </return-value>
1882         <parameters>
1883           <parameter name="func"
1884                      transfer-ownership="none"
1885                      scope="call"
1886                      closure="2">
1887             <type name="Gst.CollectPadsFunction"
1888                   c:type="GstCollectPadsFunction"/>
1889           </parameter>
1890           <parameter name="user_data" transfer-ownership="none">
1891             <type name="any" c:type="gpointer"/>
1892           </parameter>
1893         </parameters>
1894       </method>
1895       <method name="set_clip_function"
1896               c:identifier="gst_collect_pads_set_clip_function">
1897         <return-value transfer-ownership="none">
1898           <type name="none" c:type="void"/>
1899         </return-value>
1900         <parameters>
1901           <parameter name="clipfunc"
1902                      transfer-ownership="none"
1903                      scope="call"
1904                      closure="2">
1905             <type name="Gst.CollectPadsClipFunction"
1906                   c:type="GstCollectPadsClipFunction"/>
1907           </parameter>
1908           <parameter name="user_data" transfer-ownership="none">
1909             <type name="any" c:type="gpointer"/>
1910           </parameter>
1911         </parameters>
1912       </method>
1913       <method name="add_pad" c:identifier="gst_collect_pads_add_pad">
1914         <return-value transfer-ownership="full">
1915           <type name="Gst.CollectData" c:type="GstCollectData*"/>
1916         </return-value>
1917         <parameters>
1918           <parameter name="pad" transfer-ownership="none">
1919             <type name="Gst.Pad" c:type="GstPad*"/>
1920           </parameter>
1921           <parameter name="size" transfer-ownership="none">
1922             <type name="uint" c:type="guint"/>
1923           </parameter>
1924         </parameters>
1925       </method>
1926       <method name="add_pad_full" c:identifier="gst_collect_pads_add_pad_full">
1927         <return-value transfer-ownership="full">
1928           <type name="Gst.CollectData" c:type="GstCollectData*"/>
1929         </return-value>
1930         <parameters>
1931           <parameter name="pad" transfer-ownership="none">
1932             <type name="Gst.Pad" c:type="GstPad*"/>
1933           </parameter>
1934           <parameter name="size" transfer-ownership="none">
1935             <type name="uint" c:type="guint"/>
1936           </parameter>
1937           <parameter name="destroy_notify"
1938                      transfer-ownership="none"
1939                      scope="call">
1940             <type name="Gst.CollectDataDestroyNotify"
1941                   c:type="GstCollectDataDestroyNotify"/>
1942           </parameter>
1943         </parameters>
1944       </method>
1945       <method name="remove_pad" c:identifier="gst_collect_pads_remove_pad">
1946         <return-value transfer-ownership="none">
1947           <type name="boolean" c:type="gboolean"/>
1948         </return-value>
1949         <parameters>
1950           <parameter name="pad" transfer-ownership="none">
1951             <type name="Gst.Pad" c:type="GstPad*"/>
1952           </parameter>
1953         </parameters>
1954       </method>
1955       <method name="is_active" c:identifier="gst_collect_pads_is_active">
1956         <return-value transfer-ownership="none">
1957           <type name="boolean" c:type="gboolean"/>
1958         </return-value>
1959         <parameters>
1960           <parameter name="pad" transfer-ownership="none">
1961             <type name="Gst.Pad" c:type="GstPad*"/>
1962           </parameter>
1963         </parameters>
1964       </method>
1965       <method name="collect" c:identifier="gst_collect_pads_collect">
1966         <return-value transfer-ownership="full">
1967           <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
1968         </return-value>
1969       </method>
1970       <method name="collect_range"
1971               c:identifier="gst_collect_pads_collect_range">
1972         <return-value transfer-ownership="full">
1973           <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
1974         </return-value>
1975         <parameters>
1976           <parameter name="offset" transfer-ownership="none">
1977             <type name="uint64" c:type="guint64"/>
1978           </parameter>
1979           <parameter name="length" transfer-ownership="none">
1980             <type name="uint" c:type="guint"/>
1981           </parameter>
1982         </parameters>
1983       </method>
1984       <method name="start" c:identifier="gst_collect_pads_start">
1985         <return-value transfer-ownership="none">
1986           <type name="none" c:type="void"/>
1987         </return-value>
1988       </method>
1989       <method name="stop" c:identifier="gst_collect_pads_stop">
1990         <return-value transfer-ownership="none">
1991           <type name="none" c:type="void"/>
1992         </return-value>
1993       </method>
1994       <method name="set_flushing" c:identifier="gst_collect_pads_set_flushing">
1995         <return-value transfer-ownership="none">
1996           <type name="none" c:type="void"/>
1997         </return-value>
1998         <parameters>
1999           <parameter name="flushing" transfer-ownership="none">
2000             <type name="boolean" c:type="gboolean"/>
2001           </parameter>
2002         </parameters>
2003       </method>
2004       <method name="peek" c:identifier="gst_collect_pads_peek">
2005         <return-value transfer-ownership="full">
2006           <type name="Gst.Buffer" c:type="GstBuffer*"/>
2007         </return-value>
2008         <parameters>
2009           <parameter name="data" transfer-ownership="none">
2010             <type name="Gst.CollectData" c:type="GstCollectData*"/>
2011           </parameter>
2012         </parameters>
2013       </method>
2014       <method name="pop" c:identifier="gst_collect_pads_pop">
2015         <return-value transfer-ownership="full">
2016           <type name="Gst.Buffer" c:type="GstBuffer*"/>
2017         </return-value>
2018         <parameters>
2019           <parameter name="data" transfer-ownership="none">
2020             <type name="Gst.CollectData" c:type="GstCollectData*"/>
2021           </parameter>
2022         </parameters>
2023       </method>
2024       <method name="available" c:identifier="gst_collect_pads_available">
2025         <return-value transfer-ownership="none">
2026           <type name="uint" c:type="guint"/>
2027         </return-value>
2028       </method>
2029       <method name="read" c:identifier="gst_collect_pads_read">
2030         <return-value transfer-ownership="none">
2031           <type name="uint" c:type="guint"/>
2032         </return-value>
2033         <parameters>
2034           <parameter name="data" transfer-ownership="none">
2035             <type name="Gst.CollectData" c:type="GstCollectData*"/>
2036           </parameter>
2037           <parameter name="bytes"
2038                      direction="out"
2039                      caller-allocates="0"
2040                      transfer-ownership="full">
2041             <type name="uint8" c:type="guint8**"/>
2042           </parameter>
2043           <parameter name="size" transfer-ownership="none">
2044             <type name="uint" c:type="guint"/>
2045           </parameter>
2046         </parameters>
2047       </method>
2048       <method name="read_buffer" c:identifier="gst_collect_pads_read_buffer">
2049         <return-value transfer-ownership="full">
2050           <type name="Gst.Buffer" c:type="GstBuffer*"/>
2051         </return-value>
2052         <parameters>
2053           <parameter name="data" transfer-ownership="none">
2054             <type name="Gst.CollectData" c:type="GstCollectData*"/>
2055           </parameter>
2056           <parameter name="size" transfer-ownership="none">
2057             <type name="uint" c:type="guint"/>
2058           </parameter>
2059         </parameters>
2060       </method>
2061       <method name="take_buffer" c:identifier="gst_collect_pads_take_buffer">
2062         <return-value transfer-ownership="full">
2063           <type name="Gst.Buffer" c:type="GstBuffer*"/>
2064         </return-value>
2065         <parameters>
2066           <parameter name="data" transfer-ownership="none">
2067             <type name="Gst.CollectData" c:type="GstCollectData*"/>
2068           </parameter>
2069           <parameter name="size" transfer-ownership="none">
2070             <type name="uint" c:type="guint"/>
2071           </parameter>
2072         </parameters>
2073       </method>
2074       <method name="flush" c:identifier="gst_collect_pads_flush">
2075         <return-value transfer-ownership="none">
2076           <type name="uint" c:type="guint"/>
2077         </return-value>
2078         <parameters>
2079           <parameter name="data" transfer-ownership="none">
2080             <type name="Gst.CollectData" c:type="GstCollectData*"/>
2081           </parameter>
2082           <parameter name="size" transfer-ownership="none">
2083             <type name="uint" c:type="guint"/>
2084           </parameter>
2085         </parameters>
2086       </method>
2087       <field name="object">
2088         <type name="Gst.Object" c:type="GstObject"/>
2089       </field>
2090       <field name="data">
2091         <type name="GLib.SList" c:type="GSList*">
2092           <type name="any" c:type="gpointer"/>
2093         </type>
2094       </field>
2095       <field name="cookie">
2096         <type name="uint32" c:type="guint32"/>
2097       </field>
2098       <field name="cond">
2099         <type name="GLib.Cond" c:type="GCond*"/>
2100       </field>
2101       <field name="func">
2102         <type name="Gst.CollectPadsFunction" c:type="GstCollectPadsFunction"/>
2103       </field>
2104       <field name="user_data">
2105         <type name="any" c:type="gpointer"/>
2106       </field>
2107       <field name="numpads">
2108         <type name="uint" c:type="guint"/>
2109       </field>
2110       <field name="queuedpads">
2111         <type name="uint" c:type="guint"/>
2112       </field>
2113       <field name="eospads">
2114         <type name="uint" c:type="guint"/>
2115       </field>
2116       <field name="started">
2117         <type name="boolean" c:type="gboolean"/>
2118       </field>
2119       <union name="abidata" c:type="abidata">
2120         <record name="ABI" c:type="ABI">
2121           <field name="pad_lock" writable="1">
2122             <type name="GLib.Mutex" c:type="GMutex*"/>
2123           </field>
2124           <field name="pad_list" writable="1">
2125             <type name="GLib.SList" c:type="GSList*">
2126               <type name="any" c:type="gpointer"/>
2127             </type>
2128           </field>
2129           <field name="pad_cookie" writable="1">
2130             <type name="uint32" c:type="guint32"/>
2131           </field>
2132           <field name="priv" writable="1">
2133             <type name="Gst.CollectPadsPrivate"
2134                   c:type="GstCollectPadsPrivate*"/>
2135           </field>
2136         </record>
2137         <field name="_gst_reserved" writable="1">
2138           <array zero-terminated="0" c:type="gpointer" fixed-size="4">
2139             <type name="any"/>
2140           </array>
2141         </field>
2142       </union>
2143     </class>
2144     <record name="GstCollectPadsClass"
2145             c:type="GstCollectPadsClass"
2146             glib:is-gtype-struct-for="GstCollectPads">
2147       <field name="parent_class">
2148         <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
2149       </field>
2150       <field name="_gst_reserved">
2151         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
2152           <type name="any"/>
2153         </array>
2154       </field>
2155     </record>
2156     <callback name="GstCollectPadsClipFunction"
2157               c:type="GstCollectPadsClipFunction"
2158               version="0.10.26">
2159       <doc xml:whitespace="preserve">A function that will be called when @buffer is received on the pad managed
2160 by @data in the collecpad object @pads.
2161 The function should use the segment of @data and the negotiated media type on
2162 the pad to perform clipping of @buffer. 
2163 This function takes ownership of @buffer.
2164 the buffer has been clipped completely.</doc>
2165       <return-value transfer-ownership="full">
2166         <doc xml:whitespace="preserve">a #GstBuffer that contains the clipped data of @buffer or NULL when</doc>
2167         <type name="Gst.Buffer" c:type="GstBuffer*"/>
2168       </return-value>
2169       <parameters>
2170         <parameter name="pads" transfer-ownership="none">
2171           <doc xml:whitespace="preserve">a #GstCollectPads</doc>
2172           <type name="Gst.CollectPads" c:type="GstCollectPads*"/>
2173         </parameter>
2174         <parameter name="data" transfer-ownership="none">
2175           <doc xml:whitespace="preserve">a #GstCollectData</doc>
2176           <type name="Gst.CollectData" c:type="GstCollectData*"/>
2177         </parameter>
2178         <parameter name="buffer" transfer-ownership="none">
2179           <doc xml:whitespace="preserve">a #GstBuffer</doc>
2180           <type name="Gst.Buffer" c:type="GstBuffer*"/>
2181         </parameter>
2182         <parameter name="user_data" transfer-ownership="none" closure="3">
2183           <doc xml:whitespace="preserve">user data</doc>
2184           <type name="any" c:type="gpointer"/>
2185         </parameter>
2186       </parameters>
2187     </callback>
2188     <callback name="GstCollectPadsFunction" c:type="GstCollectPadsFunction">
2189       <doc xml:whitespace="preserve">A function that will be called when all pads have received data.</doc>
2190       <return-value transfer-ownership="full">
2191         <doc xml:whitespace="preserve">#GST_FLOW_OK for success</doc>
2192         <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
2193       </return-value>
2194       <parameters>
2195         <parameter name="pads" transfer-ownership="none">
2196           <doc xml:whitespace="preserve">the #GstCollectPads that triggered the callback</doc>
2197           <type name="Gst.CollectPads" c:type="GstCollectPads*"/>
2198         </parameter>
2199         <parameter name="user_data" transfer-ownership="none" closure="1">
2200           <doc xml:whitespace="preserve">user data passed to gst_collect_pads_set_function()</doc>
2201           <type name="any" c:type="gpointer"/>
2202         </parameter>
2203       </parameters>
2204     </callback>
2205     <record name="GstCollectPadsPrivate" c:type="GstCollectPadsPrivate">
2206     </record>
2207     <class name="GstDataQueue"
2208            c:type="GstDataQueue"
2209            parent="GObject.Object"
2210            glib:type-name="GstDataQueue"
2211            glib:get-type="gst_data_queue_get_type"
2212            glib:type-struct="GstDataQueueClass">
2213       <doc xml:whitespace="preserve">Opaque #GstDataQueue structure.</doc>
2214       <constructor name="new" c:identifier="gst_data_queue_new">
2215         <return-value transfer-ownership="full">
2216           <type name="GstDataQueue" c:type="GstDataQueue*"/>
2217         </return-value>
2218         <parameters>
2219           <parameter name="checkfull"
2220                      transfer-ownership="none"
2221                      scope="call"
2222                      closure="1">
2223             <type name="Gst.DataQueueCheckFullFunction"
2224                   c:type="GstDataQueueCheckFullFunction"/>
2225           </parameter>
2226           <parameter name="checkdata" transfer-ownership="none">
2227             <type name="any" c:type="gpointer"/>
2228           </parameter>
2229         </parameters>
2230       </constructor>
2231       <constructor name="new_full" c:identifier="gst_data_queue_new_full">
2232         <return-value transfer-ownership="full">
2233           <type name="GstDataQueue" c:type="GstDataQueue*"/>
2234         </return-value>
2235         <parameters>
2236           <parameter name="checkfull" transfer-ownership="none" scope="call">
2237             <type name="Gst.DataQueueCheckFullFunction"
2238                   c:type="GstDataQueueCheckFullFunction"/>
2239           </parameter>
2240           <parameter name="fullcallback"
2241                      transfer-ownership="none"
2242                      scope="call">
2243             <type name="Gst.DataQueueFullCallback"
2244                   c:type="GstDataQueueFullCallback"/>
2245           </parameter>
2246           <parameter name="emptycallback"
2247                      transfer-ownership="none"
2248                      scope="call"
2249                      closure="3">
2250             <type name="Gst.DataQueueEmptyCallback"
2251                   c:type="GstDataQueueEmptyCallback"/>
2252           </parameter>
2253           <parameter name="checkdata" transfer-ownership="none">
2254             <type name="any" c:type="gpointer"/>
2255           </parameter>
2256         </parameters>
2257       </constructor>
2258       <method name="push" c:identifier="gst_data_queue_push">
2259         <return-value transfer-ownership="none">
2260           <type name="boolean" c:type="gboolean"/>
2261         </return-value>
2262         <parameters>
2263           <parameter name="item" transfer-ownership="none">
2264             <type name="Gst.DataQueueItem" c:type="GstDataQueueItem*"/>
2265           </parameter>
2266         </parameters>
2267       </method>
2268       <method name="pop" c:identifier="gst_data_queue_pop">
2269         <return-value transfer-ownership="none">
2270           <type name="boolean" c:type="gboolean"/>
2271         </return-value>
2272         <parameters>
2273           <parameter name="item" transfer-ownership="none">
2274             <type name="Gst.DataQueueItem" c:type="GstDataQueueItem**"/>
2275           </parameter>
2276         </parameters>
2277       </method>
2278       <method name="flush" c:identifier="gst_data_queue_flush">
2279         <return-value transfer-ownership="none">
2280           <type name="none" c:type="void"/>
2281         </return-value>
2282       </method>
2283       <method name="set_flushing" c:identifier="gst_data_queue_set_flushing">
2284         <return-value transfer-ownership="none">
2285           <type name="none" c:type="void"/>
2286         </return-value>
2287         <parameters>
2288           <parameter name="flushing" transfer-ownership="none">
2289             <type name="boolean" c:type="gboolean"/>
2290           </parameter>
2291         </parameters>
2292       </method>
2293       <method name="drop_head" c:identifier="gst_data_queue_drop_head">
2294         <return-value transfer-ownership="none">
2295           <type name="boolean" c:type="gboolean"/>
2296         </return-value>
2297         <parameters>
2298           <parameter name="type" transfer-ownership="none">
2299             <type name="GType" c:type="GType"/>
2300           </parameter>
2301         </parameters>
2302       </method>
2303       <method name="is_full" c:identifier="gst_data_queue_is_full">
2304         <return-value transfer-ownership="none">
2305           <type name="boolean" c:type="gboolean"/>
2306         </return-value>
2307       </method>
2308       <method name="is_empty" c:identifier="gst_data_queue_is_empty">
2309         <return-value transfer-ownership="none">
2310           <type name="boolean" c:type="gboolean"/>
2311         </return-value>
2312       </method>
2313       <method name="get_level" c:identifier="gst_data_queue_get_level">
2314         <return-value transfer-ownership="none">
2315           <type name="none" c:type="void"/>
2316         </return-value>
2317         <parameters>
2318           <parameter name="level" transfer-ownership="none">
2319             <type name="Gst.DataQueueSize" c:type="GstDataQueueSize*"/>
2320           </parameter>
2321         </parameters>
2322       </method>
2323       <method name="limits_changed"
2324               c:identifier="gst_data_queue_limits_changed">
2325         <return-value transfer-ownership="none">
2326           <type name="none" c:type="void"/>
2327         </return-value>
2328       </method>
2329       <property name="current-level-bytes" transfer-ownership="none">
2330         <type name="uint" c:type="guint"/>
2331       </property>
2332       <property name="current-level-time" transfer-ownership="none">
2333         <type name="uint64" c:type="guint64"/>
2334       </property>
2335       <property name="current-level-visible" transfer-ownership="none">
2336         <type name="uint" c:type="guint"/>
2337       </property>
2338       <field name="object">
2339         <type name="GObject.Object" c:type="GObject"/>
2340       </field>
2341       <field name="queue">
2342         <type name="GLib.Queue" c:type="GQueue*"/>
2343       </field>
2344       <field name="cur_level">
2345         <type name="Gst.DataQueueSize" c:type="GstDataQueueSize"/>
2346       </field>
2347       <field name="checkfull">
2348         <type name="Gst.DataQueueCheckFullFunction"
2349               c:type="GstDataQueueCheckFullFunction"/>
2350       </field>
2351       <field name="checkdata">
2352         <type name="any" c:type="gpointer*"/>
2353       </field>
2354       <field name="qlock">
2355         <type name="GLib.Mutex" c:type="GMutex*"/>
2356       </field>
2357       <field name="item_add">
2358         <type name="GLib.Cond" c:type="GCond*"/>
2359       </field>
2360       <field name="item_del">
2361         <type name="GLib.Cond" c:type="GCond*"/>
2362       </field>
2363       <field name="flushing">
2364         <type name="boolean" c:type="gboolean"/>
2365       </field>
2366       <field name="fullcallback">
2367         <type name="Gst.DataQueueFullCallback"
2368               c:type="GstDataQueueFullCallback"/>
2369       </field>
2370       <field name="emptycallback">
2371         <type name="Gst.DataQueueEmptyCallback"
2372               c:type="GstDataQueueEmptyCallback"/>
2373       </field>
2374       <field name="_gst_reserved">
2375         <array zero-terminated="0" c:type="gpointer" fixed-size="2">
2376           <type name="any"/>
2377         </array>
2378       </field>
2379       <glib:signal name="empty">
2380         <return-value transfer-ownership="full">
2381           <type name="none" c:type="void"/>
2382         </return-value>
2383       </glib:signal>
2384       <glib:signal name="full">
2385         <return-value transfer-ownership="full">
2386           <type name="none" c:type="void"/>
2387         </return-value>
2388       </glib:signal>
2389     </class>
2390     <callback name="GstDataQueueCheckFullFunction"
2391               c:type="GstDataQueueCheckFullFunction">
2392       <doc xml:whitespace="preserve">The prototype of the function used to inform the queue that it should be
2393 considered as full.</doc>
2394       <return-value transfer-ownership="none">
2395         <doc xml:whitespace="preserve">#TRUE if the queue should be considered full.</doc>
2396         <type name="boolean" c:type="gboolean"/>
2397       </return-value>
2398       <parameters>
2399         <parameter name="queue" transfer-ownership="none">
2400           <doc xml:whitespace="preserve">a #GstDataQueue.</doc>
2401           <type name="Gst.DataQueue" c:type="GstDataQueue*"/>
2402         </parameter>
2403         <parameter name="visible" transfer-ownership="none">
2404           <doc xml:whitespace="preserve">The number of visible items currently in the queue.</doc>
2405           <type name="uint" c:type="guint"/>
2406         </parameter>
2407         <parameter name="bytes" transfer-ownership="none">
2408           <doc xml:whitespace="preserve">The amount of bytes currently in the queue.</doc>
2409           <type name="uint" c:type="guint"/>
2410         </parameter>
2411         <parameter name="time" transfer-ownership="none">
2412           <doc xml:whitespace="preserve">The accumulated duration of the items currently in the queue.</doc>
2413           <type name="uint64" c:type="guint64"/>
2414         </parameter>
2415         <parameter name="checkdata" transfer-ownership="none">
2416           <doc xml:whitespace="preserve">The #gpointer registered when the #GstDataQueue was created.</doc>
2417           <type name="any" c:type="gpointer"/>
2418         </parameter>
2419       </parameters>
2420     </callback>
2421     <record name="GstDataQueueClass"
2422             c:type="GstDataQueueClass"
2423             glib:is-gtype-struct-for="GstDataQueue">
2424       <field name="parent_class">
2425         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
2426       </field>
2427       <field name="empty">
2428         <callback name="empty" c:type="empty">
2429           <return-value transfer-ownership="none">
2430             <type name="none" c:type="void"/>
2431           </return-value>
2432           <parameters>
2433             <parameter name="queue" transfer-ownership="none">
2434               <type name="Gst.DataQueue" c:type="GstDataQueue*"/>
2435             </parameter>
2436           </parameters>
2437         </callback>
2438       </field>
2439       <field name="full">
2440         <callback name="full" c:type="full">
2441           <return-value transfer-ownership="none">
2442             <type name="none" c:type="void"/>
2443           </return-value>
2444           <parameters>
2445             <parameter name="queue" transfer-ownership="none">
2446               <type name="Gst.DataQueue" c:type="GstDataQueue*"/>
2447             </parameter>
2448           </parameters>
2449         </callback>
2450       </field>
2451       <field name="_gst_reserved">
2452         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
2453           <type name="any"/>
2454         </array>
2455       </field>
2456     </record>
2457     <callback name="GstDataQueueEmptyCallback"
2458               c:type="GstDataQueueEmptyCallback">
2459       <return-value transfer-ownership="none">
2460         <type name="none" c:type="void"/>
2461       </return-value>
2462       <parameters>
2463         <parameter name="queue" transfer-ownership="none">
2464           <type name="Gst.DataQueue" c:type="GstDataQueue*"/>
2465         </parameter>
2466         <parameter name="checkdata" transfer-ownership="none">
2467           <type name="any" c:type="gpointer"/>
2468         </parameter>
2469       </parameters>
2470     </callback>
2471     <callback name="GstDataQueueFullCallback"
2472               c:type="GstDataQueueFullCallback">
2473       <return-value transfer-ownership="none">
2474         <type name="none" c:type="void"/>
2475       </return-value>
2476       <parameters>
2477         <parameter name="queue" transfer-ownership="none">
2478           <type name="Gst.DataQueue" c:type="GstDataQueue*"/>
2479         </parameter>
2480         <parameter name="checkdata" transfer-ownership="none">
2481           <type name="any" c:type="gpointer"/>
2482         </parameter>
2483       </parameters>
2484     </callback>
2485     <record name="GstDataQueueItem" c:type="GstDataQueueItem">
2486       <doc xml:whitespace="preserve">Structure used by #GstDataQueue. You can supply a different structure, as
2487 long as the top of the structure is identical to this structure.</doc>
2488       <field name="object" writable="1">
2489         <type name="Gst.MiniObject" c:type="GstMiniObject*"/>
2490       </field>
2491       <field name="size" writable="1">
2492         <type name="uint" c:type="guint"/>
2493       </field>
2494       <field name="duration" writable="1">
2495         <type name="uint64" c:type="guint64"/>
2496       </field>
2497       <field name="visible" writable="1">
2498         <type name="boolean" c:type="gboolean"/>
2499       </field>
2500       <field name="destroy" writable="1">
2501         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
2502       </field>
2503     </record>
2504     <record name="GstDataQueueSize" c:type="GstDataQueueSize">
2505       <doc xml:whitespace="preserve">Structure describing the size of a queue.</doc>
2506       <field name="visible" writable="1">
2507         <type name="uint" c:type="guint"/>
2508       </field>
2509       <field name="bytes" writable="1">
2510         <type name="uint" c:type="guint"/>
2511       </field>
2512       <field name="time" writable="1">
2513         <type name="uint64" c:type="guint64"/>
2514       </field>
2515     </record>
2516     <class name="GstPushSrc"
2517            c:type="GstPushSrc"
2518            parent="Src"
2519            glib:type-name="GstPushSrc"
2520            glib:get-type="gst_push_src_get_type"
2521            glib:type-struct="GstPushSrcClass">
2522       <doc xml:whitespace="preserve">The opaque #GstPushSrc data structure.</doc>
2523       <field name="parent">
2524         <type name="Gst.BaseSrc" c:type="GstBaseSrc"/>
2525       </field>
2526       <field name="_gst_reserved">
2527         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
2528           <type name="any"/>
2529         </array>
2530       </field>
2531     </class>
2532     <record name="GstPushSrcClass"
2533             c:type="GstPushSrcClass"
2534             glib:is-gtype-struct-for="GstPushSrc">
2535       <field name="parent_class">
2536         <type name="Gst.BaseSrcClass" c:type="GstBaseSrcClass"/>
2537       </field>
2538       <field name="create">
2539         <callback name="create" c:type="create">
2540           <return-value transfer-ownership="full">
2541             <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
2542           </return-value>
2543           <parameters>
2544             <parameter name="src" transfer-ownership="none">
2545               <type name="Gst.PushSrc" c:type="GstPushSrc*"/>
2546             </parameter>
2547             <parameter name="buf" transfer-ownership="none">
2548               <type name="Gst.Buffer" c:type="GstBuffer**"/>
2549             </parameter>
2550           </parameters>
2551         </callback>
2552       </field>
2553       <field name="_gst_reserved">
2554         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
2555           <type name="any"/>
2556         </array>
2557       </field>
2558     </record>
2559     <callback name="GstTypeFindHelperGetRangeFunction"
2560               c:type="GstTypeFindHelperGetRangeFunction">
2561       <doc xml:whitespace="preserve">This function will be called by gst_type_find_helper_get_range() when
2562 typefinding functions request to peek at the data of a stream at certain
2563 offsets. If this function returns GST_FLOW_OK, the result buffer will be
2564 stored in @buffer. The  contents of @buffer is invalid for any other
2565 return value.
2566 This function is supposed to behave exactly like a #GstPadGetRangeFunction.</doc>
2567       <return-value transfer-ownership="full">
2568         <doc xml:whitespace="preserve">GST_FLOW_OK for success</doc>
2569         <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
2570       </return-value>
2571       <parameters>
2572         <parameter name="obj" transfer-ownership="none">
2573           <doc xml:whitespace="preserve">a #GstObject that will handle the getrange request</doc>
2574           <type name="Gst.Object" c:type="GstObject*"/>
2575         </parameter>
2576         <parameter name="offset" transfer-ownership="none">
2577           <doc xml:whitespace="preserve">the offset of the range</doc>
2578           <type name="uint64" c:type="guint64"/>
2579         </parameter>
2580         <parameter name="length" transfer-ownership="none">
2581           <doc xml:whitespace="preserve">the length of the range</doc>
2582           <type name="uint" c:type="guint"/>
2583         </parameter>
2584         <parameter name="buffer" transfer-ownership="none">
2585           <doc xml:whitespace="preserve">a memory location to hold the result buffer</doc>
2586           <type name="Gst.Buffer" c:type="GstBuffer**"/>
2587         </parameter>
2588       </parameters>
2589     </callback>
2590     <class name="Sink"
2591            c:type="GstBaseSink"
2592            parent="Gst.Element"
2593            abstract="1"
2594            glib:type-name="GstBaseSink"
2595            glib:get-type="gst_base_sink_get_type"
2596            glib:type-struct="SinkClass">
2597       <doc xml:whitespace="preserve">The opaque #GstBaseSink data structure.</doc>
2598       <method name="do_preroll" c:identifier="gst_base_sink_do_preroll">
2599         <return-value transfer-ownership="full">
2600           <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
2601         </return-value>
2602         <parameters>
2603           <parameter name="obj" transfer-ownership="none">
2604             <type name="Gst.MiniObject" c:type="GstMiniObject*"/>
2605           </parameter>
2606         </parameters>
2607       </method>
2608       <method name="wait_preroll" c:identifier="gst_base_sink_wait_preroll">
2609         <return-value transfer-ownership="full">
2610           <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
2611         </return-value>
2612       </method>
2613       <method name="set_sync" c:identifier="gst_base_sink_set_sync">
2614         <return-value transfer-ownership="none">
2615           <type name="none" c:type="void"/>
2616         </return-value>
2617         <parameters>
2618           <parameter name="sync" transfer-ownership="none">
2619             <type name="boolean" c:type="gboolean"/>
2620           </parameter>
2621         </parameters>
2622       </method>
2623       <method name="get_sync" c:identifier="gst_base_sink_get_sync">
2624         <return-value transfer-ownership="none">
2625           <type name="boolean" c:type="gboolean"/>
2626         </return-value>
2627       </method>
2628       <method name="set_max_lateness"
2629               c:identifier="gst_base_sink_set_max_lateness">
2630         <return-value transfer-ownership="none">
2631           <type name="none" c:type="void"/>
2632         </return-value>
2633         <parameters>
2634           <parameter name="max_lateness" transfer-ownership="none">
2635             <type name="int64" c:type="gint64"/>
2636           </parameter>
2637         </parameters>
2638       </method>
2639       <method name="get_max_lateness"
2640               c:identifier="gst_base_sink_get_max_lateness">
2641         <return-value transfer-ownership="none">
2642           <type name="int64" c:type="gint64"/>
2643         </return-value>
2644       </method>
2645       <method name="set_qos_enabled"
2646               c:identifier="gst_base_sink_set_qos_enabled">
2647         <return-value transfer-ownership="none">
2648           <type name="none" c:type="void"/>
2649         </return-value>
2650         <parameters>
2651           <parameter name="enabled" transfer-ownership="none">
2652             <type name="boolean" c:type="gboolean"/>
2653           </parameter>
2654         </parameters>
2655       </method>
2656       <method name="is_qos_enabled"
2657               c:identifier="gst_base_sink_is_qos_enabled">
2658         <return-value transfer-ownership="none">
2659           <type name="boolean" c:type="gboolean"/>
2660         </return-value>
2661       </method>
2662       <method name="set_async_enabled"
2663               c:identifier="gst_base_sink_set_async_enabled">
2664         <return-value transfer-ownership="none">
2665           <type name="none" c:type="void"/>
2666         </return-value>
2667         <parameters>
2668           <parameter name="enabled" transfer-ownership="none">
2669             <type name="boolean" c:type="gboolean"/>
2670           </parameter>
2671         </parameters>
2672       </method>
2673       <method name="is_async_enabled"
2674               c:identifier="gst_base_sink_is_async_enabled">
2675         <return-value transfer-ownership="none">
2676           <type name="boolean" c:type="gboolean"/>
2677         </return-value>
2678       </method>
2679       <method name="set_ts_offset" c:identifier="gst_base_sink_set_ts_offset">
2680         <return-value transfer-ownership="none">
2681           <type name="none" c:type="void"/>
2682         </return-value>
2683         <parameters>
2684           <parameter name="offset" transfer-ownership="none">
2685             <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
2686           </parameter>
2687         </parameters>
2688       </method>
2689       <method name="get_ts_offset" c:identifier="gst_base_sink_get_ts_offset">
2690         <return-value transfer-ownership="full">
2691           <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
2692         </return-value>
2693       </method>
2694       <method name="get_last_buffer"
2695               c:identifier="gst_base_sink_get_last_buffer">
2696         <return-value transfer-ownership="full">
2697           <type name="Gst.Buffer" c:type="GstBuffer*"/>
2698         </return-value>
2699       </method>
2700       <method name="set_last_buffer_enabled"
2701               c:identifier="gst_base_sink_set_last_buffer_enabled">
2702         <return-value transfer-ownership="none">
2703           <type name="none" c:type="void"/>
2704         </return-value>
2705         <parameters>
2706           <parameter name="enable" transfer-ownership="none">
2707             <type name="boolean" c:type="gboolean"/>
2708           </parameter>
2709         </parameters>
2710       </method>
2711       <method name="is_last_buffer_enabled"
2712               c:identifier="gst_base_sink_is_last_buffer_enabled">
2713         <return-value transfer-ownership="none">
2714           <type name="boolean" c:type="gboolean"/>
2715         </return-value>
2716       </method>
2717       <method name="query_latency" c:identifier="gst_base_sink_query_latency">
2718         <return-value transfer-ownership="none">
2719           <type name="boolean" c:type="gboolean"/>
2720         </return-value>
2721         <parameters>
2722           <parameter name="live"
2723                      direction="out"
2724                      caller-allocates="0"
2725                      transfer-ownership="full">
2726             <type name="boolean" c:type="gboolean*"/>
2727           </parameter>
2728           <parameter name="upstream_live"
2729                      direction="out"
2730                      caller-allocates="0"
2731                      transfer-ownership="full">
2732             <type name="boolean" c:type="gboolean*"/>
2733           </parameter>
2734           <parameter name="min_latency" transfer-ownership="none">
2735             <type name="Gst.ClockTime" c:type="GstClockTime*"/>
2736           </parameter>
2737           <parameter name="max_latency" transfer-ownership="none">
2738             <type name="Gst.ClockTime" c:type="GstClockTime*"/>
2739           </parameter>
2740         </parameters>
2741       </method>
2742       <method name="get_latency" c:identifier="gst_base_sink_get_latency">
2743         <return-value transfer-ownership="full">
2744           <type name="Gst.ClockTime" c:type="GstClockTime"/>
2745         </return-value>
2746       </method>
2747       <method name="set_render_delay"
2748               c:identifier="gst_base_sink_set_render_delay">
2749         <return-value transfer-ownership="none">
2750           <type name="none" c:type="void"/>
2751         </return-value>
2752         <parameters>
2753           <parameter name="delay" transfer-ownership="none">
2754             <type name="Gst.ClockTime" c:type="GstClockTime"/>
2755           </parameter>
2756         </parameters>
2757       </method>
2758       <method name="get_render_delay"
2759               c:identifier="gst_base_sink_get_render_delay">
2760         <return-value transfer-ownership="full">
2761           <type name="Gst.ClockTime" c:type="GstClockTime"/>
2762         </return-value>
2763       </method>
2764       <method name="set_blocksize" c:identifier="gst_base_sink_set_blocksize">
2765         <return-value transfer-ownership="none">
2766           <type name="none" c:type="void"/>
2767         </return-value>
2768         <parameters>
2769           <parameter name="blocksize" transfer-ownership="none">
2770             <type name="uint" c:type="guint"/>
2771           </parameter>
2772         </parameters>
2773       </method>
2774       <method name="get_blocksize" c:identifier="gst_base_sink_get_blocksize">
2775         <return-value transfer-ownership="none">
2776           <type name="uint" c:type="guint"/>
2777         </return-value>
2778       </method>
2779       <method name="wait_clock" c:identifier="gst_base_sink_wait_clock">
2780         <return-value transfer-ownership="full">
2781           <type name="Gst.ClockReturn" c:type="GstClockReturn"/>
2782         </return-value>
2783         <parameters>
2784           <parameter name="time" transfer-ownership="none">
2785             <type name="Gst.ClockTime" c:type="GstClockTime"/>
2786           </parameter>
2787           <parameter name="jitter" transfer-ownership="none">
2788             <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff*"/>
2789           </parameter>
2790         </parameters>
2791       </method>
2792       <method name="wait_eos" c:identifier="gst_base_sink_wait_eos">
2793         <return-value transfer-ownership="full">
2794           <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
2795         </return-value>
2796         <parameters>
2797           <parameter name="time" transfer-ownership="none">
2798             <type name="Gst.ClockTime" c:type="GstClockTime"/>
2799           </parameter>
2800           <parameter name="jitter" transfer-ownership="none">
2801             <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff*"/>
2802           </parameter>
2803         </parameters>
2804       </method>
2805       <property name="async" writable="1" transfer-ownership="none">
2806         <type name="boolean" c:type="gboolean"/>
2807       </property>
2808       <property name="blocksize" writable="1" transfer-ownership="none">
2809         <type name="uint" c:type="guint"/>
2810       </property>
2811       <property name="enable-last-buffer"
2812                 writable="1"
2813                 transfer-ownership="none">
2814         <type name="boolean" c:type="gboolean"/>
2815       </property>
2816       <property name="last-buffer" transfer-ownership="none">
2817         <type name="Gst.Buffer" c:type="GstBuffer"/>
2818       </property>
2819       <property name="max-lateness" writable="1" transfer-ownership="none">
2820         <type name="int64" c:type="gint64"/>
2821       </property>
2822       <property name="preroll-queue-len"
2823                 writable="1"
2824                 construct="1"
2825                 transfer-ownership="none">
2826         <type name="uint" c:type="guint"/>
2827       </property>
2828       <property name="qos" writable="1" transfer-ownership="none">
2829         <type name="boolean" c:type="gboolean"/>
2830       </property>
2831       <property name="render-delay" writable="1" transfer-ownership="none">
2832         <type name="uint64" c:type="guint64"/>
2833       </property>
2834       <property name="sync" writable="1" transfer-ownership="none">
2835         <type name="boolean" c:type="gboolean"/>
2836       </property>
2837       <property name="ts-offset" writable="1" transfer-ownership="none">
2838         <type name="int64" c:type="gint64"/>
2839       </property>
2840       <field name="element">
2841         <type name="Gst.Element" c:type="GstElement"/>
2842       </field>
2843       <field name="sinkpad">
2844         <type name="Gst.Pad" c:type="GstPad*"/>
2845       </field>
2846       <field name="pad_mode">
2847         <type name="Gst.ActivateMode" c:type="GstActivateMode"/>
2848       </field>
2849       <field name="offset">
2850         <type name="uint64" c:type="guint64"/>
2851       </field>
2852       <field name="can_activate_pull">
2853         <type name="boolean" c:type="gboolean"/>
2854       </field>
2855       <field name="can_activate_push">
2856         <type name="boolean" c:type="gboolean"/>
2857       </field>
2858       <field name="preroll_queue">
2859         <type name="GLib.Queue" c:type="GQueue*"/>
2860       </field>
2861       <field name="preroll_queue_max_len">
2862         <type name="int" c:type="gint"/>
2863       </field>
2864       <field name="preroll_queued">
2865         <type name="int" c:type="gint"/>
2866       </field>
2867       <field name="buffers_queued">
2868         <type name="int" c:type="gint"/>
2869       </field>
2870       <field name="events_queued">
2871         <type name="int" c:type="gint"/>
2872       </field>
2873       <field name="eos">
2874         <type name="boolean" c:type="gboolean"/>
2875       </field>
2876       <field name="eos_queued">
2877         <type name="boolean" c:type="gboolean"/>
2878       </field>
2879       <field name="need_preroll">
2880         <type name="boolean" c:type="gboolean"/>
2881       </field>
2882       <field name="have_preroll">
2883         <type name="boolean" c:type="gboolean"/>
2884       </field>
2885       <field name="playing_async">
2886         <type name="boolean" c:type="gboolean"/>
2887       </field>
2888       <field name="have_newsegment">
2889         <type name="boolean" c:type="gboolean"/>
2890       </field>
2891       <field name="segment">
2892         <type name="Gst.Segment" c:type="GstSegment"/>
2893       </field>
2894       <field name="clock_id">
2895         <type name="Gst.ClockID" c:type="GstClockID"/>
2896       </field>
2897       <field name="end_time">
2898         <type name="Gst.ClockTime" c:type="GstClockTime"/>
2899       </field>
2900       <field name="sync">
2901         <type name="boolean" c:type="gboolean"/>
2902       </field>
2903       <field name="flushing">
2904         <type name="boolean" c:type="gboolean"/>
2905       </field>
2906       <union name="abidata" c:type="abidata">
2907         <record name="ABI" c:type="ABI">
2908           <field name="clip_segment" writable="1">
2909             <type name="Gst.Segment" c:type="GstSegment*"/>
2910           </field>
2911           <field name="max_lateness" writable="1">
2912             <type name="int64" c:type="gint64"/>
2913           </field>
2914           <field name="running" writable="1">
2915             <type name="boolean" c:type="gboolean"/>
2916           </field>
2917         </record>
2918         <field name="_gst_reserved" writable="1">
2919           <array zero-terminated="0" c:type="gpointer" fixed-size="19">
2920             <type name="any"/>
2921           </array>
2922         </field>
2923       </union>
2924       <field name="priv">
2925         <type name="Gst.BaseSinkPrivate" c:type="GstBaseSinkPrivate*"/>
2926       </field>
2927     </class>
2928     <record name="SinkClass"
2929             c:type="GstBaseSinkClass"
2930             glib:is-gtype-struct-for="Sink">
2931       <doc xml:whitespace="preserve">Subclasses can override any of the available virtual methods or not, as
2932 needed. At the minimum, the @render method should be overridden to
2933 output/present buffers.</doc>
2934       <field name="parent_class">
2935         <type name="Gst.ElementClass" c:type="GstElementClass"/>
2936       </field>
2937       <field name="get_caps">
2938         <callback name="get_caps" c:type="get_caps">
2939           <return-value transfer-ownership="full">
2940             <type name="Gst.Caps" c:type="GstCaps*"/>
2941           </return-value>
2942           <parameters>
2943             <parameter name="sink" transfer-ownership="none">
2944               <type name="Gst.BaseSink" c:type="GstBaseSink*"/>
2945             </parameter>
2946           </parameters>
2947         </callback>
2948       </field>
2949       <field name="set_caps">
2950         <callback name="set_caps" c:type="set_caps">
2951           <return-value transfer-ownership="none">
2952             <type name="boolean" c:type="gboolean"/>
2953           </return-value>
2954           <parameters>
2955             <parameter name="sink" transfer-ownership="none">
2956               <type name="Gst.BaseSink" c:type="GstBaseSink*"/>
2957             </parameter>
2958             <parameter name="caps" transfer-ownership="none">
2959               <type name="Gst.Caps" c:type="GstCaps*"/>
2960             </parameter>
2961           </parameters>
2962         </callback>
2963       </field>
2964       <field name="buffer_alloc">
2965         <callback name="buffer_alloc" c:type="buffer_alloc">
2966           <return-value transfer-ownership="full">
2967             <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
2968           </return-value>
2969           <parameters>
2970             <parameter name="sink" transfer-ownership="none">
2971               <type name="Gst.BaseSink" c:type="GstBaseSink*"/>
2972             </parameter>
2973             <parameter name="offset" transfer-ownership="none">
2974               <type name="uint64" c:type="guint64"/>
2975             </parameter>
2976             <parameter name="size" transfer-ownership="none">
2977               <type name="uint" c:type="guint"/>
2978             </parameter>
2979             <parameter name="caps" transfer-ownership="none">
2980               <type name="Gst.Caps" c:type="GstCaps*"/>
2981             </parameter>
2982             <parameter name="buf" transfer-ownership="none">
2983               <type name="Gst.Buffer" c:type="GstBuffer**"/>
2984             </parameter>
2985           </parameters>
2986         </callback>
2987       </field>
2988       <field name="get_times">
2989         <callback name="get_times" c:type="get_times">
2990           <return-value transfer-ownership="none">
2991             <type name="none" c:type="void"/>
2992           </return-value>
2993           <parameters>
2994             <parameter name="sink" transfer-ownership="none">
2995               <type name="Gst.BaseSink" c:type="GstBaseSink*"/>
2996             </parameter>
2997             <parameter name="buffer" transfer-ownership="none">
2998               <type name="Gst.Buffer" c:type="GstBuffer*"/>
2999             </parameter>
3000             <parameter name="start" transfer-ownership="none">
3001               <type name="Gst.ClockTime" c:type="GstClockTime*"/>
3002             </parameter>
3003             <parameter name="end" transfer-ownership="none">
3004               <type name="Gst.ClockTime" c:type="GstClockTime*"/>
3005             </parameter>
3006           </parameters>
3007         </callback>
3008       </field>
3009       <field name="start">
3010         <callback name="start" c:type="start">
3011           <return-value transfer-ownership="none">
3012             <type name="boolean" c:type="gboolean"/>
3013           </return-value>
3014           <parameters>
3015             <parameter name="sink" transfer-ownership="none">
3016               <type name="Gst.BaseSink" c:type="GstBaseSink*"/>
3017             </parameter>
3018           </parameters>
3019         </callback>
3020       </field>
3021       <field name="stop">
3022         <callback name="stop" c:type="stop">
3023           <return-value transfer-ownership="none">
3024             <type name="boolean" c:type="gboolean"/>
3025           </return-value>
3026           <parameters>
3027             <parameter name="sink" transfer-ownership="none">
3028               <type name="Gst.BaseSink" c:type="GstBaseSink*"/>
3029             </parameter>
3030           </parameters>
3031         </callback>
3032       </field>
3033       <field name="unlock">
3034         <callback name="unlock" c:type="unlock">
3035           <return-value transfer-ownership="none">
3036             <type name="boolean" c:type="gboolean"/>
3037           </return-value>
3038           <parameters>
3039             <parameter name="sink" transfer-ownership="none">
3040               <type name="Gst.BaseSink" c:type="GstBaseSink*"/>
3041             </parameter>
3042           </parameters>
3043         </callback>
3044       </field>
3045       <field name="event">
3046         <callback name="event" c:type="event">
3047           <return-value transfer-ownership="none">
3048             <type name="boolean" c:type="gboolean"/>
3049           </return-value>
3050           <parameters>
3051             <parameter name="sink" transfer-ownership="none">
3052               <type name="Gst.BaseSink" c:type="GstBaseSink*"/>
3053             </parameter>
3054             <parameter name="event" transfer-ownership="none">
3055               <type name="Gst.Event" c:type="GstEvent*"/>
3056             </parameter>
3057           </parameters>
3058         </callback>
3059       </field>
3060       <field name="preroll">
3061         <callback name="preroll" c:type="preroll">
3062           <return-value transfer-ownership="full">
3063             <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
3064           </return-value>
3065           <parameters>
3066             <parameter name="sink" transfer-ownership="none">
3067               <type name="Gst.BaseSink" c:type="GstBaseSink*"/>
3068             </parameter>
3069             <parameter name="buffer" transfer-ownership="none">
3070               <type name="Gst.Buffer" c:type="GstBuffer*"/>
3071             </parameter>
3072           </parameters>
3073         </callback>
3074       </field>
3075       <field name="render">
3076         <callback name="render" c:type="render">
3077           <return-value transfer-ownership="full">
3078             <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
3079           </return-value>
3080           <parameters>
3081             <parameter name="sink" transfer-ownership="none">
3082               <type name="Gst.BaseSink" c:type="GstBaseSink*"/>
3083             </parameter>
3084             <parameter name="buffer" transfer-ownership="none">
3085               <type name="Gst.Buffer" c:type="GstBuffer*"/>
3086             </parameter>
3087           </parameters>
3088         </callback>
3089       </field>
3090       <field name="async_play">
3091         <callback name="async_play" c:type="async_play">
3092           <return-value transfer-ownership="full">
3093             <type name="Gst.StateChangeReturn" c:type="GstStateChangeReturn"/>
3094           </return-value>
3095           <parameters>
3096             <parameter name="sink" transfer-ownership="none">
3097               <type name="Gst.BaseSink" c:type="GstBaseSink*"/>
3098             </parameter>
3099           </parameters>
3100         </callback>
3101       </field>
3102       <field name="activate_pull">
3103         <callback name="activate_pull" c:type="activate_pull">
3104           <return-value transfer-ownership="none">
3105             <type name="boolean" c:type="gboolean"/>
3106           </return-value>
3107           <parameters>
3108             <parameter name="sink" transfer-ownership="none">
3109               <type name="Gst.BaseSink" c:type="GstBaseSink*"/>
3110             </parameter>
3111             <parameter name="active" transfer-ownership="none">
3112               <type name="boolean" c:type="gboolean"/>
3113             </parameter>
3114           </parameters>
3115         </callback>
3116       </field>
3117       <field name="fixate">
3118         <callback name="fixate" c:type="fixate">
3119           <return-value transfer-ownership="none">
3120             <type name="none" c:type="void"/>
3121           </return-value>
3122           <parameters>
3123             <parameter name="sink" transfer-ownership="none">
3124               <type name="Gst.BaseSink" c:type="GstBaseSink*"/>
3125             </parameter>
3126             <parameter name="caps" transfer-ownership="none">
3127               <type name="Gst.Caps" c:type="GstCaps*"/>
3128             </parameter>
3129           </parameters>
3130         </callback>
3131       </field>
3132       <field name="unlock_stop">
3133         <callback name="unlock_stop" c:type="unlock_stop">
3134           <return-value transfer-ownership="none">
3135             <type name="boolean" c:type="gboolean"/>
3136           </return-value>
3137           <parameters>
3138             <parameter name="sink" transfer-ownership="none">
3139               <type name="Gst.BaseSink" c:type="GstBaseSink*"/>
3140             </parameter>
3141           </parameters>
3142         </callback>
3143       </field>
3144       <field name="render_list">
3145         <callback name="render_list" c:type="render_list">
3146           <return-value transfer-ownership="full">
3147             <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
3148           </return-value>
3149           <parameters>
3150             <parameter name="sink" transfer-ownership="none">
3151               <type name="Gst.BaseSink" c:type="GstBaseSink*"/>
3152             </parameter>
3153             <parameter name="buffer_list" transfer-ownership="none">
3154               <type name="Gst.BufferList" c:type="GstBufferList*"/>
3155             </parameter>
3156           </parameters>
3157         </callback>
3158       </field>
3159       <field name="_gst_reserved">
3160         <array zero-terminated="0" c:type="gpointer" fixed-size="15">
3161           <type name="any"/>
3162         </array>
3163       </field>
3164     </record>
3165     <record name="SinkPrivate" c:type="GstBaseSinkPrivate">
3166     </record>
3167     <class name="Src"
3168            c:type="GstBaseSrc"
3169            parent="Gst.Element"
3170            abstract="1"
3171            glib:type-name="GstBaseSrc"
3172            glib:get-type="gst_base_src_get_type"
3173            glib:type-struct="SrcClass">
3174       <doc xml:whitespace="preserve">The opaque #GstBaseSrc data structure.</doc>
3175       <method name="wait_playing" c:identifier="gst_base_src_wait_playing">
3176         <return-value transfer-ownership="full">
3177           <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
3178         </return-value>
3179       </method>
3180       <method name="set_live" c:identifier="gst_base_src_set_live">
3181         <return-value transfer-ownership="none">
3182           <type name="none" c:type="void"/>
3183         </return-value>
3184         <parameters>
3185           <parameter name="live" transfer-ownership="none">
3186             <type name="boolean" c:type="gboolean"/>
3187           </parameter>
3188         </parameters>
3189       </method>
3190       <method name="is_live" c:identifier="gst_base_src_is_live">
3191         <return-value transfer-ownership="none">
3192           <type name="boolean" c:type="gboolean"/>
3193         </return-value>
3194       </method>
3195       <method name="set_format" c:identifier="gst_base_src_set_format">
3196         <return-value transfer-ownership="none">
3197           <type name="none" c:type="void"/>
3198         </return-value>
3199         <parameters>
3200           <parameter name="format" transfer-ownership="none">
3201             <type name="Gst.Format" c:type="GstFormat"/>
3202           </parameter>
3203         </parameters>
3204       </method>
3205       <method name="query_latency" c:identifier="gst_base_src_query_latency">
3206         <return-value transfer-ownership="none">
3207           <type name="boolean" c:type="gboolean"/>
3208         </return-value>
3209         <parameters>
3210           <parameter name="live"
3211                      direction="out"
3212                      caller-allocates="0"
3213                      transfer-ownership="full">
3214             <type name="boolean" c:type="gboolean*"/>
3215           </parameter>
3216           <parameter name="min_latency" transfer-ownership="none">
3217             <type name="Gst.ClockTime" c:type="GstClockTime*"/>
3218           </parameter>
3219           <parameter name="max_latency" transfer-ownership="none">
3220             <type name="Gst.ClockTime" c:type="GstClockTime*"/>
3221           </parameter>
3222         </parameters>
3223       </method>
3224       <method name="set_blocksize" c:identifier="gst_base_src_set_blocksize">
3225         <return-value transfer-ownership="none">
3226           <type name="none" c:type="void"/>
3227         </return-value>
3228         <parameters>
3229           <parameter name="blocksize" transfer-ownership="none">
3230             <type name="ulong" c:type="gulong"/>
3231           </parameter>
3232         </parameters>
3233       </method>
3234       <method name="get_blocksize" c:identifier="gst_base_src_get_blocksize">
3235         <return-value transfer-ownership="none">
3236           <type name="ulong" c:type="gulong"/>
3237         </return-value>
3238       </method>
3239       <method name="set_do_timestamp"
3240               c:identifier="gst_base_src_set_do_timestamp">
3241         <return-value transfer-ownership="none">
3242           <type name="none" c:type="void"/>
3243         </return-value>
3244         <parameters>
3245           <parameter name="timestamp" transfer-ownership="none">
3246             <type name="boolean" c:type="gboolean"/>
3247           </parameter>
3248         </parameters>
3249       </method>
3250       <method name="get_do_timestamp"
3251               c:identifier="gst_base_src_get_do_timestamp">
3252         <return-value transfer-ownership="none">
3253           <type name="boolean" c:type="gboolean"/>
3254         </return-value>
3255       </method>
3256       <method name="new_seamless_segment"
3257               c:identifier="gst_base_src_new_seamless_segment">
3258         <return-value transfer-ownership="none">
3259           <type name="boolean" c:type="gboolean"/>
3260         </return-value>
3261         <parameters>
3262           <parameter name="start" transfer-ownership="none">
3263             <type name="int64" c:type="gint64"/>
3264           </parameter>
3265           <parameter name="stop" transfer-ownership="none">
3266             <type name="int64" c:type="gint64"/>
3267           </parameter>
3268           <parameter name="position" transfer-ownership="none">
3269             <type name="int64" c:type="gint64"/>
3270           </parameter>
3271         </parameters>
3272       </method>
3273       <property name="blocksize" writable="1" transfer-ownership="none">
3274         <type name="ulong" c:type="gulong"/>
3275       </property>
3276       <property name="do-timestamp" writable="1" transfer-ownership="none">
3277         <type name="boolean" c:type="gboolean"/>
3278       </property>
3279       <property name="num-buffers" writable="1" transfer-ownership="none">
3280         <type name="int" c:type="gint"/>
3281       </property>
3282       <property name="typefind" writable="1" transfer-ownership="none">
3283         <type name="boolean" c:type="gboolean"/>
3284       </property>
3285       <field name="element">
3286         <type name="Gst.Element" c:type="GstElement"/>
3287       </field>
3288       <field name="srcpad">
3289         <type name="Gst.Pad" c:type="GstPad*"/>
3290       </field>
3291       <field name="live_lock">
3292         <type name="GLib.Mutex" c:type="GMutex*"/>
3293       </field>
3294       <field name="live_cond">
3295         <type name="GLib.Cond" c:type="GCond*"/>
3296       </field>
3297       <field name="is_live">
3298         <type name="boolean" c:type="gboolean"/>
3299       </field>
3300       <field name="live_running">
3301         <type name="boolean" c:type="gboolean"/>
3302       </field>
3303       <field name="blocksize">
3304         <type name="int" c:type="gint"/>
3305       </field>
3306       <field name="can_activate_push">
3307         <type name="boolean" c:type="gboolean"/>
3308       </field>
3309       <field name="pad_mode">
3310         <type name="Gst.ActivateMode" c:type="GstActivateMode"/>
3311       </field>
3312       <field name="seekable">
3313         <type name="boolean" c:type="gboolean"/>
3314       </field>
3315       <field name="random_access">
3316         <type name="boolean" c:type="gboolean"/>
3317       </field>
3318       <field name="clock_id">
3319         <type name="Gst.ClockID" c:type="GstClockID"/>
3320       </field>
3321       <field name="end_time">
3322         <type name="Gst.ClockTime" c:type="GstClockTime"/>
3323       </field>
3324       <field name="segment">
3325         <type name="Gst.Segment" c:type="GstSegment"/>
3326       </field>
3327       <field name="need_newsegment">
3328         <type name="boolean" c:type="gboolean"/>
3329       </field>
3330       <field name="offset">
3331         <type name="uint64" c:type="guint64"/>
3332       </field>
3333       <field name="size">
3334         <type name="uint64" c:type="guint64"/>
3335       </field>
3336       <field name="num_buffers">
3337         <type name="int" c:type="gint"/>
3338       </field>
3339       <field name="num_buffers_left">
3340         <type name="int" c:type="gint"/>
3341       </field>
3342       <union name="data" c:type="data">
3343         <record name="ABI" c:type="ABI">
3344           <field name="typefind" writable="1">
3345             <type name="boolean" c:type="gboolean"/>
3346           </field>
3347           <field name="running" writable="1">
3348             <type name="boolean" c:type="gboolean"/>
3349           </field>
3350           <field name="pending_seek" writable="1">
3351             <type name="Gst.Event" c:type="GstEvent*"/>
3352           </field>
3353         </record>
3354         <field name="_gst_reserved" writable="1">
3355           <array zero-terminated="0" c:type="gpointer" fixed-size="19">
3356             <type name="any"/>
3357           </array>
3358         </field>
3359       </union>
3360       <field name="priv">
3361         <type name="Gst.BaseSrcPrivate" c:type="GstBaseSrcPrivate*"/>
3362       </field>
3363     </class>
3364     <record name="SrcClass"
3365             c:type="GstBaseSrcClass"
3366             glib:is-gtype-struct-for="Src">
3367       <doc xml:whitespace="preserve">Subclasses can override any of the available virtual methods or not, as
3368 needed. At the minimum, the @create method should be overridden to produce
3369 buffers.</doc>
3370       <field name="parent_class">
3371         <type name="Gst.ElementClass" c:type="GstElementClass"/>
3372       </field>
3373       <field name="get_caps">
3374         <callback name="get_caps" c:type="get_caps">
3375           <return-value transfer-ownership="full">
3376             <type name="Gst.Caps" c:type="GstCaps*"/>
3377           </return-value>
3378           <parameters>
3379             <parameter name="src" transfer-ownership="none">
3380               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3381             </parameter>
3382           </parameters>
3383         </callback>
3384       </field>
3385       <field name="set_caps">
3386         <callback name="set_caps" c:type="set_caps">
3387           <return-value transfer-ownership="none">
3388             <type name="boolean" c:type="gboolean"/>
3389           </return-value>
3390           <parameters>
3391             <parameter name="src" transfer-ownership="none">
3392               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3393             </parameter>
3394             <parameter name="caps" transfer-ownership="none">
3395               <type name="Gst.Caps" c:type="GstCaps*"/>
3396             </parameter>
3397           </parameters>
3398         </callback>
3399       </field>
3400       <field name="negotiate">
3401         <callback name="negotiate" c:type="negotiate">
3402           <return-value transfer-ownership="none">
3403             <type name="boolean" c:type="gboolean"/>
3404           </return-value>
3405           <parameters>
3406             <parameter name="src" transfer-ownership="none">
3407               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3408             </parameter>
3409           </parameters>
3410         </callback>
3411       </field>
3412       <field name="newsegment">
3413         <callback name="newsegment" c:type="newsegment">
3414           <return-value transfer-ownership="none">
3415             <type name="boolean" c:type="gboolean"/>
3416           </return-value>
3417           <parameters>
3418             <parameter name="src" transfer-ownership="none">
3419               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3420             </parameter>
3421           </parameters>
3422         </callback>
3423       </field>
3424       <field name="start">
3425         <callback name="start" c:type="start">
3426           <return-value transfer-ownership="none">
3427             <type name="boolean" c:type="gboolean"/>
3428           </return-value>
3429           <parameters>
3430             <parameter name="src" transfer-ownership="none">
3431               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3432             </parameter>
3433           </parameters>
3434         </callback>
3435       </field>
3436       <field name="stop">
3437         <callback name="stop" c:type="stop">
3438           <return-value transfer-ownership="none">
3439             <type name="boolean" c:type="gboolean"/>
3440           </return-value>
3441           <parameters>
3442             <parameter name="src" transfer-ownership="none">
3443               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3444             </parameter>
3445           </parameters>
3446         </callback>
3447       </field>
3448       <field name="get_times">
3449         <callback name="get_times" c:type="get_times">
3450           <return-value transfer-ownership="none">
3451             <type name="none" c:type="void"/>
3452           </return-value>
3453           <parameters>
3454             <parameter name="src" transfer-ownership="none">
3455               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3456             </parameter>
3457             <parameter name="buffer" transfer-ownership="none">
3458               <type name="Gst.Buffer" c:type="GstBuffer*"/>
3459             </parameter>
3460             <parameter name="start" transfer-ownership="none">
3461               <type name="Gst.ClockTime" c:type="GstClockTime*"/>
3462             </parameter>
3463             <parameter name="end" transfer-ownership="none">
3464               <type name="Gst.ClockTime" c:type="GstClockTime*"/>
3465             </parameter>
3466           </parameters>
3467         </callback>
3468       </field>
3469       <field name="get_size">
3470         <callback name="get_size" c:type="get_size">
3471           <return-value transfer-ownership="none">
3472             <type name="boolean" c:type="gboolean"/>
3473           </return-value>
3474           <parameters>
3475             <parameter name="src" transfer-ownership="none">
3476               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3477             </parameter>
3478             <parameter name="size"
3479                        direction="out"
3480                        caller-allocates="0"
3481                        transfer-ownership="full">
3482               <type name="uint64" c:type="guint64*"/>
3483             </parameter>
3484           </parameters>
3485         </callback>
3486       </field>
3487       <field name="is_seekable">
3488         <callback name="is_seekable" c:type="is_seekable">
3489           <return-value transfer-ownership="none">
3490             <type name="boolean" c:type="gboolean"/>
3491           </return-value>
3492           <parameters>
3493             <parameter name="src" transfer-ownership="none">
3494               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3495             </parameter>
3496           </parameters>
3497         </callback>
3498       </field>
3499       <field name="unlock">
3500         <callback name="unlock" c:type="unlock">
3501           <return-value transfer-ownership="none">
3502             <type name="boolean" c:type="gboolean"/>
3503           </return-value>
3504           <parameters>
3505             <parameter name="src" transfer-ownership="none">
3506               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3507             </parameter>
3508           </parameters>
3509         </callback>
3510       </field>
3511       <field name="event">
3512         <callback name="event" c:type="event">
3513           <return-value transfer-ownership="none">
3514             <type name="boolean" c:type="gboolean"/>
3515           </return-value>
3516           <parameters>
3517             <parameter name="src" transfer-ownership="none">
3518               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3519             </parameter>
3520             <parameter name="event" transfer-ownership="none">
3521               <type name="Gst.Event" c:type="GstEvent*"/>
3522             </parameter>
3523           </parameters>
3524         </callback>
3525       </field>
3526       <field name="create">
3527         <callback name="create" c:type="create">
3528           <return-value transfer-ownership="full">
3529             <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
3530           </return-value>
3531           <parameters>
3532             <parameter name="src" transfer-ownership="none">
3533               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3534             </parameter>
3535             <parameter name="offset" transfer-ownership="none">
3536               <type name="uint64" c:type="guint64"/>
3537             </parameter>
3538             <parameter name="size" transfer-ownership="none">
3539               <type name="uint" c:type="guint"/>
3540             </parameter>
3541             <parameter name="buf" transfer-ownership="none">
3542               <type name="Gst.Buffer" c:type="GstBuffer**"/>
3543             </parameter>
3544           </parameters>
3545         </callback>
3546       </field>
3547       <field name="do_seek">
3548         <callback name="do_seek" c:type="do_seek">
3549           <return-value transfer-ownership="none">
3550             <type name="boolean" c:type="gboolean"/>
3551           </return-value>
3552           <parameters>
3553             <parameter name="src" transfer-ownership="none">
3554               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3555             </parameter>
3556             <parameter name="segment" transfer-ownership="none">
3557               <type name="Gst.Segment" c:type="GstSegment*"/>
3558             </parameter>
3559           </parameters>
3560         </callback>
3561       </field>
3562       <field name="query">
3563         <callback name="query" c:type="query">
3564           <return-value transfer-ownership="none">
3565             <type name="boolean" c:type="gboolean"/>
3566           </return-value>
3567           <parameters>
3568             <parameter name="src" transfer-ownership="none">
3569               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3570             </parameter>
3571             <parameter name="query" transfer-ownership="none">
3572               <type name="Gst.Query" c:type="GstQuery*"/>
3573             </parameter>
3574           </parameters>
3575         </callback>
3576       </field>
3577       <field name="check_get_range">
3578         <callback name="check_get_range" c:type="check_get_range">
3579           <return-value transfer-ownership="none">
3580             <type name="boolean" c:type="gboolean"/>
3581           </return-value>
3582           <parameters>
3583             <parameter name="src" transfer-ownership="none">
3584               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3585             </parameter>
3586           </parameters>
3587         </callback>
3588       </field>
3589       <field name="fixate">
3590         <callback name="fixate" c:type="fixate">
3591           <return-value transfer-ownership="none">
3592             <type name="none" c:type="void"/>
3593           </return-value>
3594           <parameters>
3595             <parameter name="src" transfer-ownership="none">
3596               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3597             </parameter>
3598             <parameter name="caps" transfer-ownership="none">
3599               <type name="Gst.Caps" c:type="GstCaps*"/>
3600             </parameter>
3601           </parameters>
3602         </callback>
3603       </field>
3604       <field name="unlock_stop">
3605         <callback name="unlock_stop" c:type="unlock_stop">
3606           <return-value transfer-ownership="none">
3607             <type name="boolean" c:type="gboolean"/>
3608           </return-value>
3609           <parameters>
3610             <parameter name="src" transfer-ownership="none">
3611               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3612             </parameter>
3613           </parameters>
3614         </callback>
3615       </field>
3616       <field name="prepare_seek_segment">
3617         <callback name="prepare_seek_segment" c:type="prepare_seek_segment">
3618           <return-value transfer-ownership="none">
3619             <type name="boolean" c:type="gboolean"/>
3620           </return-value>
3621           <parameters>
3622             <parameter name="src" transfer-ownership="none">
3623               <type name="Gst.BaseSrc" c:type="GstBaseSrc*"/>
3624             </parameter>
3625             <parameter name="seek" transfer-ownership="none">
3626               <type name="Gst.Event" c:type="GstEvent*"/>
3627             </parameter>
3628             <parameter name="segment" transfer-ownership="none">
3629               <type name="Gst.Segment" c:type="GstSegment*"/>
3630             </parameter>
3631           </parameters>
3632         </callback>
3633       </field>
3634       <field name="_gst_reserved">
3635         <array zero-terminated="0" c:type="gpointer" fixed-size="14">
3636           <type name="any"/>
3637         </array>
3638       </field>
3639     </record>
3640     <bitfield name="SrcFlags" c:type="GstBaseSrcFlags">
3641       <doc xml:whitespace="preserve">The #GstElement flags that a basesrc element may have.</doc>
3642       <member name="started"
3643               value="1048576"
3644               c:identifier="GST_BASE_SRC_STARTED"/>
3645       <member name="flag_last"
3646               value="4194304"
3647               c:identifier="GST_BASE_SRC_FLAG_LAST"/>
3648     </bitfield>
3649     <record name="SrcPrivate" c:type="GstBaseSrcPrivate">
3650     </record>
3651     <constant name="TRANSFORM_SINK_NAME" value="sink">
3652       <type name="utf8"/>
3653     </constant>
3654     <constant name="TRANSFORM_SRC_NAME" value="src">
3655       <type name="utf8"/>
3656     </constant>
3657     <class name="Transform"
3658            c:type="GstBaseTransform"
3659            parent="Gst.Element"
3660            abstract="1"
3661            glib:type-name="GstBaseTransform"
3662            glib:get-type="gst_base_transform_get_type"
3663            glib:type-struct="TransformClass">
3664       <doc xml:whitespace="preserve">The opaque #GstBaseTransform data structure.</doc>
3665       <method name="set_passthrough"
3666               c:identifier="gst_base_transform_set_passthrough">
3667         <return-value transfer-ownership="none">
3668           <type name="none" c:type="void"/>
3669         </return-value>
3670         <parameters>
3671           <parameter name="passthrough" transfer-ownership="none">
3672             <type name="boolean" c:type="gboolean"/>
3673           </parameter>
3674         </parameters>
3675       </method>
3676       <method name="is_passthrough"
3677               c:identifier="gst_base_transform_is_passthrough">
3678         <return-value transfer-ownership="none">
3679           <type name="boolean" c:type="gboolean"/>
3680         </return-value>
3681       </method>
3682       <method name="set_in_place"
3683               c:identifier="gst_base_transform_set_in_place">
3684         <return-value transfer-ownership="none">
3685           <type name="none" c:type="void"/>
3686         </return-value>
3687         <parameters>
3688           <parameter name="in_place" transfer-ownership="none">
3689             <type name="boolean" c:type="gboolean"/>
3690           </parameter>
3691         </parameters>
3692       </method>
3693       <method name="is_in_place" c:identifier="gst_base_transform_is_in_place">
3694         <return-value transfer-ownership="none">
3695           <type name="boolean" c:type="gboolean"/>
3696         </return-value>
3697       </method>
3698       <method name="update_qos" c:identifier="gst_base_transform_update_qos">
3699         <return-value transfer-ownership="none">
3700           <type name="none" c:type="void"/>
3701         </return-value>
3702         <parameters>
3703           <parameter name="proportion" transfer-ownership="none">
3704             <type name="double" c:type="gdouble"/>
3705           </parameter>
3706           <parameter name="diff" transfer-ownership="none">
3707             <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
3708           </parameter>
3709           <parameter name="timestamp" transfer-ownership="none">
3710             <type name="Gst.ClockTime" c:type="GstClockTime"/>
3711           </parameter>
3712         </parameters>
3713       </method>
3714       <method name="set_qos_enabled"
3715               c:identifier="gst_base_transform_set_qos_enabled">
3716         <return-value transfer-ownership="none">
3717           <type name="none" c:type="void"/>
3718         </return-value>
3719         <parameters>
3720           <parameter name="enabled" transfer-ownership="none">
3721             <type name="boolean" c:type="gboolean"/>
3722           </parameter>
3723         </parameters>
3724       </method>
3725       <method name="is_qos_enabled"
3726               c:identifier="gst_base_transform_is_qos_enabled">
3727         <return-value transfer-ownership="none">
3728           <type name="boolean" c:type="gboolean"/>
3729         </return-value>
3730       </method>
3731       <method name="set_gap_aware"
3732               c:identifier="gst_base_transform_set_gap_aware">
3733         <return-value transfer-ownership="none">
3734           <type name="none" c:type="void"/>
3735         </return-value>
3736         <parameters>
3737           <parameter name="gap_aware" transfer-ownership="none">
3738             <type name="boolean" c:type="gboolean"/>
3739           </parameter>
3740         </parameters>
3741       </method>
3742       <method name="suggest" c:identifier="gst_base_transform_suggest">
3743         <return-value transfer-ownership="none">
3744           <type name="none" c:type="void"/>
3745         </return-value>
3746         <parameters>
3747           <parameter name="caps" transfer-ownership="none">
3748             <type name="Gst.Caps" c:type="GstCaps*"/>
3749           </parameter>
3750           <parameter name="size" transfer-ownership="none">
3751             <type name="uint" c:type="guint"/>
3752           </parameter>
3753         </parameters>
3754       </method>
3755       <method name="reconfigure" c:identifier="gst_base_transform_reconfigure">
3756         <return-value transfer-ownership="none">
3757           <type name="none" c:type="void"/>
3758         </return-value>
3759       </method>
3760       <property name="qos" writable="1" transfer-ownership="none">
3761         <type name="boolean" c:type="gboolean"/>
3762       </property>
3763       <field name="element">
3764         <type name="Gst.Element" c:type="GstElement"/>
3765       </field>
3766       <field name="sinkpad">
3767         <type name="Gst.Pad" c:type="GstPad*"/>
3768       </field>
3769       <field name="srcpad">
3770         <type name="Gst.Pad" c:type="GstPad*"/>
3771       </field>
3772       <field name="passthrough">
3773         <type name="boolean" c:type="gboolean"/>
3774       </field>
3775       <field name="always_in_place">
3776         <type name="boolean" c:type="gboolean"/>
3777       </field>
3778       <field name="cache_caps1">
3779         <type name="Gst.Caps" c:type="GstCaps*"/>
3780       </field>
3781       <field name="cache_caps1_size">
3782         <type name="uint" c:type="guint"/>
3783       </field>
3784       <field name="cache_caps2">
3785         <type name="Gst.Caps" c:type="GstCaps*"/>
3786       </field>
3787       <field name="cache_caps2_size">
3788         <type name="uint" c:type="guint"/>
3789       </field>
3790       <field name="have_same_caps">
3791         <type name="boolean" c:type="gboolean"/>
3792       </field>
3793       <field name="delay_configure">
3794         <type name="boolean" c:type="gboolean"/>
3795       </field>
3796       <field name="pending_configure">
3797         <type name="boolean" c:type="gboolean"/>
3798       </field>
3799       <field name="negotiated">
3800         <type name="boolean" c:type="gboolean"/>
3801       </field>
3802       <field name="have_newsegment">
3803         <type name="boolean" c:type="gboolean"/>
3804       </field>
3805       <field name="segment">
3806         <type name="Gst.Segment" c:type="GstSegment"/>
3807       </field>
3808       <field name="transform_lock">
3809         <type name="GLib.Mutex" c:type="GMutex*"/>
3810       </field>
3811       <field name="priv">
3812         <type name="Gst.BaseTransformPrivate"
3813               c:type="GstBaseTransformPrivate*"/>
3814       </field>
3815       <field name="_gst_reserved">
3816         <array zero-terminated="0" c:type="gpointer" fixed-size="19">
3817           <type name="any"/>
3818         </array>
3819       </field>
3820     </class>
3821     <record name="TransformClass"
3822             c:type="GstBaseTransformClass"
3823             glib:is-gtype-struct-for="Transform">
3824       <doc xml:whitespace="preserve">Subclasses can override any of the available virtual methods or not, as
3825 needed. At minimum either @transform or @transform_ip need to be overridden.
3826 If the element can overwrite the input data with the results (data is of the
3827 same type and quantity) it should provide @transform_ip.</doc>
3828       <field name="parent_class">
3829         <type name="Gst.ElementClass" c:type="GstElementClass"/>
3830       </field>
3831       <field name="transform_caps">
3832         <callback name="transform_caps" c:type="transform_caps">
3833           <return-value transfer-ownership="full">
3834             <type name="Gst.Caps" c:type="GstCaps*"/>
3835           </return-value>
3836           <parameters>
3837             <parameter name="trans" transfer-ownership="none">
3838               <type name="Gst.BaseTransform" c:type="GstBaseTransform*"/>
3839             </parameter>
3840             <parameter name="direction" transfer-ownership="none">
3841               <type name="Gst.PadDirection" c:type="GstPadDirection"/>
3842             </parameter>
3843             <parameter name="caps" transfer-ownership="none">
3844               <type name="Gst.Caps" c:type="GstCaps*"/>
3845             </parameter>
3846           </parameters>
3847         </callback>
3848       </field>
3849       <field name="fixate_caps">
3850         <callback name="fixate_caps" c:type="fixate_caps">
3851           <return-value transfer-ownership="none">
3852             <type name="none" c:type="void"/>
3853           </return-value>
3854           <parameters>
3855             <parameter name="trans" transfer-ownership="none">
3856               <type name="Gst.BaseTransform" c:type="GstBaseTransform*"/>
3857             </parameter>
3858             <parameter name="direction" transfer-ownership="none">
3859               <type name="Gst.PadDirection" c:type="GstPadDirection"/>
3860             </parameter>
3861             <parameter name="caps" transfer-ownership="none">
3862               <type name="Gst.Caps" c:type="GstCaps*"/>
3863             </parameter>
3864             <parameter name="othercaps" transfer-ownership="none">
3865               <type name="Gst.Caps" c:type="GstCaps*"/>
3866             </parameter>
3867           </parameters>
3868         </callback>
3869       </field>
3870       <field name="transform_size">
3871         <callback name="transform_size" c:type="transform_size">
3872           <return-value transfer-ownership="none">
3873             <type name="boolean" c:type="gboolean"/>
3874           </return-value>
3875           <parameters>
3876             <parameter name="trans" transfer-ownership="none">
3877               <type name="Gst.BaseTransform" c:type="GstBaseTransform*"/>
3878             </parameter>
3879             <parameter name="direction" transfer-ownership="none">
3880               <type name="Gst.PadDirection" c:type="GstPadDirection"/>
3881             </parameter>
3882             <parameter name="caps" transfer-ownership="none">
3883               <type name="Gst.Caps" c:type="GstCaps*"/>
3884             </parameter>
3885             <parameter name="size" transfer-ownership="none">
3886               <type name="uint" c:type="guint"/>
3887             </parameter>
3888             <parameter name="othercaps" transfer-ownership="none">
3889               <type name="Gst.Caps" c:type="GstCaps*"/>
3890             </parameter>
3891             <parameter name="othersize"
3892                        direction="out"
3893                        caller-allocates="0"
3894                        transfer-ownership="full">
3895               <type name="uint" c:type="guint*"/>
3896             </parameter>
3897           </parameters>
3898         </callback>
3899       </field>
3900       <field name="get_unit_size">
3901         <callback name="get_unit_size" c:type="get_unit_size">
3902           <return-value transfer-ownership="none">
3903             <type name="boolean" c:type="gboolean"/>
3904           </return-value>
3905           <parameters>
3906             <parameter name="trans" transfer-ownership="none">
3907               <type name="Gst.BaseTransform" c:type="GstBaseTransform*"/>
3908             </parameter>
3909             <parameter name="caps" transfer-ownership="none">
3910               <type name="Gst.Caps" c:type="GstCaps*"/>
3911             </parameter>
3912             <parameter name="size"
3913                        direction="out"
3914                        caller-allocates="0"
3915                        transfer-ownership="full">
3916               <type name="uint" c:type="guint*"/>
3917             </parameter>
3918           </parameters>
3919         </callback>
3920       </field>
3921       <field name="set_caps">
3922         <callback name="set_caps" c:type="set_caps">
3923           <return-value transfer-ownership="none">
3924             <type name="boolean" c:type="gboolean"/>
3925           </return-value>
3926           <parameters>
3927             <parameter name="trans" transfer-ownership="none">
3928               <type name="Gst.BaseTransform" c:type="GstBaseTransform*"/>
3929             </parameter>
3930             <parameter name="incaps" transfer-ownership="none">
3931               <type name="Gst.Caps" c:type="GstCaps*"/>
3932             </parameter>
3933             <parameter name="outcaps" transfer-ownership="none">
3934               <type name="Gst.Caps" c:type="GstCaps*"/>
3935             </parameter>
3936           </parameters>
3937         </callback>
3938       </field>
3939       <field name="start">
3940         <callback name="start" c:type="start">
3941           <return-value transfer-ownership="none">
3942             <type name="boolean" c:type="gboolean"/>
3943           </return-value>
3944           <parameters>
3945             <parameter name="trans" transfer-ownership="none">
3946               <type name="Gst.BaseTransform" c:type="GstBaseTransform*"/>
3947             </parameter>
3948           </parameters>
3949         </callback>
3950       </field>
3951       <field name="stop">
3952         <callback name="stop" c:type="stop">
3953           <return-value transfer-ownership="none">
3954             <type name="boolean" c:type="gboolean"/>
3955           </return-value>
3956           <parameters>
3957             <parameter name="trans" transfer-ownership="none">
3958               <type name="Gst.BaseTransform" c:type="GstBaseTransform*"/>
3959             </parameter>
3960           </parameters>
3961         </callback>
3962       </field>
3963       <field name="event">
3964         <callback name="event" c:type="event">
3965           <return-value transfer-ownership="none">
3966             <type name="boolean" c:type="gboolean"/>
3967           </return-value>
3968           <parameters>
3969             <parameter name="trans" transfer-ownership="none">
3970               <type name="Gst.BaseTransform" c:type="GstBaseTransform*"/>
3971             </parameter>
3972             <parameter name="event" transfer-ownership="none">
3973               <type name="Gst.Event" c:type="GstEvent*"/>
3974             </parameter>
3975           </parameters>
3976         </callback>
3977       </field>
3978       <field name="transform">
3979         <callback name="transform" c:type="transform">
3980           <return-value transfer-ownership="full">
3981             <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
3982           </return-value>
3983           <parameters>
3984             <parameter name="trans" transfer-ownership="none">
3985               <type name="Gst.BaseTransform" c:type="GstBaseTransform*"/>
3986             </parameter>
3987             <parameter name="inbuf" transfer-ownership="none">
3988               <type name="Gst.Buffer" c:type="GstBuffer*"/>
3989             </parameter>
3990             <parameter name="outbuf" transfer-ownership="none">
3991               <type name="Gst.Buffer" c:type="GstBuffer*"/>
3992             </parameter>
3993           </parameters>
3994         </callback>
3995       </field>
3996       <field name="transform_ip">
3997         <callback name="transform_ip" c:type="transform_ip">
3998           <return-value transfer-ownership="full">
3999             <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
4000           </return-value>
4001           <parameters>
4002             <parameter name="trans" transfer-ownership="none">
4003               <type name="Gst.BaseTransform" c:type="GstBaseTransform*"/>
4004             </parameter>
4005             <parameter name="buf" transfer-ownership="none">
4006               <type name="Gst.Buffer" c:type="GstBuffer*"/>
4007             </parameter>
4008           </parameters>
4009         </callback>
4010       </field>
4011       <field name="passthrough_on_same_caps">
4012         <type name="boolean" c:type="gboolean"/>
4013       </field>
4014       <field name="prepare_output_buffer">
4015         <callback name="prepare_output_buffer" c:type="prepare_output_buffer">
4016           <return-value transfer-ownership="full">
4017             <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
4018           </return-value>
4019           <parameters>
4020             <parameter name="trans" transfer-ownership="none">
4021               <type name="Gst.BaseTransform" c:type="GstBaseTransform*"/>
4022             </parameter>
4023             <parameter name="input" transfer-ownership="none">
4024               <type name="Gst.Buffer" c:type="GstBuffer*"/>
4025             </parameter>
4026             <parameter name="size" transfer-ownership="none">
4027               <type name="int" c:type="gint"/>
4028             </parameter>
4029             <parameter name="caps" transfer-ownership="none">
4030               <type name="Gst.Caps" c:type="GstCaps*"/>
4031             </parameter>
4032             <parameter name="buf" transfer-ownership="none">
4033               <type name="Gst.Buffer" c:type="GstBuffer**"/>
4034             </parameter>
4035           </parameters>
4036         </callback>
4037       </field>
4038       <field name="src_event">
4039         <callback name="src_event" c:type="src_event">
4040           <return-value transfer-ownership="none">
4041             <type name="boolean" c:type="gboolean"/>
4042           </return-value>
4043           <parameters>
4044             <parameter name="trans" transfer-ownership="none">
4045               <type name="Gst.BaseTransform" c:type="GstBaseTransform*"/>
4046             </parameter>
4047             <parameter name="event" transfer-ownership="none">
4048               <type name="Gst.Event" c:type="GstEvent*"/>
4049             </parameter>
4050           </parameters>
4051         </callback>
4052       </field>
4053       <field name="before_transform">
4054         <callback name="before_transform" c:type="before_transform">
4055           <return-value transfer-ownership="none">
4056             <type name="none" c:type="void"/>
4057           </return-value>
4058           <parameters>
4059             <parameter name="trans" transfer-ownership="none">
4060               <type name="Gst.BaseTransform" c:type="GstBaseTransform*"/>
4061             </parameter>
4062             <parameter name="buffer" transfer-ownership="none">
4063               <type name="Gst.Buffer" c:type="GstBuffer*"/>
4064             </parameter>
4065           </parameters>
4066         </callback>
4067       </field>
4068       <field name="accept_caps">
4069         <callback name="accept_caps" c:type="accept_caps">
4070           <return-value transfer-ownership="none">
4071             <type name="boolean" c:type="gboolean"/>
4072           </return-value>
4073           <parameters>
4074             <parameter name="trans" transfer-ownership="none">
4075               <type name="Gst.BaseTransform" c:type="GstBaseTransform*"/>
4076             </parameter>
4077             <parameter name="direction" transfer-ownership="none">
4078               <type name="Gst.PadDirection" c:type="GstPadDirection"/>
4079             </parameter>
4080             <parameter name="caps" transfer-ownership="none">
4081               <type name="Gst.Caps" c:type="GstCaps*"/>
4082             </parameter>
4083           </parameters>
4084         </callback>
4085       </field>
4086       <field name="_gst_reserved">
4087         <array zero-terminated="0" c:type="gpointer" fixed-size="17">
4088           <type name="any"/>
4089         </array>
4090       </field>
4091     </record>
4092     <record name="TransformPrivate" c:type="GstBaseTransformPrivate">
4093     </record>
4094     <function name="gst_type_find_helper" c:identifier="gst_type_find_helper">
4095       <return-value transfer-ownership="full">
4096         <type name="Gst.Caps" c:type="GstCaps*"/>
4097       </return-value>
4098       <parameters>
4099         <parameter name="src" transfer-ownership="none">
4100           <type name="Gst.Pad" c:type="GstPad*"/>
4101         </parameter>
4102         <parameter name="size" transfer-ownership="none">
4103           <type name="uint64" c:type="guint64"/>
4104         </parameter>
4105       </parameters>
4106     </function>
4107     <function name="gst_type_find_helper_for_buffer"
4108               c:identifier="gst_type_find_helper_for_buffer">
4109       <return-value transfer-ownership="full">
4110         <type name="Gst.Caps" c:type="GstCaps*"/>
4111       </return-value>
4112       <parameters>
4113         <parameter name="obj" transfer-ownership="none">
4114           <type name="Gst.Object" c:type="GstObject*"/>
4115         </parameter>
4116         <parameter name="buf" transfer-ownership="none">
4117           <type name="Gst.Buffer" c:type="GstBuffer*"/>
4118         </parameter>
4119         <parameter name="prob" transfer-ownership="none">
4120           <type name="Gst.TypeFindProbability"
4121                 c:type="GstTypeFindProbability*"/>
4122         </parameter>
4123       </parameters>
4124     </function>
4125     <function name="gst_type_find_helper_for_extension"
4126               c:identifier="gst_type_find_helper_for_extension">
4127       <return-value transfer-ownership="full">
4128         <type name="Gst.Caps" c:type="GstCaps*"/>
4129       </return-value>
4130       <parameters>
4131         <parameter name="obj" transfer-ownership="none">
4132           <type name="Gst.Object" c:type="GstObject*"/>
4133         </parameter>
4134         <parameter name="extension" transfer-ownership="none">
4135           <type name="utf8" c:type="gchar*"/>
4136         </parameter>
4137       </parameters>
4138     </function>
4139     <function name="gst_type_find_helper_get_range"
4140               c:identifier="gst_type_find_helper_get_range">
4141       <return-value transfer-ownership="full">
4142         <type name="Gst.Caps" c:type="GstCaps*"/>
4143       </return-value>
4144       <parameters>
4145         <parameter name="obj" transfer-ownership="none">
4146           <type name="Gst.Object" c:type="GstObject*"/>
4147         </parameter>
4148         <parameter name="func" transfer-ownership="none" scope="call">
4149           <type name="Gst.TypeFindHelperGetRangeFunction"
4150                 c:type="GstTypeFindHelperGetRangeFunction"/>
4151         </parameter>
4152         <parameter name="size" transfer-ownership="none">
4153           <type name="uint64" c:type="guint64"/>
4154         </parameter>
4155         <parameter name="prob" transfer-ownership="none">
4156           <type name="Gst.TypeFindProbability"
4157                 c:type="GstTypeFindProbability*"/>
4158         </parameter>
4159       </parameters>
4160     </function>
4161     <function name="gst_type_find_helper_get_range_ext"
4162               c:identifier="gst_type_find_helper_get_range_ext">
4163       <return-value transfer-ownership="full">
4164         <type name="Gst.Caps" c:type="GstCaps*"/>
4165       </return-value>
4166       <parameters>
4167         <parameter name="obj" transfer-ownership="none">
4168           <type name="Gst.Object" c:type="GstObject*"/>
4169         </parameter>
4170         <parameter name="func" transfer-ownership="none" scope="call">
4171           <type name="Gst.TypeFindHelperGetRangeFunction"
4172                 c:type="GstTypeFindHelperGetRangeFunction"/>
4173         </parameter>
4174         <parameter name="size" transfer-ownership="none">
4175           <type name="uint64" c:type="guint64"/>
4176         </parameter>
4177         <parameter name="extension" transfer-ownership="none">
4178           <type name="utf8" c:type="gchar*"/>
4179         </parameter>
4180         <parameter name="prob" transfer-ownership="none">
4181           <type name="Gst.TypeFindProbability"
4182                 c:type="GstTypeFindProbability*"/>
4183         </parameter>
4184       </parameters>
4185     </function>
4186   </namespace>
4187 </repository>