sync
[gir-1.1] / Gst-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="libxml2" version="2.0"/>
13   <package name="gobject-2.0"/>
14   <package name="gstreamer-0.10"/>
15   <package name="gstreamer-base-0.10"/>
16   <namespace name="Gst"
17              version="0.10"
18              shared-library="libgstbase-0.10.so.0"
19              c:prefix="Gst">
20     <alias name="ClockID" target="any" c:type="GstClockID"/>
21     <alias name="ClockTime" target="uint64" c:type="GstClockTime"/>
22     <alias name="ClockTimeDiff" target="int64" c:type="GstClockTimeDiff"/>
23     <alias name="TagList" target="Structure" c:type="GstTagList"/>
24     <enumeration name="ActivateMode"
25                  glib:type-name="GstActivateMode"
26                  glib:get-type="gst_activate_mode_get_type"
27                  c:type="GstActivateMode">
28       <doc xml:whitespace="preserve">The status of a GstPad. After activating a pad, which usually happens when the
29 parent element goes from READY to PAUSED, the GstActivateMode defines if the
30 pad operates in push or pull mode.</doc>
31       <member name="none"
32               value="0"
33               c:identifier="GST_ACTIVATE_NONE"
34               glib:nick="none"/>
35       <member name="push"
36               value="1"
37               c:identifier="GST_ACTIVATE_PUSH"
38               glib:nick="push"/>
39       <member name="pull"
40               value="2"
41               c:identifier="GST_ACTIVATE_PULL"
42               glib:nick="pull"/>
43     </enumeration>
44     <class name="Adapter"
45            c:type="GstAdapter"
46            parent="GObject.Object"
47            glib:type-name="GstAdapter"
48            glib:get-type="gst_adapter_get_type"
49            glib:type-struct="AdapterClass">
50       <doc xml:whitespace="preserve">The opaque #GstAdapter data structure.</doc>
51       <constructor name="new" c:identifier="gst_adapter_new">
52         <return-value transfer-ownership="full">
53           <type name="Adapter" c:type="GstAdapter*"/>
54         </return-value>
55       </constructor>
56       <method name="clear" c:identifier="gst_adapter_clear">
57         <return-value transfer-ownership="none">
58           <type name="none" c:type="void"/>
59         </return-value>
60       </method>
61       <method name="push" c:identifier="gst_adapter_push">
62         <return-value transfer-ownership="none">
63           <type name="none" c:type="void"/>
64         </return-value>
65         <parameters>
66           <parameter name="buf" transfer-ownership="none">
67             <type name="Buffer" c:type="GstBuffer*"/>
68           </parameter>
69         </parameters>
70       </method>
71       <method name="peek" c:identifier="gst_adapter_peek">
72         <return-value transfer-ownership="none">
73           <array c:type="guint8*">
74             <type name="uint8"/>
75           </array>
76         </return-value>
77         <parameters>
78           <parameter name="size" transfer-ownership="none">
79             <type name="uint" c:type="guint"/>
80           </parameter>
81         </parameters>
82       </method>
83       <method name="copy" c:identifier="gst_adapter_copy">
84         <return-value transfer-ownership="none">
85           <type name="none" c:type="void"/>
86         </return-value>
87         <parameters>
88           <parameter name="dest" transfer-ownership="none">
89             <array c:type="guint8*">
90               <type name="uint8"/>
91             </array>
92           </parameter>
93           <parameter name="offset" transfer-ownership="none">
94             <type name="uint" c:type="guint"/>
95           </parameter>
96           <parameter name="size" transfer-ownership="none">
97             <type name="uint" c:type="guint"/>
98           </parameter>
99         </parameters>
100       </method>
101       <method name="flush" c:identifier="gst_adapter_flush">
102         <return-value transfer-ownership="none">
103           <type name="none" c:type="void"/>
104         </return-value>
105         <parameters>
106           <parameter name="flush" transfer-ownership="none">
107             <type name="uint" c:type="guint"/>
108           </parameter>
109         </parameters>
110       </method>
111       <method name="take" c:identifier="gst_adapter_take">
112         <return-value transfer-ownership="full">
113           <array c:type="guint8*">
114             <type name="uint8"/>
115           </array>
116         </return-value>
117         <parameters>
118           <parameter name="nbytes" transfer-ownership="none">
119             <type name="uint" c:type="guint"/>
120           </parameter>
121         </parameters>
122       </method>
123       <method name="take_buffer" c:identifier="gst_adapter_take_buffer">
124         <return-value transfer-ownership="full">
125           <type name="Buffer" c:type="GstBuffer*"/>
126         </return-value>
127         <parameters>
128           <parameter name="nbytes" transfer-ownership="none">
129             <type name="uint" c:type="guint"/>
130           </parameter>
131         </parameters>
132       </method>
133       <method name="available" c:identifier="gst_adapter_available">
134         <return-value transfer-ownership="none">
135           <type name="uint" c:type="guint"/>
136         </return-value>
137       </method>
138       <method name="available_fast" c:identifier="gst_adapter_available_fast">
139         <return-value transfer-ownership="none">
140           <type name="uint" c:type="guint"/>
141         </return-value>
142       </method>
143       <method name="prev_timestamp" c:identifier="gst_adapter_prev_timestamp">
144         <return-value transfer-ownership="full">
145           <type name="ClockTime" c:type="GstClockTime"/>
146         </return-value>
147         <parameters>
148           <parameter name="distance"
149                      direction="out"
150                      caller-allocates="0"
151                      transfer-ownership="full">
152             <type name="uint64" c:type="guint64*"/>
153           </parameter>
154         </parameters>
155       </method>
156       <method name="masked_scan_uint32"
157               c:identifier="gst_adapter_masked_scan_uint32">
158         <return-value transfer-ownership="none">
159           <type name="uint" c:type="guint"/>
160         </return-value>
161         <parameters>
162           <parameter name="mask" transfer-ownership="none">
163             <type name="uint32" c:type="guint32"/>
164           </parameter>
165           <parameter name="pattern" transfer-ownership="none">
166             <type name="uint32" c:type="guint32"/>
167           </parameter>
168           <parameter name="offset" transfer-ownership="none">
169             <type name="uint" c:type="guint"/>
170           </parameter>
171           <parameter name="size" transfer-ownership="none">
172             <type name="uint" c:type="guint"/>
173           </parameter>
174         </parameters>
175       </method>
176       <method name="masked_scan_uint32_peek"
177               c:identifier="gst_adapter_masked_scan_uint32_peek">
178         <return-value transfer-ownership="none">
179           <type name="uint" c:type="guint"/>
180         </return-value>
181         <parameters>
182           <parameter name="mask" transfer-ownership="none">
183             <type name="uint32" c:type="guint32"/>
184           </parameter>
185           <parameter name="pattern" transfer-ownership="none">
186             <type name="uint32" c:type="guint32"/>
187           </parameter>
188           <parameter name="offset" transfer-ownership="none">
189             <type name="uint" c:type="guint"/>
190           </parameter>
191           <parameter name="size" transfer-ownership="none">
192             <type name="uint" c:type="guint"/>
193           </parameter>
194           <parameter name="value"
195                      direction="out"
196                      caller-allocates="0"
197                      transfer-ownership="full">
198             <type name="uint32" c:type="guint32*"/>
199           </parameter>
200         </parameters>
201       </method>
202       <field name="object">
203         <type name="GObject.Object" c:type="GObject"/>
204       </field>
205       <field name="buflist">
206         <type name="GLib.SList" c:type="GSList*">
207           <type name="any" c:type="gpointer"/>
208         </type>
209       </field>
210       <field name="size">
211         <type name="uint" c:type="guint"/>
212       </field>
213       <field name="skip">
214         <type name="uint" c:type="guint"/>
215       </field>
216       <field name="assembled_data">
217         <type name="any" c:type="guint8*"/>
218       </field>
219       <field name="assembled_size">
220         <type name="uint" c:type="guint"/>
221       </field>
222       <field name="assembled_len">
223         <type name="uint" c:type="guint"/>
224       </field>
225       <field name="buflist_end">
226         <type name="GLib.SList" c:type="GSList*">
227           <type name="any" c:type="gpointer"/>
228         </type>
229       </field>
230       <field name="priv">
231         <type name="AdapterPrivate" c:type="GstAdapterPrivate*"/>
232       </field>
233       <field name="_gst_reserved">
234         <array zero-terminated="0" c:type="gpointer" fixed-size="2">
235           <type name="any"/>
236         </array>
237       </field>
238     </class>
239     <record name="AdapterClass"
240             c:type="GstAdapterClass"
241             glib:is-gtype-struct-for="Adapter">
242       <field name="parent_class">
243         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
244       </field>
245       <field name="_gst_reserved">
246         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
247           <type name="any"/>
248         </array>
249       </field>
250     </record>
251     <record name="AdapterPrivate" c:type="GstAdapterPrivate">
252     </record>
253     <record name="AllocTrace" c:type="GstAllocTrace">
254       <doc xml:whitespace="preserve">The main tracing object</doc>
255       <field name="name" writable="1">
256         <type name="utf8" c:type="gchar*"/>
257       </field>
258       <field name="flags" writable="1">
259         <type name="int" c:type="gint"/>
260       </field>
261       <field name="live" writable="1">
262         <type name="int" c:type="gint"/>
263       </field>
264       <field name="mem_live" writable="1">
265         <type name="GLib.SList" c:type="GSList*">
266           <type name="any" c:type="gpointer"/>
267         </type>
268       </field>
269       <method name="print" c:identifier="gst_alloc_trace_print">
270         <return-value transfer-ownership="none">
271           <type name="none" c:type="void"/>
272         </return-value>
273       </method>
274       <method name="set_flags" c:identifier="gst_alloc_trace_set_flags">
275         <return-value transfer-ownership="none">
276           <type name="none" c:type="void"/>
277         </return-value>
278         <parameters>
279           <parameter name="flags" transfer-ownership="none">
280             <type name="AllocTraceFlags" c:type="GstAllocTraceFlags"/>
281           </parameter>
282         </parameters>
283       </method>
284     </record>
285     <bitfield name="AllocTraceFlags"
286               glib:type-name="GstAllocTraceFlags"
287               glib:get-type="gst_alloc_trace_flags_get_type"
288               c:type="GstAllocTraceFlags">
289       <doc xml:whitespace="preserve">Flags indicating which tracing feature to enable.</doc>
290       <member name="live"
291               value="1"
292               c:identifier="GST_ALLOC_TRACE_LIVE"
293               glib:nick="live"/>
294       <member name="mem_live"
295               value="2"
296               c:identifier="GST_ALLOC_TRACE_MEM_LIVE"
297               glib:nick="mem-live"/>
298     </bitfield>
299     <bitfield name="AssocFlags"
300               glib:type-name="GstAssocFlags"
301               glib:get-type="gst_assoc_flags_get_type"
302               c:type="GstAssocFlags">
303       <doc xml:whitespace="preserve">Flags for an association entry.</doc>
304       <member name="none"
305               value="0"
306               c:identifier="GST_ASSOCIATION_FLAG_NONE"
307               glib:nick="none"/>
308       <member name="key_unit"
309               value="1"
310               c:identifier="GST_ASSOCIATION_FLAG_KEY_UNIT"
311               glib:nick="key-unit"/>
312       <member name="delta_unit"
313               value="2"
314               c:identifier="GST_ASSOCIATION_FLAG_DELTA_UNIT"
315               glib:nick="delta-unit"/>
316       <member name="last"
317               value="256"
318               c:identifier="GST_ASSOCIATION_FLAG_LAST"
319               glib:nick="last"/>
320     </bitfield>
321     <constant name="BASE_TRANSFORM_SINK_NAME" value="sink">
322       <type name="utf8"/>
323     </constant>
324     <constant name="BASE_TRANSFORM_SRC_NAME" value="src">
325       <type name="utf8"/>
326     </constant>
327     <constant name="BUFFER_COPY_ALL" value="0">
328       <type name="int"/>
329     </constant>
330     <constant name="BUFFER_OFFSET_NONE" value="-1">
331       <type name="int"/>
332     </constant>
333     <constant name="BUFFER_TRACE_NAME" value="GstBuffer">
334       <type name="utf8"/>
335     </constant>
336     <class name="BaseSink"
337            c:type="GstBaseSink"
338            parent="Element"
339            abstract="1"
340            glib:type-name="GstBaseSink"
341            glib:get-type="gst_base_sink_get_type"
342            glib:type-struct="BaseSinkClass">
343       <doc xml:whitespace="preserve">The opaque #GstBaseSink data structure.</doc>
344       <virtual-method name="get_caps">
345         <return-value transfer-ownership="full">
346           <type name="Caps" c:type="GstCaps*"/>
347         </return-value>
348       </virtual-method>
349       <virtual-method name="set_caps">
350         <return-value transfer-ownership="none">
351           <type name="boolean" c:type="gboolean"/>
352         </return-value>
353         <parameters>
354           <parameter name="caps" transfer-ownership="none">
355             <type name="Caps" c:type="GstCaps*"/>
356           </parameter>
357         </parameters>
358       </virtual-method>
359       <virtual-method name="buffer_alloc">
360         <return-value transfer-ownership="full">
361           <type name="FlowReturn" c:type="GstFlowReturn"/>
362         </return-value>
363         <parameters>
364           <parameter name="offset" transfer-ownership="none">
365             <type name="uint64" c:type="guint64"/>
366           </parameter>
367           <parameter name="size" transfer-ownership="none">
368             <type name="uint" c:type="guint"/>
369           </parameter>
370           <parameter name="caps" transfer-ownership="none">
371             <type name="Caps" c:type="GstCaps*"/>
372           </parameter>
373           <parameter name="buf" transfer-ownership="none">
374             <type name="Buffer" c:type="GstBuffer**"/>
375           </parameter>
376         </parameters>
377       </virtual-method>
378       <virtual-method name="get_times">
379         <return-value transfer-ownership="none">
380           <type name="none" c:type="void"/>
381         </return-value>
382         <parameters>
383           <parameter name="buffer" transfer-ownership="none">
384             <type name="Buffer" c:type="GstBuffer*"/>
385           </parameter>
386           <parameter name="start" transfer-ownership="none">
387             <type name="ClockTime" c:type="GstClockTime*"/>
388           </parameter>
389           <parameter name="end" transfer-ownership="none">
390             <type name="ClockTime" c:type="GstClockTime*"/>
391           </parameter>
392         </parameters>
393       </virtual-method>
394       <virtual-method name="start">
395         <return-value transfer-ownership="none">
396           <type name="boolean" c:type="gboolean"/>
397         </return-value>
398       </virtual-method>
399       <virtual-method name="stop">
400         <return-value transfer-ownership="none">
401           <type name="boolean" c:type="gboolean"/>
402         </return-value>
403       </virtual-method>
404       <virtual-method name="unlock">
405         <return-value transfer-ownership="none">
406           <type name="boolean" c:type="gboolean"/>
407         </return-value>
408       </virtual-method>
409       <virtual-method name="event">
410         <return-value transfer-ownership="none">
411           <type name="boolean" c:type="gboolean"/>
412         </return-value>
413         <parameters>
414           <parameter name="event" transfer-ownership="none">
415             <type name="Event" c:type="GstEvent*"/>
416           </parameter>
417         </parameters>
418       </virtual-method>
419       <virtual-method name="preroll">
420         <return-value transfer-ownership="full">
421           <type name="FlowReturn" c:type="GstFlowReturn"/>
422         </return-value>
423         <parameters>
424           <parameter name="buffer" transfer-ownership="none">
425             <type name="Buffer" c:type="GstBuffer*"/>
426           </parameter>
427         </parameters>
428       </virtual-method>
429       <virtual-method name="render">
430         <return-value transfer-ownership="full">
431           <type name="FlowReturn" c:type="GstFlowReturn"/>
432         </return-value>
433         <parameters>
434           <parameter name="buffer" transfer-ownership="none">
435             <type name="Buffer" c:type="GstBuffer*"/>
436           </parameter>
437         </parameters>
438       </virtual-method>
439       <virtual-method name="async_play">
440         <return-value transfer-ownership="full">
441           <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
442         </return-value>
443       </virtual-method>
444       <virtual-method name="activate_pull">
445         <return-value transfer-ownership="none">
446           <type name="boolean" c:type="gboolean"/>
447         </return-value>
448         <parameters>
449           <parameter name="active" transfer-ownership="none">
450             <type name="boolean" c:type="gboolean"/>
451           </parameter>
452         </parameters>
453       </virtual-method>
454       <virtual-method name="fixate">
455         <return-value transfer-ownership="none">
456           <type name="none" c:type="void"/>
457         </return-value>
458         <parameters>
459           <parameter name="caps" transfer-ownership="none">
460             <type name="Caps" c:type="GstCaps*"/>
461           </parameter>
462         </parameters>
463       </virtual-method>
464       <virtual-method name="unlock_stop">
465         <return-value transfer-ownership="none">
466           <type name="boolean" c:type="gboolean"/>
467         </return-value>
468       </virtual-method>
469       <virtual-method name="render_list">
470         <return-value transfer-ownership="full">
471           <type name="FlowReturn" c:type="GstFlowReturn"/>
472         </return-value>
473         <parameters>
474           <parameter name="buffer_list" transfer-ownership="none">
475             <type name="BufferList" c:type="GstBufferList*"/>
476           </parameter>
477         </parameters>
478       </virtual-method>
479       <method name="do_preroll" c:identifier="gst_base_sink_do_preroll">
480         <return-value transfer-ownership="full">
481           <type name="FlowReturn" c:type="GstFlowReturn"/>
482         </return-value>
483         <parameters>
484           <parameter name="obj" transfer-ownership="none">
485             <type name="MiniObject" c:type="GstMiniObject*"/>
486           </parameter>
487         </parameters>
488       </method>
489       <method name="wait_preroll" c:identifier="gst_base_sink_wait_preroll">
490         <return-value transfer-ownership="full">
491           <type name="FlowReturn" c:type="GstFlowReturn"/>
492         </return-value>
493       </method>
494       <method name="set_sync" c:identifier="gst_base_sink_set_sync">
495         <return-value transfer-ownership="none">
496           <type name="none" c:type="void"/>
497         </return-value>
498         <parameters>
499           <parameter name="sync" transfer-ownership="none">
500             <type name="boolean" c:type="gboolean"/>
501           </parameter>
502         </parameters>
503       </method>
504       <method name="get_sync" c:identifier="gst_base_sink_get_sync">
505         <return-value transfer-ownership="none">
506           <type name="boolean" c:type="gboolean"/>
507         </return-value>
508       </method>
509       <method name="set_max_lateness"
510               c:identifier="gst_base_sink_set_max_lateness">
511         <return-value transfer-ownership="none">
512           <type name="none" c:type="void"/>
513         </return-value>
514         <parameters>
515           <parameter name="max_lateness" transfer-ownership="none">
516             <type name="int64" c:type="gint64"/>
517           </parameter>
518         </parameters>
519       </method>
520       <method name="get_max_lateness"
521               c:identifier="gst_base_sink_get_max_lateness">
522         <return-value transfer-ownership="none">
523           <type name="int64" c:type="gint64"/>
524         </return-value>
525       </method>
526       <method name="set_qos_enabled"
527               c:identifier="gst_base_sink_set_qos_enabled">
528         <return-value transfer-ownership="none">
529           <type name="none" c:type="void"/>
530         </return-value>
531         <parameters>
532           <parameter name="enabled" transfer-ownership="none">
533             <type name="boolean" c:type="gboolean"/>
534           </parameter>
535         </parameters>
536       </method>
537       <method name="is_qos_enabled"
538               c:identifier="gst_base_sink_is_qos_enabled">
539         <return-value transfer-ownership="none">
540           <type name="boolean" c:type="gboolean"/>
541         </return-value>
542       </method>
543       <method name="set_async_enabled"
544               c:identifier="gst_base_sink_set_async_enabled">
545         <return-value transfer-ownership="none">
546           <type name="none" c:type="void"/>
547         </return-value>
548         <parameters>
549           <parameter name="enabled" transfer-ownership="none">
550             <type name="boolean" c:type="gboolean"/>
551           </parameter>
552         </parameters>
553       </method>
554       <method name="is_async_enabled"
555               c:identifier="gst_base_sink_is_async_enabled">
556         <return-value transfer-ownership="none">
557           <type name="boolean" c:type="gboolean"/>
558         </return-value>
559       </method>
560       <method name="set_ts_offset" c:identifier="gst_base_sink_set_ts_offset">
561         <return-value transfer-ownership="none">
562           <type name="none" c:type="void"/>
563         </return-value>
564         <parameters>
565           <parameter name="offset" transfer-ownership="none">
566             <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
567           </parameter>
568         </parameters>
569       </method>
570       <method name="get_ts_offset" c:identifier="gst_base_sink_get_ts_offset">
571         <return-value transfer-ownership="full">
572           <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
573         </return-value>
574       </method>
575       <method name="get_last_buffer"
576               c:identifier="gst_base_sink_get_last_buffer">
577         <return-value transfer-ownership="full">
578           <type name="Buffer" c:type="GstBuffer*"/>
579         </return-value>
580       </method>
581       <method name="set_last_buffer_enabled"
582               c:identifier="gst_base_sink_set_last_buffer_enabled">
583         <return-value transfer-ownership="none">
584           <type name="none" c:type="void"/>
585         </return-value>
586         <parameters>
587           <parameter name="enable" transfer-ownership="none">
588             <type name="boolean" c:type="gboolean"/>
589           </parameter>
590         </parameters>
591       </method>
592       <method name="is_last_buffer_enabled"
593               c:identifier="gst_base_sink_is_last_buffer_enabled">
594         <return-value transfer-ownership="none">
595           <type name="boolean" c:type="gboolean"/>
596         </return-value>
597       </method>
598       <method name="query_latency" c:identifier="gst_base_sink_query_latency">
599         <return-value transfer-ownership="none">
600           <type name="boolean" c:type="gboolean"/>
601         </return-value>
602         <parameters>
603           <parameter name="live"
604                      direction="out"
605                      caller-allocates="0"
606                      transfer-ownership="full">
607             <type name="boolean" c:type="gboolean*"/>
608           </parameter>
609           <parameter name="upstream_live"
610                      direction="out"
611                      caller-allocates="0"
612                      transfer-ownership="full">
613             <type name="boolean" c:type="gboolean*"/>
614           </parameter>
615           <parameter name="min_latency" transfer-ownership="none">
616             <type name="ClockTime" c:type="GstClockTime*"/>
617           </parameter>
618           <parameter name="max_latency" transfer-ownership="none">
619             <type name="ClockTime" c:type="GstClockTime*"/>
620           </parameter>
621         </parameters>
622       </method>
623       <method name="get_latency" c:identifier="gst_base_sink_get_latency">
624         <return-value transfer-ownership="full">
625           <type name="ClockTime" c:type="GstClockTime"/>
626         </return-value>
627       </method>
628       <method name="set_render_delay"
629               c:identifier="gst_base_sink_set_render_delay">
630         <return-value transfer-ownership="none">
631           <type name="none" c:type="void"/>
632         </return-value>
633         <parameters>
634           <parameter name="delay" transfer-ownership="none">
635             <type name="ClockTime" c:type="GstClockTime"/>
636           </parameter>
637         </parameters>
638       </method>
639       <method name="get_render_delay"
640               c:identifier="gst_base_sink_get_render_delay">
641         <return-value transfer-ownership="full">
642           <type name="ClockTime" c:type="GstClockTime"/>
643         </return-value>
644       </method>
645       <method name="set_blocksize" c:identifier="gst_base_sink_set_blocksize">
646         <return-value transfer-ownership="none">
647           <type name="none" c:type="void"/>
648         </return-value>
649         <parameters>
650           <parameter name="blocksize" transfer-ownership="none">
651             <type name="uint" c:type="guint"/>
652           </parameter>
653         </parameters>
654       </method>
655       <method name="get_blocksize" c:identifier="gst_base_sink_get_blocksize">
656         <return-value transfer-ownership="none">
657           <type name="uint" c:type="guint"/>
658         </return-value>
659       </method>
660       <method name="wait_clock" c:identifier="gst_base_sink_wait_clock">
661         <return-value transfer-ownership="full">
662           <type name="ClockReturn" c:type="GstClockReturn"/>
663         </return-value>
664         <parameters>
665           <parameter name="time" transfer-ownership="none">
666             <type name="ClockTime" c:type="GstClockTime"/>
667           </parameter>
668           <parameter name="jitter" transfer-ownership="none">
669             <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
670           </parameter>
671         </parameters>
672       </method>
673       <method name="wait_eos" c:identifier="gst_base_sink_wait_eos">
674         <return-value transfer-ownership="full">
675           <type name="FlowReturn" c:type="GstFlowReturn"/>
676         </return-value>
677         <parameters>
678           <parameter name="time" transfer-ownership="none">
679             <type name="ClockTime" c:type="GstClockTime"/>
680           </parameter>
681           <parameter name="jitter" transfer-ownership="none">
682             <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
683           </parameter>
684         </parameters>
685       </method>
686       <property name="async" writable="1" transfer-ownership="none">
687         <type name="boolean" c:type="gboolean"/>
688       </property>
689       <property name="blocksize" writable="1" transfer-ownership="none">
690         <type name="uint" c:type="guint"/>
691       </property>
692       <property name="enable-last-buffer"
693                 writable="1"
694                 transfer-ownership="none">
695         <type name="boolean" c:type="gboolean"/>
696       </property>
697       <property name="last-buffer" transfer-ownership="none">
698         <type name="Buffer" c:type="GstBuffer"/>
699       </property>
700       <property name="max-lateness" writable="1" transfer-ownership="none">
701         <type name="int64" c:type="gint64"/>
702       </property>
703       <property name="preroll-queue-len"
704                 writable="1"
705                 construct="1"
706                 transfer-ownership="none">
707         <type name="uint" c:type="guint"/>
708       </property>
709       <property name="qos" writable="1" transfer-ownership="none">
710         <type name="boolean" c:type="gboolean"/>
711       </property>
712       <property name="render-delay" writable="1" transfer-ownership="none">
713         <type name="uint64" c:type="guint64"/>
714       </property>
715       <property name="sync" writable="1" transfer-ownership="none">
716         <type name="boolean" c:type="gboolean"/>
717       </property>
718       <property name="ts-offset" writable="1" transfer-ownership="none">
719         <type name="int64" c:type="gint64"/>
720       </property>
721       <field name="element">
722         <type name="Element" c:type="GstElement"/>
723       </field>
724       <field name="sinkpad">
725         <type name="Pad" c:type="GstPad*"/>
726       </field>
727       <field name="pad_mode">
728         <type name="ActivateMode" c:type="GstActivateMode"/>
729       </field>
730       <field name="offset">
731         <type name="uint64" c:type="guint64"/>
732       </field>
733       <field name="can_activate_pull">
734         <type name="boolean" c:type="gboolean"/>
735       </field>
736       <field name="can_activate_push">
737         <type name="boolean" c:type="gboolean"/>
738       </field>
739       <field name="preroll_queue">
740         <type name="GLib.Queue" c:type="GQueue*"/>
741       </field>
742       <field name="preroll_queue_max_len">
743         <type name="int" c:type="gint"/>
744       </field>
745       <field name="preroll_queued">
746         <type name="int" c:type="gint"/>
747       </field>
748       <field name="buffers_queued">
749         <type name="int" c:type="gint"/>
750       </field>
751       <field name="events_queued">
752         <type name="int" c:type="gint"/>
753       </field>
754       <field name="eos">
755         <type name="boolean" c:type="gboolean"/>
756       </field>
757       <field name="eos_queued">
758         <type name="boolean" c:type="gboolean"/>
759       </field>
760       <field name="need_preroll">
761         <type name="boolean" c:type="gboolean"/>
762       </field>
763       <field name="have_preroll">
764         <type name="boolean" c:type="gboolean"/>
765       </field>
766       <field name="playing_async">
767         <type name="boolean" c:type="gboolean"/>
768       </field>
769       <field name="have_newsegment">
770         <type name="boolean" c:type="gboolean"/>
771       </field>
772       <field name="segment">
773         <type name="Segment" c:type="GstSegment"/>
774       </field>
775       <field name="clock_id">
776         <type name="ClockID" c:type="GstClockID"/>
777       </field>
778       <field name="end_time">
779         <type name="ClockTime" c:type="GstClockTime"/>
780       </field>
781       <field name="sync">
782         <type name="boolean" c:type="gboolean"/>
783       </field>
784       <field name="flushing">
785         <type name="boolean" c:type="gboolean"/>
786       </field>
787       <union name="abidata" c:type="abidata">
788         <record name="ABI" c:type="ABI">
789           <field name="clip_segment" writable="1">
790             <type name="Segment" c:type="GstSegment*"/>
791           </field>
792           <field name="max_lateness" writable="1">
793             <type name="int64" c:type="gint64"/>
794           </field>
795           <field name="running" writable="1">
796             <type name="boolean" c:type="gboolean"/>
797           </field>
798         </record>
799         <field name="_gst_reserved" writable="1">
800           <array zero-terminated="0" c:type="gpointer" fixed-size="19">
801             <type name="any"/>
802           </array>
803         </field>
804       </union>
805       <field name="priv">
806         <type name="BaseSinkPrivate" c:type="GstBaseSinkPrivate*"/>
807       </field>
808     </class>
809     <record name="BaseSinkClass"
810             c:type="GstBaseSinkClass"
811             glib:is-gtype-struct-for="BaseSink">
812       <doc xml:whitespace="preserve">Subclasses can override any of the available virtual methods or not, as
813 needed. At the minimum, the @render method should be overridden to
814 output/present buffers.</doc>
815       <field name="parent_class">
816         <type name="ElementClass" c:type="GstElementClass"/>
817       </field>
818       <field name="get_caps">
819         <callback name="get_caps" c:type="get_caps">
820           <return-value transfer-ownership="full">
821             <type name="Caps" c:type="GstCaps*"/>
822           </return-value>
823           <parameters>
824             <parameter name="sink" transfer-ownership="none">
825               <type name="BaseSink" c:type="GstBaseSink*"/>
826             </parameter>
827           </parameters>
828         </callback>
829       </field>
830       <field name="set_caps">
831         <callback name="set_caps" c:type="set_caps">
832           <return-value transfer-ownership="none">
833             <type name="boolean" c:type="gboolean"/>
834           </return-value>
835           <parameters>
836             <parameter name="sink" transfer-ownership="none">
837               <type name="BaseSink" c:type="GstBaseSink*"/>
838             </parameter>
839             <parameter name="caps" transfer-ownership="none">
840               <type name="Caps" c:type="GstCaps*"/>
841             </parameter>
842           </parameters>
843         </callback>
844       </field>
845       <field name="buffer_alloc">
846         <callback name="buffer_alloc" c:type="buffer_alloc">
847           <return-value transfer-ownership="full">
848             <type name="FlowReturn" c:type="GstFlowReturn"/>
849           </return-value>
850           <parameters>
851             <parameter name="sink" transfer-ownership="none">
852               <type name="BaseSink" c:type="GstBaseSink*"/>
853             </parameter>
854             <parameter name="offset" transfer-ownership="none">
855               <type name="uint64" c:type="guint64"/>
856             </parameter>
857             <parameter name="size" transfer-ownership="none">
858               <type name="uint" c:type="guint"/>
859             </parameter>
860             <parameter name="caps" transfer-ownership="none">
861               <type name="Caps" c:type="GstCaps*"/>
862             </parameter>
863             <parameter name="buf" transfer-ownership="none">
864               <type name="Buffer" c:type="GstBuffer**"/>
865             </parameter>
866           </parameters>
867         </callback>
868       </field>
869       <field name="get_times">
870         <callback name="get_times" c:type="get_times">
871           <return-value transfer-ownership="none">
872             <type name="none" c:type="void"/>
873           </return-value>
874           <parameters>
875             <parameter name="sink" transfer-ownership="none">
876               <type name="BaseSink" c:type="GstBaseSink*"/>
877             </parameter>
878             <parameter name="buffer" transfer-ownership="none">
879               <type name="Buffer" c:type="GstBuffer*"/>
880             </parameter>
881             <parameter name="start" transfer-ownership="none">
882               <type name="ClockTime" c:type="GstClockTime*"/>
883             </parameter>
884             <parameter name="end" transfer-ownership="none">
885               <type name="ClockTime" c:type="GstClockTime*"/>
886             </parameter>
887           </parameters>
888         </callback>
889       </field>
890       <field name="start">
891         <callback name="start" c:type="start">
892           <return-value transfer-ownership="none">
893             <type name="boolean" c:type="gboolean"/>
894           </return-value>
895           <parameters>
896             <parameter name="sink" transfer-ownership="none">
897               <type name="BaseSink" c:type="GstBaseSink*"/>
898             </parameter>
899           </parameters>
900         </callback>
901       </field>
902       <field name="stop">
903         <callback name="stop" c:type="stop">
904           <return-value transfer-ownership="none">
905             <type name="boolean" c:type="gboolean"/>
906           </return-value>
907           <parameters>
908             <parameter name="sink" transfer-ownership="none">
909               <type name="BaseSink" c:type="GstBaseSink*"/>
910             </parameter>
911           </parameters>
912         </callback>
913       </field>
914       <field name="unlock">
915         <callback name="unlock" c:type="unlock">
916           <return-value transfer-ownership="none">
917             <type name="boolean" c:type="gboolean"/>
918           </return-value>
919           <parameters>
920             <parameter name="sink" transfer-ownership="none">
921               <type name="BaseSink" c:type="GstBaseSink*"/>
922             </parameter>
923           </parameters>
924         </callback>
925       </field>
926       <field name="event">
927         <callback name="event" c:type="event">
928           <return-value transfer-ownership="none">
929             <type name="boolean" c:type="gboolean"/>
930           </return-value>
931           <parameters>
932             <parameter name="sink" transfer-ownership="none">
933               <type name="BaseSink" c:type="GstBaseSink*"/>
934             </parameter>
935             <parameter name="event" transfer-ownership="none">
936               <type name="Event" c:type="GstEvent*"/>
937             </parameter>
938           </parameters>
939         </callback>
940       </field>
941       <field name="preroll">
942         <callback name="preroll" c:type="preroll">
943           <return-value transfer-ownership="full">
944             <type name="FlowReturn" c:type="GstFlowReturn"/>
945           </return-value>
946           <parameters>
947             <parameter name="sink" transfer-ownership="none">
948               <type name="BaseSink" c:type="GstBaseSink*"/>
949             </parameter>
950             <parameter name="buffer" transfer-ownership="none">
951               <type name="Buffer" c:type="GstBuffer*"/>
952             </parameter>
953           </parameters>
954         </callback>
955       </field>
956       <field name="render">
957         <callback name="render" c:type="render">
958           <return-value transfer-ownership="full">
959             <type name="FlowReturn" c:type="GstFlowReturn"/>
960           </return-value>
961           <parameters>
962             <parameter name="sink" transfer-ownership="none">
963               <type name="BaseSink" c:type="GstBaseSink*"/>
964             </parameter>
965             <parameter name="buffer" transfer-ownership="none">
966               <type name="Buffer" c:type="GstBuffer*"/>
967             </parameter>
968           </parameters>
969         </callback>
970       </field>
971       <field name="async_play">
972         <callback name="async_play" c:type="async_play">
973           <return-value transfer-ownership="full">
974             <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
975           </return-value>
976           <parameters>
977             <parameter name="sink" transfer-ownership="none">
978               <type name="BaseSink" c:type="GstBaseSink*"/>
979             </parameter>
980           </parameters>
981         </callback>
982       </field>
983       <field name="activate_pull">
984         <callback name="activate_pull" c:type="activate_pull">
985           <return-value transfer-ownership="none">
986             <type name="boolean" c:type="gboolean"/>
987           </return-value>
988           <parameters>
989             <parameter name="sink" transfer-ownership="none">
990               <type name="BaseSink" c:type="GstBaseSink*"/>
991             </parameter>
992             <parameter name="active" transfer-ownership="none">
993               <type name="boolean" c:type="gboolean"/>
994             </parameter>
995           </parameters>
996         </callback>
997       </field>
998       <field name="fixate">
999         <callback name="fixate" c:type="fixate">
1000           <return-value transfer-ownership="none">
1001             <type name="none" c:type="void"/>
1002           </return-value>
1003           <parameters>
1004             <parameter name="sink" transfer-ownership="none">
1005               <type name="BaseSink" c:type="GstBaseSink*"/>
1006             </parameter>
1007             <parameter name="caps" transfer-ownership="none">
1008               <type name="Caps" c:type="GstCaps*"/>
1009             </parameter>
1010           </parameters>
1011         </callback>
1012       </field>
1013       <field name="unlock_stop">
1014         <callback name="unlock_stop" c:type="unlock_stop">
1015           <return-value transfer-ownership="none">
1016             <type name="boolean" c:type="gboolean"/>
1017           </return-value>
1018           <parameters>
1019             <parameter name="sink" transfer-ownership="none">
1020               <type name="BaseSink" c:type="GstBaseSink*"/>
1021             </parameter>
1022           </parameters>
1023         </callback>
1024       </field>
1025       <field name="render_list">
1026         <callback name="render_list" c:type="render_list">
1027           <return-value transfer-ownership="full">
1028             <type name="FlowReturn" c:type="GstFlowReturn"/>
1029           </return-value>
1030           <parameters>
1031             <parameter name="sink" transfer-ownership="none">
1032               <type name="BaseSink" c:type="GstBaseSink*"/>
1033             </parameter>
1034             <parameter name="buffer_list" transfer-ownership="none">
1035               <type name="BufferList" c:type="GstBufferList*"/>
1036             </parameter>
1037           </parameters>
1038         </callback>
1039       </field>
1040       <field name="_gst_reserved">
1041         <array zero-terminated="0" c:type="gpointer" fixed-size="15">
1042           <type name="any"/>
1043         </array>
1044       </field>
1045     </record>
1046     <record name="BaseSinkPrivate" c:type="GstBaseSinkPrivate">
1047     </record>
1048     <class name="BaseSrc"
1049            c:type="GstBaseSrc"
1050            parent="Element"
1051            abstract="1"
1052            glib:type-name="GstBaseSrc"
1053            glib:get-type="gst_base_src_get_type"
1054            glib:type-struct="BaseSrcClass">
1055       <doc xml:whitespace="preserve">The opaque #GstBaseSrc data structure.</doc>
1056       <virtual-method name="get_caps">
1057         <return-value transfer-ownership="full">
1058           <type name="Caps" c:type="GstCaps*"/>
1059         </return-value>
1060       </virtual-method>
1061       <virtual-method name="set_caps">
1062         <return-value transfer-ownership="none">
1063           <type name="boolean" c:type="gboolean"/>
1064         </return-value>
1065         <parameters>
1066           <parameter name="caps" transfer-ownership="none">
1067             <type name="Caps" c:type="GstCaps*"/>
1068           </parameter>
1069         </parameters>
1070       </virtual-method>
1071       <virtual-method name="negotiate">
1072         <return-value transfer-ownership="none">
1073           <type name="boolean" c:type="gboolean"/>
1074         </return-value>
1075       </virtual-method>
1076       <virtual-method name="newsegment">
1077         <return-value transfer-ownership="none">
1078           <type name="boolean" c:type="gboolean"/>
1079         </return-value>
1080       </virtual-method>
1081       <virtual-method name="start">
1082         <return-value transfer-ownership="none">
1083           <type name="boolean" c:type="gboolean"/>
1084         </return-value>
1085       </virtual-method>
1086       <virtual-method name="stop">
1087         <return-value transfer-ownership="none">
1088           <type name="boolean" c:type="gboolean"/>
1089         </return-value>
1090       </virtual-method>
1091       <virtual-method name="get_times">
1092         <return-value transfer-ownership="none">
1093           <type name="none" c:type="void"/>
1094         </return-value>
1095         <parameters>
1096           <parameter name="buffer" transfer-ownership="none">
1097             <type name="Buffer" c:type="GstBuffer*"/>
1098           </parameter>
1099           <parameter name="start" transfer-ownership="none">
1100             <type name="ClockTime" c:type="GstClockTime*"/>
1101           </parameter>
1102           <parameter name="end" transfer-ownership="none">
1103             <type name="ClockTime" c:type="GstClockTime*"/>
1104           </parameter>
1105         </parameters>
1106       </virtual-method>
1107       <virtual-method name="get_size">
1108         <return-value transfer-ownership="none">
1109           <type name="boolean" c:type="gboolean"/>
1110         </return-value>
1111         <parameters>
1112           <parameter name="size"
1113                      direction="out"
1114                      caller-allocates="0"
1115                      transfer-ownership="full">
1116             <type name="uint64" c:type="guint64*"/>
1117           </parameter>
1118         </parameters>
1119       </virtual-method>
1120       <virtual-method name="is_seekable">
1121         <return-value transfer-ownership="none">
1122           <type name="boolean" c:type="gboolean"/>
1123         </return-value>
1124       </virtual-method>
1125       <virtual-method name="unlock">
1126         <return-value transfer-ownership="none">
1127           <type name="boolean" c:type="gboolean"/>
1128         </return-value>
1129       </virtual-method>
1130       <virtual-method name="event">
1131         <return-value transfer-ownership="none">
1132           <type name="boolean" c:type="gboolean"/>
1133         </return-value>
1134         <parameters>
1135           <parameter name="event" transfer-ownership="none">
1136             <type name="Event" c:type="GstEvent*"/>
1137           </parameter>
1138         </parameters>
1139       </virtual-method>
1140       <virtual-method name="create">
1141         <return-value transfer-ownership="full">
1142           <type name="FlowReturn" c:type="GstFlowReturn"/>
1143         </return-value>
1144         <parameters>
1145           <parameter name="offset" transfer-ownership="none">
1146             <type name="uint64" c:type="guint64"/>
1147           </parameter>
1148           <parameter name="size" transfer-ownership="none">
1149             <type name="uint" c:type="guint"/>
1150           </parameter>
1151           <parameter name="buf" transfer-ownership="none">
1152             <type name="Buffer" c:type="GstBuffer**"/>
1153           </parameter>
1154         </parameters>
1155       </virtual-method>
1156       <virtual-method name="do_seek">
1157         <return-value transfer-ownership="none">
1158           <type name="boolean" c:type="gboolean"/>
1159         </return-value>
1160         <parameters>
1161           <parameter name="segment" transfer-ownership="none">
1162             <type name="Segment" c:type="GstSegment*"/>
1163           </parameter>
1164         </parameters>
1165       </virtual-method>
1166       <virtual-method name="query">
1167         <return-value transfer-ownership="none">
1168           <type name="boolean" c:type="gboolean"/>
1169         </return-value>
1170         <parameters>
1171           <parameter name="query" transfer-ownership="none">
1172             <type name="Query" c:type="GstQuery*"/>
1173           </parameter>
1174         </parameters>
1175       </virtual-method>
1176       <virtual-method name="check_get_range">
1177         <return-value transfer-ownership="none">
1178           <type name="boolean" c:type="gboolean"/>
1179         </return-value>
1180       </virtual-method>
1181       <virtual-method name="fixate">
1182         <return-value transfer-ownership="none">
1183           <type name="none" c:type="void"/>
1184         </return-value>
1185         <parameters>
1186           <parameter name="caps" transfer-ownership="none">
1187             <type name="Caps" c:type="GstCaps*"/>
1188           </parameter>
1189         </parameters>
1190       </virtual-method>
1191       <virtual-method name="unlock_stop">
1192         <return-value transfer-ownership="none">
1193           <type name="boolean" c:type="gboolean"/>
1194         </return-value>
1195       </virtual-method>
1196       <virtual-method name="prepare_seek_segment">
1197         <return-value transfer-ownership="none">
1198           <type name="boolean" c:type="gboolean"/>
1199         </return-value>
1200         <parameters>
1201           <parameter name="seek" transfer-ownership="none">
1202             <type name="Event" c:type="GstEvent*"/>
1203           </parameter>
1204           <parameter name="segment" transfer-ownership="none">
1205             <type name="Segment" c:type="GstSegment*"/>
1206           </parameter>
1207         </parameters>
1208       </virtual-method>
1209       <method name="wait_playing" c:identifier="gst_base_src_wait_playing">
1210         <return-value transfer-ownership="full">
1211           <type name="FlowReturn" c:type="GstFlowReturn"/>
1212         </return-value>
1213       </method>
1214       <method name="set_live" c:identifier="gst_base_src_set_live">
1215         <return-value transfer-ownership="none">
1216           <type name="none" c:type="void"/>
1217         </return-value>
1218         <parameters>
1219           <parameter name="live" transfer-ownership="none">
1220             <type name="boolean" c:type="gboolean"/>
1221           </parameter>
1222         </parameters>
1223       </method>
1224       <method name="is_live" c:identifier="gst_base_src_is_live">
1225         <return-value transfer-ownership="none">
1226           <type name="boolean" c:type="gboolean"/>
1227         </return-value>
1228       </method>
1229       <method name="set_format" c:identifier="gst_base_src_set_format">
1230         <return-value transfer-ownership="none">
1231           <type name="none" c:type="void"/>
1232         </return-value>
1233         <parameters>
1234           <parameter name="format" transfer-ownership="none">
1235             <type name="Format" c:type="GstFormat"/>
1236           </parameter>
1237         </parameters>
1238       </method>
1239       <method name="query_latency" c:identifier="gst_base_src_query_latency">
1240         <return-value transfer-ownership="none">
1241           <type name="boolean" c:type="gboolean"/>
1242         </return-value>
1243         <parameters>
1244           <parameter name="live"
1245                      direction="out"
1246                      caller-allocates="0"
1247                      transfer-ownership="full">
1248             <type name="boolean" c:type="gboolean*"/>
1249           </parameter>
1250           <parameter name="min_latency" transfer-ownership="none">
1251             <type name="ClockTime" c:type="GstClockTime*"/>
1252           </parameter>
1253           <parameter name="max_latency" transfer-ownership="none">
1254             <type name="ClockTime" c:type="GstClockTime*"/>
1255           </parameter>
1256         </parameters>
1257       </method>
1258       <method name="set_blocksize" c:identifier="gst_base_src_set_blocksize">
1259         <return-value transfer-ownership="none">
1260           <type name="none" c:type="void"/>
1261         </return-value>
1262         <parameters>
1263           <parameter name="blocksize" transfer-ownership="none">
1264             <type name="ulong" c:type="gulong"/>
1265           </parameter>
1266         </parameters>
1267       </method>
1268       <method name="get_blocksize" c:identifier="gst_base_src_get_blocksize">
1269         <return-value transfer-ownership="none">
1270           <type name="ulong" c:type="gulong"/>
1271         </return-value>
1272       </method>
1273       <method name="set_do_timestamp"
1274               c:identifier="gst_base_src_set_do_timestamp">
1275         <return-value transfer-ownership="none">
1276           <type name="none" c:type="void"/>
1277         </return-value>
1278         <parameters>
1279           <parameter name="timestamp" transfer-ownership="none">
1280             <type name="boolean" c:type="gboolean"/>
1281           </parameter>
1282         </parameters>
1283       </method>
1284       <method name="get_do_timestamp"
1285               c:identifier="gst_base_src_get_do_timestamp">
1286         <return-value transfer-ownership="none">
1287           <type name="boolean" c:type="gboolean"/>
1288         </return-value>
1289       </method>
1290       <method name="new_seamless_segment"
1291               c:identifier="gst_base_src_new_seamless_segment">
1292         <return-value transfer-ownership="none">
1293           <type name="boolean" c:type="gboolean"/>
1294         </return-value>
1295         <parameters>
1296           <parameter name="start" transfer-ownership="none">
1297             <type name="int64" c:type="gint64"/>
1298           </parameter>
1299           <parameter name="stop" transfer-ownership="none">
1300             <type name="int64" c:type="gint64"/>
1301           </parameter>
1302           <parameter name="position" transfer-ownership="none">
1303             <type name="int64" c:type="gint64"/>
1304           </parameter>
1305         </parameters>
1306       </method>
1307       <property name="blocksize" writable="1" transfer-ownership="none">
1308         <type name="ulong" c:type="gulong"/>
1309       </property>
1310       <property name="do-timestamp" writable="1" transfer-ownership="none">
1311         <type name="boolean" c:type="gboolean"/>
1312       </property>
1313       <property name="num-buffers" writable="1" transfer-ownership="none">
1314         <type name="int" c:type="gint"/>
1315       </property>
1316       <property name="typefind" writable="1" transfer-ownership="none">
1317         <type name="boolean" c:type="gboolean"/>
1318       </property>
1319       <field name="element">
1320         <type name="Element" c:type="GstElement"/>
1321       </field>
1322       <field name="srcpad">
1323         <type name="Pad" c:type="GstPad*"/>
1324       </field>
1325       <field name="live_lock">
1326         <type name="GLib.Mutex" c:type="GMutex*"/>
1327       </field>
1328       <field name="live_cond">
1329         <type name="GLib.Cond" c:type="GCond*"/>
1330       </field>
1331       <field name="is_live">
1332         <type name="boolean" c:type="gboolean"/>
1333       </field>
1334       <field name="live_running">
1335         <type name="boolean" c:type="gboolean"/>
1336       </field>
1337       <field name="blocksize">
1338         <type name="int" c:type="gint"/>
1339       </field>
1340       <field name="can_activate_push">
1341         <type name="boolean" c:type="gboolean"/>
1342       </field>
1343       <field name="pad_mode">
1344         <type name="ActivateMode" c:type="GstActivateMode"/>
1345       </field>
1346       <field name="seekable">
1347         <type name="boolean" c:type="gboolean"/>
1348       </field>
1349       <field name="random_access">
1350         <type name="boolean" c:type="gboolean"/>
1351       </field>
1352       <field name="clock_id">
1353         <type name="ClockID" c:type="GstClockID"/>
1354       </field>
1355       <field name="end_time">
1356         <type name="ClockTime" c:type="GstClockTime"/>
1357       </field>
1358       <field name="segment">
1359         <type name="Segment" c:type="GstSegment"/>
1360       </field>
1361       <field name="need_newsegment">
1362         <type name="boolean" c:type="gboolean"/>
1363       </field>
1364       <field name="offset">
1365         <type name="uint64" c:type="guint64"/>
1366       </field>
1367       <field name="size">
1368         <type name="uint64" c:type="guint64"/>
1369       </field>
1370       <field name="num_buffers">
1371         <type name="int" c:type="gint"/>
1372       </field>
1373       <field name="num_buffers_left">
1374         <type name="int" c:type="gint"/>
1375       </field>
1376       <union name="data" c:type="data">
1377         <record name="ABI" c:type="ABI">
1378           <field name="typefind" writable="1">
1379             <type name="boolean" c:type="gboolean"/>
1380           </field>
1381           <field name="running" writable="1">
1382             <type name="boolean" c:type="gboolean"/>
1383           </field>
1384           <field name="pending_seek" writable="1">
1385             <type name="Event" c:type="GstEvent*"/>
1386           </field>
1387         </record>
1388         <field name="_gst_reserved" writable="1">
1389           <array zero-terminated="0" c:type="gpointer" fixed-size="19">
1390             <type name="any"/>
1391           </array>
1392         </field>
1393       </union>
1394       <field name="priv">
1395         <type name="BaseSrcPrivate" c:type="GstBaseSrcPrivate*"/>
1396       </field>
1397     </class>
1398     <record name="BaseSrcClass"
1399             c:type="GstBaseSrcClass"
1400             glib:is-gtype-struct-for="BaseSrc">
1401       <doc xml:whitespace="preserve">Subclasses can override any of the available virtual methods or not, as
1402 needed. At the minimum, the @create method should be overridden to produce
1403 buffers.</doc>
1404       <field name="parent_class">
1405         <type name="ElementClass" c:type="GstElementClass"/>
1406       </field>
1407       <field name="get_caps">
1408         <callback name="get_caps" c:type="get_caps">
1409           <return-value transfer-ownership="full">
1410             <type name="Caps" c:type="GstCaps*"/>
1411           </return-value>
1412           <parameters>
1413             <parameter name="src" transfer-ownership="none">
1414               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1415             </parameter>
1416           </parameters>
1417         </callback>
1418       </field>
1419       <field name="set_caps">
1420         <callback name="set_caps" c:type="set_caps">
1421           <return-value transfer-ownership="none">
1422             <type name="boolean" c:type="gboolean"/>
1423           </return-value>
1424           <parameters>
1425             <parameter name="src" transfer-ownership="none">
1426               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1427             </parameter>
1428             <parameter name="caps" transfer-ownership="none">
1429               <type name="Caps" c:type="GstCaps*"/>
1430             </parameter>
1431           </parameters>
1432         </callback>
1433       </field>
1434       <field name="negotiate">
1435         <callback name="negotiate" c:type="negotiate">
1436           <return-value transfer-ownership="none">
1437             <type name="boolean" c:type="gboolean"/>
1438           </return-value>
1439           <parameters>
1440             <parameter name="src" transfer-ownership="none">
1441               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1442             </parameter>
1443           </parameters>
1444         </callback>
1445       </field>
1446       <field name="newsegment">
1447         <callback name="newsegment" c:type="newsegment">
1448           <return-value transfer-ownership="none">
1449             <type name="boolean" c:type="gboolean"/>
1450           </return-value>
1451           <parameters>
1452             <parameter name="src" transfer-ownership="none">
1453               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1454             </parameter>
1455           </parameters>
1456         </callback>
1457       </field>
1458       <field name="start">
1459         <callback name="start" c:type="start">
1460           <return-value transfer-ownership="none">
1461             <type name="boolean" c:type="gboolean"/>
1462           </return-value>
1463           <parameters>
1464             <parameter name="src" transfer-ownership="none">
1465               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1466             </parameter>
1467           </parameters>
1468         </callback>
1469       </field>
1470       <field name="stop">
1471         <callback name="stop" c:type="stop">
1472           <return-value transfer-ownership="none">
1473             <type name="boolean" c:type="gboolean"/>
1474           </return-value>
1475           <parameters>
1476             <parameter name="src" transfer-ownership="none">
1477               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1478             </parameter>
1479           </parameters>
1480         </callback>
1481       </field>
1482       <field name="get_times">
1483         <callback name="get_times" c:type="get_times">
1484           <return-value transfer-ownership="none">
1485             <type name="none" c:type="void"/>
1486           </return-value>
1487           <parameters>
1488             <parameter name="src" transfer-ownership="none">
1489               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1490             </parameter>
1491             <parameter name="buffer" transfer-ownership="none">
1492               <type name="Buffer" c:type="GstBuffer*"/>
1493             </parameter>
1494             <parameter name="start" transfer-ownership="none">
1495               <type name="ClockTime" c:type="GstClockTime*"/>
1496             </parameter>
1497             <parameter name="end" transfer-ownership="none">
1498               <type name="ClockTime" c:type="GstClockTime*"/>
1499             </parameter>
1500           </parameters>
1501         </callback>
1502       </field>
1503       <field name="get_size">
1504         <callback name="get_size" c:type="get_size">
1505           <return-value transfer-ownership="none">
1506             <type name="boolean" c:type="gboolean"/>
1507           </return-value>
1508           <parameters>
1509             <parameter name="src" transfer-ownership="none">
1510               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1511             </parameter>
1512             <parameter name="size"
1513                        direction="out"
1514                        caller-allocates="0"
1515                        transfer-ownership="full">
1516               <type name="uint64" c:type="guint64*"/>
1517             </parameter>
1518           </parameters>
1519         </callback>
1520       </field>
1521       <field name="is_seekable">
1522         <callback name="is_seekable" c:type="is_seekable">
1523           <return-value transfer-ownership="none">
1524             <type name="boolean" c:type="gboolean"/>
1525           </return-value>
1526           <parameters>
1527             <parameter name="src" transfer-ownership="none">
1528               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1529             </parameter>
1530           </parameters>
1531         </callback>
1532       </field>
1533       <field name="unlock">
1534         <callback name="unlock" c:type="unlock">
1535           <return-value transfer-ownership="none">
1536             <type name="boolean" c:type="gboolean"/>
1537           </return-value>
1538           <parameters>
1539             <parameter name="src" transfer-ownership="none">
1540               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1541             </parameter>
1542           </parameters>
1543         </callback>
1544       </field>
1545       <field name="event">
1546         <callback name="event" c:type="event">
1547           <return-value transfer-ownership="none">
1548             <type name="boolean" c:type="gboolean"/>
1549           </return-value>
1550           <parameters>
1551             <parameter name="src" transfer-ownership="none">
1552               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1553             </parameter>
1554             <parameter name="event" transfer-ownership="none">
1555               <type name="Event" c:type="GstEvent*"/>
1556             </parameter>
1557           </parameters>
1558         </callback>
1559       </field>
1560       <field name="create">
1561         <callback name="create" c:type="create">
1562           <return-value transfer-ownership="full">
1563             <type name="FlowReturn" c:type="GstFlowReturn"/>
1564           </return-value>
1565           <parameters>
1566             <parameter name="src" transfer-ownership="none">
1567               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1568             </parameter>
1569             <parameter name="offset" transfer-ownership="none">
1570               <type name="uint64" c:type="guint64"/>
1571             </parameter>
1572             <parameter name="size" transfer-ownership="none">
1573               <type name="uint" c:type="guint"/>
1574             </parameter>
1575             <parameter name="buf" transfer-ownership="none">
1576               <type name="Buffer" c:type="GstBuffer**"/>
1577             </parameter>
1578           </parameters>
1579         </callback>
1580       </field>
1581       <field name="do_seek">
1582         <callback name="do_seek" c:type="do_seek">
1583           <return-value transfer-ownership="none">
1584             <type name="boolean" c:type="gboolean"/>
1585           </return-value>
1586           <parameters>
1587             <parameter name="src" transfer-ownership="none">
1588               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1589             </parameter>
1590             <parameter name="segment" transfer-ownership="none">
1591               <type name="Segment" c:type="GstSegment*"/>
1592             </parameter>
1593           </parameters>
1594         </callback>
1595       </field>
1596       <field name="query">
1597         <callback name="query" c:type="query">
1598           <return-value transfer-ownership="none">
1599             <type name="boolean" c:type="gboolean"/>
1600           </return-value>
1601           <parameters>
1602             <parameter name="src" transfer-ownership="none">
1603               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1604             </parameter>
1605             <parameter name="query" transfer-ownership="none">
1606               <type name="Query" c:type="GstQuery*"/>
1607             </parameter>
1608           </parameters>
1609         </callback>
1610       </field>
1611       <field name="check_get_range">
1612         <callback name="check_get_range" c:type="check_get_range">
1613           <return-value transfer-ownership="none">
1614             <type name="boolean" c:type="gboolean"/>
1615           </return-value>
1616           <parameters>
1617             <parameter name="src" transfer-ownership="none">
1618               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1619             </parameter>
1620           </parameters>
1621         </callback>
1622       </field>
1623       <field name="fixate">
1624         <callback name="fixate" c:type="fixate">
1625           <return-value transfer-ownership="none">
1626             <type name="none" c:type="void"/>
1627           </return-value>
1628           <parameters>
1629             <parameter name="src" transfer-ownership="none">
1630               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1631             </parameter>
1632             <parameter name="caps" transfer-ownership="none">
1633               <type name="Caps" c:type="GstCaps*"/>
1634             </parameter>
1635           </parameters>
1636         </callback>
1637       </field>
1638       <field name="unlock_stop">
1639         <callback name="unlock_stop" c:type="unlock_stop">
1640           <return-value transfer-ownership="none">
1641             <type name="boolean" c:type="gboolean"/>
1642           </return-value>
1643           <parameters>
1644             <parameter name="src" transfer-ownership="none">
1645               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1646             </parameter>
1647           </parameters>
1648         </callback>
1649       </field>
1650       <field name="prepare_seek_segment">
1651         <callback name="prepare_seek_segment" c:type="prepare_seek_segment">
1652           <return-value transfer-ownership="none">
1653             <type name="boolean" c:type="gboolean"/>
1654           </return-value>
1655           <parameters>
1656             <parameter name="src" transfer-ownership="none">
1657               <type name="BaseSrc" c:type="GstBaseSrc*"/>
1658             </parameter>
1659             <parameter name="seek" transfer-ownership="none">
1660               <type name="Event" c:type="GstEvent*"/>
1661             </parameter>
1662             <parameter name="segment" transfer-ownership="none">
1663               <type name="Segment" c:type="GstSegment*"/>
1664             </parameter>
1665           </parameters>
1666         </callback>
1667       </field>
1668       <field name="_gst_reserved">
1669         <array zero-terminated="0" c:type="gpointer" fixed-size="14">
1670           <type name="any"/>
1671         </array>
1672       </field>
1673     </record>
1674     <bitfield name="BaseSrcFlags" c:type="GstBaseSrcFlags">
1675       <doc xml:whitespace="preserve">The #GstElement flags that a basesrc element may have.</doc>
1676       <member name="started"
1677               value="1048576"
1678               c:identifier="GST_BASE_SRC_STARTED"/>
1679       <member name="flag_last"
1680               value="4194304"
1681               c:identifier="GST_BASE_SRC_FLAG_LAST"/>
1682     </bitfield>
1683     <record name="BaseSrcPrivate" c:type="GstBaseSrcPrivate">
1684     </record>
1685     <class name="BaseTransform"
1686            c:type="GstBaseTransform"
1687            parent="Element"
1688            abstract="1"
1689            glib:type-name="GstBaseTransform"
1690            glib:get-type="gst_base_transform_get_type"
1691            glib:type-struct="BaseTransformClass">
1692       <doc xml:whitespace="preserve">The opaque #GstBaseTransform data structure.</doc>
1693       <virtual-method name="transform_caps">
1694         <return-value transfer-ownership="full">
1695           <type name="Caps" c:type="GstCaps*"/>
1696         </return-value>
1697         <parameters>
1698           <parameter name="direction" transfer-ownership="none">
1699             <type name="PadDirection" c:type="GstPadDirection"/>
1700           </parameter>
1701           <parameter name="caps" transfer-ownership="none">
1702             <type name="Caps" c:type="GstCaps*"/>
1703           </parameter>
1704         </parameters>
1705       </virtual-method>
1706       <virtual-method name="fixate_caps">
1707         <return-value transfer-ownership="none">
1708           <type name="none" c:type="void"/>
1709         </return-value>
1710         <parameters>
1711           <parameter name="direction" transfer-ownership="none">
1712             <type name="PadDirection" c:type="GstPadDirection"/>
1713           </parameter>
1714           <parameter name="caps" transfer-ownership="none">
1715             <type name="Caps" c:type="GstCaps*"/>
1716           </parameter>
1717           <parameter name="othercaps" transfer-ownership="none">
1718             <type name="Caps" c:type="GstCaps*"/>
1719           </parameter>
1720         </parameters>
1721       </virtual-method>
1722       <virtual-method name="transform_size">
1723         <return-value transfer-ownership="none">
1724           <type name="boolean" c:type="gboolean"/>
1725         </return-value>
1726         <parameters>
1727           <parameter name="direction" transfer-ownership="none">
1728             <type name="PadDirection" c:type="GstPadDirection"/>
1729           </parameter>
1730           <parameter name="caps" transfer-ownership="none">
1731             <type name="Caps" c:type="GstCaps*"/>
1732           </parameter>
1733           <parameter name="size" transfer-ownership="none">
1734             <type name="uint" c:type="guint"/>
1735           </parameter>
1736           <parameter name="othercaps" transfer-ownership="none">
1737             <type name="Caps" c:type="GstCaps*"/>
1738           </parameter>
1739           <parameter name="othersize"
1740                      direction="out"
1741                      caller-allocates="0"
1742                      transfer-ownership="full">
1743             <type name="uint" c:type="guint*"/>
1744           </parameter>
1745         </parameters>
1746       </virtual-method>
1747       <virtual-method name="get_unit_size">
1748         <return-value transfer-ownership="none">
1749           <type name="boolean" c:type="gboolean"/>
1750         </return-value>
1751         <parameters>
1752           <parameter name="caps" transfer-ownership="none">
1753             <type name="Caps" c:type="GstCaps*"/>
1754           </parameter>
1755           <parameter name="size"
1756                      direction="out"
1757                      caller-allocates="0"
1758                      transfer-ownership="full">
1759             <type name="uint" c:type="guint*"/>
1760           </parameter>
1761         </parameters>
1762       </virtual-method>
1763       <virtual-method name="set_caps">
1764         <return-value transfer-ownership="none">
1765           <type name="boolean" c:type="gboolean"/>
1766         </return-value>
1767         <parameters>
1768           <parameter name="incaps" transfer-ownership="none">
1769             <type name="Caps" c:type="GstCaps*"/>
1770           </parameter>
1771           <parameter name="outcaps" transfer-ownership="none">
1772             <type name="Caps" c:type="GstCaps*"/>
1773           </parameter>
1774         </parameters>
1775       </virtual-method>
1776       <virtual-method name="start">
1777         <return-value transfer-ownership="none">
1778           <type name="boolean" c:type="gboolean"/>
1779         </return-value>
1780       </virtual-method>
1781       <virtual-method name="stop">
1782         <return-value transfer-ownership="none">
1783           <type name="boolean" c:type="gboolean"/>
1784         </return-value>
1785       </virtual-method>
1786       <virtual-method name="event">
1787         <return-value transfer-ownership="none">
1788           <type name="boolean" c:type="gboolean"/>
1789         </return-value>
1790         <parameters>
1791           <parameter name="event" transfer-ownership="none">
1792             <type name="Event" c:type="GstEvent*"/>
1793           </parameter>
1794         </parameters>
1795       </virtual-method>
1796       <virtual-method name="transform">
1797         <return-value transfer-ownership="full">
1798           <type name="FlowReturn" c:type="GstFlowReturn"/>
1799         </return-value>
1800         <parameters>
1801           <parameter name="inbuf" transfer-ownership="none">
1802             <type name="Buffer" c:type="GstBuffer*"/>
1803           </parameter>
1804           <parameter name="outbuf" transfer-ownership="none">
1805             <type name="Buffer" c:type="GstBuffer*"/>
1806           </parameter>
1807         </parameters>
1808       </virtual-method>
1809       <virtual-method name="transform_ip">
1810         <return-value transfer-ownership="full">
1811           <type name="FlowReturn" c:type="GstFlowReturn"/>
1812         </return-value>
1813         <parameters>
1814           <parameter name="buf" transfer-ownership="none">
1815             <type name="Buffer" c:type="GstBuffer*"/>
1816           </parameter>
1817         </parameters>
1818       </virtual-method>
1819       <virtual-method name="prepare_output_buffer">
1820         <return-value transfer-ownership="full">
1821           <type name="FlowReturn" c:type="GstFlowReturn"/>
1822         </return-value>
1823         <parameters>
1824           <parameter name="input" transfer-ownership="none">
1825             <type name="Buffer" c:type="GstBuffer*"/>
1826           </parameter>
1827           <parameter name="size" transfer-ownership="none">
1828             <type name="int" c:type="gint"/>
1829           </parameter>
1830           <parameter name="caps" transfer-ownership="none">
1831             <type name="Caps" c:type="GstCaps*"/>
1832           </parameter>
1833           <parameter name="buf" transfer-ownership="none">
1834             <type name="Buffer" c:type="GstBuffer**"/>
1835           </parameter>
1836         </parameters>
1837       </virtual-method>
1838       <virtual-method name="src_event">
1839         <return-value transfer-ownership="none">
1840           <type name="boolean" c:type="gboolean"/>
1841         </return-value>
1842         <parameters>
1843           <parameter name="event" transfer-ownership="none">
1844             <type name="Event" c:type="GstEvent*"/>
1845           </parameter>
1846         </parameters>
1847       </virtual-method>
1848       <virtual-method name="before_transform">
1849         <return-value transfer-ownership="none">
1850           <type name="none" c:type="void"/>
1851         </return-value>
1852         <parameters>
1853           <parameter name="buffer" transfer-ownership="none">
1854             <type name="Buffer" c:type="GstBuffer*"/>
1855           </parameter>
1856         </parameters>
1857       </virtual-method>
1858       <virtual-method name="accept_caps">
1859         <return-value transfer-ownership="none">
1860           <type name="boolean" c:type="gboolean"/>
1861         </return-value>
1862         <parameters>
1863           <parameter name="direction" transfer-ownership="none">
1864             <type name="PadDirection" c:type="GstPadDirection"/>
1865           </parameter>
1866           <parameter name="caps" transfer-ownership="none">
1867             <type name="Caps" c:type="GstCaps*"/>
1868           </parameter>
1869         </parameters>
1870       </virtual-method>
1871       <method name="set_passthrough"
1872               c:identifier="gst_base_transform_set_passthrough">
1873         <return-value transfer-ownership="none">
1874           <type name="none" c:type="void"/>
1875         </return-value>
1876         <parameters>
1877           <parameter name="passthrough" transfer-ownership="none">
1878             <type name="boolean" c:type="gboolean"/>
1879           </parameter>
1880         </parameters>
1881       </method>
1882       <method name="is_passthrough"
1883               c:identifier="gst_base_transform_is_passthrough">
1884         <return-value transfer-ownership="none">
1885           <type name="boolean" c:type="gboolean"/>
1886         </return-value>
1887       </method>
1888       <method name="set_in_place"
1889               c:identifier="gst_base_transform_set_in_place">
1890         <return-value transfer-ownership="none">
1891           <type name="none" c:type="void"/>
1892         </return-value>
1893         <parameters>
1894           <parameter name="in_place" transfer-ownership="none">
1895             <type name="boolean" c:type="gboolean"/>
1896           </parameter>
1897         </parameters>
1898       </method>
1899       <method name="is_in_place" c:identifier="gst_base_transform_is_in_place">
1900         <return-value transfer-ownership="none">
1901           <type name="boolean" c:type="gboolean"/>
1902         </return-value>
1903       </method>
1904       <method name="update_qos" c:identifier="gst_base_transform_update_qos">
1905         <return-value transfer-ownership="none">
1906           <type name="none" c:type="void"/>
1907         </return-value>
1908         <parameters>
1909           <parameter name="proportion" transfer-ownership="none">
1910             <type name="double" c:type="gdouble"/>
1911           </parameter>
1912           <parameter name="diff" transfer-ownership="none">
1913             <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
1914           </parameter>
1915           <parameter name="timestamp" transfer-ownership="none">
1916             <type name="ClockTime" c:type="GstClockTime"/>
1917           </parameter>
1918         </parameters>
1919       </method>
1920       <method name="set_qos_enabled"
1921               c:identifier="gst_base_transform_set_qos_enabled">
1922         <return-value transfer-ownership="none">
1923           <type name="none" c:type="void"/>
1924         </return-value>
1925         <parameters>
1926           <parameter name="enabled" transfer-ownership="none">
1927             <type name="boolean" c:type="gboolean"/>
1928           </parameter>
1929         </parameters>
1930       </method>
1931       <method name="is_qos_enabled"
1932               c:identifier="gst_base_transform_is_qos_enabled">
1933         <return-value transfer-ownership="none">
1934           <type name="boolean" c:type="gboolean"/>
1935         </return-value>
1936       </method>
1937       <method name="set_gap_aware"
1938               c:identifier="gst_base_transform_set_gap_aware">
1939         <return-value transfer-ownership="none">
1940           <type name="none" c:type="void"/>
1941         </return-value>
1942         <parameters>
1943           <parameter name="gap_aware" transfer-ownership="none">
1944             <type name="boolean" c:type="gboolean"/>
1945           </parameter>
1946         </parameters>
1947       </method>
1948       <method name="suggest" c:identifier="gst_base_transform_suggest">
1949         <return-value transfer-ownership="none">
1950           <type name="none" c:type="void"/>
1951         </return-value>
1952         <parameters>
1953           <parameter name="caps" transfer-ownership="none">
1954             <type name="Caps" c:type="GstCaps*"/>
1955           </parameter>
1956           <parameter name="size" transfer-ownership="none">
1957             <type name="uint" c:type="guint"/>
1958           </parameter>
1959         </parameters>
1960       </method>
1961       <method name="reconfigure" c:identifier="gst_base_transform_reconfigure">
1962         <return-value transfer-ownership="none">
1963           <type name="none" c:type="void"/>
1964         </return-value>
1965       </method>
1966       <property name="qos" writable="1" transfer-ownership="none">
1967         <type name="boolean" c:type="gboolean"/>
1968       </property>
1969       <field name="element">
1970         <type name="Element" c:type="GstElement"/>
1971       </field>
1972       <field name="sinkpad">
1973         <type name="Pad" c:type="GstPad*"/>
1974       </field>
1975       <field name="srcpad">
1976         <type name="Pad" c:type="GstPad*"/>
1977       </field>
1978       <field name="passthrough">
1979         <type name="boolean" c:type="gboolean"/>
1980       </field>
1981       <field name="always_in_place">
1982         <type name="boolean" c:type="gboolean"/>
1983       </field>
1984       <field name="cache_caps1">
1985         <type name="Caps" c:type="GstCaps*"/>
1986       </field>
1987       <field name="cache_caps1_size">
1988         <type name="uint" c:type="guint"/>
1989       </field>
1990       <field name="cache_caps2">
1991         <type name="Caps" c:type="GstCaps*"/>
1992       </field>
1993       <field name="cache_caps2_size">
1994         <type name="uint" c:type="guint"/>
1995       </field>
1996       <field name="have_same_caps">
1997         <type name="boolean" c:type="gboolean"/>
1998       </field>
1999       <field name="delay_configure">
2000         <type name="boolean" c:type="gboolean"/>
2001       </field>
2002       <field name="pending_configure">
2003         <type name="boolean" c:type="gboolean"/>
2004       </field>
2005       <field name="negotiated">
2006         <type name="boolean" c:type="gboolean"/>
2007       </field>
2008       <field name="have_newsegment">
2009         <type name="boolean" c:type="gboolean"/>
2010       </field>
2011       <field name="segment">
2012         <type name="Segment" c:type="GstSegment"/>
2013       </field>
2014       <field name="transform_lock">
2015         <type name="GLib.Mutex" c:type="GMutex*"/>
2016       </field>
2017       <field name="priv">
2018         <type name="BaseTransformPrivate" c:type="GstBaseTransformPrivate*"/>
2019       </field>
2020       <field name="_gst_reserved">
2021         <array zero-terminated="0" c:type="gpointer" fixed-size="19">
2022           <type name="any"/>
2023         </array>
2024       </field>
2025     </class>
2026     <record name="BaseTransformClass"
2027             c:type="GstBaseTransformClass"
2028             glib:is-gtype-struct-for="BaseTransform">
2029       <doc xml:whitespace="preserve">Subclasses can override any of the available virtual methods or not, as
2030 needed. At minimum either @transform or @transform_ip need to be overridden.
2031 If the element can overwrite the input data with the results (data is of the
2032 same type and quantity) it should provide @transform_ip.</doc>
2033       <field name="parent_class">
2034         <type name="ElementClass" c:type="GstElementClass"/>
2035       </field>
2036       <field name="transform_caps">
2037         <callback name="transform_caps" c:type="transform_caps">
2038           <return-value transfer-ownership="full">
2039             <type name="Caps" c:type="GstCaps*"/>
2040           </return-value>
2041           <parameters>
2042             <parameter name="trans" transfer-ownership="none">
2043               <type name="BaseTransform" c:type="GstBaseTransform*"/>
2044             </parameter>
2045             <parameter name="direction" transfer-ownership="none">
2046               <type name="PadDirection" c:type="GstPadDirection"/>
2047             </parameter>
2048             <parameter name="caps" transfer-ownership="none">
2049               <type name="Caps" c:type="GstCaps*"/>
2050             </parameter>
2051           </parameters>
2052         </callback>
2053       </field>
2054       <field name="fixate_caps">
2055         <callback name="fixate_caps" c:type="fixate_caps">
2056           <return-value transfer-ownership="none">
2057             <type name="none" c:type="void"/>
2058           </return-value>
2059           <parameters>
2060             <parameter name="trans" transfer-ownership="none">
2061               <type name="BaseTransform" c:type="GstBaseTransform*"/>
2062             </parameter>
2063             <parameter name="direction" transfer-ownership="none">
2064               <type name="PadDirection" c:type="GstPadDirection"/>
2065             </parameter>
2066             <parameter name="caps" transfer-ownership="none">
2067               <type name="Caps" c:type="GstCaps*"/>
2068             </parameter>
2069             <parameter name="othercaps" transfer-ownership="none">
2070               <type name="Caps" c:type="GstCaps*"/>
2071             </parameter>
2072           </parameters>
2073         </callback>
2074       </field>
2075       <field name="transform_size">
2076         <callback name="transform_size" c:type="transform_size">
2077           <return-value transfer-ownership="none">
2078             <type name="boolean" c:type="gboolean"/>
2079           </return-value>
2080           <parameters>
2081             <parameter name="trans" transfer-ownership="none">
2082               <type name="BaseTransform" c:type="GstBaseTransform*"/>
2083             </parameter>
2084             <parameter name="direction" transfer-ownership="none">
2085               <type name="PadDirection" c:type="GstPadDirection"/>
2086             </parameter>
2087             <parameter name="caps" transfer-ownership="none">
2088               <type name="Caps" c:type="GstCaps*"/>
2089             </parameter>
2090             <parameter name="size" transfer-ownership="none">
2091               <type name="uint" c:type="guint"/>
2092             </parameter>
2093             <parameter name="othercaps" transfer-ownership="none">
2094               <type name="Caps" c:type="GstCaps*"/>
2095             </parameter>
2096             <parameter name="othersize"
2097                        direction="out"
2098                        caller-allocates="0"
2099                        transfer-ownership="full">
2100               <type name="uint" c:type="guint*"/>
2101             </parameter>
2102           </parameters>
2103         </callback>
2104       </field>
2105       <field name="get_unit_size">
2106         <callback name="get_unit_size" c:type="get_unit_size">
2107           <return-value transfer-ownership="none">
2108             <type name="boolean" c:type="gboolean"/>
2109           </return-value>
2110           <parameters>
2111             <parameter name="trans" transfer-ownership="none">
2112               <type name="BaseTransform" c:type="GstBaseTransform*"/>
2113             </parameter>
2114             <parameter name="caps" transfer-ownership="none">
2115               <type name="Caps" c:type="GstCaps*"/>
2116             </parameter>
2117             <parameter name="size"
2118                        direction="out"
2119                        caller-allocates="0"
2120                        transfer-ownership="full">
2121               <type name="uint" c:type="guint*"/>
2122             </parameter>
2123           </parameters>
2124         </callback>
2125       </field>
2126       <field name="set_caps">
2127         <callback name="set_caps" c:type="set_caps">
2128           <return-value transfer-ownership="none">
2129             <type name="boolean" c:type="gboolean"/>
2130           </return-value>
2131           <parameters>
2132             <parameter name="trans" transfer-ownership="none">
2133               <type name="BaseTransform" c:type="GstBaseTransform*"/>
2134             </parameter>
2135             <parameter name="incaps" transfer-ownership="none">
2136               <type name="Caps" c:type="GstCaps*"/>
2137             </parameter>
2138             <parameter name="outcaps" transfer-ownership="none">
2139               <type name="Caps" c:type="GstCaps*"/>
2140             </parameter>
2141           </parameters>
2142         </callback>
2143       </field>
2144       <field name="start">
2145         <callback name="start" c:type="start">
2146           <return-value transfer-ownership="none">
2147             <type name="boolean" c:type="gboolean"/>
2148           </return-value>
2149           <parameters>
2150             <parameter name="trans" transfer-ownership="none">
2151               <type name="BaseTransform" c:type="GstBaseTransform*"/>
2152             </parameter>
2153           </parameters>
2154         </callback>
2155       </field>
2156       <field name="stop">
2157         <callback name="stop" c:type="stop">
2158           <return-value transfer-ownership="none">
2159             <type name="boolean" c:type="gboolean"/>
2160           </return-value>
2161           <parameters>
2162             <parameter name="trans" transfer-ownership="none">
2163               <type name="BaseTransform" c:type="GstBaseTransform*"/>
2164             </parameter>
2165           </parameters>
2166         </callback>
2167       </field>
2168       <field name="event">
2169         <callback name="event" c:type="event">
2170           <return-value transfer-ownership="none">
2171             <type name="boolean" c:type="gboolean"/>
2172           </return-value>
2173           <parameters>
2174             <parameter name="trans" transfer-ownership="none">
2175               <type name="BaseTransform" c:type="GstBaseTransform*"/>
2176             </parameter>
2177             <parameter name="event" transfer-ownership="none">
2178               <type name="Event" c:type="GstEvent*"/>
2179             </parameter>
2180           </parameters>
2181         </callback>
2182       </field>
2183       <field name="transform">
2184         <callback name="transform" c:type="transform">
2185           <return-value transfer-ownership="full">
2186             <type name="FlowReturn" c:type="GstFlowReturn"/>
2187           </return-value>
2188           <parameters>
2189             <parameter name="trans" transfer-ownership="none">
2190               <type name="BaseTransform" c:type="GstBaseTransform*"/>
2191             </parameter>
2192             <parameter name="inbuf" transfer-ownership="none">
2193               <type name="Buffer" c:type="GstBuffer*"/>
2194             </parameter>
2195             <parameter name="outbuf" transfer-ownership="none">
2196               <type name="Buffer" c:type="GstBuffer*"/>
2197             </parameter>
2198           </parameters>
2199         </callback>
2200       </field>
2201       <field name="transform_ip">
2202         <callback name="transform_ip" c:type="transform_ip">
2203           <return-value transfer-ownership="full">
2204             <type name="FlowReturn" c:type="GstFlowReturn"/>
2205           </return-value>
2206           <parameters>
2207             <parameter name="trans" transfer-ownership="none">
2208               <type name="BaseTransform" c:type="GstBaseTransform*"/>
2209             </parameter>
2210             <parameter name="buf" transfer-ownership="none">
2211               <type name="Buffer" c:type="GstBuffer*"/>
2212             </parameter>
2213           </parameters>
2214         </callback>
2215       </field>
2216       <field name="passthrough_on_same_caps">
2217         <type name="boolean" c:type="gboolean"/>
2218       </field>
2219       <field name="prepare_output_buffer">
2220         <callback name="prepare_output_buffer" c:type="prepare_output_buffer">
2221           <return-value transfer-ownership="full">
2222             <type name="FlowReturn" c:type="GstFlowReturn"/>
2223           </return-value>
2224           <parameters>
2225             <parameter name="trans" transfer-ownership="none">
2226               <type name="BaseTransform" c:type="GstBaseTransform*"/>
2227             </parameter>
2228             <parameter name="input" transfer-ownership="none">
2229               <type name="Buffer" c:type="GstBuffer*"/>
2230             </parameter>
2231             <parameter name="size" transfer-ownership="none">
2232               <type name="int" c:type="gint"/>
2233             </parameter>
2234             <parameter name="caps" transfer-ownership="none">
2235               <type name="Caps" c:type="GstCaps*"/>
2236             </parameter>
2237             <parameter name="buf" transfer-ownership="none">
2238               <type name="Buffer" c:type="GstBuffer**"/>
2239             </parameter>
2240           </parameters>
2241         </callback>
2242       </field>
2243       <field name="src_event">
2244         <callback name="src_event" c:type="src_event">
2245           <return-value transfer-ownership="none">
2246             <type name="boolean" c:type="gboolean"/>
2247           </return-value>
2248           <parameters>
2249             <parameter name="trans" transfer-ownership="none">
2250               <type name="BaseTransform" c:type="GstBaseTransform*"/>
2251             </parameter>
2252             <parameter name="event" transfer-ownership="none">
2253               <type name="Event" c:type="GstEvent*"/>
2254             </parameter>
2255           </parameters>
2256         </callback>
2257       </field>
2258       <field name="before_transform">
2259         <callback name="before_transform" c:type="before_transform">
2260           <return-value transfer-ownership="none">
2261             <type name="none" c:type="void"/>
2262           </return-value>
2263           <parameters>
2264             <parameter name="trans" transfer-ownership="none">
2265               <type name="BaseTransform" c:type="GstBaseTransform*"/>
2266             </parameter>
2267             <parameter name="buffer" transfer-ownership="none">
2268               <type name="Buffer" c:type="GstBuffer*"/>
2269             </parameter>
2270           </parameters>
2271         </callback>
2272       </field>
2273       <field name="accept_caps">
2274         <callback name="accept_caps" c:type="accept_caps">
2275           <return-value transfer-ownership="none">
2276             <type name="boolean" c:type="gboolean"/>
2277           </return-value>
2278           <parameters>
2279             <parameter name="trans" transfer-ownership="none">
2280               <type name="BaseTransform" c:type="GstBaseTransform*"/>
2281             </parameter>
2282             <parameter name="direction" transfer-ownership="none">
2283               <type name="PadDirection" c:type="GstPadDirection"/>
2284             </parameter>
2285             <parameter name="caps" transfer-ownership="none">
2286               <type name="Caps" c:type="GstCaps*"/>
2287             </parameter>
2288           </parameters>
2289         </callback>
2290       </field>
2291       <field name="_gst_reserved">
2292         <array zero-terminated="0" c:type="gpointer" fixed-size="17">
2293           <type name="any"/>
2294         </array>
2295       </field>
2296     </record>
2297     <record name="BaseTransformPrivate" c:type="GstBaseTransformPrivate">
2298     </record>
2299     <class name="Bin"
2300            c:type="GstBin"
2301            parent="Element"
2302            glib:type-name="GstBin"
2303            glib:get-type="gst_bin_get_type"
2304            glib:type-struct="BinClass">
2305       <doc xml:whitespace="preserve">The GstBin base class. Subclasses can access these fields provided
2306 the LOCK is taken.</doc>
2307       <implements name="ChildProxy"/>
2308       <constructor name="new" c:identifier="gst_bin_new">
2309         <return-value transfer-ownership="full">
2310           <type name="Bin" c:type="GstElement*"/>
2311         </return-value>
2312         <parameters>
2313           <parameter name="name" transfer-ownership="none">
2314             <type name="utf8" c:type="gchar*"/>
2315           </parameter>
2316         </parameters>
2317       </constructor>
2318       <virtual-method name="add_element">
2319         <return-value transfer-ownership="none">
2320           <type name="boolean" c:type="gboolean"/>
2321         </return-value>
2322         <parameters>
2323           <parameter name="element" transfer-ownership="none">
2324             <type name="Element" c:type="GstElement*"/>
2325           </parameter>
2326         </parameters>
2327       </virtual-method>
2328       <virtual-method name="remove_element">
2329         <return-value transfer-ownership="none">
2330           <type name="boolean" c:type="gboolean"/>
2331         </return-value>
2332         <parameters>
2333           <parameter name="element" transfer-ownership="none">
2334             <type name="Element" c:type="GstElement*"/>
2335           </parameter>
2336         </parameters>
2337       </virtual-method>
2338       <virtual-method name="handle_message">
2339         <return-value transfer-ownership="none">
2340           <type name="none" c:type="void"/>
2341         </return-value>
2342         <parameters>
2343           <parameter name="message" transfer-ownership="none">
2344             <type name="Message" c:type="GstMessage*"/>
2345           </parameter>
2346         </parameters>
2347       </virtual-method>
2348       <method name="add" c:identifier="gst_bin_add">
2349         <return-value transfer-ownership="none">
2350           <type name="boolean" c:type="gboolean"/>
2351         </return-value>
2352         <parameters>
2353           <parameter name="element" transfer-ownership="none">
2354             <type name="Element" c:type="GstElement*"/>
2355           </parameter>
2356         </parameters>
2357       </method>
2358       <method name="remove" c:identifier="gst_bin_remove">
2359         <return-value transfer-ownership="none">
2360           <type name="boolean" c:type="gboolean"/>
2361         </return-value>
2362         <parameters>
2363           <parameter name="element" transfer-ownership="none">
2364             <type name="Element" c:type="GstElement*"/>
2365           </parameter>
2366         </parameters>
2367       </method>
2368       <method name="get_by_name" c:identifier="gst_bin_get_by_name">
2369         <return-value transfer-ownership="full">
2370           <type name="Element" c:type="GstElement*"/>
2371         </return-value>
2372         <parameters>
2373           <parameter name="name" transfer-ownership="none">
2374             <type name="utf8" c:type="gchar*"/>
2375           </parameter>
2376         </parameters>
2377       </method>
2378       <method name="get_by_name_recurse_up"
2379               c:identifier="gst_bin_get_by_name_recurse_up">
2380         <return-value transfer-ownership="full">
2381           <type name="Element" c:type="GstElement*"/>
2382         </return-value>
2383         <parameters>
2384           <parameter name="name" transfer-ownership="none">
2385             <type name="utf8" c:type="gchar*"/>
2386           </parameter>
2387         </parameters>
2388       </method>
2389       <method name="get_by_interface" c:identifier="gst_bin_get_by_interface">
2390         <return-value transfer-ownership="full">
2391           <type name="Element" c:type="GstElement*"/>
2392         </return-value>
2393         <parameters>
2394           <parameter name="iface" transfer-ownership="none">
2395             <type name="GType" c:type="GType"/>
2396           </parameter>
2397         </parameters>
2398       </method>
2399       <method name="iterate_elements" c:identifier="gst_bin_iterate_elements">
2400         <return-value transfer-ownership="full">
2401           <type name="Iterator" c:type="GstIterator*"/>
2402         </return-value>
2403       </method>
2404       <method name="iterate_sorted" c:identifier="gst_bin_iterate_sorted">
2405         <return-value transfer-ownership="full">
2406           <type name="Iterator" c:type="GstIterator*"/>
2407         </return-value>
2408       </method>
2409       <method name="iterate_recurse" c:identifier="gst_bin_iterate_recurse">
2410         <return-value transfer-ownership="full">
2411           <type name="Iterator" c:type="GstIterator*"/>
2412         </return-value>
2413       </method>
2414       <method name="iterate_sinks" c:identifier="gst_bin_iterate_sinks">
2415         <return-value transfer-ownership="full">
2416           <type name="Iterator" c:type="GstIterator*"/>
2417         </return-value>
2418       </method>
2419       <method name="iterate_sources" c:identifier="gst_bin_iterate_sources">
2420         <return-value transfer-ownership="full">
2421           <type name="Iterator" c:type="GstIterator*"/>
2422         </return-value>
2423       </method>
2424       <method name="iterate_all_by_interface"
2425               c:identifier="gst_bin_iterate_all_by_interface">
2426         <return-value transfer-ownership="full">
2427           <type name="Iterator" c:type="GstIterator*"/>
2428         </return-value>
2429         <parameters>
2430           <parameter name="iface" transfer-ownership="none">
2431             <type name="GType" c:type="GType"/>
2432           </parameter>
2433         </parameters>
2434       </method>
2435       <method name="recalculate_latency"
2436               c:identifier="gst_bin_recalculate_latency">
2437         <return-value transfer-ownership="none">
2438           <type name="boolean" c:type="gboolean"/>
2439         </return-value>
2440       </method>
2441       <method name="add_many"
2442               c:identifier="gst_bin_add_many"
2443               introspectable="0">
2444         <return-value transfer-ownership="none">
2445           <type name="none" c:type="void"/>
2446         </return-value>
2447         <parameters>
2448           <parameter name="element_1" transfer-ownership="none">
2449             <type name="Element" c:type="GstElement*"/>
2450           </parameter>
2451           <parameter transfer-ownership="none">
2452             <varargs>
2453             </varargs>
2454           </parameter>
2455         </parameters>
2456       </method>
2457       <method name="remove_many"
2458               c:identifier="gst_bin_remove_many"
2459               introspectable="0">
2460         <return-value transfer-ownership="none">
2461           <type name="none" c:type="void"/>
2462         </return-value>
2463         <parameters>
2464           <parameter name="element_1" transfer-ownership="none">
2465             <type name="Element" c:type="GstElement*"/>
2466           </parameter>
2467           <parameter transfer-ownership="none">
2468             <varargs>
2469             </varargs>
2470           </parameter>
2471         </parameters>
2472       </method>
2473       <method name="find_unlinked_pad"
2474               c:identifier="gst_bin_find_unlinked_pad">
2475         <return-value transfer-ownership="full">
2476           <type name="Pad" c:type="GstPad*"/>
2477         </return-value>
2478         <parameters>
2479           <parameter name="direction" transfer-ownership="none">
2480             <type name="PadDirection" c:type="GstPadDirection"/>
2481           </parameter>
2482         </parameters>
2483       </method>
2484       <method name="find_unconnected_pad"
2485               c:identifier="gst_bin_find_unconnected_pad">
2486         <return-value transfer-ownership="full">
2487           <type name="Pad" c:type="GstPad*"/>
2488         </return-value>
2489         <parameters>
2490           <parameter name="direction" transfer-ownership="none">
2491             <type name="PadDirection" c:type="GstPadDirection"/>
2492           </parameter>
2493         </parameters>
2494       </method>
2495       <property name="async-handling" writable="1" transfer-ownership="none">
2496         <type name="boolean" c:type="gboolean"/>
2497       </property>
2498       <field name="element">
2499         <type name="Element" c:type="GstElement"/>
2500       </field>
2501       <field name="numchildren">
2502         <type name="int" c:type="gint"/>
2503       </field>
2504       <field name="children">
2505         <type name="GLib.List" c:type="GList*">
2506           <type name="any" c:type="gpointer"/>
2507         </type>
2508       </field>
2509       <field name="children_cookie">
2510         <type name="uint32" c:type="guint32"/>
2511       </field>
2512       <field name="child_bus">
2513         <type name="Bus" c:type="GstBus*"/>
2514       </field>
2515       <field name="messages">
2516         <type name="GLib.List" c:type="GList*">
2517           <type name="any" c:type="gpointer"/>
2518         </type>
2519       </field>
2520       <field name="polling">
2521         <type name="boolean" c:type="gboolean"/>
2522       </field>
2523       <field name="state_dirty">
2524         <type name="boolean" c:type="gboolean"/>
2525       </field>
2526       <field name="clock_dirty">
2527         <type name="boolean" c:type="gboolean"/>
2528       </field>
2529       <field name="provided_clock">
2530         <type name="Clock" c:type="GstClock*"/>
2531       </field>
2532       <field name="clock_provider">
2533         <type name="Element" c:type="GstElement*"/>
2534       </field>
2535       <field name="priv">
2536         <type name="BinPrivate" c:type="GstBinPrivate*"/>
2537       </field>
2538       <field name="_gst_reserved">
2539         <array zero-terminated="0" c:type="gpointer" fixed-size="3">
2540           <type name="any"/>
2541         </array>
2542       </field>
2543       <glib:signal name="do-latency">
2544         <return-value transfer-ownership="full">
2545           <type name="boolean" c:type="gboolean"/>
2546         </return-value>
2547       </glib:signal>
2548       <glib:signal name="element-added">
2549         <return-value transfer-ownership="full">
2550           <type name="none" c:type="void"/>
2551         </return-value>
2552         <parameters>
2553           <parameter name="object" transfer-ownership="none">
2554             <type name="Element" c:type="GstElement"/>
2555           </parameter>
2556         </parameters>
2557       </glib:signal>
2558       <glib:signal name="element-removed">
2559         <return-value transfer-ownership="full">
2560           <type name="none" c:type="void"/>
2561         </return-value>
2562         <parameters>
2563           <parameter name="object" transfer-ownership="none">
2564             <type name="Element" c:type="GstElement"/>
2565           </parameter>
2566         </parameters>
2567       </glib:signal>
2568     </class>
2569     <record name="BinClass"
2570             c:type="GstBinClass"
2571             glib:is-gtype-struct-for="Bin">
2572       <doc xml:whitespace="preserve">Subclasses can override the @add_element and @remove_element to
2573 update the list of children in the bin.
2574 The @handle_message method can be overridden to implement custom
2575 message handling.  @handle_message takes ownership of the message, just like
2576 #gst_element_post_message.</doc>
2577       <field name="parent_class">
2578         <type name="ElementClass" c:type="GstElementClass"/>
2579       </field>
2580       <field name="pool">
2581         <type name="GLib.ThreadPool" c:type="GThreadPool*"/>
2582       </field>
2583       <field name="element_added">
2584         <callback name="element_added" c:type="element_added">
2585           <return-value transfer-ownership="none">
2586             <type name="none" c:type="void"/>
2587           </return-value>
2588           <parameters>
2589             <parameter name="bin" transfer-ownership="none">
2590               <type name="Bin" c:type="GstBin*"/>
2591             </parameter>
2592             <parameter name="child" transfer-ownership="none">
2593               <type name="Element" c:type="GstElement*"/>
2594             </parameter>
2595           </parameters>
2596         </callback>
2597       </field>
2598       <field name="element_removed">
2599         <callback name="element_removed" c:type="element_removed">
2600           <return-value transfer-ownership="none">
2601             <type name="none" c:type="void"/>
2602           </return-value>
2603           <parameters>
2604             <parameter name="bin" transfer-ownership="none">
2605               <type name="Bin" c:type="GstBin*"/>
2606             </parameter>
2607             <parameter name="child" transfer-ownership="none">
2608               <type name="Element" c:type="GstElement*"/>
2609             </parameter>
2610           </parameters>
2611         </callback>
2612       </field>
2613       <field name="add_element">
2614         <callback name="add_element" c:type="add_element">
2615           <return-value transfer-ownership="none">
2616             <type name="boolean" c:type="gboolean"/>
2617           </return-value>
2618           <parameters>
2619             <parameter name="bin" transfer-ownership="none">
2620               <type name="Bin" c:type="GstBin*"/>
2621             </parameter>
2622             <parameter name="element" transfer-ownership="none">
2623               <type name="Element" c:type="GstElement*"/>
2624             </parameter>
2625           </parameters>
2626         </callback>
2627       </field>
2628       <field name="remove_element">
2629         <callback name="remove_element" c:type="remove_element">
2630           <return-value transfer-ownership="none">
2631             <type name="boolean" c:type="gboolean"/>
2632           </return-value>
2633           <parameters>
2634             <parameter name="bin" transfer-ownership="none">
2635               <type name="Bin" c:type="GstBin*"/>
2636             </parameter>
2637             <parameter name="element" transfer-ownership="none">
2638               <type name="Element" c:type="GstElement*"/>
2639             </parameter>
2640           </parameters>
2641         </callback>
2642       </field>
2643       <field name="handle_message">
2644         <callback name="handle_message" c:type="handle_message">
2645           <return-value transfer-ownership="none">
2646             <type name="none" c:type="void"/>
2647           </return-value>
2648           <parameters>
2649             <parameter name="bin" transfer-ownership="none">
2650               <type name="Bin" c:type="GstBin*"/>
2651             </parameter>
2652             <parameter name="message" transfer-ownership="none">
2653               <type name="Message" c:type="GstMessage*"/>
2654             </parameter>
2655           </parameters>
2656         </callback>
2657       </field>
2658       <field name="do_latency">
2659         <callback name="do_latency" c:type="do_latency">
2660           <return-value transfer-ownership="none">
2661             <type name="boolean" c:type="gboolean"/>
2662           </return-value>
2663           <parameters>
2664             <parameter name="bin" transfer-ownership="none">
2665               <type name="Bin" c:type="GstBin*"/>
2666             </parameter>
2667           </parameters>
2668         </callback>
2669       </field>
2670       <field name="_gst_reserved">
2671         <array zero-terminated="0" c:type="gpointer" fixed-size="3">
2672           <type name="any"/>
2673         </array>
2674       </field>
2675     </record>
2676     <bitfield name="BinFlags"
2677               glib:type-name="GstBinFlags"
2678               glib:get-type="gst_bin_flags_get_type"
2679               c:type="GstBinFlags">
2680       <doc xml:whitespace="preserve">GstBinFlags are a set of flags specific to bins. Most are set/used
2681 internally. They can be checked using the GST_OBJECT_FLAG_IS_SET () macro,
2682 and (un)set using GST_OBJECT_FLAG_SET () and GST_OBJECT_FLAG_UNSET ().</doc>
2683       <member name="last"
2684               value="33554432"
2685               c:identifier="GST_BIN_FLAG_LAST"
2686               glib:nick="last"/>
2687     </bitfield>
2688     <record name="BinPrivate" c:type="GstBinPrivate">
2689     </record>
2690     <record name="BitReader" c:type="GstBitReader">
2691       <doc xml:whitespace="preserve">A bit reader instance.</doc>
2692       <field name="data" writable="1">
2693         <type name="any" c:type="guint8*"/>
2694       </field>
2695       <field name="size" writable="1">
2696         <type name="uint" c:type="guint"/>
2697       </field>
2698       <field name="byte" writable="1">
2699         <type name="uint" c:type="guint"/>
2700       </field>
2701       <field name="bit" writable="1">
2702         <type name="uint" c:type="guint"/>
2703       </field>
2704       <constructor name="new" c:identifier="gst_bit_reader_new">
2705         <return-value transfer-ownership="full">
2706           <type name="BitReader" c:type="GstBitReader*"/>
2707         </return-value>
2708         <parameters>
2709           <parameter name="data" transfer-ownership="none">
2710             <array c:type="guint8*">
2711               <type name="uint8"/>
2712             </array>
2713           </parameter>
2714           <parameter name="size" transfer-ownership="none">
2715             <type name="uint" c:type="guint"/>
2716           </parameter>
2717         </parameters>
2718       </constructor>
2719       <constructor name="new_from_buffer"
2720                    c:identifier="gst_bit_reader_new_from_buffer">
2721         <return-value transfer-ownership="full">
2722           <type name="BitReader" c:type="GstBitReader*"/>
2723         </return-value>
2724         <parameters>
2725           <parameter name="buffer" transfer-ownership="none">
2726             <type name="Buffer" c:type="GstBuffer*"/>
2727           </parameter>
2728         </parameters>
2729       </constructor>
2730       <method name="free" c:identifier="gst_bit_reader_free">
2731         <return-value transfer-ownership="none">
2732           <type name="none" c:type="void"/>
2733         </return-value>
2734       </method>
2735       <method name="init" c:identifier="gst_bit_reader_init">
2736         <return-value transfer-ownership="none">
2737           <type name="none" c:type="void"/>
2738         </return-value>
2739         <parameters>
2740           <parameter name="data" transfer-ownership="none">
2741             <array c:type="guint8*">
2742               <type name="uint8"/>
2743             </array>
2744           </parameter>
2745           <parameter name="size" transfer-ownership="none">
2746             <type name="uint" c:type="guint"/>
2747           </parameter>
2748         </parameters>
2749       </method>
2750       <method name="init_from_buffer"
2751               c:identifier="gst_bit_reader_init_from_buffer">
2752         <return-value transfer-ownership="none">
2753           <type name="none" c:type="void"/>
2754         </return-value>
2755         <parameters>
2756           <parameter name="buffer" transfer-ownership="none">
2757             <type name="Buffer" c:type="GstBuffer*"/>
2758           </parameter>
2759         </parameters>
2760       </method>
2761       <method name="set_pos" c:identifier="gst_bit_reader_set_pos">
2762         <return-value transfer-ownership="none">
2763           <type name="boolean" c:type="gboolean"/>
2764         </return-value>
2765         <parameters>
2766           <parameter name="pos" transfer-ownership="none">
2767             <type name="uint" c:type="guint"/>
2768           </parameter>
2769         </parameters>
2770       </method>
2771       <method name="get_pos" c:identifier="gst_bit_reader_get_pos">
2772         <return-value transfer-ownership="none">
2773           <type name="uint" c:type="guint"/>
2774         </return-value>
2775       </method>
2776       <method name="get_remaining" c:identifier="gst_bit_reader_get_remaining">
2777         <return-value transfer-ownership="none">
2778           <type name="uint" c:type="guint"/>
2779         </return-value>
2780       </method>
2781       <method name="get_size" c:identifier="gst_bit_reader_get_size">
2782         <return-value transfer-ownership="none">
2783           <type name="uint" c:type="guint"/>
2784         </return-value>
2785       </method>
2786       <method name="skip" c:identifier="gst_bit_reader_skip">
2787         <return-value transfer-ownership="none">
2788           <type name="boolean" c:type="gboolean"/>
2789         </return-value>
2790         <parameters>
2791           <parameter name="nbits" transfer-ownership="none">
2792             <type name="uint" c:type="guint"/>
2793           </parameter>
2794         </parameters>
2795       </method>
2796       <method name="skip_to_byte" c:identifier="gst_bit_reader_skip_to_byte">
2797         <return-value transfer-ownership="none">
2798           <type name="boolean" c:type="gboolean"/>
2799         </return-value>
2800       </method>
2801       <method name="get_bits_uint8"
2802               c:identifier="gst_bit_reader_get_bits_uint8">
2803         <return-value transfer-ownership="none">
2804           <type name="boolean" c:type="gboolean"/>
2805         </return-value>
2806         <parameters>
2807           <parameter name="val" transfer-ownership="none">
2808             <array c:type="guint8*">
2809               <type name="uint8"/>
2810             </array>
2811           </parameter>
2812           <parameter name="nbits" transfer-ownership="none">
2813             <type name="uint" c:type="guint"/>
2814           </parameter>
2815         </parameters>
2816       </method>
2817       <method name="get_bits_uint16"
2818               c:identifier="gst_bit_reader_get_bits_uint16">
2819         <return-value transfer-ownership="none">
2820           <type name="boolean" c:type="gboolean"/>
2821         </return-value>
2822         <parameters>
2823           <parameter name="val"
2824                      direction="out"
2825                      caller-allocates="0"
2826                      transfer-ownership="full">
2827             <type name="uint16" c:type="guint16*"/>
2828           </parameter>
2829           <parameter name="nbits" transfer-ownership="none">
2830             <type name="uint" c:type="guint"/>
2831           </parameter>
2832         </parameters>
2833       </method>
2834       <method name="get_bits_uint32"
2835               c:identifier="gst_bit_reader_get_bits_uint32">
2836         <return-value transfer-ownership="none">
2837           <type name="boolean" c:type="gboolean"/>
2838         </return-value>
2839         <parameters>
2840           <parameter name="val"
2841                      direction="out"
2842                      caller-allocates="0"
2843                      transfer-ownership="full">
2844             <type name="uint32" c:type="guint32*"/>
2845           </parameter>
2846           <parameter name="nbits" transfer-ownership="none">
2847             <type name="uint" c:type="guint"/>
2848           </parameter>
2849         </parameters>
2850       </method>
2851       <method name="get_bits_uint64"
2852               c:identifier="gst_bit_reader_get_bits_uint64">
2853         <return-value transfer-ownership="none">
2854           <type name="boolean" c:type="gboolean"/>
2855         </return-value>
2856         <parameters>
2857           <parameter name="val"
2858                      direction="out"
2859                      caller-allocates="0"
2860                      transfer-ownership="full">
2861             <type name="uint64" c:type="guint64*"/>
2862           </parameter>
2863           <parameter name="nbits" transfer-ownership="none">
2864             <type name="uint" c:type="guint"/>
2865           </parameter>
2866         </parameters>
2867       </method>
2868       <method name="peek_bits_uint8"
2869               c:identifier="gst_bit_reader_peek_bits_uint8">
2870         <return-value transfer-ownership="none">
2871           <type name="boolean" c:type="gboolean"/>
2872         </return-value>
2873         <parameters>
2874           <parameter name="val" transfer-ownership="none">
2875             <array c:type="guint8*">
2876               <type name="uint8"/>
2877             </array>
2878           </parameter>
2879           <parameter name="nbits" transfer-ownership="none">
2880             <type name="uint" c:type="guint"/>
2881           </parameter>
2882         </parameters>
2883       </method>
2884       <method name="peek_bits_uint16"
2885               c:identifier="gst_bit_reader_peek_bits_uint16">
2886         <return-value transfer-ownership="none">
2887           <type name="boolean" c:type="gboolean"/>
2888         </return-value>
2889         <parameters>
2890           <parameter name="val"
2891                      direction="out"
2892                      caller-allocates="0"
2893                      transfer-ownership="full">
2894             <type name="uint16" c:type="guint16*"/>
2895           </parameter>
2896           <parameter name="nbits" transfer-ownership="none">
2897             <type name="uint" c:type="guint"/>
2898           </parameter>
2899         </parameters>
2900       </method>
2901       <method name="peek_bits_uint32"
2902               c:identifier="gst_bit_reader_peek_bits_uint32">
2903         <return-value transfer-ownership="none">
2904           <type name="boolean" c:type="gboolean"/>
2905         </return-value>
2906         <parameters>
2907           <parameter name="val"
2908                      direction="out"
2909                      caller-allocates="0"
2910                      transfer-ownership="full">
2911             <type name="uint32" c:type="guint32*"/>
2912           </parameter>
2913           <parameter name="nbits" transfer-ownership="none">
2914             <type name="uint" c:type="guint"/>
2915           </parameter>
2916         </parameters>
2917       </method>
2918       <method name="peek_bits_uint64"
2919               c:identifier="gst_bit_reader_peek_bits_uint64">
2920         <return-value transfer-ownership="none">
2921           <type name="boolean" c:type="gboolean"/>
2922         </return-value>
2923         <parameters>
2924           <parameter name="val"
2925                      direction="out"
2926                      caller-allocates="0"
2927                      transfer-ownership="full">
2928             <type name="uint64" c:type="guint64*"/>
2929           </parameter>
2930           <parameter name="nbits" transfer-ownership="none">
2931             <type name="uint" c:type="guint"/>
2932           </parameter>
2933         </parameters>
2934       </method>
2935     </record>
2936     <class name="Buffer"
2937            c:type="GstBuffer"
2938            parent="MiniObject"
2939            glib:type-name="GstBuffer"
2940            glib:get-type="gst_buffer_get_type"
2941            glib:type-struct="BufferClass"
2942            glib:fundamental="1">
2943       <doc xml:whitespace="preserve">The structure of a #GstBuffer. Use the associated macros to access the public
2944 variables.</doc>
2945       <constructor name="new" c:identifier="gst_buffer_new">
2946         <return-value transfer-ownership="full">
2947           <type name="Buffer" c:type="GstBuffer*"/>
2948         </return-value>
2949       </constructor>
2950       <constructor name="new_and_alloc"
2951                    c:identifier="gst_buffer_new_and_alloc">
2952         <return-value transfer-ownership="full">
2953           <type name="Buffer" c:type="GstBuffer*"/>
2954         </return-value>
2955         <parameters>
2956           <parameter name="size" transfer-ownership="none">
2957             <type name="uint" c:type="guint"/>
2958           </parameter>
2959         </parameters>
2960       </constructor>
2961       <function name="try_new_and_alloc"
2962                 c:identifier="gst_buffer_try_new_and_alloc">
2963         <return-value transfer-ownership="full">
2964           <type name="Buffer" c:type="GstBuffer*"/>
2965         </return-value>
2966         <parameters>
2967           <parameter name="size" transfer-ownership="none">
2968             <type name="uint" c:type="guint"/>
2969           </parameter>
2970         </parameters>
2971       </function>
2972       <method name="copy_metadata" c:identifier="gst_buffer_copy_metadata">
2973         <return-value transfer-ownership="none">
2974           <type name="none" c:type="void"/>
2975         </return-value>
2976         <parameters>
2977           <parameter name="src" transfer-ownership="none">
2978             <type name="Buffer" c:type="GstBuffer*"/>
2979           </parameter>
2980           <parameter name="flags" transfer-ownership="none">
2981             <type name="BufferCopyFlags" c:type="GstBufferCopyFlags"/>
2982           </parameter>
2983         </parameters>
2984       </method>
2985       <method name="is_metadata_writable"
2986               c:identifier="gst_buffer_is_metadata_writable">
2987         <return-value transfer-ownership="none">
2988           <type name="boolean" c:type="gboolean"/>
2989         </return-value>
2990       </method>
2991       <method name="make_metadata_writable"
2992               c:identifier="gst_buffer_make_metadata_writable">
2993         <return-value transfer-ownership="full">
2994           <type name="Buffer" c:type="GstBuffer*"/>
2995         </return-value>
2996       </method>
2997       <method name="get_caps" c:identifier="gst_buffer_get_caps">
2998         <return-value transfer-ownership="full">
2999           <type name="Caps" c:type="GstCaps*"/>
3000         </return-value>
3001       </method>
3002       <method name="set_caps" c:identifier="gst_buffer_set_caps">
3003         <return-value transfer-ownership="none">
3004           <type name="none" c:type="void"/>
3005         </return-value>
3006         <parameters>
3007           <parameter name="caps" transfer-ownership="none">
3008             <type name="Caps" c:type="GstCaps*"/>
3009           </parameter>
3010         </parameters>
3011       </method>
3012       <method name="create_sub" c:identifier="gst_buffer_create_sub">
3013         <return-value transfer-ownership="full">
3014           <type name="Buffer" c:type="GstBuffer*"/>
3015         </return-value>
3016         <parameters>
3017           <parameter name="offset" transfer-ownership="none">
3018             <type name="uint" c:type="guint"/>
3019           </parameter>
3020           <parameter name="size" transfer-ownership="none">
3021             <type name="uint" c:type="guint"/>
3022           </parameter>
3023         </parameters>
3024       </method>
3025       <method name="is_span_fast" c:identifier="gst_buffer_is_span_fast">
3026         <return-value transfer-ownership="none">
3027           <type name="boolean" c:type="gboolean"/>
3028         </return-value>
3029         <parameters>
3030           <parameter name="buf2" transfer-ownership="none">
3031             <type name="Buffer" c:type="GstBuffer*"/>
3032           </parameter>
3033         </parameters>
3034       </method>
3035       <method name="span" c:identifier="gst_buffer_span">
3036         <return-value transfer-ownership="full">
3037           <type name="Buffer" c:type="GstBuffer*"/>
3038         </return-value>
3039         <parameters>
3040           <parameter name="offset" transfer-ownership="none">
3041             <type name="uint32" c:type="guint32"/>
3042           </parameter>
3043           <parameter name="buf2" transfer-ownership="none">
3044             <type name="Buffer" c:type="GstBuffer*"/>
3045           </parameter>
3046           <parameter name="len" transfer-ownership="none">
3047             <type name="uint32" c:type="guint32"/>
3048           </parameter>
3049         </parameters>
3050       </method>
3051       <method name="merge" c:identifier="gst_buffer_merge">
3052         <return-value transfer-ownership="full">
3053           <type name="Buffer" c:type="GstBuffer*"/>
3054         </return-value>
3055         <parameters>
3056           <parameter name="buf2" transfer-ownership="none">
3057             <type name="Buffer" c:type="GstBuffer*"/>
3058           </parameter>
3059         </parameters>
3060       </method>
3061       <method name="join" c:identifier="gst_buffer_join">
3062         <return-value transfer-ownership="full">
3063           <type name="Buffer" c:type="GstBuffer*"/>
3064         </return-value>
3065         <parameters>
3066           <parameter name="buf2" transfer-ownership="none">
3067             <type name="Buffer" c:type="GstBuffer*"/>
3068           </parameter>
3069         </parameters>
3070       </method>
3071       <method name="stamp" c:identifier="gst_buffer_stamp">
3072         <return-value transfer-ownership="none">
3073           <type name="none" c:type="void"/>
3074         </return-value>
3075         <parameters>
3076           <parameter name="src" transfer-ownership="none">
3077             <type name="Buffer" c:type="GstBuffer*"/>
3078           </parameter>
3079         </parameters>
3080       </method>
3081       <field name="mini_object">
3082         <type name="MiniObject" c:type="GstMiniObject"/>
3083       </field>
3084       <field name="data">
3085         <type name="any" c:type="guint8*"/>
3086       </field>
3087       <field name="size">
3088         <type name="uint" c:type="guint"/>
3089       </field>
3090       <field name="timestamp">
3091         <type name="ClockTime" c:type="GstClockTime"/>
3092       </field>
3093       <field name="duration">
3094         <type name="ClockTime" c:type="GstClockTime"/>
3095       </field>
3096       <field name="caps">
3097         <type name="Caps" c:type="GstCaps*"/>
3098       </field>
3099       <field name="offset">
3100         <type name="uint64" c:type="guint64"/>
3101       </field>
3102       <field name="offset_end">
3103         <type name="uint64" c:type="guint64"/>
3104       </field>
3105       <field name="malloc_data">
3106         <type name="any" c:type="guint8*"/>
3107       </field>
3108       <field name="free_func">
3109         <type name="GLib.FreeFunc" c:type="GFreeFunc"/>
3110       </field>
3111       <field name="parent">
3112         <type name="Buffer" c:type="GstBuffer*"/>
3113       </field>
3114       <field name="_gst_reserved">
3115         <array zero-terminated="0" c:type="gpointer" fixed-size="2">
3116           <type name="any"/>
3117         </array>
3118       </field>
3119     </class>
3120     <record name="BufferClass"
3121             c:type="GstBufferClass"
3122             glib:is-gtype-struct-for="Buffer">
3123       <field name="mini_object_class">
3124         <type name="MiniObjectClass" c:type="GstMiniObjectClass"/>
3125       </field>
3126     </record>
3127     <bitfield name="BufferCopyFlags"
3128               version="0.10.13"
3129               glib:type-name="GstBufferCopyFlags"
3130               glib:get-type="gst_buffer_copy_flags_get_type"
3131               c:type="GstBufferCopyFlags">
3132       <doc xml:whitespace="preserve">A set of flags that can be provided to the gst_buffer_copy_metadata()
3133 function to specify which metadata fields should be copied.</doc>
3134       <member name="flags"
3135               value="1"
3136               c:identifier="GST_BUFFER_COPY_FLAGS"
3137               glib:nick="flags"/>
3138       <member name="timestamps"
3139               value="2"
3140               c:identifier="GST_BUFFER_COPY_TIMESTAMPS"
3141               glib:nick="timestamps"/>
3142       <member name="caps"
3143               value="4"
3144               c:identifier="GST_BUFFER_COPY_CAPS"
3145               glib:nick="caps"/>
3146     </bitfield>
3147     <bitfield name="BufferFlag"
3148               glib:type-name="GstBufferFlag"
3149               glib:get-type="gst_buffer_flag_get_type"
3150               c:type="GstBufferFlag">
3151       <doc xml:whitespace="preserve">A set of buffer flags used to describe properties of a #GstBuffer.</doc>
3152       <member name="readonly"
3153               value="1"
3154               c:identifier="GST_BUFFER_FLAG_READONLY"
3155               glib:nick="readonly"/>
3156       <member name="preroll"
3157               value="16"
3158               c:identifier="GST_BUFFER_FLAG_PREROLL"
3159               glib:nick="preroll"/>
3160       <member name="discont"
3161               value="32"
3162               c:identifier="GST_BUFFER_FLAG_DISCONT"
3163               glib:nick="discont"/>
3164       <member name="in_caps"
3165               value="64"
3166               c:identifier="GST_BUFFER_FLAG_IN_CAPS"
3167               glib:nick="in-caps"/>
3168       <member name="gap"
3169               value="128"
3170               c:identifier="GST_BUFFER_FLAG_GAP"
3171               glib:nick="gap"/>
3172       <member name="delta_unit"
3173               value="256"
3174               c:identifier="GST_BUFFER_FLAG_DELTA_UNIT"
3175               glib:nick="delta-unit"/>
3176       <member name="media1"
3177               value="512"
3178               c:identifier="GST_BUFFER_FLAG_MEDIA1"
3179               glib:nick="media1"/>
3180       <member name="media2"
3181               value="1024"
3182               c:identifier="GST_BUFFER_FLAG_MEDIA2"
3183               glib:nick="media2"/>
3184       <member name="media3"
3185               value="2048"
3186               c:identifier="GST_BUFFER_FLAG_MEDIA3"
3187               glib:nick="media3"/>
3188       <member name="last"
3189               value="4096"
3190               c:identifier="GST_BUFFER_FLAG_LAST"
3191               glib:nick="last"/>
3192     </bitfield>
3193     <class name="BufferList"
3194            c:type="GstBufferList"
3195            parent="MiniObject"
3196            glib:type-name="GstBufferList"
3197            glib:get-type="gst_buffer_list_get_type"
3198            glib:type-struct="BufferListClass"
3199            glib:fundamental="1">
3200       <constructor name="new" c:identifier="gst_buffer_list_new">
3201         <return-value transfer-ownership="full">
3202           <type name="BufferList" c:type="GstBufferList*"/>
3203         </return-value>
3204       </constructor>
3205       <method name="n_groups" c:identifier="gst_buffer_list_n_groups">
3206         <return-value transfer-ownership="none">
3207           <type name="uint" c:type="guint"/>
3208         </return-value>
3209       </method>
3210       <method name="foreach" c:identifier="gst_buffer_list_foreach">
3211         <return-value transfer-ownership="none">
3212           <type name="none" c:type="void"/>
3213         </return-value>
3214         <parameters>
3215           <parameter name="func"
3216                      transfer-ownership="none"
3217                      scope="call"
3218                      closure="2">
3219             <type name="BufferListFunc" c:type="GstBufferListFunc"/>
3220           </parameter>
3221           <parameter name="user_data" transfer-ownership="none">
3222             <type name="any" c:type="gpointer"/>
3223           </parameter>
3224         </parameters>
3225       </method>
3226       <method name="get" c:identifier="gst_buffer_list_get">
3227         <return-value transfer-ownership="full">
3228           <type name="Buffer" c:type="GstBuffer*"/>
3229         </return-value>
3230         <parameters>
3231           <parameter name="group" transfer-ownership="none">
3232             <type name="uint" c:type="guint"/>
3233           </parameter>
3234           <parameter name="idx" transfer-ownership="none">
3235             <type name="uint" c:type="guint"/>
3236           </parameter>
3237         </parameters>
3238       </method>
3239       <method name="iterate" c:identifier="gst_buffer_list_iterate">
3240         <return-value transfer-ownership="full">
3241           <type name="BufferListIterator" c:type="GstBufferListIterator*"/>
3242         </return-value>
3243       </method>
3244     </class>
3245     <record name="BufferListClass"
3246             c:type="GstBufferListClass"
3247             glib:is-gtype-struct-for="BufferList">
3248     </record>
3249     <callback name="BufferListDoFunction"
3250               c:type="GstBufferListDoFunction"
3251               version="0.10.24">
3252       <doc xml:whitespace="preserve">A function for accessing the last buffer returned by
3253 gst_buffer_list_iterator_next(). The function can leave @buffer in the list,
3254 replace @buffer in the list or remove @buffer from the list, depending on
3255 the return value. If the function returns NULL, @buffer will be removed from
3256 the list, otherwise @buffer will be replaced with the returned buffer.
3257 The last buffer returned by gst_buffer_list_iterator_next() will be replaced
3258 with the buffer returned from the function. The function takes ownership of
3259 unreffed. If NULL is returned, the buffer will be removed from the list. The
3260 list must be writable.
3261 from the list</doc>
3262       <return-value transfer-ownership="full">
3263         <doc xml:whitespace="preserve">the buffer to replace @buffer in the list, or NULL to remove @buffer</doc>
3264         <type name="Buffer" c:type="GstBuffer*"/>
3265       </return-value>
3266       <parameters>
3267         <parameter name="buffer" transfer-ownership="none">
3268           <doc xml:whitespace="preserve">the #GstBuffer</doc>
3269           <type name="Buffer" c:type="GstBuffer*"/>
3270         </parameter>
3271         <parameter name="user_data" transfer-ownership="none" closure="1">
3272           <doc xml:whitespace="preserve">user data</doc>
3273           <type name="any" c:type="gpointer"/>
3274         </parameter>
3275       </parameters>
3276     </callback>
3277     <callback name="BufferListFunc"
3278               c:type="GstBufferListFunc"
3279               version="0.10.24">
3280       <doc xml:whitespace="preserve">A function that will be called from gst_buffer_list_foreach(). The @buffer
3281 field will point to a the reference of the buffer at @idx in @group.
3282 When this function returns #GST_BUFFER_LIST_CONTINUE, the next buffer will be
3283 returned. When #GST_BUFFER_LIST_SKIP_GROUP is returned, all remaining buffers
3284 in the current group will be skipped and the first buffer of the next group
3285 is returned (if any). When GST_BUFFER_LIST_END is returned,
3286 gst_buffer_list_foreach() will return.
3287 When @buffer is set to NULL, the item will be removed from the bufferlist.
3288 When @buffer has been made writable, the new buffer reference can be assigned
3289 to @buffer. This function is responsible for unreffing the old buffer when
3290 removing or modifying.</doc>
3291       <return-value transfer-ownership="full">
3292         <doc xml:whitespace="preserve">a #GstBufferListItem</doc>
3293         <type name="BufferListItem" c:type="GstBufferListItem"/>
3294       </return-value>
3295       <parameters>
3296         <parameter name="buffer" transfer-ownership="none">
3297           <doc xml:whitespace="preserve">pointer the buffer</doc>
3298           <type name="Buffer" c:type="GstBuffer**"/>
3299         </parameter>
3300         <parameter name="group" transfer-ownership="none">
3301           <doc xml:whitespace="preserve">the group index of @buffer</doc>
3302           <type name="uint" c:type="guint"/>
3303         </parameter>
3304         <parameter name="idx" transfer-ownership="none">
3305           <doc xml:whitespace="preserve">the index in @group of @buffer</doc>
3306           <type name="uint" c:type="guint"/>
3307         </parameter>
3308         <parameter name="user_data" transfer-ownership="none" closure="3">
3309           <doc xml:whitespace="preserve">user data passed to gst_buffer_list_foreach()</doc>
3310           <type name="any" c:type="gpointer"/>
3311         </parameter>
3312       </parameters>
3313     </callback>
3314     <enumeration name="BufferListItem"
3315                  version="0.10.24"
3316                  glib:type-name="GstBufferListItem"
3317                  glib:get-type="gst_buffer_list_item_get_type"
3318                  c:type="GstBufferListItem">
3319       <doc xml:whitespace="preserve">The result of the #GstBufferListFunc.</doc>
3320       <member name="continue"
3321               value="0"
3322               c:identifier="GST_BUFFER_LIST_CONTINUE"
3323               glib:nick="continue"/>
3324       <member name="skip_group"
3325               value="1"
3326               c:identifier="GST_BUFFER_LIST_SKIP_GROUP"
3327               glib:nick="skip-group"/>
3328       <member name="end"
3329               value="2"
3330               c:identifier="GST_BUFFER_LIST_END"
3331               glib:nick="end"/>
3332     </enumeration>
3333     <record name="BufferListIterator" c:type="GstBufferListIterator">
3334       <method name="free" c:identifier="gst_buffer_list_iterator_free">
3335         <return-value transfer-ownership="none">
3336           <type name="none" c:type="void"/>
3337         </return-value>
3338       </method>
3339       <method name="n_buffers"
3340               c:identifier="gst_buffer_list_iterator_n_buffers">
3341         <return-value transfer-ownership="none">
3342           <type name="uint" c:type="guint"/>
3343         </return-value>
3344       </method>
3345       <method name="next" c:identifier="gst_buffer_list_iterator_next">
3346         <return-value transfer-ownership="full">
3347           <type name="Buffer" c:type="GstBuffer*"/>
3348         </return-value>
3349       </method>
3350       <method name="next_group"
3351               c:identifier="gst_buffer_list_iterator_next_group">
3352         <return-value transfer-ownership="none">
3353           <type name="boolean" c:type="gboolean"/>
3354         </return-value>
3355       </method>
3356       <method name="add" c:identifier="gst_buffer_list_iterator_add">
3357         <return-value transfer-ownership="none">
3358           <type name="none" c:type="void"/>
3359         </return-value>
3360         <parameters>
3361           <parameter name="buffer" transfer-ownership="none">
3362             <type name="Buffer" c:type="GstBuffer*"/>
3363           </parameter>
3364         </parameters>
3365       </method>
3366       <method name="add_group"
3367               c:identifier="gst_buffer_list_iterator_add_group">
3368         <return-value transfer-ownership="none">
3369           <type name="none" c:type="void"/>
3370         </return-value>
3371       </method>
3372       <method name="remove" c:identifier="gst_buffer_list_iterator_remove">
3373         <return-value transfer-ownership="none">
3374           <type name="none" c:type="void"/>
3375         </return-value>
3376       </method>
3377       <method name="steal" c:identifier="gst_buffer_list_iterator_steal">
3378         <return-value transfer-ownership="full">
3379           <type name="Buffer" c:type="GstBuffer*"/>
3380         </return-value>
3381       </method>
3382       <method name="take" c:identifier="gst_buffer_list_iterator_take">
3383         <return-value transfer-ownership="none">
3384           <type name="none" c:type="void"/>
3385         </return-value>
3386         <parameters>
3387           <parameter name="buffer" transfer-ownership="none">
3388             <type name="Buffer" c:type="GstBuffer*"/>
3389           </parameter>
3390         </parameters>
3391       </method>
3392       <method name="do" c:identifier="gst_buffer_list_iterator_do">
3393         <return-value transfer-ownership="full">
3394           <type name="Buffer" c:type="GstBuffer*"/>
3395         </return-value>
3396         <parameters>
3397           <parameter name="do_func"
3398                      transfer-ownership="none"
3399                      scope="call"
3400                      closure="2">
3401             <type name="BufferListDoFunction"
3402                   c:type="GstBufferListDoFunction"/>
3403           </parameter>
3404           <parameter name="user_data" transfer-ownership="none">
3405             <type name="any" c:type="gpointer"/>
3406           </parameter>
3407         </parameters>
3408       </method>
3409       <method name="merge_group"
3410               c:identifier="gst_buffer_list_iterator_merge_group">
3411         <return-value transfer-ownership="full">
3412           <type name="Buffer" c:type="GstBuffer*"/>
3413         </return-value>
3414       </method>
3415     </record>
3416     <enumeration name="BufferingMode"
3417                  glib:type-name="GstBufferingMode"
3418                  glib:get-type="gst_buffering_mode_get_type"
3419                  c:type="GstBufferingMode">
3420       <doc xml:whitespace="preserve">The different types of buffering methods.</doc>
3421       <member name="stream"
3422               value="0"
3423               c:identifier="GST_BUFFERING_STREAM"
3424               glib:nick="stream"/>
3425       <member name="download"
3426               value="1"
3427               c:identifier="GST_BUFFERING_DOWNLOAD"
3428               glib:nick="download"/>
3429       <member name="timeshift"
3430               value="2"
3431               c:identifier="GST_BUFFERING_TIMESHIFT"
3432               glib:nick="timeshift"/>
3433       <member name="live"
3434               value="3"
3435               c:identifier="GST_BUFFERING_LIVE"
3436               glib:nick="live"/>
3437     </enumeration>
3438     <class name="Bus"
3439            c:type="GstBus"
3440            parent="Object"
3441            glib:type-name="GstBus"
3442            glib:get-type="gst_bus_get_type"
3443            glib:type-struct="BusClass">
3444       <doc xml:whitespace="preserve">The opaque #GstBus data structure.</doc>
3445       <constructor name="new" c:identifier="gst_bus_new">
3446         <return-value transfer-ownership="full">
3447           <type name="Bus" c:type="GstBus*"/>
3448         </return-value>
3449       </constructor>
3450       <method name="post" c:identifier="gst_bus_post">
3451         <return-value transfer-ownership="none">
3452           <type name="boolean" c:type="gboolean"/>
3453         </return-value>
3454         <parameters>
3455           <parameter name="message" transfer-ownership="none">
3456             <type name="Message" c:type="GstMessage*"/>
3457           </parameter>
3458         </parameters>
3459       </method>
3460       <method name="have_pending" c:identifier="gst_bus_have_pending">
3461         <return-value transfer-ownership="none">
3462           <type name="boolean" c:type="gboolean"/>
3463         </return-value>
3464       </method>
3465       <method name="peek" c:identifier="gst_bus_peek">
3466         <return-value transfer-ownership="full">
3467           <type name="Message" c:type="GstMessage*"/>
3468         </return-value>
3469       </method>
3470       <method name="pop" c:identifier="gst_bus_pop">
3471         <return-value transfer-ownership="full">
3472           <type name="Message" c:type="GstMessage*"/>
3473         </return-value>
3474       </method>
3475       <method name="pop_filtered" c:identifier="gst_bus_pop_filtered">
3476         <return-value transfer-ownership="full">
3477           <type name="Message" c:type="GstMessage*"/>
3478         </return-value>
3479         <parameters>
3480           <parameter name="types" transfer-ownership="none">
3481             <type name="MessageType" c:type="GstMessageType"/>
3482           </parameter>
3483         </parameters>
3484       </method>
3485       <method name="timed_pop" c:identifier="gst_bus_timed_pop">
3486         <return-value transfer-ownership="full">
3487           <type name="Message" c:type="GstMessage*"/>
3488         </return-value>
3489         <parameters>
3490           <parameter name="timeout" transfer-ownership="none">
3491             <type name="ClockTime" c:type="GstClockTime"/>
3492           </parameter>
3493         </parameters>
3494       </method>
3495       <method name="timed_pop_filtered"
3496               c:identifier="gst_bus_timed_pop_filtered">
3497         <return-value transfer-ownership="full">
3498           <type name="Message" c:type="GstMessage*"/>
3499         </return-value>
3500         <parameters>
3501           <parameter name="timeout" transfer-ownership="none">
3502             <type name="ClockTime" c:type="GstClockTime"/>
3503           </parameter>
3504           <parameter name="types" transfer-ownership="none">
3505             <type name="MessageType" c:type="GstMessageType"/>
3506           </parameter>
3507         </parameters>
3508       </method>
3509       <method name="set_flushing" c:identifier="gst_bus_set_flushing">
3510         <return-value transfer-ownership="none">
3511           <type name="none" c:type="void"/>
3512         </return-value>
3513         <parameters>
3514           <parameter name="flushing" transfer-ownership="none">
3515             <type name="boolean" c:type="gboolean"/>
3516           </parameter>
3517         </parameters>
3518       </method>
3519       <method name="set_sync_handler" c:identifier="gst_bus_set_sync_handler">
3520         <return-value transfer-ownership="none">
3521           <type name="none" c:type="void"/>
3522         </return-value>
3523         <parameters>
3524           <parameter name="func"
3525                      transfer-ownership="none"
3526                      scope="call"
3527                      closure="2">
3528             <type name="BusSyncHandler" c:type="GstBusSyncHandler"/>
3529           </parameter>
3530           <parameter name="data" transfer-ownership="none">
3531             <type name="any" c:type="gpointer"/>
3532           </parameter>
3533         </parameters>
3534       </method>
3535       <method name="create_watch" c:identifier="gst_bus_create_watch">
3536         <return-value transfer-ownership="full">
3537           <type name="GLib.Source" c:type="GSource*"/>
3538         </return-value>
3539       </method>
3540       <method name="add_watch_full" c:identifier="gst_bus_add_watch_full">
3541         <return-value transfer-ownership="none">
3542           <type name="uint" c:type="guint"/>
3543         </return-value>
3544         <parameters>
3545           <parameter name="priority" transfer-ownership="none">
3546             <type name="int" c:type="gint"/>
3547           </parameter>
3548           <parameter name="func"
3549                      transfer-ownership="none"
3550                      scope="notified"
3551                      closure="3"
3552                      destroy="4">
3553             <type name="BusFunc" c:type="GstBusFunc"/>
3554           </parameter>
3555           <parameter name="user_data" transfer-ownership="none">
3556             <type name="any" c:type="gpointer"/>
3557           </parameter>
3558           <parameter name="notify" transfer-ownership="none" scope="call">
3559             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3560           </parameter>
3561         </parameters>
3562       </method>
3563       <method name="add_watch" c:identifier="gst_bus_add_watch">
3564         <return-value transfer-ownership="none">
3565           <type name="uint" c:type="guint"/>
3566         </return-value>
3567         <parameters>
3568           <parameter name="func"
3569                      transfer-ownership="none"
3570                      scope="call"
3571                      closure="2">
3572             <type name="BusFunc" c:type="GstBusFunc"/>
3573           </parameter>
3574           <parameter name="user_data" transfer-ownership="none">
3575             <type name="any" c:type="gpointer"/>
3576           </parameter>
3577         </parameters>
3578       </method>
3579       <method name="poll" c:identifier="gst_bus_poll">
3580         <return-value transfer-ownership="full">
3581           <type name="Message" c:type="GstMessage*"/>
3582         </return-value>
3583         <parameters>
3584           <parameter name="events" transfer-ownership="none">
3585             <type name="MessageType" c:type="GstMessageType"/>
3586           </parameter>
3587           <parameter name="timeout" transfer-ownership="none">
3588             <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
3589           </parameter>
3590         </parameters>
3591       </method>
3592       <method name="async_signal_func"
3593               c:identifier="gst_bus_async_signal_func">
3594         <return-value transfer-ownership="none">
3595           <type name="boolean" c:type="gboolean"/>
3596         </return-value>
3597         <parameters>
3598           <parameter name="message" transfer-ownership="none">
3599             <type name="Message" c:type="GstMessage*"/>
3600           </parameter>
3601           <parameter name="data" transfer-ownership="none">
3602             <type name="any" c:type="gpointer"/>
3603           </parameter>
3604         </parameters>
3605       </method>
3606       <method name="sync_signal_handler"
3607               c:identifier="gst_bus_sync_signal_handler">
3608         <return-value transfer-ownership="full">
3609           <type name="BusSyncReply" c:type="GstBusSyncReply"/>
3610         </return-value>
3611         <parameters>
3612           <parameter name="message" transfer-ownership="none">
3613             <type name="Message" c:type="GstMessage*"/>
3614           </parameter>
3615           <parameter name="data" transfer-ownership="none">
3616             <type name="any" c:type="gpointer"/>
3617           </parameter>
3618         </parameters>
3619       </method>
3620       <method name="add_signal_watch" c:identifier="gst_bus_add_signal_watch">
3621         <return-value transfer-ownership="none">
3622           <type name="none" c:type="void"/>
3623         </return-value>
3624       </method>
3625       <method name="add_signal_watch_full"
3626               c:identifier="gst_bus_add_signal_watch_full">
3627         <return-value transfer-ownership="none">
3628           <type name="none" c:type="void"/>
3629         </return-value>
3630         <parameters>
3631           <parameter name="priority" transfer-ownership="none">
3632             <type name="int" c:type="gint"/>
3633           </parameter>
3634         </parameters>
3635       </method>
3636       <method name="remove_signal_watch"
3637               c:identifier="gst_bus_remove_signal_watch">
3638         <return-value transfer-ownership="none">
3639           <type name="none" c:type="void"/>
3640         </return-value>
3641       </method>
3642       <method name="enable_sync_message_emission"
3643               c:identifier="gst_bus_enable_sync_message_emission">
3644         <return-value transfer-ownership="none">
3645           <type name="none" c:type="void"/>
3646         </return-value>
3647       </method>
3648       <method name="disable_sync_message_emission"
3649               c:identifier="gst_bus_disable_sync_message_emission">
3650         <return-value transfer-ownership="none">
3651           <type name="none" c:type="void"/>
3652         </return-value>
3653       </method>
3654       <field name="object">
3655         <type name="Object" c:type="GstObject"/>
3656       </field>
3657       <field name="queue">
3658         <type name="GLib.Queue" c:type="GQueue*"/>
3659       </field>
3660       <field name="queue_lock">
3661         <type name="GLib.Mutex" c:type="GMutex*"/>
3662       </field>
3663       <field name="sync_handler">
3664         <type name="BusSyncHandler" c:type="GstBusSyncHandler"/>
3665       </field>
3666       <field name="sync_handler_data">
3667         <type name="any" c:type="gpointer"/>
3668       </field>
3669       <field name="signal_watch_id">
3670         <type name="uint" c:type="guint"/>
3671       </field>
3672       <field name="num_signal_watchers">
3673         <type name="uint" c:type="guint"/>
3674       </field>
3675       <field name="priv">
3676         <type name="BusPrivate" c:type="GstBusPrivate*"/>
3677       </field>
3678       <field name="_gst_reserved">
3679         <array zero-terminated="0" c:type="gpointer" fixed-size="3">
3680           <type name="any"/>
3681         </array>
3682       </field>
3683       <glib:signal name="message">
3684         <return-value transfer-ownership="full">
3685           <type name="none" c:type="void"/>
3686         </return-value>
3687         <parameters>
3688           <parameter name="object" transfer-ownership="none">
3689             <type name="Message" c:type="GstMessage"/>
3690           </parameter>
3691         </parameters>
3692       </glib:signal>
3693       <glib:signal name="sync-message">
3694         <return-value transfer-ownership="full">
3695           <type name="none" c:type="void"/>
3696         </return-value>
3697         <parameters>
3698           <parameter name="object" transfer-ownership="none">
3699             <type name="Message" c:type="GstMessage"/>
3700           </parameter>
3701         </parameters>
3702       </glib:signal>
3703     </class>
3704     <record name="BusClass"
3705             c:type="GstBusClass"
3706             glib:is-gtype-struct-for="Bus">
3707       <field name="parent_class">
3708         <type name="ObjectClass" c:type="GstObjectClass"/>
3709       </field>
3710       <field name="message">
3711         <callback name="message" c:type="message">
3712           <return-value transfer-ownership="none">
3713             <type name="none" c:type="void"/>
3714           </return-value>
3715           <parameters>
3716             <parameter name="bus" transfer-ownership="none">
3717               <type name="Bus" c:type="GstBus*"/>
3718             </parameter>
3719             <parameter name="message" transfer-ownership="none">
3720               <type name="Message" c:type="GstMessage*"/>
3721             </parameter>
3722           </parameters>
3723         </callback>
3724       </field>
3725       <field name="sync_message">
3726         <callback name="sync_message" c:type="sync_message">
3727           <return-value transfer-ownership="none">
3728             <type name="none" c:type="void"/>
3729           </return-value>
3730           <parameters>
3731             <parameter name="bus" transfer-ownership="none">
3732               <type name="Bus" c:type="GstBus*"/>
3733             </parameter>
3734             <parameter name="message" transfer-ownership="none">
3735               <type name="Message" c:type="GstMessage*"/>
3736             </parameter>
3737           </parameters>
3738         </callback>
3739       </field>
3740       <field name="_gst_reserved">
3741         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
3742           <type name="any"/>
3743         </array>
3744       </field>
3745     </record>
3746     <bitfield name="BusFlags"
3747               glib:type-name="GstBusFlags"
3748               glib:get-type="gst_bus_flags_get_type"
3749               c:type="GstBusFlags">
3750       <doc xml:whitespace="preserve">The standard flags that a bus may have.</doc>
3751       <member name="flushing"
3752               value="16"
3753               c:identifier="GST_BUS_FLUSHING"
3754               glib:nick="flushing"/>
3755       <member name="flag_last"
3756               value="32"
3757               c:identifier="GST_BUS_FLAG_LAST"
3758               glib:nick="flag-last"/>
3759     </bitfield>
3760     <callback name="BusFunc" c:type="GstBusFunc">
3761       <doc xml:whitespace="preserve">Specifies the type of function passed to gst_bus_add_watch() or
3762 gst_bus_add_watch_full(), which is called from the mainloop when a message
3763 is available on the bus.
3764 The message passed to the function will be unreffed after execution of this
3765 function so it should not be freed in the function.
3766 Note that this function is used as a GSourceFunc which means that returning
3767 FALSE will remove the GSource from the mainloop.</doc>
3768       <return-value transfer-ownership="none">
3769         <doc xml:whitespace="preserve">%FALSE if the event source should be removed.</doc>
3770         <type name="boolean" c:type="gboolean"/>
3771       </return-value>
3772       <parameters>
3773         <parameter name="bus" transfer-ownership="none">
3774           <doc xml:whitespace="preserve">the #GstBus that sent the message</doc>
3775           <type name="Bus" c:type="GstBus*"/>
3776         </parameter>
3777         <parameter name="message" transfer-ownership="none">
3778           <doc xml:whitespace="preserve">the #GstMessage</doc>
3779           <type name="Message" c:type="GstMessage*"/>
3780         </parameter>
3781         <parameter name="data" transfer-ownership="none">
3782           <doc xml:whitespace="preserve">user data that has been given, when registering the handler</doc>
3783           <type name="any" c:type="gpointer"/>
3784         </parameter>
3785       </parameters>
3786     </callback>
3787     <record name="BusPrivate" c:type="GstBusPrivate">
3788     </record>
3789     <callback name="BusSyncHandler" c:type="GstBusSyncHandler">
3790       <doc xml:whitespace="preserve">Handler will be invoked synchronously, when a new message has been injected
3791 into the bus. This function is mostly used internally. Only one sync handler
3792 can be attached to a given bus.
3793 If the handler returns GST_BUS_DROP, it should unref the message, else the
3794 message should not be unreffed by the sync handler.</doc>
3795       <return-value transfer-ownership="full">
3796         <doc xml:whitespace="preserve">#GstBusSyncReply stating what to do with the message</doc>
3797         <type name="BusSyncReply" c:type="GstBusSyncReply"/>
3798       </return-value>
3799       <parameters>
3800         <parameter name="bus" transfer-ownership="none">
3801           <doc xml:whitespace="preserve">the #GstBus that sent the message</doc>
3802           <type name="Bus" c:type="GstBus*"/>
3803         </parameter>
3804         <parameter name="message" transfer-ownership="none">
3805           <doc xml:whitespace="preserve">the #GstMessage</doc>
3806           <type name="Message" c:type="GstMessage*"/>
3807         </parameter>
3808         <parameter name="data" transfer-ownership="none">
3809           <doc xml:whitespace="preserve">user data that has been given, when registering the handler</doc>
3810           <type name="any" c:type="gpointer"/>
3811         </parameter>
3812       </parameters>
3813     </callback>
3814     <enumeration name="BusSyncReply"
3815                  glib:type-name="GstBusSyncReply"
3816                  glib:get-type="gst_bus_sync_reply_get_type"
3817                  c:type="GstBusSyncReply">
3818       <doc xml:whitespace="preserve">The result values for a GstBusSyncHandler.</doc>
3819       <member name="drop"
3820               value="0"
3821               c:identifier="GST_BUS_DROP"
3822               glib:nick="drop"/>
3823       <member name="pass"
3824               value="1"
3825               c:identifier="GST_BUS_PASS"
3826               glib:nick="pass"/>
3827       <member name="async"
3828               value="2"
3829               c:identifier="GST_BUS_ASYNC"
3830               glib:nick="async"/>
3831     </enumeration>
3832     <record name="ByteReader" c:type="GstByteReader">
3833       <doc xml:whitespace="preserve">A byte reader instance.</doc>
3834       <field name="data" writable="1">
3835         <type name="any" c:type="guint8*"/>
3836       </field>
3837       <field name="size" writable="1">
3838         <type name="uint" c:type="guint"/>
3839       </field>
3840       <field name="byte" writable="1">
3841         <type name="uint" c:type="guint"/>
3842       </field>
3843       <constructor name="new" c:identifier="gst_byte_reader_new">
3844         <return-value transfer-ownership="full">
3845           <type name="ByteReader" c:type="GstByteReader*"/>
3846         </return-value>
3847         <parameters>
3848           <parameter name="data" transfer-ownership="none">
3849             <array c:type="guint8*">
3850               <type name="uint8"/>
3851             </array>
3852           </parameter>
3853           <parameter name="size" transfer-ownership="none">
3854             <type name="uint" c:type="guint"/>
3855           </parameter>
3856         </parameters>
3857       </constructor>
3858       <constructor name="new_from_buffer"
3859                    c:identifier="gst_byte_reader_new_from_buffer">
3860         <return-value transfer-ownership="full">
3861           <type name="ByteReader" c:type="GstByteReader*"/>
3862         </return-value>
3863         <parameters>
3864           <parameter name="buffer" transfer-ownership="none">
3865             <type name="Buffer" c:type="GstBuffer*"/>
3866           </parameter>
3867         </parameters>
3868       </constructor>
3869       <method name="free" c:identifier="gst_byte_reader_free">
3870         <return-value transfer-ownership="none">
3871           <type name="none" c:type="void"/>
3872         </return-value>
3873       </method>
3874       <method name="init" c:identifier="gst_byte_reader_init">
3875         <return-value transfer-ownership="none">
3876           <type name="none" c:type="void"/>
3877         </return-value>
3878         <parameters>
3879           <parameter name="data" transfer-ownership="none">
3880             <array c:type="guint8*">
3881               <type name="uint8"/>
3882             </array>
3883           </parameter>
3884           <parameter name="size" transfer-ownership="none">
3885             <type name="uint" c:type="guint"/>
3886           </parameter>
3887         </parameters>
3888       </method>
3889       <method name="init_from_buffer"
3890               c:identifier="gst_byte_reader_init_from_buffer">
3891         <return-value transfer-ownership="none">
3892           <type name="none" c:type="void"/>
3893         </return-value>
3894         <parameters>
3895           <parameter name="buffer" transfer-ownership="none">
3896             <type name="Buffer" c:type="GstBuffer*"/>
3897           </parameter>
3898         </parameters>
3899       </method>
3900       <method name="set_pos" c:identifier="gst_byte_reader_set_pos">
3901         <return-value transfer-ownership="none">
3902           <type name="boolean" c:type="gboolean"/>
3903         </return-value>
3904         <parameters>
3905           <parameter name="pos" transfer-ownership="none">
3906             <type name="uint" c:type="guint"/>
3907           </parameter>
3908         </parameters>
3909       </method>
3910       <method name="get_pos" c:identifier="gst_byte_reader_get_pos">
3911         <return-value transfer-ownership="none">
3912           <type name="uint" c:type="guint"/>
3913         </return-value>
3914       </method>
3915       <method name="get_remaining"
3916               c:identifier="gst_byte_reader_get_remaining">
3917         <return-value transfer-ownership="none">
3918           <type name="uint" c:type="guint"/>
3919         </return-value>
3920       </method>
3921       <method name="get_size" c:identifier="gst_byte_reader_get_size">
3922         <return-value transfer-ownership="none">
3923           <type name="uint" c:type="guint"/>
3924         </return-value>
3925       </method>
3926       <method name="skip" c:identifier="gst_byte_reader_skip">
3927         <return-value transfer-ownership="none">
3928           <type name="boolean" c:type="gboolean"/>
3929         </return-value>
3930         <parameters>
3931           <parameter name="nbytes" transfer-ownership="none">
3932             <type name="uint" c:type="guint"/>
3933           </parameter>
3934         </parameters>
3935       </method>
3936       <method name="get_uint8" c:identifier="gst_byte_reader_get_uint8">
3937         <return-value transfer-ownership="none">
3938           <type name="boolean" c:type="gboolean"/>
3939         </return-value>
3940         <parameters>
3941           <parameter name="val" transfer-ownership="none">
3942             <array c:type="guint8*">
3943               <type name="uint8"/>
3944             </array>
3945           </parameter>
3946         </parameters>
3947       </method>
3948       <method name="get_int8" c:identifier="gst_byte_reader_get_int8">
3949         <return-value transfer-ownership="none">
3950           <type name="boolean" c:type="gboolean"/>
3951         </return-value>
3952         <parameters>
3953           <parameter name="val"
3954                      direction="out"
3955                      caller-allocates="0"
3956                      transfer-ownership="full">
3957             <type name="int8" c:type="gint8*"/>
3958           </parameter>
3959         </parameters>
3960       </method>
3961       <method name="get_uint16_le"
3962               c:identifier="gst_byte_reader_get_uint16_le">
3963         <return-value transfer-ownership="none">
3964           <type name="boolean" c:type="gboolean"/>
3965         </return-value>
3966         <parameters>
3967           <parameter name="val"
3968                      direction="out"
3969                      caller-allocates="0"
3970                      transfer-ownership="full">
3971             <type name="uint16" c:type="guint16*"/>
3972           </parameter>
3973         </parameters>
3974       </method>
3975       <method name="get_int16_le" c:identifier="gst_byte_reader_get_int16_le">
3976         <return-value transfer-ownership="none">
3977           <type name="boolean" c:type="gboolean"/>
3978         </return-value>
3979         <parameters>
3980           <parameter name="val"
3981                      direction="out"
3982                      caller-allocates="0"
3983                      transfer-ownership="full">
3984             <type name="int16" c:type="gint16*"/>
3985           </parameter>
3986         </parameters>
3987       </method>
3988       <method name="get_uint16_be"
3989               c:identifier="gst_byte_reader_get_uint16_be">
3990         <return-value transfer-ownership="none">
3991           <type name="boolean" c:type="gboolean"/>
3992         </return-value>
3993         <parameters>
3994           <parameter name="val"
3995                      direction="out"
3996                      caller-allocates="0"
3997                      transfer-ownership="full">
3998             <type name="uint16" c:type="guint16*"/>
3999           </parameter>
4000         </parameters>
4001       </method>
4002       <method name="get_int16_be" c:identifier="gst_byte_reader_get_int16_be">
4003         <return-value transfer-ownership="none">
4004           <type name="boolean" c:type="gboolean"/>
4005         </return-value>
4006         <parameters>
4007           <parameter name="val"
4008                      direction="out"
4009                      caller-allocates="0"
4010                      transfer-ownership="full">
4011             <type name="int16" c:type="gint16*"/>
4012           </parameter>
4013         </parameters>
4014       </method>
4015       <method name="get_uint24_le"
4016               c:identifier="gst_byte_reader_get_uint24_le">
4017         <return-value transfer-ownership="none">
4018           <type name="boolean" c:type="gboolean"/>
4019         </return-value>
4020         <parameters>
4021           <parameter name="val"
4022                      direction="out"
4023                      caller-allocates="0"
4024                      transfer-ownership="full">
4025             <type name="uint32" c:type="guint32*"/>
4026           </parameter>
4027         </parameters>
4028       </method>
4029       <method name="get_int24_le" c:identifier="gst_byte_reader_get_int24_le">
4030         <return-value transfer-ownership="none">
4031           <type name="boolean" c:type="gboolean"/>
4032         </return-value>
4033         <parameters>
4034           <parameter name="val"
4035                      direction="out"
4036                      caller-allocates="0"
4037                      transfer-ownership="full">
4038             <type name="int32" c:type="gint32*"/>
4039           </parameter>
4040         </parameters>
4041       </method>
4042       <method name="get_uint24_be"
4043               c:identifier="gst_byte_reader_get_uint24_be">
4044         <return-value transfer-ownership="none">
4045           <type name="boolean" c:type="gboolean"/>
4046         </return-value>
4047         <parameters>
4048           <parameter name="val"
4049                      direction="out"
4050                      caller-allocates="0"
4051                      transfer-ownership="full">
4052             <type name="uint32" c:type="guint32*"/>
4053           </parameter>
4054         </parameters>
4055       </method>
4056       <method name="get_int24_be" c:identifier="gst_byte_reader_get_int24_be">
4057         <return-value transfer-ownership="none">
4058           <type name="boolean" c:type="gboolean"/>
4059         </return-value>
4060         <parameters>
4061           <parameter name="val"
4062                      direction="out"
4063                      caller-allocates="0"
4064                      transfer-ownership="full">
4065             <type name="int32" c:type="gint32*"/>
4066           </parameter>
4067         </parameters>
4068       </method>
4069       <method name="get_uint32_le"
4070               c:identifier="gst_byte_reader_get_uint32_le">
4071         <return-value transfer-ownership="none">
4072           <type name="boolean" c:type="gboolean"/>
4073         </return-value>
4074         <parameters>
4075           <parameter name="val"
4076                      direction="out"
4077                      caller-allocates="0"
4078                      transfer-ownership="full">
4079             <type name="uint32" c:type="guint32*"/>
4080           </parameter>
4081         </parameters>
4082       </method>
4083       <method name="get_int32_le" c:identifier="gst_byte_reader_get_int32_le">
4084         <return-value transfer-ownership="none">
4085           <type name="boolean" c:type="gboolean"/>
4086         </return-value>
4087         <parameters>
4088           <parameter name="val"
4089                      direction="out"
4090                      caller-allocates="0"
4091                      transfer-ownership="full">
4092             <type name="int32" c:type="gint32*"/>
4093           </parameter>
4094         </parameters>
4095       </method>
4096       <method name="get_uint32_be"
4097               c:identifier="gst_byte_reader_get_uint32_be">
4098         <return-value transfer-ownership="none">
4099           <type name="boolean" c:type="gboolean"/>
4100         </return-value>
4101         <parameters>
4102           <parameter name="val"
4103                      direction="out"
4104                      caller-allocates="0"
4105                      transfer-ownership="full">
4106             <type name="uint32" c:type="guint32*"/>
4107           </parameter>
4108         </parameters>
4109       </method>
4110       <method name="get_int32_be" c:identifier="gst_byte_reader_get_int32_be">
4111         <return-value transfer-ownership="none">
4112           <type name="boolean" c:type="gboolean"/>
4113         </return-value>
4114         <parameters>
4115           <parameter name="val"
4116                      direction="out"
4117                      caller-allocates="0"
4118                      transfer-ownership="full">
4119             <type name="int32" c:type="gint32*"/>
4120           </parameter>
4121         </parameters>
4122       </method>
4123       <method name="get_uint64_le"
4124               c:identifier="gst_byte_reader_get_uint64_le">
4125         <return-value transfer-ownership="none">
4126           <type name="boolean" c:type="gboolean"/>
4127         </return-value>
4128         <parameters>
4129           <parameter name="val"
4130                      direction="out"
4131                      caller-allocates="0"
4132                      transfer-ownership="full">
4133             <type name="uint64" c:type="guint64*"/>
4134           </parameter>
4135         </parameters>
4136       </method>
4137       <method name="get_int64_le" c:identifier="gst_byte_reader_get_int64_le">
4138         <return-value transfer-ownership="none">
4139           <type name="boolean" c:type="gboolean"/>
4140         </return-value>
4141         <parameters>
4142           <parameter name="val"
4143                      direction="out"
4144                      caller-allocates="0"
4145                      transfer-ownership="full">
4146             <type name="int64" c:type="gint64*"/>
4147           </parameter>
4148         </parameters>
4149       </method>
4150       <method name="get_uint64_be"
4151               c:identifier="gst_byte_reader_get_uint64_be">
4152         <return-value transfer-ownership="none">
4153           <type name="boolean" c:type="gboolean"/>
4154         </return-value>
4155         <parameters>
4156           <parameter name="val"
4157                      direction="out"
4158                      caller-allocates="0"
4159                      transfer-ownership="full">
4160             <type name="uint64" c:type="guint64*"/>
4161           </parameter>
4162         </parameters>
4163       </method>
4164       <method name="get_int64_be" c:identifier="gst_byte_reader_get_int64_be">
4165         <return-value transfer-ownership="none">
4166           <type name="boolean" c:type="gboolean"/>
4167         </return-value>
4168         <parameters>
4169           <parameter name="val"
4170                      direction="out"
4171                      caller-allocates="0"
4172                      transfer-ownership="full">
4173             <type name="int64" c:type="gint64*"/>
4174           </parameter>
4175         </parameters>
4176       </method>
4177       <method name="peek_uint8" c:identifier="gst_byte_reader_peek_uint8">
4178         <return-value transfer-ownership="none">
4179           <type name="boolean" c:type="gboolean"/>
4180         </return-value>
4181         <parameters>
4182           <parameter name="val" transfer-ownership="none">
4183             <array c:type="guint8*">
4184               <type name="uint8"/>
4185             </array>
4186           </parameter>
4187         </parameters>
4188       </method>
4189       <method name="peek_int8" c:identifier="gst_byte_reader_peek_int8">
4190         <return-value transfer-ownership="none">
4191           <type name="boolean" c:type="gboolean"/>
4192         </return-value>
4193         <parameters>
4194           <parameter name="val"
4195                      direction="out"
4196                      caller-allocates="0"
4197                      transfer-ownership="full">
4198             <type name="int8" c:type="gint8*"/>
4199           </parameter>
4200         </parameters>
4201       </method>
4202       <method name="peek_uint16_le"
4203               c:identifier="gst_byte_reader_peek_uint16_le">
4204         <return-value transfer-ownership="none">
4205           <type name="boolean" c:type="gboolean"/>
4206         </return-value>
4207         <parameters>
4208           <parameter name="val"
4209                      direction="out"
4210                      caller-allocates="0"
4211                      transfer-ownership="full">
4212             <type name="uint16" c:type="guint16*"/>
4213           </parameter>
4214         </parameters>
4215       </method>
4216       <method name="peek_int16_le"
4217               c:identifier="gst_byte_reader_peek_int16_le">
4218         <return-value transfer-ownership="none">
4219           <type name="boolean" c:type="gboolean"/>
4220         </return-value>
4221         <parameters>
4222           <parameter name="val"
4223                      direction="out"
4224                      caller-allocates="0"
4225                      transfer-ownership="full">
4226             <type name="int16" c:type="gint16*"/>
4227           </parameter>
4228         </parameters>
4229       </method>
4230       <method name="peek_uint16_be"
4231               c:identifier="gst_byte_reader_peek_uint16_be">
4232         <return-value transfer-ownership="none">
4233           <type name="boolean" c:type="gboolean"/>
4234         </return-value>
4235         <parameters>
4236           <parameter name="val"
4237                      direction="out"
4238                      caller-allocates="0"
4239                      transfer-ownership="full">
4240             <type name="uint16" c:type="guint16*"/>
4241           </parameter>
4242         </parameters>
4243       </method>
4244       <method name="peek_int16_be"
4245               c:identifier="gst_byte_reader_peek_int16_be">
4246         <return-value transfer-ownership="none">
4247           <type name="boolean" c:type="gboolean"/>
4248         </return-value>
4249         <parameters>
4250           <parameter name="val"
4251                      direction="out"
4252                      caller-allocates="0"
4253                      transfer-ownership="full">
4254             <type name="int16" c:type="gint16*"/>
4255           </parameter>
4256         </parameters>
4257       </method>
4258       <method name="peek_uint24_le"
4259               c:identifier="gst_byte_reader_peek_uint24_le">
4260         <return-value transfer-ownership="none">
4261           <type name="boolean" c:type="gboolean"/>
4262         </return-value>
4263         <parameters>
4264           <parameter name="val"
4265                      direction="out"
4266                      caller-allocates="0"
4267                      transfer-ownership="full">
4268             <type name="uint32" c:type="guint32*"/>
4269           </parameter>
4270         </parameters>
4271       </method>
4272       <method name="peek_int24_le"
4273               c:identifier="gst_byte_reader_peek_int24_le">
4274         <return-value transfer-ownership="none">
4275           <type name="boolean" c:type="gboolean"/>
4276         </return-value>
4277         <parameters>
4278           <parameter name="val"
4279                      direction="out"
4280                      caller-allocates="0"
4281                      transfer-ownership="full">
4282             <type name="int32" c:type="gint32*"/>
4283           </parameter>
4284         </parameters>
4285       </method>
4286       <method name="peek_uint24_be"
4287               c:identifier="gst_byte_reader_peek_uint24_be">
4288         <return-value transfer-ownership="none">
4289           <type name="boolean" c:type="gboolean"/>
4290         </return-value>
4291         <parameters>
4292           <parameter name="val"
4293                      direction="out"
4294                      caller-allocates="0"
4295                      transfer-ownership="full">
4296             <type name="uint32" c:type="guint32*"/>
4297           </parameter>
4298         </parameters>
4299       </method>
4300       <method name="peek_int24_be"
4301               c:identifier="gst_byte_reader_peek_int24_be">
4302         <return-value transfer-ownership="none">
4303           <type name="boolean" c:type="gboolean"/>
4304         </return-value>
4305         <parameters>
4306           <parameter name="val"
4307                      direction="out"
4308                      caller-allocates="0"
4309                      transfer-ownership="full">
4310             <type name="int32" c:type="gint32*"/>
4311           </parameter>
4312         </parameters>
4313       </method>
4314       <method name="peek_uint32_le"
4315               c:identifier="gst_byte_reader_peek_uint32_le">
4316         <return-value transfer-ownership="none">
4317           <type name="boolean" c:type="gboolean"/>
4318         </return-value>
4319         <parameters>
4320           <parameter name="val"
4321                      direction="out"
4322                      caller-allocates="0"
4323                      transfer-ownership="full">
4324             <type name="uint32" c:type="guint32*"/>
4325           </parameter>
4326         </parameters>
4327       </method>
4328       <method name="peek_int32_le"
4329               c:identifier="gst_byte_reader_peek_int32_le">
4330         <return-value transfer-ownership="none">
4331           <type name="boolean" c:type="gboolean"/>
4332         </return-value>
4333         <parameters>
4334           <parameter name="val"
4335                      direction="out"
4336                      caller-allocates="0"
4337                      transfer-ownership="full">
4338             <type name="int32" c:type="gint32*"/>
4339           </parameter>
4340         </parameters>
4341       </method>
4342       <method name="peek_uint32_be"
4343               c:identifier="gst_byte_reader_peek_uint32_be">
4344         <return-value transfer-ownership="none">
4345           <type name="boolean" c:type="gboolean"/>
4346         </return-value>
4347         <parameters>
4348           <parameter name="val"
4349                      direction="out"
4350                      caller-allocates="0"
4351                      transfer-ownership="full">
4352             <type name="uint32" c:type="guint32*"/>
4353           </parameter>
4354         </parameters>
4355       </method>
4356       <method name="peek_int32_be"
4357               c:identifier="gst_byte_reader_peek_int32_be">
4358         <return-value transfer-ownership="none">
4359           <type name="boolean" c:type="gboolean"/>
4360         </return-value>
4361         <parameters>
4362           <parameter name="val"
4363                      direction="out"
4364                      caller-allocates="0"
4365                      transfer-ownership="full">
4366             <type name="int32" c:type="gint32*"/>
4367           </parameter>
4368         </parameters>
4369       </method>
4370       <method name="peek_uint64_le"
4371               c:identifier="gst_byte_reader_peek_uint64_le">
4372         <return-value transfer-ownership="none">
4373           <type name="boolean" c:type="gboolean"/>
4374         </return-value>
4375         <parameters>
4376           <parameter name="val"
4377                      direction="out"
4378                      caller-allocates="0"
4379                      transfer-ownership="full">
4380             <type name="uint64" c:type="guint64*"/>
4381           </parameter>
4382         </parameters>
4383       </method>
4384       <method name="peek_int64_le"
4385               c:identifier="gst_byte_reader_peek_int64_le">
4386         <return-value transfer-ownership="none">
4387           <type name="boolean" c:type="gboolean"/>
4388         </return-value>
4389         <parameters>
4390           <parameter name="val"
4391                      direction="out"
4392                      caller-allocates="0"
4393                      transfer-ownership="full">
4394             <type name="int64" c:type="gint64*"/>
4395           </parameter>
4396         </parameters>
4397       </method>
4398       <method name="peek_uint64_be"
4399               c:identifier="gst_byte_reader_peek_uint64_be">
4400         <return-value transfer-ownership="none">
4401           <type name="boolean" c:type="gboolean"/>
4402         </return-value>
4403         <parameters>
4404           <parameter name="val"
4405                      direction="out"
4406                      caller-allocates="0"
4407                      transfer-ownership="full">
4408             <type name="uint64" c:type="guint64*"/>
4409           </parameter>
4410         </parameters>
4411       </method>
4412       <method name="peek_int64_be"
4413               c:identifier="gst_byte_reader_peek_int64_be">
4414         <return-value transfer-ownership="none">
4415           <type name="boolean" c:type="gboolean"/>
4416         </return-value>
4417         <parameters>
4418           <parameter name="val"
4419                      direction="out"
4420                      caller-allocates="0"
4421                      transfer-ownership="full">
4422             <type name="int64" c:type="gint64*"/>
4423           </parameter>
4424         </parameters>
4425       </method>
4426       <method name="get_float32_le"
4427               c:identifier="gst_byte_reader_get_float32_le">
4428         <return-value transfer-ownership="none">
4429           <type name="boolean" c:type="gboolean"/>
4430         </return-value>
4431         <parameters>
4432           <parameter name="val"
4433                      direction="out"
4434                      caller-allocates="0"
4435                      transfer-ownership="full">
4436             <type name="float" c:type="gfloat*"/>
4437           </parameter>
4438         </parameters>
4439       </method>
4440       <method name="get_float32_be"
4441               c:identifier="gst_byte_reader_get_float32_be">
4442         <return-value transfer-ownership="none">
4443           <type name="boolean" c:type="gboolean"/>
4444         </return-value>
4445         <parameters>
4446           <parameter name="val"
4447                      direction="out"
4448                      caller-allocates="0"
4449                      transfer-ownership="full">
4450             <type name="float" c:type="gfloat*"/>
4451           </parameter>
4452         </parameters>
4453       </method>
4454       <method name="get_float64_le"
4455               c:identifier="gst_byte_reader_get_float64_le">
4456         <return-value transfer-ownership="none">
4457           <type name="boolean" c:type="gboolean"/>
4458         </return-value>
4459         <parameters>
4460           <parameter name="val"
4461                      direction="out"
4462                      caller-allocates="0"
4463                      transfer-ownership="full">
4464             <type name="double" c:type="gdouble*"/>
4465           </parameter>
4466         </parameters>
4467       </method>
4468       <method name="get_float64_be"
4469               c:identifier="gst_byte_reader_get_float64_be">
4470         <return-value transfer-ownership="none">
4471           <type name="boolean" c:type="gboolean"/>
4472         </return-value>
4473         <parameters>
4474           <parameter name="val"
4475                      direction="out"
4476                      caller-allocates="0"
4477                      transfer-ownership="full">
4478             <type name="double" c:type="gdouble*"/>
4479           </parameter>
4480         </parameters>
4481       </method>
4482       <method name="peek_float32_le"
4483               c:identifier="gst_byte_reader_peek_float32_le">
4484         <return-value transfer-ownership="none">
4485           <type name="boolean" c:type="gboolean"/>
4486         </return-value>
4487         <parameters>
4488           <parameter name="val"
4489                      direction="out"
4490                      caller-allocates="0"
4491                      transfer-ownership="full">
4492             <type name="float" c:type="gfloat*"/>
4493           </parameter>
4494         </parameters>
4495       </method>
4496       <method name="peek_float32_be"
4497               c:identifier="gst_byte_reader_peek_float32_be">
4498         <return-value transfer-ownership="none">
4499           <type name="boolean" c:type="gboolean"/>
4500         </return-value>
4501         <parameters>
4502           <parameter name="val"
4503                      direction="out"
4504                      caller-allocates="0"
4505                      transfer-ownership="full">
4506             <type name="float" c:type="gfloat*"/>
4507           </parameter>
4508         </parameters>
4509       </method>
4510       <method name="peek_float64_le"
4511               c:identifier="gst_byte_reader_peek_float64_le">
4512         <return-value transfer-ownership="none">
4513           <type name="boolean" c:type="gboolean"/>
4514         </return-value>
4515         <parameters>
4516           <parameter name="val"
4517                      direction="out"
4518                      caller-allocates="0"
4519                      transfer-ownership="full">
4520             <type name="double" c:type="gdouble*"/>
4521           </parameter>
4522         </parameters>
4523       </method>
4524       <method name="peek_float64_be"
4525               c:identifier="gst_byte_reader_peek_float64_be">
4526         <return-value transfer-ownership="none">
4527           <type name="boolean" c:type="gboolean"/>
4528         </return-value>
4529         <parameters>
4530           <parameter name="val"
4531                      direction="out"
4532                      caller-allocates="0"
4533                      transfer-ownership="full">
4534             <type name="double" c:type="gdouble*"/>
4535           </parameter>
4536         </parameters>
4537       </method>
4538       <method name="dup_data" c:identifier="gst_byte_reader_dup_data">
4539         <return-value transfer-ownership="none">
4540           <type name="boolean" c:type="gboolean"/>
4541         </return-value>
4542         <parameters>
4543           <parameter name="size" transfer-ownership="none">
4544             <type name="uint" c:type="guint"/>
4545           </parameter>
4546           <parameter name="val"
4547                      direction="out"
4548                      caller-allocates="0"
4549                      transfer-ownership="full">
4550             <type name="uint8" c:type="guint8**"/>
4551           </parameter>
4552         </parameters>
4553       </method>
4554       <method name="get_data" c:identifier="gst_byte_reader_get_data">
4555         <return-value transfer-ownership="none">
4556           <type name="boolean" c:type="gboolean"/>
4557         </return-value>
4558         <parameters>
4559           <parameter name="size" transfer-ownership="none">
4560             <type name="uint" c:type="guint"/>
4561           </parameter>
4562           <parameter name="val"
4563                      direction="out"
4564                      caller-allocates="0"
4565                      transfer-ownership="full">
4566             <type name="uint8" c:type="guint8**"/>
4567           </parameter>
4568         </parameters>
4569       </method>
4570       <method name="peek_data" c:identifier="gst_byte_reader_peek_data">
4571         <return-value transfer-ownership="none">
4572           <type name="boolean" c:type="gboolean"/>
4573         </return-value>
4574         <parameters>
4575           <parameter name="size" transfer-ownership="none">
4576             <type name="uint" c:type="guint"/>
4577           </parameter>
4578           <parameter name="val"
4579                      direction="out"
4580                      caller-allocates="0"
4581                      transfer-ownership="full">
4582             <type name="uint8" c:type="guint8**"/>
4583           </parameter>
4584         </parameters>
4585       </method>
4586       <method name="dup_string_utf8"
4587               c:identifier="gst_byte_reader_dup_string_utf8">
4588         <return-value transfer-ownership="none">
4589           <type name="boolean" c:type="gboolean"/>
4590         </return-value>
4591         <parameters>
4592           <parameter name="str" transfer-ownership="none">
4593             <array c:type="gchar**">
4594               <type name="utf8"/>
4595             </array>
4596           </parameter>
4597         </parameters>
4598       </method>
4599       <method name="dup_string_utf16"
4600               c:identifier="gst_byte_reader_dup_string_utf16">
4601         <return-value transfer-ownership="none">
4602           <type name="boolean" c:type="gboolean"/>
4603         </return-value>
4604         <parameters>
4605           <parameter name="str"
4606                      direction="out"
4607                      caller-allocates="0"
4608                      transfer-ownership="full">
4609             <type name="uint16" c:type="guint16**"/>
4610           </parameter>
4611         </parameters>
4612       </method>
4613       <method name="dup_string_utf32"
4614               c:identifier="gst_byte_reader_dup_string_utf32">
4615         <return-value transfer-ownership="none">
4616           <type name="boolean" c:type="gboolean"/>
4617         </return-value>
4618         <parameters>
4619           <parameter name="str"
4620                      direction="out"
4621                      caller-allocates="0"
4622                      transfer-ownership="full">
4623             <type name="uint32" c:type="guint32**"/>
4624           </parameter>
4625         </parameters>
4626       </method>
4627       <method name="skip_string_utf8"
4628               c:identifier="gst_byte_reader_skip_string_utf8">
4629         <return-value transfer-ownership="none">
4630           <type name="boolean" c:type="gboolean"/>
4631         </return-value>
4632       </method>
4633       <method name="skip_string_utf16"
4634               c:identifier="gst_byte_reader_skip_string_utf16">
4635         <return-value transfer-ownership="none">
4636           <type name="boolean" c:type="gboolean"/>
4637         </return-value>
4638       </method>
4639       <method name="skip_string_utf32"
4640               c:identifier="gst_byte_reader_skip_string_utf32">
4641         <return-value transfer-ownership="none">
4642           <type name="boolean" c:type="gboolean"/>
4643         </return-value>
4644       </method>
4645       <method name="get_string_utf8"
4646               c:identifier="gst_byte_reader_get_string_utf8">
4647         <return-value transfer-ownership="none">
4648           <type name="boolean" c:type="gboolean"/>
4649         </return-value>
4650         <parameters>
4651           <parameter name="str" transfer-ownership="none">
4652             <array c:type="gchar**">
4653               <type name="utf8"/>
4654             </array>
4655           </parameter>
4656         </parameters>
4657       </method>
4658       <method name="peek_string_utf8"
4659               c:identifier="gst_byte_reader_peek_string_utf8">
4660         <return-value transfer-ownership="none">
4661           <type name="boolean" c:type="gboolean"/>
4662         </return-value>
4663         <parameters>
4664           <parameter name="str" transfer-ownership="none">
4665             <array c:type="gchar**">
4666               <type name="utf8"/>
4667             </array>
4668           </parameter>
4669         </parameters>
4670       </method>
4671       <method name="masked_scan_uint32"
4672               c:identifier="gst_byte_reader_masked_scan_uint32">
4673         <return-value transfer-ownership="none">
4674           <type name="uint" c:type="guint"/>
4675         </return-value>
4676         <parameters>
4677           <parameter name="mask" transfer-ownership="none">
4678             <type name="uint32" c:type="guint32"/>
4679           </parameter>
4680           <parameter name="pattern" transfer-ownership="none">
4681             <type name="uint32" c:type="guint32"/>
4682           </parameter>
4683           <parameter name="offset" transfer-ownership="none">
4684             <type name="uint" c:type="guint"/>
4685           </parameter>
4686           <parameter name="size" transfer-ownership="none">
4687             <type name="uint" c:type="guint"/>
4688           </parameter>
4689         </parameters>
4690       </method>
4691     </record>
4692     <record name="ByteWriter" c:type="GstByteWriter">
4693       <doc xml:whitespace="preserve">A byte writer instance.</doc>
4694       <field name="parent" writable="1">
4695         <type name="ByteReader" c:type="GstByteReader"/>
4696       </field>
4697       <field name="alloc_size" writable="1">
4698         <type name="uint" c:type="guint"/>
4699       </field>
4700       <field name="fixed" writable="1">
4701         <type name="boolean" c:type="gboolean"/>
4702       </field>
4703       <field name="owned" writable="1">
4704         <type name="boolean" c:type="gboolean"/>
4705       </field>
4706       <constructor name="new" c:identifier="gst_byte_writer_new">
4707         <return-value transfer-ownership="full">
4708           <type name="ByteWriter" c:type="GstByteWriter*"/>
4709         </return-value>
4710       </constructor>
4711       <constructor name="new_with_size"
4712                    c:identifier="gst_byte_writer_new_with_size">
4713         <return-value transfer-ownership="full">
4714           <type name="ByteWriter" c:type="GstByteWriter*"/>
4715         </return-value>
4716         <parameters>
4717           <parameter name="size" transfer-ownership="none">
4718             <type name="uint" c:type="guint"/>
4719           </parameter>
4720           <parameter name="fixed" transfer-ownership="none">
4721             <type name="boolean" c:type="gboolean"/>
4722           </parameter>
4723         </parameters>
4724       </constructor>
4725       <constructor name="new_with_data"
4726                    c:identifier="gst_byte_writer_new_with_data">
4727         <return-value transfer-ownership="full">
4728           <type name="ByteWriter" c:type="GstByteWriter*"/>
4729         </return-value>
4730         <parameters>
4731           <parameter name="data" transfer-ownership="none">
4732             <array c:type="guint8*">
4733               <type name="uint8"/>
4734             </array>
4735           </parameter>
4736           <parameter name="size" transfer-ownership="none">
4737             <type name="uint" c:type="guint"/>
4738           </parameter>
4739           <parameter name="initialized" transfer-ownership="none">
4740             <type name="boolean" c:type="gboolean"/>
4741           </parameter>
4742         </parameters>
4743       </constructor>
4744       <constructor name="new_with_buffer"
4745                    c:identifier="gst_byte_writer_new_with_buffer">
4746         <return-value transfer-ownership="full">
4747           <type name="ByteWriter" c:type="GstByteWriter*"/>
4748         </return-value>
4749         <parameters>
4750           <parameter name="buffer" transfer-ownership="none">
4751             <type name="Buffer" c:type="GstBuffer*"/>
4752           </parameter>
4753           <parameter name="initialized" transfer-ownership="none">
4754             <type name="boolean" c:type="gboolean"/>
4755           </parameter>
4756         </parameters>
4757       </constructor>
4758       <method name="init" c:identifier="gst_byte_writer_init">
4759         <return-value transfer-ownership="none">
4760           <type name="none" c:type="void"/>
4761         </return-value>
4762       </method>
4763       <method name="init_with_size"
4764               c:identifier="gst_byte_writer_init_with_size">
4765         <return-value transfer-ownership="none">
4766           <type name="none" c:type="void"/>
4767         </return-value>
4768         <parameters>
4769           <parameter name="size" transfer-ownership="none">
4770             <type name="uint" c:type="guint"/>
4771           </parameter>
4772           <parameter name="fixed" transfer-ownership="none">
4773             <type name="boolean" c:type="gboolean"/>
4774           </parameter>
4775         </parameters>
4776       </method>
4777       <method name="init_with_data"
4778               c:identifier="gst_byte_writer_init_with_data">
4779         <return-value transfer-ownership="none">
4780           <type name="none" c:type="void"/>
4781         </return-value>
4782         <parameters>
4783           <parameter name="data" transfer-ownership="none">
4784             <array c:type="guint8*">
4785               <type name="uint8"/>
4786             </array>
4787           </parameter>
4788           <parameter name="size" transfer-ownership="none">
4789             <type name="uint" c:type="guint"/>
4790           </parameter>
4791           <parameter name="initialized" transfer-ownership="none">
4792             <type name="boolean" c:type="gboolean"/>
4793           </parameter>
4794         </parameters>
4795       </method>
4796       <method name="init_with_buffer"
4797               c:identifier="gst_byte_writer_init_with_buffer">
4798         <return-value transfer-ownership="none">
4799           <type name="none" c:type="void"/>
4800         </return-value>
4801         <parameters>
4802           <parameter name="buffer" transfer-ownership="none">
4803             <type name="Buffer" c:type="GstBuffer*"/>
4804           </parameter>
4805           <parameter name="initialized" transfer-ownership="none">
4806             <type name="boolean" c:type="gboolean"/>
4807           </parameter>
4808         </parameters>
4809       </method>
4810       <method name="free" c:identifier="gst_byte_writer_free">
4811         <return-value transfer-ownership="none">
4812           <type name="none" c:type="void"/>
4813         </return-value>
4814       </method>
4815       <method name="free_and_get_data"
4816               c:identifier="gst_byte_writer_free_and_get_data">
4817         <return-value transfer-ownership="full">
4818           <array c:type="guint8*">
4819             <type name="uint8"/>
4820           </array>
4821         </return-value>
4822       </method>
4823       <method name="free_and_get_buffer"
4824               c:identifier="gst_byte_writer_free_and_get_buffer">
4825         <return-value transfer-ownership="full">
4826           <type name="Buffer" c:type="GstBuffer*"/>
4827         </return-value>
4828       </method>
4829       <method name="reset" c:identifier="gst_byte_writer_reset">
4830         <return-value transfer-ownership="none">
4831           <type name="none" c:type="void"/>
4832         </return-value>
4833       </method>
4834       <method name="reset_and_get_data"
4835               c:identifier="gst_byte_writer_reset_and_get_data">
4836         <return-value transfer-ownership="full">
4837           <array c:type="guint8*">
4838             <type name="uint8"/>
4839           </array>
4840         </return-value>
4841       </method>
4842       <method name="reset_and_get_buffer"
4843               c:identifier="gst_byte_writer_reset_and_get_buffer">
4844         <return-value transfer-ownership="full">
4845           <type name="Buffer" c:type="GstBuffer*"/>
4846         </return-value>
4847       </method>
4848       <method name="get_remaining"
4849               c:identifier="gst_byte_writer_get_remaining">
4850         <return-value transfer-ownership="none">
4851           <type name="uint" c:type="guint"/>
4852         </return-value>
4853       </method>
4854       <method name="ensure_free_space"
4855               c:identifier="gst_byte_writer_ensure_free_space">
4856         <return-value transfer-ownership="none">
4857           <type name="boolean" c:type="gboolean"/>
4858         </return-value>
4859         <parameters>
4860           <parameter name="size" transfer-ownership="none">
4861             <type name="uint" c:type="guint"/>
4862           </parameter>
4863         </parameters>
4864       </method>
4865       <method name="put_uint8" c:identifier="gst_byte_writer_put_uint8">
4866         <return-value transfer-ownership="none">
4867           <type name="boolean" c:type="gboolean"/>
4868         </return-value>
4869         <parameters>
4870           <parameter name="val" transfer-ownership="none">
4871             <type name="uint8" c:type="guint8"/>
4872           </parameter>
4873         </parameters>
4874       </method>
4875       <method name="put_int8" c:identifier="gst_byte_writer_put_int8">
4876         <return-value transfer-ownership="none">
4877           <type name="boolean" c:type="gboolean"/>
4878         </return-value>
4879         <parameters>
4880           <parameter name="val" transfer-ownership="none">
4881             <type name="int8" c:type="gint8"/>
4882           </parameter>
4883         </parameters>
4884       </method>
4885       <method name="put_uint16_be"
4886               c:identifier="gst_byte_writer_put_uint16_be">
4887         <return-value transfer-ownership="none">
4888           <type name="boolean" c:type="gboolean"/>
4889         </return-value>
4890         <parameters>
4891           <parameter name="val" transfer-ownership="none">
4892             <type name="uint16" c:type="guint16"/>
4893           </parameter>
4894         </parameters>
4895       </method>
4896       <method name="put_uint16_le"
4897               c:identifier="gst_byte_writer_put_uint16_le">
4898         <return-value transfer-ownership="none">
4899           <type name="boolean" c:type="gboolean"/>
4900         </return-value>
4901         <parameters>
4902           <parameter name="val" transfer-ownership="none">
4903             <type name="uint16" c:type="guint16"/>
4904           </parameter>
4905         </parameters>
4906       </method>
4907       <method name="put_int16_be" c:identifier="gst_byte_writer_put_int16_be">
4908         <return-value transfer-ownership="none">
4909           <type name="boolean" c:type="gboolean"/>
4910         </return-value>
4911         <parameters>
4912           <parameter name="val" transfer-ownership="none">
4913             <type name="int16" c:type="gint16"/>
4914           </parameter>
4915         </parameters>
4916       </method>
4917       <method name="put_int16_le" c:identifier="gst_byte_writer_put_int16_le">
4918         <return-value transfer-ownership="none">
4919           <type name="boolean" c:type="gboolean"/>
4920         </return-value>
4921         <parameters>
4922           <parameter name="val" transfer-ownership="none">
4923             <type name="int16" c:type="gint16"/>
4924           </parameter>
4925         </parameters>
4926       </method>
4927       <method name="put_uint24_be"
4928               c:identifier="gst_byte_writer_put_uint24_be">
4929         <return-value transfer-ownership="none">
4930           <type name="boolean" c:type="gboolean"/>
4931         </return-value>
4932         <parameters>
4933           <parameter name="val" transfer-ownership="none">
4934             <type name="uint32" c:type="guint32"/>
4935           </parameter>
4936         </parameters>
4937       </method>
4938       <method name="put_uint24_le"
4939               c:identifier="gst_byte_writer_put_uint24_le">
4940         <return-value transfer-ownership="none">
4941           <type name="boolean" c:type="gboolean"/>
4942         </return-value>
4943         <parameters>
4944           <parameter name="val" transfer-ownership="none">
4945             <type name="uint32" c:type="guint32"/>
4946           </parameter>
4947         </parameters>
4948       </method>
4949       <method name="put_int24_be" c:identifier="gst_byte_writer_put_int24_be">
4950         <return-value transfer-ownership="none">
4951           <type name="boolean" c:type="gboolean"/>
4952         </return-value>
4953         <parameters>
4954           <parameter name="val" transfer-ownership="none">
4955             <type name="int32" c:type="gint32"/>
4956           </parameter>
4957         </parameters>
4958       </method>
4959       <method name="put_int24_le" c:identifier="gst_byte_writer_put_int24_le">
4960         <return-value transfer-ownership="none">
4961           <type name="boolean" c:type="gboolean"/>
4962         </return-value>
4963         <parameters>
4964           <parameter name="val" transfer-ownership="none">
4965             <type name="int32" c:type="gint32"/>
4966           </parameter>
4967         </parameters>
4968       </method>
4969       <method name="put_uint32_be"
4970               c:identifier="gst_byte_writer_put_uint32_be">
4971         <return-value transfer-ownership="none">
4972           <type name="boolean" c:type="gboolean"/>
4973         </return-value>
4974         <parameters>
4975           <parameter name="val" transfer-ownership="none">
4976             <type name="uint32" c:type="guint32"/>
4977           </parameter>
4978         </parameters>
4979       </method>
4980       <method name="put_uint32_le"
4981               c:identifier="gst_byte_writer_put_uint32_le">
4982         <return-value transfer-ownership="none">
4983           <type name="boolean" c:type="gboolean"/>
4984         </return-value>
4985         <parameters>
4986           <parameter name="val" transfer-ownership="none">
4987             <type name="uint32" c:type="guint32"/>
4988           </parameter>
4989         </parameters>
4990       </method>
4991       <method name="put_int32_be" c:identifier="gst_byte_writer_put_int32_be">
4992         <return-value transfer-ownership="none">
4993           <type name="boolean" c:type="gboolean"/>
4994         </return-value>
4995         <parameters>
4996           <parameter name="val" transfer-ownership="none">
4997             <type name="int32" c:type="gint32"/>
4998           </parameter>
4999         </parameters>
5000       </method>
5001       <method name="put_int32_le" c:identifier="gst_byte_writer_put_int32_le">
5002         <return-value transfer-ownership="none">
5003           <type name="boolean" c:type="gboolean"/>
5004         </return-value>
5005         <parameters>
5006           <parameter name="val" transfer-ownership="none">
5007             <type name="int32" c:type="gint32"/>
5008           </parameter>
5009         </parameters>
5010       </method>
5011       <method name="put_uint64_be"
5012               c:identifier="gst_byte_writer_put_uint64_be">
5013         <return-value transfer-ownership="none">
5014           <type name="boolean" c:type="gboolean"/>
5015         </return-value>
5016         <parameters>
5017           <parameter name="val" transfer-ownership="none">
5018             <type name="uint64" c:type="guint64"/>
5019           </parameter>
5020         </parameters>
5021       </method>
5022       <method name="put_uint64_le"
5023               c:identifier="gst_byte_writer_put_uint64_le">
5024         <return-value transfer-ownership="none">
5025           <type name="boolean" c:type="gboolean"/>
5026         </return-value>
5027         <parameters>
5028           <parameter name="val" transfer-ownership="none">
5029             <type name="uint64" c:type="guint64"/>
5030           </parameter>
5031         </parameters>
5032       </method>
5033       <method name="put_int64_be" c:identifier="gst_byte_writer_put_int64_be">
5034         <return-value transfer-ownership="none">
5035           <type name="boolean" c:type="gboolean"/>
5036         </return-value>
5037         <parameters>
5038           <parameter name="val" transfer-ownership="none">
5039             <type name="int64" c:type="gint64"/>
5040           </parameter>
5041         </parameters>
5042       </method>
5043       <method name="put_int64_le" c:identifier="gst_byte_writer_put_int64_le">
5044         <return-value transfer-ownership="none">
5045           <type name="boolean" c:type="gboolean"/>
5046         </return-value>
5047         <parameters>
5048           <parameter name="val" transfer-ownership="none">
5049             <type name="int64" c:type="gint64"/>
5050           </parameter>
5051         </parameters>
5052       </method>
5053       <method name="put_float32_be"
5054               c:identifier="gst_byte_writer_put_float32_be">
5055         <return-value transfer-ownership="none">
5056           <type name="boolean" c:type="gboolean"/>
5057         </return-value>
5058         <parameters>
5059           <parameter name="val" transfer-ownership="none">
5060             <type name="float" c:type="gfloat"/>
5061           </parameter>
5062         </parameters>
5063       </method>
5064       <method name="put_float32_le"
5065               c:identifier="gst_byte_writer_put_float32_le">
5066         <return-value transfer-ownership="none">
5067           <type name="boolean" c:type="gboolean"/>
5068         </return-value>
5069         <parameters>
5070           <parameter name="val" transfer-ownership="none">
5071             <type name="float" c:type="gfloat"/>
5072           </parameter>
5073         </parameters>
5074       </method>
5075       <method name="put_float64_be"
5076               c:identifier="gst_byte_writer_put_float64_be">
5077         <return-value transfer-ownership="none">
5078           <type name="boolean" c:type="gboolean"/>
5079         </return-value>
5080         <parameters>
5081           <parameter name="val" transfer-ownership="none">
5082             <type name="double" c:type="gdouble"/>
5083           </parameter>
5084         </parameters>
5085       </method>
5086       <method name="put_float64_le"
5087               c:identifier="gst_byte_writer_put_float64_le">
5088         <return-value transfer-ownership="none">
5089           <type name="boolean" c:type="gboolean"/>
5090         </return-value>
5091         <parameters>
5092           <parameter name="val" transfer-ownership="none">
5093             <type name="double" c:type="gdouble"/>
5094           </parameter>
5095         </parameters>
5096       </method>
5097       <method name="put_data" c:identifier="gst_byte_writer_put_data">
5098         <return-value transfer-ownership="none">
5099           <type name="boolean" c:type="gboolean"/>
5100         </return-value>
5101         <parameters>
5102           <parameter name="data" transfer-ownership="none">
5103             <array c:type="guint8*">
5104               <type name="uint8"/>
5105             </array>
5106           </parameter>
5107           <parameter name="size" transfer-ownership="none">
5108             <type name="uint" c:type="guint"/>
5109           </parameter>
5110         </parameters>
5111       </method>
5112       <method name="fill" c:identifier="gst_byte_writer_fill">
5113         <return-value transfer-ownership="none">
5114           <type name="boolean" c:type="gboolean"/>
5115         </return-value>
5116         <parameters>
5117           <parameter name="value" transfer-ownership="none">
5118             <type name="uint8" c:type="guint8"/>
5119           </parameter>
5120           <parameter name="size" transfer-ownership="none">
5121             <type name="uint" c:type="guint"/>
5122           </parameter>
5123         </parameters>
5124       </method>
5125       <method name="put_string_utf8"
5126               c:identifier="gst_byte_writer_put_string_utf8">
5127         <return-value transfer-ownership="none">
5128           <type name="boolean" c:type="gboolean"/>
5129         </return-value>
5130         <parameters>
5131           <parameter name="data" transfer-ownership="none">
5132             <type name="utf8" c:type="gchar*"/>
5133           </parameter>
5134         </parameters>
5135       </method>
5136       <method name="put_string_utf16"
5137               c:identifier="gst_byte_writer_put_string_utf16">
5138         <return-value transfer-ownership="none">
5139           <type name="boolean" c:type="gboolean"/>
5140         </return-value>
5141         <parameters>
5142           <parameter name="data"
5143                      direction="out"
5144                      caller-allocates="0"
5145                      transfer-ownership="none">
5146             <type name="uint16" c:type="guint16*"/>
5147           </parameter>
5148         </parameters>
5149       </method>
5150       <method name="put_string_utf32"
5151               c:identifier="gst_byte_writer_put_string_utf32">
5152         <return-value transfer-ownership="none">
5153           <type name="boolean" c:type="gboolean"/>
5154         </return-value>
5155         <parameters>
5156           <parameter name="data"
5157                      direction="out"
5158                      caller-allocates="0"
5159                      transfer-ownership="none">
5160             <type name="uint32" c:type="guint32*"/>
5161           </parameter>
5162         </parameters>
5163       </method>
5164     </record>
5165     <constant name="CAN_INLINE" value="1">
5166       <type name="int"/>
5167     </constant>
5168     <constant name="CLOCK_ENTRY_TRACE_NAME" value="GstClockEntry">
5169       <type name="utf8"/>
5170     </constant>
5171     <constant name="CLOCK_TIME_NONE" value="-1">
5172       <type name="int"/>
5173     </constant>
5174     <record name="Caps"
5175             c:type="GstCaps"
5176             glib:type-name="GstCaps"
5177             glib:get-type="gst_caps_get_type">
5178       <doc xml:whitespace="preserve">Object describing media types.</doc>
5179       <field name="type" writable="1">
5180         <type name="GType" c:type="GType"/>
5181       </field>
5182       <field name="refcount" writable="1">
5183         <type name="int" c:type="gint"/>
5184       </field>
5185       <field name="flags" writable="1">
5186         <type name="CapsFlags" c:type="GstCapsFlags"/>
5187       </field>
5188       <field name="structs" writable="1">
5189         <type name="GLib.PtrArray" c:type="GPtrArray*"/>
5190       </field>
5191       <field name="_gst_reserved" writable="1">
5192         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
5193           <type name="any"/>
5194         </array>
5195       </field>
5196       <constructor name="new_empty" c:identifier="gst_caps_new_empty">
5197         <return-value transfer-ownership="full">
5198           <type name="Caps" c:type="GstCaps*"/>
5199         </return-value>
5200       </constructor>
5201       <constructor name="new_any" c:identifier="gst_caps_new_any">
5202         <return-value transfer-ownership="full">
5203           <type name="Caps" c:type="GstCaps*"/>
5204         </return-value>
5205       </constructor>
5206       <constructor name="new_simple"
5207                    c:identifier="gst_caps_new_simple"
5208                    introspectable="0">
5209         <return-value transfer-ownership="full">
5210           <type name="Caps" c:type="GstCaps*"/>
5211         </return-value>
5212         <parameters>
5213           <parameter name="media_type" transfer-ownership="none">
5214             <type name="utf8" c:type="char*"/>
5215           </parameter>
5216           <parameter name="fieldname" transfer-ownership="none">
5217             <type name="utf8" c:type="char*"/>
5218           </parameter>
5219           <parameter transfer-ownership="none">
5220             <varargs>
5221             </varargs>
5222           </parameter>
5223         </parameters>
5224       </constructor>
5225       <constructor name="new_full"
5226                    c:identifier="gst_caps_new_full"
5227                    introspectable="0">
5228         <return-value transfer-ownership="full">
5229           <type name="Caps" c:type="GstCaps*"/>
5230         </return-value>
5231         <parameters>
5232           <parameter name="struct1" transfer-ownership="none">
5233             <type name="Structure" c:type="GstStructure*"/>
5234           </parameter>
5235           <parameter transfer-ownership="none">
5236             <varargs>
5237             </varargs>
5238           </parameter>
5239         </parameters>
5240       </constructor>
5241       <method name="ref" c:identifier="gst_caps_ref">
5242         <return-value transfer-ownership="full">
5243           <type name="Caps" c:type="GstCaps*"/>
5244         </return-value>
5245       </method>
5246       <method name="copy" c:identifier="gst_caps_copy">
5247         <return-value transfer-ownership="full">
5248           <type name="Caps" c:type="GstCaps*"/>
5249         </return-value>
5250       </method>
5251       <method name="make_writable" c:identifier="gst_caps_make_writable">
5252         <return-value transfer-ownership="full">
5253           <type name="Caps" c:type="GstCaps*"/>
5254         </return-value>
5255       </method>
5256       <method name="unref" c:identifier="gst_caps_unref">
5257         <return-value transfer-ownership="none">
5258           <type name="none" c:type="void"/>
5259         </return-value>
5260       </method>
5261       <method name="append" c:identifier="gst_caps_append">
5262         <return-value transfer-ownership="none">
5263           <type name="none" c:type="void"/>
5264         </return-value>
5265         <parameters>
5266           <parameter name="caps2" transfer-ownership="none">
5267             <type name="Caps" c:type="GstCaps*"/>
5268           </parameter>
5269         </parameters>
5270       </method>
5271       <method name="merge" c:identifier="gst_caps_merge">
5272         <return-value transfer-ownership="none">
5273           <type name="none" c:type="void"/>
5274         </return-value>
5275         <parameters>
5276           <parameter name="caps2" transfer-ownership="none">
5277             <type name="Caps" c:type="GstCaps*"/>
5278           </parameter>
5279         </parameters>
5280       </method>
5281       <method name="append_structure" c:identifier="gst_caps_append_structure">
5282         <return-value transfer-ownership="none">
5283           <type name="none" c:type="void"/>
5284         </return-value>
5285         <parameters>
5286           <parameter name="structure" transfer-ownership="none">
5287             <type name="Structure" c:type="GstStructure*"/>
5288           </parameter>
5289         </parameters>
5290       </method>
5291       <method name="remove_structure" c:identifier="gst_caps_remove_structure">
5292         <return-value transfer-ownership="none">
5293           <type name="none" c:type="void"/>
5294         </return-value>
5295         <parameters>
5296           <parameter name="idx" transfer-ownership="none">
5297             <type name="uint" c:type="guint"/>
5298           </parameter>
5299         </parameters>
5300       </method>
5301       <method name="merge_structure" c:identifier="gst_caps_merge_structure">
5302         <return-value transfer-ownership="none">
5303           <type name="none" c:type="void"/>
5304         </return-value>
5305         <parameters>
5306           <parameter name="structure" transfer-ownership="none">
5307             <type name="Structure" c:type="GstStructure*"/>
5308           </parameter>
5309         </parameters>
5310       </method>
5311       <method name="get_size" c:identifier="gst_caps_get_size">
5312         <return-value transfer-ownership="none">
5313           <type name="uint" c:type="guint"/>
5314         </return-value>
5315       </method>
5316       <method name="get_structure" c:identifier="gst_caps_get_structure">
5317         <return-value transfer-ownership="full">
5318           <type name="Structure" c:type="GstStructure*"/>
5319         </return-value>
5320         <parameters>
5321           <parameter name="index" transfer-ownership="none">
5322             <type name="uint" c:type="guint"/>
5323           </parameter>
5324         </parameters>
5325       </method>
5326       <method name="steal_structure" c:identifier="gst_caps_steal_structure">
5327         <return-value transfer-ownership="full">
5328           <type name="Structure" c:type="GstStructure*"/>
5329         </return-value>
5330         <parameters>
5331           <parameter name="index" transfer-ownership="none">
5332             <type name="uint" c:type="guint"/>
5333           </parameter>
5334         </parameters>
5335       </method>
5336       <method name="copy_nth" c:identifier="gst_caps_copy_nth">
5337         <return-value transfer-ownership="full">
5338           <type name="Caps" c:type="GstCaps*"/>
5339         </return-value>
5340         <parameters>
5341           <parameter name="nth" transfer-ownership="none">
5342             <type name="uint" c:type="guint"/>
5343           </parameter>
5344         </parameters>
5345       </method>
5346       <method name="truncate" c:identifier="gst_caps_truncate">
5347         <return-value transfer-ownership="none">
5348           <type name="none" c:type="void"/>
5349         </return-value>
5350       </method>
5351       <method name="set_value" c:identifier="gst_caps_set_value">
5352         <return-value transfer-ownership="none">
5353           <type name="none" c:type="void"/>
5354         </return-value>
5355         <parameters>
5356           <parameter name="field" transfer-ownership="none">
5357             <type name="utf8" c:type="char*"/>
5358           </parameter>
5359           <parameter name="value" transfer-ownership="none">
5360             <type name="GObject.Value" c:type="GValue*"/>
5361           </parameter>
5362         </parameters>
5363       </method>
5364       <method name="set_simple"
5365               c:identifier="gst_caps_set_simple"
5366               introspectable="0">
5367         <return-value transfer-ownership="none">
5368           <type name="none" c:type="void"/>
5369         </return-value>
5370         <parameters>
5371           <parameter name="field" transfer-ownership="none">
5372             <type name="utf8" c:type="char*"/>
5373           </parameter>
5374           <parameter transfer-ownership="none">
5375             <varargs>
5376             </varargs>
5377           </parameter>
5378         </parameters>
5379       </method>
5380       <method name="is_any" c:identifier="gst_caps_is_any">
5381         <return-value transfer-ownership="none">
5382           <type name="boolean" c:type="gboolean"/>
5383         </return-value>
5384       </method>
5385       <method name="is_empty" c:identifier="gst_caps_is_empty">
5386         <return-value transfer-ownership="none">
5387           <type name="boolean" c:type="gboolean"/>
5388         </return-value>
5389       </method>
5390       <method name="is_fixed" c:identifier="gst_caps_is_fixed">
5391         <return-value transfer-ownership="none">
5392           <type name="boolean" c:type="gboolean"/>
5393         </return-value>
5394       </method>
5395       <method name="is_always_compatible"
5396               c:identifier="gst_caps_is_always_compatible">
5397         <return-value transfer-ownership="none">
5398           <type name="boolean" c:type="gboolean"/>
5399         </return-value>
5400         <parameters>
5401           <parameter name="caps2" transfer-ownership="none">
5402             <type name="Caps" c:type="GstCaps*"/>
5403           </parameter>
5404         </parameters>
5405       </method>
5406       <method name="is_subset" c:identifier="gst_caps_is_subset">
5407         <return-value transfer-ownership="none">
5408           <type name="boolean" c:type="gboolean"/>
5409         </return-value>
5410         <parameters>
5411           <parameter name="superset" transfer-ownership="none">
5412             <type name="Caps" c:type="GstCaps*"/>
5413           </parameter>
5414         </parameters>
5415       </method>
5416       <method name="is_equal" c:identifier="gst_caps_is_equal">
5417         <return-value transfer-ownership="none">
5418           <type name="boolean" c:type="gboolean"/>
5419         </return-value>
5420         <parameters>
5421           <parameter name="caps2" transfer-ownership="none">
5422             <type name="Caps" c:type="GstCaps*"/>
5423           </parameter>
5424         </parameters>
5425       </method>
5426       <method name="is_equal_fixed" c:identifier="gst_caps_is_equal_fixed">
5427         <return-value transfer-ownership="none">
5428           <type name="boolean" c:type="gboolean"/>
5429         </return-value>
5430         <parameters>
5431           <parameter name="caps2" transfer-ownership="none">
5432             <type name="Caps" c:type="GstCaps*"/>
5433           </parameter>
5434         </parameters>
5435       </method>
5436       <method name="can_intersect" c:identifier="gst_caps_can_intersect">
5437         <return-value transfer-ownership="none">
5438           <type name="boolean" c:type="gboolean"/>
5439         </return-value>
5440         <parameters>
5441           <parameter name="caps2" transfer-ownership="none">
5442             <type name="Caps" c:type="GstCaps*"/>
5443           </parameter>
5444         </parameters>
5445       </method>
5446       <method name="intersect" c:identifier="gst_caps_intersect">
5447         <return-value transfer-ownership="full">
5448           <type name="Caps" c:type="GstCaps*"/>
5449         </return-value>
5450         <parameters>
5451           <parameter name="caps2" transfer-ownership="none">
5452             <type name="Caps" c:type="GstCaps*"/>
5453           </parameter>
5454         </parameters>
5455       </method>
5456       <method name="subtract" c:identifier="gst_caps_subtract">
5457         <return-value transfer-ownership="full">
5458           <type name="Caps" c:type="GstCaps*"/>
5459         </return-value>
5460         <parameters>
5461           <parameter name="subtrahend" transfer-ownership="none">
5462             <type name="Caps" c:type="GstCaps*"/>
5463           </parameter>
5464         </parameters>
5465       </method>
5466       <method name="union" c:identifier="gst_caps_union">
5467         <return-value transfer-ownership="full">
5468           <type name="Caps" c:type="GstCaps*"/>
5469         </return-value>
5470         <parameters>
5471           <parameter name="caps2" transfer-ownership="none">
5472             <type name="Caps" c:type="GstCaps*"/>
5473           </parameter>
5474         </parameters>
5475       </method>
5476       <method name="normalize" c:identifier="gst_caps_normalize">
5477         <return-value transfer-ownership="full">
5478           <type name="Caps" c:type="GstCaps*"/>
5479         </return-value>
5480       </method>
5481       <method name="do_simplify" c:identifier="gst_caps_do_simplify">
5482         <return-value transfer-ownership="none">
5483           <type name="boolean" c:type="gboolean"/>
5484         </return-value>
5485       </method>
5486       <method name="save_thyself" c:identifier="gst_caps_save_thyself">
5487         <return-value transfer-ownership="full">
5488           <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
5489         </return-value>
5490         <parameters>
5491           <parameter name="parent" transfer-ownership="none">
5492             <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
5493           </parameter>
5494         </parameters>
5495       </method>
5496       <method name="replace" c:identifier="gst_caps_replace">
5497         <return-value transfer-ownership="none">
5498           <type name="none" c:type="void"/>
5499         </return-value>
5500         <parameters>
5501           <parameter name="newcaps" transfer-ownership="none">
5502             <type name="Caps" c:type="GstCaps*"/>
5503           </parameter>
5504         </parameters>
5505       </method>
5506       <method name="to_string" c:identifier="gst_caps_to_string">
5507         <return-value transfer-ownership="full">
5508           <type name="utf8" c:type="gchar*"/>
5509         </return-value>
5510       </method>
5511     </record>
5512     <bitfield name="CapsFlags"
5513               glib:type-name="GstCapsFlags"
5514               glib:get-type="gst_caps_flags_get_type"
5515               c:type="GstCapsFlags">
5516       <doc xml:whitespace="preserve">Extra flags for a caps.</doc>
5517       <member name="any"
5518               value="1"
5519               c:identifier="GST_CAPS_FLAGS_ANY"
5520               glib:nick="any"/>
5521     </bitfield>
5522     <interface name="ChildProxy"
5523                c:type="GstChildProxy"
5524                glib:type-name="GstChildProxy"
5525                glib:get-type="gst_child_proxy_get_type"
5526                glib:type-struct="ChildProxyInterface">
5527       <doc xml:whitespace="preserve">Opaque #GstChildProxy data structure.</doc>
5528       <prerequisite name="Object"/>
5529       <virtual-method name="get_child_by_index" invoker="get_child_by_index">
5530         <return-value transfer-ownership="full">
5531           <type name="Object" c:type="GstObject*"/>
5532         </return-value>
5533         <parameters>
5534           <parameter name="index" transfer-ownership="none">
5535             <type name="uint" c:type="guint"/>
5536           </parameter>
5537         </parameters>
5538       </virtual-method>
5539       <virtual-method name="get_children_count" invoker="get_children_count">
5540         <return-value transfer-ownership="none">
5541           <type name="uint" c:type="guint"/>
5542         </return-value>
5543       </virtual-method>
5544       <method name="get_child_by_name"
5545               c:identifier="gst_child_proxy_get_child_by_name">
5546         <return-value transfer-ownership="full">
5547           <type name="Object" c:type="GstObject*"/>
5548         </return-value>
5549         <parameters>
5550           <parameter name="name" transfer-ownership="none">
5551             <type name="utf8" c:type="gchar*"/>
5552           </parameter>
5553         </parameters>
5554       </method>
5555       <method name="get_child_by_index"
5556               c:identifier="gst_child_proxy_get_child_by_index">
5557         <return-value transfer-ownership="full">
5558           <type name="Object" c:type="GstObject*"/>
5559         </return-value>
5560         <parameters>
5561           <parameter name="index" transfer-ownership="none">
5562             <type name="uint" c:type="guint"/>
5563           </parameter>
5564         </parameters>
5565       </method>
5566       <method name="get_children_count"
5567               c:identifier="gst_child_proxy_get_children_count">
5568         <return-value transfer-ownership="none">
5569           <type name="uint" c:type="guint"/>
5570         </return-value>
5571       </method>
5572       <glib:signal name="child-added">
5573         <return-value transfer-ownership="full">
5574           <type name="none" c:type="void"/>
5575         </return-value>
5576         <parameters>
5577           <parameter name="object" transfer-ownership="none">
5578             <type name="GObject.Object" c:type="GObject"/>
5579           </parameter>
5580         </parameters>
5581       </glib:signal>
5582       <glib:signal name="child-removed">
5583         <return-value transfer-ownership="full">
5584           <type name="none" c:type="void"/>
5585         </return-value>
5586         <parameters>
5587           <parameter name="object" transfer-ownership="none">
5588             <type name="GObject.Object" c:type="GObject"/>
5589           </parameter>
5590         </parameters>
5591       </glib:signal>
5592     </interface>
5593     <record name="ChildProxyInterface"
5594             c:type="GstChildProxyInterface"
5595             glib:is-gtype-struct-for="ChildProxy">
5596       <doc xml:whitespace="preserve">#GstChildProxy interface.</doc>
5597       <field name="parent">
5598         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
5599       </field>
5600       <field name="get_child_by_index">
5601         <callback name="get_child_by_index" c:type="get_child_by_index">
5602           <return-value transfer-ownership="full">
5603             <type name="Object" c:type="GstObject*"/>
5604           </return-value>
5605           <parameters>
5606             <parameter name="parent" transfer-ownership="none">
5607               <type name="ChildProxy" c:type="GstChildProxy*"/>
5608             </parameter>
5609             <parameter name="index" transfer-ownership="none">
5610               <type name="uint" c:type="guint"/>
5611             </parameter>
5612           </parameters>
5613         </callback>
5614       </field>
5615       <field name="get_children_count">
5616         <callback name="get_children_count" c:type="get_children_count">
5617           <return-value transfer-ownership="none">
5618             <type name="uint" c:type="guint"/>
5619           </return-value>
5620           <parameters>
5621             <parameter name="parent" transfer-ownership="none">
5622               <type name="ChildProxy" c:type="GstChildProxy*"/>
5623             </parameter>
5624           </parameters>
5625         </callback>
5626       </field>
5627       <field name="child_added">
5628         <callback name="child_added" c:type="child_added">
5629           <return-value transfer-ownership="none">
5630             <type name="none" c:type="void"/>
5631           </return-value>
5632           <parameters>
5633             <parameter name="parent" transfer-ownership="none">
5634               <type name="ChildProxy" c:type="GstChildProxy*"/>
5635             </parameter>
5636             <parameter name="child" transfer-ownership="none">
5637               <type name="Object" c:type="GstObject*"/>
5638             </parameter>
5639           </parameters>
5640         </callback>
5641       </field>
5642       <field name="child_removed">
5643         <callback name="child_removed" c:type="child_removed">
5644           <return-value transfer-ownership="none">
5645             <type name="none" c:type="void"/>
5646           </return-value>
5647           <parameters>
5648             <parameter name="parent" transfer-ownership="none">
5649               <type name="ChildProxy" c:type="GstChildProxy*"/>
5650             </parameter>
5651             <parameter name="child" transfer-ownership="none">
5652               <type name="Object" c:type="GstObject*"/>
5653             </parameter>
5654           </parameters>
5655         </callback>
5656       </field>
5657       <field name="_gst_reserved">
5658         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
5659           <type name="any"/>
5660         </array>
5661       </field>
5662     </record>
5663     <class name="Clock"
5664            c:type="GstClock"
5665            parent="Object"
5666            glib:type-name="GstClock"
5667            glib:get-type="gst_clock_get_type"
5668            glib:type-struct="ClockClass">
5669       <doc xml:whitespace="preserve">#GstClock base structure. The values of this structure are
5670 protected for subclasses, use the methods to use the #GstClock.</doc>
5671       <function name="id_ref" c:identifier="gst_clock_id_ref">
5672         <return-value transfer-ownership="full">
5673           <type name="ClockID" c:type="GstClockID"/>
5674         </return-value>
5675         <parameters>
5676           <parameter name="id" transfer-ownership="none">
5677             <type name="ClockID" c:type="GstClockID"/>
5678           </parameter>
5679         </parameters>
5680       </function>
5681       <function name="id_unref" c:identifier="gst_clock_id_unref">
5682         <return-value transfer-ownership="none">
5683           <type name="none" c:type="void"/>
5684         </return-value>
5685         <parameters>
5686           <parameter name="id" transfer-ownership="none">
5687             <type name="ClockID" c:type="GstClockID"/>
5688           </parameter>
5689         </parameters>
5690       </function>
5691       <function name="id_compare_func"
5692                 c:identifier="gst_clock_id_compare_func">
5693         <return-value transfer-ownership="none">
5694           <type name="int" c:type="gint"/>
5695         </return-value>
5696         <parameters>
5697           <parameter name="id1" transfer-ownership="none">
5698             <type name="any" c:type="gconstpointer"/>
5699           </parameter>
5700           <parameter name="id2" transfer-ownership="none">
5701             <type name="any" c:type="gconstpointer"/>
5702           </parameter>
5703         </parameters>
5704       </function>
5705       <function name="id_get_time" c:identifier="gst_clock_id_get_time">
5706         <return-value transfer-ownership="full">
5707           <type name="ClockTime" c:type="GstClockTime"/>
5708         </return-value>
5709         <parameters>
5710           <parameter name="id" transfer-ownership="none">
5711             <type name="ClockID" c:type="GstClockID"/>
5712           </parameter>
5713         </parameters>
5714       </function>
5715       <function name="id_wait" c:identifier="gst_clock_id_wait">
5716         <return-value transfer-ownership="full">
5717           <type name="ClockReturn" c:type="GstClockReturn"/>
5718         </return-value>
5719         <parameters>
5720           <parameter name="id" transfer-ownership="none">
5721             <type name="ClockID" c:type="GstClockID"/>
5722           </parameter>
5723           <parameter name="jitter" transfer-ownership="none">
5724             <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
5725           </parameter>
5726         </parameters>
5727       </function>
5728       <function name="id_wait_async" c:identifier="gst_clock_id_wait_async">
5729         <return-value transfer-ownership="full">
5730           <type name="ClockReturn" c:type="GstClockReturn"/>
5731         </return-value>
5732         <parameters>
5733           <parameter name="id" transfer-ownership="none">
5734             <type name="ClockID" c:type="GstClockID"/>
5735           </parameter>
5736           <parameter name="func"
5737                      transfer-ownership="none"
5738                      scope="call"
5739                      closure="2">
5740             <type name="ClockCallback" c:type="GstClockCallback"/>
5741           </parameter>
5742           <parameter name="user_data" transfer-ownership="none">
5743             <type name="any" c:type="gpointer"/>
5744           </parameter>
5745         </parameters>
5746       </function>
5747       <function name="id_wait_async_full"
5748                 c:identifier="gst_clock_id_wait_async_full">
5749         <return-value transfer-ownership="full">
5750           <type name="ClockReturn" c:type="GstClockReturn"/>
5751         </return-value>
5752         <parameters>
5753           <parameter name="id" transfer-ownership="none">
5754             <type name="ClockID" c:type="GstClockID"/>
5755           </parameter>
5756           <parameter name="func"
5757                      transfer-ownership="none"
5758                      scope="notified"
5759                      closure="2"
5760                      destroy="3">
5761             <type name="ClockCallback" c:type="GstClockCallback"/>
5762           </parameter>
5763           <parameter name="user_data" transfer-ownership="none">
5764             <type name="any" c:type="gpointer"/>
5765           </parameter>
5766           <parameter name="destroy_data"
5767                      transfer-ownership="none"
5768                      scope="call">
5769             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
5770           </parameter>
5771         </parameters>
5772       </function>
5773       <function name="id_unschedule" c:identifier="gst_clock_id_unschedule">
5774         <return-value transfer-ownership="none">
5775           <type name="none" c:type="void"/>
5776         </return-value>
5777         <parameters>
5778           <parameter name="id" transfer-ownership="none">
5779             <type name="ClockID" c:type="GstClockID"/>
5780           </parameter>
5781         </parameters>
5782       </function>
5783       <virtual-method name="change_resolution">
5784         <return-value transfer-ownership="full">
5785           <type name="ClockTime" c:type="GstClockTime"/>
5786         </return-value>
5787         <parameters>
5788           <parameter name="old_resolution" transfer-ownership="none">
5789             <type name="ClockTime" c:type="GstClockTime"/>
5790           </parameter>
5791           <parameter name="new_resolution" transfer-ownership="none">
5792             <type name="ClockTime" c:type="GstClockTime"/>
5793           </parameter>
5794         </parameters>
5795       </virtual-method>
5796       <virtual-method name="get_resolution" invoker="get_resolution">
5797         <return-value transfer-ownership="full">
5798           <type name="ClockTime" c:type="GstClockTime"/>
5799         </return-value>
5800       </virtual-method>
5801       <virtual-method name="get_internal_time" invoker="get_internal_time">
5802         <return-value transfer-ownership="full">
5803           <type name="ClockTime" c:type="GstClockTime"/>
5804         </return-value>
5805       </virtual-method>
5806       <virtual-method name="wait">
5807         <return-value transfer-ownership="full">
5808           <type name="ClockReturn" c:type="GstClockReturn"/>
5809         </return-value>
5810         <parameters>
5811           <parameter name="entry" transfer-ownership="none">
5812             <type name="ClockEntry" c:type="GstClockEntry*"/>
5813           </parameter>
5814         </parameters>
5815       </virtual-method>
5816       <virtual-method name="wait_async">
5817         <return-value transfer-ownership="full">
5818           <type name="ClockReturn" c:type="GstClockReturn"/>
5819         </return-value>
5820         <parameters>
5821           <parameter name="entry" transfer-ownership="none">
5822             <type name="ClockEntry" c:type="GstClockEntry*"/>
5823           </parameter>
5824         </parameters>
5825       </virtual-method>
5826       <virtual-method name="unschedule">
5827         <return-value transfer-ownership="none">
5828           <type name="none" c:type="void"/>
5829         </return-value>
5830         <parameters>
5831           <parameter name="entry" transfer-ownership="none">
5832             <type name="ClockEntry" c:type="GstClockEntry*"/>
5833           </parameter>
5834         </parameters>
5835       </virtual-method>
5836       <virtual-method name="wait_jitter">
5837         <return-value transfer-ownership="full">
5838           <type name="ClockReturn" c:type="GstClockReturn"/>
5839         </return-value>
5840         <parameters>
5841           <parameter name="entry" transfer-ownership="none">
5842             <type name="ClockEntry" c:type="GstClockEntry*"/>
5843           </parameter>
5844           <parameter name="jitter" transfer-ownership="none">
5845             <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
5846           </parameter>
5847         </parameters>
5848       </virtual-method>
5849       <method name="set_resolution" c:identifier="gst_clock_set_resolution">
5850         <return-value transfer-ownership="full">
5851           <type name="ClockTime" c:type="GstClockTime"/>
5852         </return-value>
5853         <parameters>
5854           <parameter name="resolution" transfer-ownership="none">
5855             <type name="ClockTime" c:type="GstClockTime"/>
5856           </parameter>
5857         </parameters>
5858       </method>
5859       <method name="get_resolution" c:identifier="gst_clock_get_resolution">
5860         <return-value transfer-ownership="full">
5861           <type name="ClockTime" c:type="GstClockTime"/>
5862         </return-value>
5863       </method>
5864       <method name="get_time" c:identifier="gst_clock_get_time">
5865         <return-value transfer-ownership="full">
5866           <type name="ClockTime" c:type="GstClockTime"/>
5867         </return-value>
5868       </method>
5869       <method name="set_calibration" c:identifier="gst_clock_set_calibration">
5870         <return-value transfer-ownership="none">
5871           <type name="none" c:type="void"/>
5872         </return-value>
5873         <parameters>
5874           <parameter name="internal" transfer-ownership="none">
5875             <type name="ClockTime" c:type="GstClockTime"/>
5876           </parameter>
5877           <parameter name="external" transfer-ownership="none">
5878             <type name="ClockTime" c:type="GstClockTime"/>
5879           </parameter>
5880           <parameter name="rate_num" transfer-ownership="none">
5881             <type name="ClockTime" c:type="GstClockTime"/>
5882           </parameter>
5883           <parameter name="rate_denom" transfer-ownership="none">
5884             <type name="ClockTime" c:type="GstClockTime"/>
5885           </parameter>
5886         </parameters>
5887       </method>
5888       <method name="get_calibration" c:identifier="gst_clock_get_calibration">
5889         <return-value transfer-ownership="none">
5890           <type name="none" c:type="void"/>
5891         </return-value>
5892         <parameters>
5893           <parameter name="internal" transfer-ownership="none">
5894             <type name="ClockTime" c:type="GstClockTime*"/>
5895           </parameter>
5896           <parameter name="external" transfer-ownership="none">
5897             <type name="ClockTime" c:type="GstClockTime*"/>
5898           </parameter>
5899           <parameter name="rate_num" transfer-ownership="none">
5900             <type name="ClockTime" c:type="GstClockTime*"/>
5901           </parameter>
5902           <parameter name="rate_denom" transfer-ownership="none">
5903             <type name="ClockTime" c:type="GstClockTime*"/>
5904           </parameter>
5905         </parameters>
5906       </method>
5907       <method name="set_master" c:identifier="gst_clock_set_master">
5908         <return-value transfer-ownership="none">
5909           <type name="boolean" c:type="gboolean"/>
5910         </return-value>
5911         <parameters>
5912           <parameter name="master" transfer-ownership="none">
5913             <type name="Clock" c:type="GstClock*"/>
5914           </parameter>
5915         </parameters>
5916       </method>
5917       <method name="get_master" c:identifier="gst_clock_get_master">
5918         <return-value transfer-ownership="full">
5919           <type name="Clock" c:type="GstClock*"/>
5920         </return-value>
5921       </method>
5922       <method name="add_observation" c:identifier="gst_clock_add_observation">
5923         <return-value transfer-ownership="none">
5924           <type name="boolean" c:type="gboolean"/>
5925         </return-value>
5926         <parameters>
5927           <parameter name="slave" transfer-ownership="none">
5928             <type name="ClockTime" c:type="GstClockTime"/>
5929           </parameter>
5930           <parameter name="master" transfer-ownership="none">
5931             <type name="ClockTime" c:type="GstClockTime"/>
5932           </parameter>
5933           <parameter name="r_squared"
5934                      direction="out"
5935                      caller-allocates="0"
5936                      transfer-ownership="full">
5937             <type name="double" c:type="gdouble*"/>
5938           </parameter>
5939         </parameters>
5940       </method>
5941       <method name="get_internal_time"
5942               c:identifier="gst_clock_get_internal_time">
5943         <return-value transfer-ownership="full">
5944           <type name="ClockTime" c:type="GstClockTime"/>
5945         </return-value>
5946       </method>
5947       <method name="adjust_unlocked" c:identifier="gst_clock_adjust_unlocked">
5948         <return-value transfer-ownership="full">
5949           <type name="ClockTime" c:type="GstClockTime"/>
5950         </return-value>
5951         <parameters>
5952           <parameter name="internal" transfer-ownership="none">
5953             <type name="ClockTime" c:type="GstClockTime"/>
5954           </parameter>
5955         </parameters>
5956       </method>
5957       <method name="unadjust_unlocked"
5958               c:identifier="gst_clock_unadjust_unlocked">
5959         <return-value transfer-ownership="full">
5960           <type name="ClockTime" c:type="GstClockTime"/>
5961         </return-value>
5962         <parameters>
5963           <parameter name="external" transfer-ownership="none">
5964             <type name="ClockTime" c:type="GstClockTime"/>
5965           </parameter>
5966         </parameters>
5967       </method>
5968       <method name="new_single_shot_id"
5969               c:identifier="gst_clock_new_single_shot_id">
5970         <return-value transfer-ownership="full">
5971           <type name="ClockID" c:type="GstClockID"/>
5972         </return-value>
5973         <parameters>
5974           <parameter name="time" transfer-ownership="none">
5975             <type name="ClockTime" c:type="GstClockTime"/>
5976           </parameter>
5977         </parameters>
5978       </method>
5979       <method name="new_periodic_id" c:identifier="gst_clock_new_periodic_id">
5980         <return-value transfer-ownership="full">
5981           <type name="ClockID" c:type="GstClockID"/>
5982         </return-value>
5983         <parameters>
5984           <parameter name="start_time" transfer-ownership="none">
5985             <type name="ClockTime" c:type="GstClockTime"/>
5986           </parameter>
5987           <parameter name="interval" transfer-ownership="none">
5988             <type name="ClockTime" c:type="GstClockTime"/>
5989           </parameter>
5990         </parameters>
5991       </method>
5992       <property name="stats" writable="1" transfer-ownership="none">
5993         <type name="boolean" c:type="gboolean"/>
5994       </property>
5995       <property name="timeout" writable="1" transfer-ownership="none">
5996         <type name="uint64" c:type="guint64"/>
5997       </property>
5998       <property name="window-size" writable="1" transfer-ownership="none">
5999         <type name="int" c:type="gint"/>
6000       </property>
6001       <property name="window-threshold" writable="1" transfer-ownership="none">
6002         <type name="int" c:type="gint"/>
6003       </property>
6004       <field name="object">
6005         <type name="Object" c:type="GstObject"/>
6006       </field>
6007       <field name="slave_lock">
6008         <type name="GLib.Mutex" c:type="GMutex*"/>
6009       </field>
6010       <field name="internal_calibration">
6011         <type name="ClockTime" c:type="GstClockTime"/>
6012       </field>
6013       <field name="external_calibration">
6014         <type name="ClockTime" c:type="GstClockTime"/>
6015       </field>
6016       <field name="rate_numerator">
6017         <type name="ClockTime" c:type="GstClockTime"/>
6018       </field>
6019       <field name="rate_denominator">
6020         <type name="ClockTime" c:type="GstClockTime"/>
6021       </field>
6022       <field name="last_time">
6023         <type name="ClockTime" c:type="GstClockTime"/>
6024       </field>
6025       <field name="entries">
6026         <type name="GLib.List" c:type="GList*">
6027           <type name="any" c:type="gpointer"/>
6028         </type>
6029       </field>
6030       <field name="entries_changed">
6031         <type name="GLib.Cond" c:type="GCond*"/>
6032       </field>
6033       <field name="resolution">
6034         <type name="ClockTime" c:type="GstClockTime"/>
6035       </field>
6036       <field name="stats">
6037         <type name="boolean" c:type="gboolean"/>
6038       </field>
6039       <field name="master">
6040         <type name="Clock" c:type="GstClock*"/>
6041       </field>
6042       <field name="filling">
6043         <type name="boolean" c:type="gboolean"/>
6044       </field>
6045       <field name="window_size">
6046         <type name="int" c:type="gint"/>
6047       </field>
6048       <field name="window_threshold">
6049         <type name="int" c:type="gint"/>
6050       </field>
6051       <field name="time_index">
6052         <type name="int" c:type="gint"/>
6053       </field>
6054       <field name="timeout">
6055         <type name="ClockTime" c:type="GstClockTime"/>
6056       </field>
6057       <field name="times">
6058         <type name="ClockTime" c:type="GstClockTime*"/>
6059       </field>
6060       <field name="clockid">
6061         <type name="ClockID" c:type="GstClockID"/>
6062       </field>
6063       <union name="ABI" c:type="ABI">
6064         <field name="priv" writable="1">
6065           <type name="ClockPrivate" c:type="GstClockPrivate*"/>
6066         </field>
6067         <field name="_gst_reserved" writable="1">
6068           <array zero-terminated="0" c:type="GstClockTime" fixed-size="4">
6069             <type name="ClockTime"/>
6070           </array>
6071         </field>
6072       </union>
6073     </class>
6074     <callback name="ClockCallback" c:type="GstClockCallback">
6075       <doc xml:whitespace="preserve">The function prototype of the callback.</doc>
6076       <return-value transfer-ownership="none">
6077         <doc xml:whitespace="preserve">%TRUE or %FALSE (currently unused)</doc>
6078         <type name="boolean" c:type="gboolean"/>
6079       </return-value>
6080       <parameters>
6081         <parameter name="clock" transfer-ownership="none">
6082           <doc xml:whitespace="preserve">The clock that triggered the callback</doc>
6083           <type name="Clock" c:type="GstClock*"/>
6084         </parameter>
6085         <parameter name="time" transfer-ownership="none">
6086           <doc xml:whitespace="preserve">The time it was triggered</doc>
6087           <type name="ClockTime" c:type="GstClockTime"/>
6088         </parameter>
6089         <parameter name="id" transfer-ownership="none">
6090           <doc xml:whitespace="preserve">The #GstClockID that expired</doc>
6091           <type name="ClockID" c:type="GstClockID"/>
6092         </parameter>
6093         <parameter name="user_data" transfer-ownership="none" closure="3">
6094           <doc xml:whitespace="preserve">user data passed in the gst_clock_id_wait_async() function</doc>
6095           <type name="any" c:type="gpointer"/>
6096         </parameter>
6097       </parameters>
6098     </callback>
6099     <record name="ClockClass"
6100             c:type="GstClockClass"
6101             glib:is-gtype-struct-for="Clock">
6102       <doc xml:whitespace="preserve">GStreamer clock class. Override the vmethods to implement the clock
6103 functionality.</doc>
6104       <field name="parent_class">
6105         <type name="ObjectClass" c:type="GstObjectClass"/>
6106       </field>
6107       <field name="change_resolution">
6108         <callback name="change_resolution" c:type="change_resolution">
6109           <return-value transfer-ownership="full">
6110             <type name="ClockTime" c:type="GstClockTime"/>
6111           </return-value>
6112           <parameters>
6113             <parameter name="clock" transfer-ownership="none">
6114               <type name="Clock" c:type="GstClock*"/>
6115             </parameter>
6116             <parameter name="old_resolution" transfer-ownership="none">
6117               <type name="ClockTime" c:type="GstClockTime"/>
6118             </parameter>
6119             <parameter name="new_resolution" transfer-ownership="none">
6120               <type name="ClockTime" c:type="GstClockTime"/>
6121             </parameter>
6122           </parameters>
6123         </callback>
6124       </field>
6125       <field name="get_resolution">
6126         <callback name="get_resolution" c:type="get_resolution">
6127           <return-value transfer-ownership="full">
6128             <type name="ClockTime" c:type="GstClockTime"/>
6129           </return-value>
6130           <parameters>
6131             <parameter name="clock" transfer-ownership="none">
6132               <type name="Clock" c:type="GstClock*"/>
6133             </parameter>
6134           </parameters>
6135         </callback>
6136       </field>
6137       <field name="get_internal_time">
6138         <callback name="get_internal_time" c:type="get_internal_time">
6139           <return-value transfer-ownership="full">
6140             <type name="ClockTime" c:type="GstClockTime"/>
6141           </return-value>
6142           <parameters>
6143             <parameter name="clock" transfer-ownership="none">
6144               <type name="Clock" c:type="GstClock*"/>
6145             </parameter>
6146           </parameters>
6147         </callback>
6148       </field>
6149       <field name="wait">
6150         <callback name="wait" c:type="wait">
6151           <return-value transfer-ownership="full">
6152             <type name="ClockReturn" c:type="GstClockReturn"/>
6153           </return-value>
6154           <parameters>
6155             <parameter name="clock" transfer-ownership="none">
6156               <type name="Clock" c:type="GstClock*"/>
6157             </parameter>
6158             <parameter name="entry" transfer-ownership="none">
6159               <type name="ClockEntry" c:type="GstClockEntry*"/>
6160             </parameter>
6161           </parameters>
6162         </callback>
6163       </field>
6164       <field name="wait_async">
6165         <callback name="wait_async" c:type="wait_async">
6166           <return-value transfer-ownership="full">
6167             <type name="ClockReturn" c:type="GstClockReturn"/>
6168           </return-value>
6169           <parameters>
6170             <parameter name="clock" transfer-ownership="none">
6171               <type name="Clock" c:type="GstClock*"/>
6172             </parameter>
6173             <parameter name="entry" transfer-ownership="none">
6174               <type name="ClockEntry" c:type="GstClockEntry*"/>
6175             </parameter>
6176           </parameters>
6177         </callback>
6178       </field>
6179       <field name="unschedule">
6180         <callback name="unschedule" c:type="unschedule">
6181           <return-value transfer-ownership="none">
6182             <type name="none" c:type="void"/>
6183           </return-value>
6184           <parameters>
6185             <parameter name="clock" transfer-ownership="none">
6186               <type name="Clock" c:type="GstClock*"/>
6187             </parameter>
6188             <parameter name="entry" transfer-ownership="none">
6189               <type name="ClockEntry" c:type="GstClockEntry*"/>
6190             </parameter>
6191           </parameters>
6192         </callback>
6193       </field>
6194       <field name="wait_jitter">
6195         <callback name="wait_jitter" c:type="wait_jitter">
6196           <return-value transfer-ownership="full">
6197             <type name="ClockReturn" c:type="GstClockReturn"/>
6198           </return-value>
6199           <parameters>
6200             <parameter name="clock" transfer-ownership="none">
6201               <type name="Clock" c:type="GstClock*"/>
6202             </parameter>
6203             <parameter name="entry" transfer-ownership="none">
6204               <type name="ClockEntry" c:type="GstClockEntry*"/>
6205             </parameter>
6206             <parameter name="jitter" transfer-ownership="none">
6207               <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
6208             </parameter>
6209           </parameters>
6210         </callback>
6211       </field>
6212       <field name="_gst_reserved">
6213         <array zero-terminated="0" c:type="gpointer" fixed-size="3">
6214           <type name="any"/>
6215         </array>
6216       </field>
6217     </record>
6218     <record name="ClockEntry" c:type="GstClockEntry">
6219       <doc xml:whitespace="preserve">All pending timeouts or periodic notifies are converted into
6220 an entry.
6221 Note that GstClockEntry should be treated as an opaque structure. It must
6222 not be extended or allocated using a custom allocator.</doc>
6223       <field name="refcount" writable="1">
6224         <type name="int" c:type="gint"/>
6225       </field>
6226       <field name="clock" writable="1">
6227         <type name="Clock" c:type="GstClock*"/>
6228       </field>
6229       <field name="type" writable="1">
6230         <type name="ClockEntryType" c:type="GstClockEntryType"/>
6231       </field>
6232       <field name="time" writable="1">
6233         <type name="ClockTime" c:type="GstClockTime"/>
6234       </field>
6235       <field name="interval" writable="1">
6236         <type name="ClockTime" c:type="GstClockTime"/>
6237       </field>
6238       <field name="status" writable="1">
6239         <type name="ClockReturn" c:type="GstClockReturn"/>
6240       </field>
6241       <field name="func" writable="1">
6242         <type name="ClockCallback" c:type="GstClockCallback"/>
6243       </field>
6244       <field name="user_data" writable="1">
6245         <type name="any" c:type="gpointer"/>
6246       </field>
6247       <field name="destroy_data" writable="1">
6248         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
6249       </field>
6250     </record>
6251     <enumeration name="ClockEntryType"
6252                  glib:type-name="GstClockEntryType"
6253                  glib:get-type="gst_clock_entry_type_get_type"
6254                  c:type="GstClockEntryType">
6255       <doc xml:whitespace="preserve">The type of the clock entry</doc>
6256       <member name="single"
6257               value="0"
6258               c:identifier="GST_CLOCK_ENTRY_SINGLE"
6259               glib:nick="single"/>
6260       <member name="periodic"
6261               value="1"
6262               c:identifier="GST_CLOCK_ENTRY_PERIODIC"
6263               glib:nick="periodic"/>
6264     </enumeration>
6265     <bitfield name="ClockFlags"
6266               glib:type-name="GstClockFlags"
6267               glib:get-type="gst_clock_flags_get_type"
6268               c:type="GstClockFlags">
6269       <doc xml:whitespace="preserve">The capabilities of this clock</doc>
6270       <member name="can_do_single_sync"
6271               value="16"
6272               c:identifier="GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC"
6273               glib:nick="can-do-single-sync"/>
6274       <member name="can_do_single_async"
6275               value="32"
6276               c:identifier="GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC"
6277               glib:nick="can-do-single-async"/>
6278       <member name="can_do_periodic_sync"
6279               value="64"
6280               c:identifier="GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC"
6281               glib:nick="can-do-periodic-sync"/>
6282       <member name="can_do_periodic_async"
6283               value="128"
6284               c:identifier="GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC"
6285               glib:nick="can-do-periodic-async"/>
6286       <member name="can_set_resolution"
6287               value="256"
6288               c:identifier="GST_CLOCK_FLAG_CAN_SET_RESOLUTION"
6289               glib:nick="can-set-resolution"/>
6290       <member name="can_set_master"
6291               value="512"
6292               c:identifier="GST_CLOCK_FLAG_CAN_SET_MASTER"
6293               glib:nick="can-set-master"/>
6294       <member name="last"
6295               value="4096"
6296               c:identifier="GST_CLOCK_FLAG_LAST"
6297               glib:nick="last"/>
6298     </bitfield>
6299     <record name="ClockPrivate" c:type="GstClockPrivate">
6300     </record>
6301     <enumeration name="ClockReturn"
6302                  glib:type-name="GstClockReturn"
6303                  glib:get-type="gst_clock_return_get_type"
6304                  c:type="GstClockReturn">
6305       <doc xml:whitespace="preserve">The return value of a clock operation.</doc>
6306       <member name="ok" value="0" c:identifier="GST_CLOCK_OK" glib:nick="ok"/>
6307       <member name="early"
6308               value="1"
6309               c:identifier="GST_CLOCK_EARLY"
6310               glib:nick="early"/>
6311       <member name="unscheduled"
6312               value="2"
6313               c:identifier="GST_CLOCK_UNSCHEDULED"
6314               glib:nick="unscheduled"/>
6315       <member name="busy"
6316               value="3"
6317               c:identifier="GST_CLOCK_BUSY"
6318               glib:nick="busy"/>
6319       <member name="badtime"
6320               value="4"
6321               c:identifier="GST_CLOCK_BADTIME"
6322               glib:nick="badtime"/>
6323       <member name="error"
6324               value="5"
6325               c:identifier="GST_CLOCK_ERROR"
6326               glib:nick="error"/>
6327       <member name="unsupported"
6328               value="6"
6329               c:identifier="GST_CLOCK_UNSUPPORTED"
6330               glib:nick="unsupported"/>
6331     </enumeration>
6332     <enumeration name="ClockType"
6333                  glib:type-name="GstClockType"
6334                  glib:get-type="gst_clock_type_get_type"
6335                  c:type="GstClockType">
6336       <doc xml:whitespace="preserve">The different kind of clocks.</doc>
6337       <member name="realtime"
6338               value="0"
6339               c:identifier="GST_CLOCK_TYPE_REALTIME"
6340               glib:nick="realtime"/>
6341       <member name="monotonic"
6342               value="1"
6343               c:identifier="GST_CLOCK_TYPE_MONOTONIC"
6344               glib:nick="monotonic"/>
6345     </enumeration>
6346     <record name="CollectData" c:type="GstCollectData">
6347       <doc xml:whitespace="preserve">Structure used by the collect_pads.</doc>
6348       <field name="collect" writable="1">
6349         <type name="CollectPads" c:type="GstCollectPads*"/>
6350       </field>
6351       <field name="pad" writable="1">
6352         <type name="Pad" c:type="GstPad*"/>
6353       </field>
6354       <field name="buffer" writable="1">
6355         <type name="Buffer" c:type="GstBuffer*"/>
6356       </field>
6357       <field name="pos" writable="1">
6358         <type name="uint" c:type="guint"/>
6359       </field>
6360       <field name="segment" writable="1">
6361         <type name="Segment" c:type="GstSegment"/>
6362       </field>
6363       <union name="abidata" c:type="abidata">
6364         <record name="ABI" c:type="ABI">
6365           <field name="flushing" writable="1">
6366             <type name="boolean" c:type="gboolean"/>
6367           </field>
6368           <field name="new_segment" writable="1">
6369             <type name="boolean" c:type="gboolean"/>
6370           </field>
6371           <field name="eos" writable="1">
6372             <type name="boolean" c:type="gboolean"/>
6373           </field>
6374           <field name="refcount" writable="1">
6375             <type name="int" c:type="gint"/>
6376           </field>
6377         </record>
6378         <field name="_gst_reserved" writable="1">
6379           <array zero-terminated="0" c:type="gpointer" fixed-size="4">
6380             <type name="any"/>
6381           </array>
6382         </field>
6383       </union>
6384     </record>
6385     <callback name="CollectDataDestroyNotify"
6386               c:type="GstCollectDataDestroyNotify"
6387               version="0.10.12">
6388       <doc xml:whitespace="preserve">A function that will be called when the #GstCollectData will be freed.
6389 It is passed the pointer to the structure and should free any custom
6390 memory and resources allocated for it.</doc>
6391       <return-value transfer-ownership="none">
6392         <type name="none" c:type="void"/>
6393       </return-value>
6394       <parameters>
6395         <parameter name="data" transfer-ownership="none">
6396           <doc xml:whitespace="preserve">the #GstCollectData that will be freed</doc>
6397           <type name="CollectData" c:type="GstCollectData*"/>
6398         </parameter>
6399       </parameters>
6400     </callback>
6401     <class name="CollectPads"
6402            c:type="GstCollectPads"
6403            parent="Object"
6404            glib:type-name="GstCollectPads"
6405            glib:get-type="gst_collect_pads_get_type"
6406            glib:type-struct="CollectPadsClass">
6407       <doc xml:whitespace="preserve">Collectpads object.
6408 Note that @data doesn't contain the complete #GstCollectData list
6409 at all times and should not be used for iterating them.</doc>
6410       <constructor name="new" c:identifier="gst_collect_pads_new">
6411         <return-value transfer-ownership="full">
6412           <type name="CollectPads" c:type="GstCollectPads*"/>
6413         </return-value>
6414       </constructor>
6415       <method name="set_function" c:identifier="gst_collect_pads_set_function">
6416         <return-value transfer-ownership="none">
6417           <type name="none" c:type="void"/>
6418         </return-value>
6419         <parameters>
6420           <parameter name="func"
6421                      transfer-ownership="none"
6422                      scope="call"
6423                      closure="2">
6424             <type name="CollectPadsFunction" c:type="GstCollectPadsFunction"/>
6425           </parameter>
6426           <parameter name="user_data" transfer-ownership="none">
6427             <type name="any" c:type="gpointer"/>
6428           </parameter>
6429         </parameters>
6430       </method>
6431       <method name="set_clip_function"
6432               c:identifier="gst_collect_pads_set_clip_function">
6433         <return-value transfer-ownership="none">
6434           <type name="none" c:type="void"/>
6435         </return-value>
6436         <parameters>
6437           <parameter name="clipfunc"
6438                      transfer-ownership="none"
6439                      scope="call"
6440                      closure="2">
6441             <type name="CollectPadsClipFunction"
6442                   c:type="GstCollectPadsClipFunction"/>
6443           </parameter>
6444           <parameter name="user_data" transfer-ownership="none">
6445             <type name="any" c:type="gpointer"/>
6446           </parameter>
6447         </parameters>
6448       </method>
6449       <method name="add_pad" c:identifier="gst_collect_pads_add_pad">
6450         <return-value transfer-ownership="full">
6451           <type name="CollectData" c:type="GstCollectData*"/>
6452         </return-value>
6453         <parameters>
6454           <parameter name="pad" transfer-ownership="none">
6455             <type name="Pad" c:type="GstPad*"/>
6456           </parameter>
6457           <parameter name="size" transfer-ownership="none">
6458             <type name="uint" c:type="guint"/>
6459           </parameter>
6460         </parameters>
6461       </method>
6462       <method name="add_pad_full" c:identifier="gst_collect_pads_add_pad_full">
6463         <return-value transfer-ownership="full">
6464           <type name="CollectData" c:type="GstCollectData*"/>
6465         </return-value>
6466         <parameters>
6467           <parameter name="pad" transfer-ownership="none">
6468             <type name="Pad" c:type="GstPad*"/>
6469           </parameter>
6470           <parameter name="size" transfer-ownership="none">
6471             <type name="uint" c:type="guint"/>
6472           </parameter>
6473           <parameter name="destroy_notify"
6474                      transfer-ownership="none"
6475                      scope="call">
6476             <type name="CollectDataDestroyNotify"
6477                   c:type="GstCollectDataDestroyNotify"/>
6478           </parameter>
6479         </parameters>
6480       </method>
6481       <method name="remove_pad" c:identifier="gst_collect_pads_remove_pad">
6482         <return-value transfer-ownership="none">
6483           <type name="boolean" c:type="gboolean"/>
6484         </return-value>
6485         <parameters>
6486           <parameter name="pad" transfer-ownership="none">
6487             <type name="Pad" c:type="GstPad*"/>
6488           </parameter>
6489         </parameters>
6490       </method>
6491       <method name="is_active" c:identifier="gst_collect_pads_is_active">
6492         <return-value transfer-ownership="none">
6493           <type name="boolean" c:type="gboolean"/>
6494         </return-value>
6495         <parameters>
6496           <parameter name="pad" transfer-ownership="none">
6497             <type name="Pad" c:type="GstPad*"/>
6498           </parameter>
6499         </parameters>
6500       </method>
6501       <method name="collect" c:identifier="gst_collect_pads_collect">
6502         <return-value transfer-ownership="full">
6503           <type name="FlowReturn" c:type="GstFlowReturn"/>
6504         </return-value>
6505       </method>
6506       <method name="collect_range"
6507               c:identifier="gst_collect_pads_collect_range">
6508         <return-value transfer-ownership="full">
6509           <type name="FlowReturn" c:type="GstFlowReturn"/>
6510         </return-value>
6511         <parameters>
6512           <parameter name="offset" transfer-ownership="none">
6513             <type name="uint64" c:type="guint64"/>
6514           </parameter>
6515           <parameter name="length" transfer-ownership="none">
6516             <type name="uint" c:type="guint"/>
6517           </parameter>
6518         </parameters>
6519       </method>
6520       <method name="start" c:identifier="gst_collect_pads_start">
6521         <return-value transfer-ownership="none">
6522           <type name="none" c:type="void"/>
6523         </return-value>
6524       </method>
6525       <method name="stop" c:identifier="gst_collect_pads_stop">
6526         <return-value transfer-ownership="none">
6527           <type name="none" c:type="void"/>
6528         </return-value>
6529       </method>
6530       <method name="set_flushing" c:identifier="gst_collect_pads_set_flushing">
6531         <return-value transfer-ownership="none">
6532           <type name="none" c:type="void"/>
6533         </return-value>
6534         <parameters>
6535           <parameter name="flushing" transfer-ownership="none">
6536             <type name="boolean" c:type="gboolean"/>
6537           </parameter>
6538         </parameters>
6539       </method>
6540       <method name="peek" c:identifier="gst_collect_pads_peek">
6541         <return-value transfer-ownership="full">
6542           <type name="Buffer" c:type="GstBuffer*"/>
6543         </return-value>
6544         <parameters>
6545           <parameter name="data" transfer-ownership="none">
6546             <type name="CollectData" c:type="GstCollectData*"/>
6547           </parameter>
6548         </parameters>
6549       </method>
6550       <method name="pop" c:identifier="gst_collect_pads_pop">
6551         <return-value transfer-ownership="full">
6552           <type name="Buffer" c:type="GstBuffer*"/>
6553         </return-value>
6554         <parameters>
6555           <parameter name="data" transfer-ownership="none">
6556             <type name="CollectData" c:type="GstCollectData*"/>
6557           </parameter>
6558         </parameters>
6559       </method>
6560       <method name="available" c:identifier="gst_collect_pads_available">
6561         <return-value transfer-ownership="none">
6562           <type name="uint" c:type="guint"/>
6563         </return-value>
6564       </method>
6565       <method name="read" c:identifier="gst_collect_pads_read">
6566         <return-value transfer-ownership="none">
6567           <type name="uint" c:type="guint"/>
6568         </return-value>
6569         <parameters>
6570           <parameter name="data" transfer-ownership="none">
6571             <type name="CollectData" c:type="GstCollectData*"/>
6572           </parameter>
6573           <parameter name="bytes"
6574                      direction="out"
6575                      caller-allocates="0"
6576                      transfer-ownership="full">
6577             <type name="uint8" c:type="guint8**"/>
6578           </parameter>
6579           <parameter name="size" transfer-ownership="none">
6580             <type name="uint" c:type="guint"/>
6581           </parameter>
6582         </parameters>
6583       </method>
6584       <method name="read_buffer" c:identifier="gst_collect_pads_read_buffer">
6585         <return-value transfer-ownership="full">
6586           <type name="Buffer" c:type="GstBuffer*"/>
6587         </return-value>
6588         <parameters>
6589           <parameter name="data" transfer-ownership="none">
6590             <type name="CollectData" c:type="GstCollectData*"/>
6591           </parameter>
6592           <parameter name="size" transfer-ownership="none">
6593             <type name="uint" c:type="guint"/>
6594           </parameter>
6595         </parameters>
6596       </method>
6597       <method name="take_buffer" c:identifier="gst_collect_pads_take_buffer">
6598         <return-value transfer-ownership="full">
6599           <type name="Buffer" c:type="GstBuffer*"/>
6600         </return-value>
6601         <parameters>
6602           <parameter name="data" transfer-ownership="none">
6603             <type name="CollectData" c:type="GstCollectData*"/>
6604           </parameter>
6605           <parameter name="size" transfer-ownership="none">
6606             <type name="uint" c:type="guint"/>
6607           </parameter>
6608         </parameters>
6609       </method>
6610       <method name="flush" c:identifier="gst_collect_pads_flush">
6611         <return-value transfer-ownership="none">
6612           <type name="uint" c:type="guint"/>
6613         </return-value>
6614         <parameters>
6615           <parameter name="data" transfer-ownership="none">
6616             <type name="CollectData" c:type="GstCollectData*"/>
6617           </parameter>
6618           <parameter name="size" transfer-ownership="none">
6619             <type name="uint" c:type="guint"/>
6620           </parameter>
6621         </parameters>
6622       </method>
6623       <field name="object">
6624         <type name="Object" c:type="GstObject"/>
6625       </field>
6626       <field name="data">
6627         <type name="GLib.SList" c:type="GSList*">
6628           <type name="any" c:type="gpointer"/>
6629         </type>
6630       </field>
6631       <field name="cookie">
6632         <type name="uint32" c:type="guint32"/>
6633       </field>
6634       <field name="cond">
6635         <type name="GLib.Cond" c:type="GCond*"/>
6636       </field>
6637       <field name="func">
6638         <type name="CollectPadsFunction" c:type="GstCollectPadsFunction"/>
6639       </field>
6640       <field name="user_data">
6641         <type name="any" c:type="gpointer"/>
6642       </field>
6643       <field name="numpads">
6644         <type name="uint" c:type="guint"/>
6645       </field>
6646       <field name="queuedpads">
6647         <type name="uint" c:type="guint"/>
6648       </field>
6649       <field name="eospads">
6650         <type name="uint" c:type="guint"/>
6651       </field>
6652       <field name="started">
6653         <type name="boolean" c:type="gboolean"/>
6654       </field>
6655       <union name="abidata" c:type="abidata">
6656         <record name="ABI" c:type="ABI">
6657           <field name="pad_lock" writable="1">
6658             <type name="GLib.Mutex" c:type="GMutex*"/>
6659           </field>
6660           <field name="pad_list" writable="1">
6661             <type name="GLib.SList" c:type="GSList*">
6662               <type name="any" c:type="gpointer"/>
6663             </type>
6664           </field>
6665           <field name="pad_cookie" writable="1">
6666             <type name="uint32" c:type="guint32"/>
6667           </field>
6668           <field name="priv" writable="1">
6669             <type name="CollectPadsPrivate" c:type="GstCollectPadsPrivate*"/>
6670           </field>
6671         </record>
6672         <field name="_gst_reserved" writable="1">
6673           <array zero-terminated="0" c:type="gpointer" fixed-size="4">
6674             <type name="any"/>
6675           </array>
6676         </field>
6677       </union>
6678     </class>
6679     <record name="CollectPadsClass"
6680             c:type="GstCollectPadsClass"
6681             glib:is-gtype-struct-for="CollectPads">
6682       <field name="parent_class">
6683         <type name="ObjectClass" c:type="GstObjectClass"/>
6684       </field>
6685       <field name="_gst_reserved">
6686         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
6687           <type name="any"/>
6688         </array>
6689       </field>
6690     </record>
6691     <callback name="CollectPadsClipFunction"
6692               c:type="GstCollectPadsClipFunction"
6693               version="0.10.26">
6694       <doc xml:whitespace="preserve">A function that will be called when @buffer is received on the pad managed
6695 by @data in the collecpad object @pads.
6696 The function should use the segment of @data and the negotiated media type on
6697 the pad to perform clipping of @buffer. 
6698 This function takes ownership of @buffer.
6699 the buffer has been clipped completely.</doc>
6700       <return-value transfer-ownership="full">
6701         <doc xml:whitespace="preserve">a #GstBuffer that contains the clipped data of @buffer or NULL when</doc>
6702         <type name="Buffer" c:type="GstBuffer*"/>
6703       </return-value>
6704       <parameters>
6705         <parameter name="pads" transfer-ownership="none">
6706           <doc xml:whitespace="preserve">a #GstCollectPads</doc>
6707           <type name="CollectPads" c:type="GstCollectPads*"/>
6708         </parameter>
6709         <parameter name="data" transfer-ownership="none">
6710           <doc xml:whitespace="preserve">a #GstCollectData</doc>
6711           <type name="CollectData" c:type="GstCollectData*"/>
6712         </parameter>
6713         <parameter name="buffer" transfer-ownership="none">
6714           <doc xml:whitespace="preserve">a #GstBuffer</doc>
6715           <type name="Buffer" c:type="GstBuffer*"/>
6716         </parameter>
6717         <parameter name="user_data" transfer-ownership="none" closure="3">
6718           <doc xml:whitespace="preserve">user data</doc>
6719           <type name="any" c:type="gpointer"/>
6720         </parameter>
6721       </parameters>
6722     </callback>
6723     <callback name="CollectPadsFunction" c:type="GstCollectPadsFunction">
6724       <doc xml:whitespace="preserve">A function that will be called when all pads have received data.</doc>
6725       <return-value transfer-ownership="full">
6726         <doc xml:whitespace="preserve">#GST_FLOW_OK for success</doc>
6727         <type name="FlowReturn" c:type="GstFlowReturn"/>
6728       </return-value>
6729       <parameters>
6730         <parameter name="pads" transfer-ownership="none">
6731           <doc xml:whitespace="preserve">the #GstCollectPads that triggered the callback</doc>
6732           <type name="CollectPads" c:type="GstCollectPads*"/>
6733         </parameter>
6734         <parameter name="user_data" transfer-ownership="none" closure="1">
6735           <doc xml:whitespace="preserve">user data passed to gst_collect_pads_set_function()</doc>
6736           <type name="any" c:type="gpointer"/>
6737         </parameter>
6738       </parameters>
6739     </callback>
6740     <record name="CollectPadsPrivate" c:type="GstCollectPadsPrivate">
6741     </record>
6742     <callback name="CopyFunction" c:type="GstCopyFunction" version="0.10.25">
6743       <doc xml:whitespace="preserve">A function to create a copy of some object or
6744 increase its reference count.</doc>
6745       <return-value transfer-ownership="none">
6746         <doc xml:whitespace="preserve">a copy of the object or the same object with increased reference count</doc>
6747         <type name="any" c:type="gpointer"/>
6748       </return-value>
6749       <parameters>
6750         <parameter name="object" transfer-ownership="none">
6751           <doc xml:whitespace="preserve">The object to copy</doc>
6752           <type name="any" c:type="gpointer"/>
6753         </parameter>
6754       </parameters>
6755     </callback>
6756     <enumeration name="CoreError"
6757                  glib:type-name="GstCoreError"
6758                  glib:get-type="gst_core_error_get_type"
6759                  c:type="GstCoreError"
6760                  glib:error-quark="gst_core_error_quark">
6761       <doc xml:whitespace="preserve">Core errors are errors inside the core GStreamer library.</doc>
6762       <member name="failed"
6763               value="1"
6764               c:identifier="GST_CORE_ERROR_FAILED"
6765               glib:nick="failed"/>
6766       <member name="too_lazy"
6767               value="2"
6768               c:identifier="GST_CORE_ERROR_TOO_LAZY"
6769               glib:nick="too-lazy"/>
6770       <member name="not_implemented"
6771               value="3"
6772               c:identifier="GST_CORE_ERROR_NOT_IMPLEMENTED"
6773               glib:nick="not-implemented"/>
6774       <member name="state_change"
6775               value="4"
6776               c:identifier="GST_CORE_ERROR_STATE_CHANGE"
6777               glib:nick="state-change"/>
6778       <member name="pad"
6779               value="5"
6780               c:identifier="GST_CORE_ERROR_PAD"
6781               glib:nick="pad"/>
6782       <member name="thread"
6783               value="6"
6784               c:identifier="GST_CORE_ERROR_THREAD"
6785               glib:nick="thread"/>
6786       <member name="negotiation"
6787               value="7"
6788               c:identifier="GST_CORE_ERROR_NEGOTIATION"
6789               glib:nick="negotiation"/>
6790       <member name="event"
6791               value="8"
6792               c:identifier="GST_CORE_ERROR_EVENT"
6793               glib:nick="event"/>
6794       <member name="seek"
6795               value="9"
6796               c:identifier="GST_CORE_ERROR_SEEK"
6797               glib:nick="seek"/>
6798       <member name="caps"
6799               value="10"
6800               c:identifier="GST_CORE_ERROR_CAPS"
6801               glib:nick="caps"/>
6802       <member name="tag"
6803               value="11"
6804               c:identifier="GST_CORE_ERROR_TAG"
6805               glib:nick="tag"/>
6806       <member name="missing_plugin"
6807               value="12"
6808               c:identifier="GST_CORE_ERROR_MISSING_PLUGIN"
6809               glib:nick="missing-plugin"/>
6810       <member name="clock"
6811               value="13"
6812               c:identifier="GST_CORE_ERROR_CLOCK"
6813               glib:nick="clock"/>
6814       <member name="disabled"
6815               value="14"
6816               c:identifier="GST_CORE_ERROR_DISABLED"
6817               glib:nick="disabled"/>
6818       <member name="num_errors"
6819               value="15"
6820               c:identifier="GST_CORE_ERROR_NUM_ERRORS"
6821               glib:nick="num-errors"/>
6822     </enumeration>
6823     <constant name="DEBUG_BG_MASK" value="240">
6824       <type name="int"/>
6825     </constant>
6826     <constant name="DEBUG_FG_MASK" value="15">
6827       <type name="int"/>
6828     </constant>
6829     <constant name="DEBUG_FORMAT_MASK" value="65280">
6830       <type name="int"/>
6831     </constant>
6832     <constant name="DISABLE_ALLOC_TRACE" value="1">
6833       <type name="int"/>
6834     </constant>
6835     <constant name="DISABLE_GST_DEBUG" value="1">
6836       <type name="int"/>
6837     </constant>
6838     <constant name="DISABLE_LOADSAVE" value="1">
6839       <type name="int"/>
6840     </constant>
6841     <constant name="DISABLE_LOADSAVE_REGISTRY" value="1">
6842       <type name="int"/>
6843     </constant>
6844     <constant name="DISABLE_PARSE" value="1">
6845       <type name="int"/>
6846     </constant>
6847     <constant name="DISABLE_PLUGIN" value="1">
6848       <type name="int"/>
6849     </constant>
6850     <constant name="DISABLE_REGISTRY" value="1">
6851       <type name="int"/>
6852     </constant>
6853     <constant name="DISABLE_TRACE" value="1">
6854       <type name="int"/>
6855     </constant>
6856     <constant name="DISABLE_XML" value="1">
6857       <type name="int"/>
6858     </constant>
6859     <class name="DataQueue"
6860            c:type="GstDataQueue"
6861            parent="GObject.Object"
6862            glib:type-name="GstDataQueue"
6863            glib:get-type="gst_data_queue_get_type"
6864            glib:type-struct="DataQueueClass">
6865       <doc xml:whitespace="preserve">Opaque #GstDataQueue structure.</doc>
6866       <constructor name="new" c:identifier="gst_data_queue_new">
6867         <return-value transfer-ownership="full">
6868           <type name="DataQueue" c:type="GstDataQueue*"/>
6869         </return-value>
6870         <parameters>
6871           <parameter name="checkfull"
6872                      transfer-ownership="none"
6873                      scope="call"
6874                      closure="1">
6875             <type name="DataQueueCheckFullFunction"
6876                   c:type="GstDataQueueCheckFullFunction"/>
6877           </parameter>
6878           <parameter name="checkdata" transfer-ownership="none">
6879             <type name="any" c:type="gpointer"/>
6880           </parameter>
6881         </parameters>
6882       </constructor>
6883       <constructor name="new_full" c:identifier="gst_data_queue_new_full">
6884         <return-value transfer-ownership="full">
6885           <type name="DataQueue" c:type="GstDataQueue*"/>
6886         </return-value>
6887         <parameters>
6888           <parameter name="checkfull" transfer-ownership="none" scope="call">
6889             <type name="DataQueueCheckFullFunction"
6890                   c:type="GstDataQueueCheckFullFunction"/>
6891           </parameter>
6892           <parameter name="fullcallback"
6893                      transfer-ownership="none"
6894                      scope="call">
6895             <type name="DataQueueFullCallback"
6896                   c:type="GstDataQueueFullCallback"/>
6897           </parameter>
6898           <parameter name="emptycallback"
6899                      transfer-ownership="none"
6900                      scope="call"
6901                      closure="3">
6902             <type name="DataQueueEmptyCallback"
6903                   c:type="GstDataQueueEmptyCallback"/>
6904           </parameter>
6905           <parameter name="checkdata" transfer-ownership="none">
6906             <type name="any" c:type="gpointer"/>
6907           </parameter>
6908         </parameters>
6909       </constructor>
6910       <method name="push" c:identifier="gst_data_queue_push">
6911         <return-value transfer-ownership="none">
6912           <type name="boolean" c:type="gboolean"/>
6913         </return-value>
6914         <parameters>
6915           <parameter name="item" transfer-ownership="none">
6916             <type name="DataQueueItem" c:type="GstDataQueueItem*"/>
6917           </parameter>
6918         </parameters>
6919       </method>
6920       <method name="pop" c:identifier="gst_data_queue_pop">
6921         <return-value transfer-ownership="none">
6922           <type name="boolean" c:type="gboolean"/>
6923         </return-value>
6924         <parameters>
6925           <parameter name="item" transfer-ownership="none">
6926             <type name="DataQueueItem" c:type="GstDataQueueItem**"/>
6927           </parameter>
6928         </parameters>
6929       </method>
6930       <method name="flush" c:identifier="gst_data_queue_flush">
6931         <return-value transfer-ownership="none">
6932           <type name="none" c:type="void"/>
6933         </return-value>
6934       </method>
6935       <method name="set_flushing" c:identifier="gst_data_queue_set_flushing">
6936         <return-value transfer-ownership="none">
6937           <type name="none" c:type="void"/>
6938         </return-value>
6939         <parameters>
6940           <parameter name="flushing" transfer-ownership="none">
6941             <type name="boolean" c:type="gboolean"/>
6942           </parameter>
6943         </parameters>
6944       </method>
6945       <method name="drop_head" c:identifier="gst_data_queue_drop_head">
6946         <return-value transfer-ownership="none">
6947           <type name="boolean" c:type="gboolean"/>
6948         </return-value>
6949         <parameters>
6950           <parameter name="type" transfer-ownership="none">
6951             <type name="GType" c:type="GType"/>
6952           </parameter>
6953         </parameters>
6954       </method>
6955       <method name="is_full" c:identifier="gst_data_queue_is_full">
6956         <return-value transfer-ownership="none">
6957           <type name="boolean" c:type="gboolean"/>
6958         </return-value>
6959       </method>
6960       <method name="is_empty" c:identifier="gst_data_queue_is_empty">
6961         <return-value transfer-ownership="none">
6962           <type name="boolean" c:type="gboolean"/>
6963         </return-value>
6964       </method>
6965       <method name="get_level" c:identifier="gst_data_queue_get_level">
6966         <return-value transfer-ownership="none">
6967           <type name="none" c:type="void"/>
6968         </return-value>
6969         <parameters>
6970           <parameter name="level" transfer-ownership="none">
6971             <type name="DataQueueSize" c:type="GstDataQueueSize*"/>
6972           </parameter>
6973         </parameters>
6974       </method>
6975       <method name="limits_changed"
6976               c:identifier="gst_data_queue_limits_changed">
6977         <return-value transfer-ownership="none">
6978           <type name="none" c:type="void"/>
6979         </return-value>
6980       </method>
6981       <property name="current-level-bytes" transfer-ownership="none">
6982         <type name="uint" c:type="guint"/>
6983       </property>
6984       <property name="current-level-time" transfer-ownership="none">
6985         <type name="uint64" c:type="guint64"/>
6986       </property>
6987       <property name="current-level-visible" transfer-ownership="none">
6988         <type name="uint" c:type="guint"/>
6989       </property>
6990       <field name="object">
6991         <type name="GObject.Object" c:type="GObject"/>
6992       </field>
6993       <field name="queue">
6994         <type name="GLib.Queue" c:type="GQueue*"/>
6995       </field>
6996       <field name="cur_level">
6997         <type name="DataQueueSize" c:type="GstDataQueueSize"/>
6998       </field>
6999       <field name="checkfull">
7000         <type name="DataQueueCheckFullFunction"
7001               c:type="GstDataQueueCheckFullFunction"/>
7002       </field>
7003       <field name="checkdata">
7004         <type name="any" c:type="gpointer*"/>
7005       </field>
7006       <field name="qlock">
7007         <type name="GLib.Mutex" c:type="GMutex*"/>
7008       </field>
7009       <field name="item_add">
7010         <type name="GLib.Cond" c:type="GCond*"/>
7011       </field>
7012       <field name="item_del">
7013         <type name="GLib.Cond" c:type="GCond*"/>
7014       </field>
7015       <field name="flushing">
7016         <type name="boolean" c:type="gboolean"/>
7017       </field>
7018       <field name="fullcallback">
7019         <type name="DataQueueFullCallback" c:type="GstDataQueueFullCallback"/>
7020       </field>
7021       <field name="emptycallback">
7022         <type name="DataQueueEmptyCallback"
7023               c:type="GstDataQueueEmptyCallback"/>
7024       </field>
7025       <field name="_gst_reserved">
7026         <array zero-terminated="0" c:type="gpointer" fixed-size="2">
7027           <type name="any"/>
7028         </array>
7029       </field>
7030       <glib:signal name="empty">
7031         <return-value transfer-ownership="full">
7032           <type name="none" c:type="void"/>
7033         </return-value>
7034       </glib:signal>
7035       <glib:signal name="full">
7036         <return-value transfer-ownership="full">
7037           <type name="none" c:type="void"/>
7038         </return-value>
7039       </glib:signal>
7040     </class>
7041     <callback name="DataQueueCheckFullFunction"
7042               c:type="GstDataQueueCheckFullFunction">
7043       <doc xml:whitespace="preserve">The prototype of the function used to inform the queue that it should be
7044 considered as full.</doc>
7045       <return-value transfer-ownership="none">
7046         <doc xml:whitespace="preserve">#TRUE if the queue should be considered full.</doc>
7047         <type name="boolean" c:type="gboolean"/>
7048       </return-value>
7049       <parameters>
7050         <parameter name="queue" transfer-ownership="none">
7051           <doc xml:whitespace="preserve">a #GstDataQueue.</doc>
7052           <type name="DataQueue" c:type="GstDataQueue*"/>
7053         </parameter>
7054         <parameter name="visible" transfer-ownership="none">
7055           <doc xml:whitespace="preserve">The number of visible items currently in the queue.</doc>
7056           <type name="uint" c:type="guint"/>
7057         </parameter>
7058         <parameter name="bytes" transfer-ownership="none">
7059           <doc xml:whitespace="preserve">The amount of bytes currently in the queue.</doc>
7060           <type name="uint" c:type="guint"/>
7061         </parameter>
7062         <parameter name="time" transfer-ownership="none">
7063           <doc xml:whitespace="preserve">The accumulated duration of the items currently in the queue.</doc>
7064           <type name="uint64" c:type="guint64"/>
7065         </parameter>
7066         <parameter name="checkdata" transfer-ownership="none">
7067           <doc xml:whitespace="preserve">The #gpointer registered when the #GstDataQueue was created.</doc>
7068           <type name="any" c:type="gpointer"/>
7069         </parameter>
7070       </parameters>
7071     </callback>
7072     <record name="DataQueueClass"
7073             c:type="GstDataQueueClass"
7074             glib:is-gtype-struct-for="DataQueue">
7075       <field name="parent_class">
7076         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
7077       </field>
7078       <field name="empty">
7079         <callback name="empty" c:type="empty">
7080           <return-value transfer-ownership="none">
7081             <type name="none" c:type="void"/>
7082           </return-value>
7083           <parameters>
7084             <parameter name="queue" transfer-ownership="none">
7085               <type name="DataQueue" c:type="GstDataQueue*"/>
7086             </parameter>
7087           </parameters>
7088         </callback>
7089       </field>
7090       <field name="full">
7091         <callback name="full" c:type="full">
7092           <return-value transfer-ownership="none">
7093             <type name="none" c:type="void"/>
7094           </return-value>
7095           <parameters>
7096             <parameter name="queue" transfer-ownership="none">
7097               <type name="DataQueue" c:type="GstDataQueue*"/>
7098             </parameter>
7099           </parameters>
7100         </callback>
7101       </field>
7102       <field name="_gst_reserved">
7103         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
7104           <type name="any"/>
7105         </array>
7106       </field>
7107     </record>
7108     <callback name="DataQueueEmptyCallback" c:type="GstDataQueueEmptyCallback">
7109       <return-value transfer-ownership="none">
7110         <type name="none" c:type="void"/>
7111       </return-value>
7112       <parameters>
7113         <parameter name="queue" transfer-ownership="none">
7114           <type name="DataQueue" c:type="GstDataQueue*"/>
7115         </parameter>
7116         <parameter name="checkdata" transfer-ownership="none">
7117           <type name="any" c:type="gpointer"/>
7118         </parameter>
7119       </parameters>
7120     </callback>
7121     <callback name="DataQueueFullCallback" c:type="GstDataQueueFullCallback">
7122       <return-value transfer-ownership="none">
7123         <type name="none" c:type="void"/>
7124       </return-value>
7125       <parameters>
7126         <parameter name="queue" transfer-ownership="none">
7127           <type name="DataQueue" c:type="GstDataQueue*"/>
7128         </parameter>
7129         <parameter name="checkdata" transfer-ownership="none">
7130           <type name="any" c:type="gpointer"/>
7131         </parameter>
7132       </parameters>
7133     </callback>
7134     <record name="DataQueueItem" c:type="GstDataQueueItem">
7135       <doc xml:whitespace="preserve">Structure used by #GstDataQueue. You can supply a different structure, as
7136 long as the top of the structure is identical to this structure.</doc>
7137       <field name="object" writable="1">
7138         <type name="MiniObject" c:type="GstMiniObject*"/>
7139       </field>
7140       <field name="size" writable="1">
7141         <type name="uint" c:type="guint"/>
7142       </field>
7143       <field name="duration" writable="1">
7144         <type name="uint64" c:type="guint64"/>
7145       </field>
7146       <field name="visible" writable="1">
7147         <type name="boolean" c:type="gboolean"/>
7148       </field>
7149       <field name="destroy" writable="1">
7150         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
7151       </field>
7152     </record>
7153     <record name="DataQueueSize" c:type="GstDataQueueSize">
7154       <doc xml:whitespace="preserve">Structure describing the size of a queue.</doc>
7155       <field name="visible" writable="1">
7156         <type name="uint" c:type="guint"/>
7157       </field>
7158       <field name="bytes" writable="1">
7159         <type name="uint" c:type="guint"/>
7160       </field>
7161       <field name="time" writable="1">
7162         <type name="uint64" c:type="guint64"/>
7163       </field>
7164     </record>
7165     <glib:boxed c:type="GstDate"
7166                 glib:name="Date"
7167                 glib:type-name="GstDate"
7168                 glib:get-type="gst_date_get_type">
7169     </glib:boxed>
7170     <record name="DebugCategory" c:type="GstDebugCategory">
7171       <doc xml:whitespace="preserve">This is the struct that describes the categories. Once initialized with
7172 #GST_DEBUG_CATEGORY_INIT, its values can't be changed anymore.</doc>
7173       <field name="threshold" writable="1">
7174         <type name="int" c:type="gint"/>
7175       </field>
7176       <field name="color" writable="1">
7177         <type name="uint" c:type="guint"/>
7178       </field>
7179       <field name="name" writable="1">
7180         <type name="utf8" c:type="gchar*"/>
7181       </field>
7182       <field name="description" writable="1">
7183         <type name="utf8" c:type="gchar*"/>
7184       </field>
7185       <method name="free" c:identifier="gst_debug_category_free">
7186         <return-value transfer-ownership="none">
7187           <type name="none" c:type="void"/>
7188         </return-value>
7189       </method>
7190       <method name="set_threshold"
7191               c:identifier="gst_debug_category_set_threshold">
7192         <return-value transfer-ownership="none">
7193           <type name="none" c:type="void"/>
7194         </return-value>
7195         <parameters>
7196           <parameter name="level" transfer-ownership="none">
7197             <type name="DebugLevel" c:type="GstDebugLevel"/>
7198           </parameter>
7199         </parameters>
7200       </method>
7201       <method name="reset_threshold"
7202               c:identifier="gst_debug_category_reset_threshold">
7203         <return-value transfer-ownership="none">
7204           <type name="none" c:type="void"/>
7205         </return-value>
7206       </method>
7207       <method name="get_threshold"
7208               c:identifier="gst_debug_category_get_threshold">
7209         <return-value transfer-ownership="full">
7210           <type name="DebugLevel" c:type="GstDebugLevel"/>
7211         </return-value>
7212       </method>
7213       <method name="get_name" c:identifier="gst_debug_category_get_name">
7214         <return-value transfer-ownership="none">
7215           <type name="utf8" c:type="gchar*"/>
7216         </return-value>
7217       </method>
7218       <method name="get_color" c:identifier="gst_debug_category_get_color">
7219         <return-value transfer-ownership="none">
7220           <type name="uint" c:type="guint"/>
7221         </return-value>
7222       </method>
7223       <method name="get_description"
7224               c:identifier="gst_debug_category_get_description">
7225         <return-value transfer-ownership="none">
7226           <type name="utf8" c:type="gchar*"/>
7227         </return-value>
7228       </method>
7229     </record>
7230     <enumeration name="DebugColorFlags"
7231                  glib:type-name="GstDebugColorFlags"
7232                  glib:get-type="gst_debug_color_flags_get_type"
7233                  c:type="GstDebugColorFlags">
7234       <doc xml:whitespace="preserve">These are some terminal style flags you can use when creating your
7235 debugging categories to make them stand out in debugging output.</doc>
7236       <member name="fg_black"
7237               value="0"
7238               c:identifier="GST_DEBUG_FG_BLACK"
7239               glib:nick="fg-black"/>
7240       <member name="fg_red"
7241               value="1"
7242               c:identifier="GST_DEBUG_FG_RED"
7243               glib:nick="fg-red"/>
7244       <member name="fg_green"
7245               value="2"
7246               c:identifier="GST_DEBUG_FG_GREEN"
7247               glib:nick="fg-green"/>
7248       <member name="fg_yellow"
7249               value="3"
7250               c:identifier="GST_DEBUG_FG_YELLOW"
7251               glib:nick="fg-yellow"/>
7252       <member name="fg_blue"
7253               value="4"
7254               c:identifier="GST_DEBUG_FG_BLUE"
7255               glib:nick="fg-blue"/>
7256       <member name="fg_magenta"
7257               value="5"
7258               c:identifier="GST_DEBUG_FG_MAGENTA"
7259               glib:nick="fg-magenta"/>
7260       <member name="fg_cyan"
7261               value="6"
7262               c:identifier="GST_DEBUG_FG_CYAN"
7263               glib:nick="fg-cyan"/>
7264       <member name="fg_white"
7265               value="7"
7266               c:identifier="GST_DEBUG_FG_WHITE"
7267               glib:nick="fg-white"/>
7268       <member name="bg_black"
7269               value="0"
7270               c:identifier="GST_DEBUG_BG_BLACK"
7271               glib:nick="bg-black"/>
7272       <member name="bg_red"
7273               value="16"
7274               c:identifier="GST_DEBUG_BG_RED"
7275               glib:nick="bg-red"/>
7276       <member name="bg_green"
7277               value="32"
7278               c:identifier="GST_DEBUG_BG_GREEN"
7279               glib:nick="bg-green"/>
7280       <member name="bg_yellow"
7281               value="48"
7282               c:identifier="GST_DEBUG_BG_YELLOW"
7283               glib:nick="bg-yellow"/>
7284       <member name="bg_blue"
7285               value="64"
7286               c:identifier="GST_DEBUG_BG_BLUE"
7287               glib:nick="bg-blue"/>
7288       <member name="bg_magenta"
7289               value="80"
7290               c:identifier="GST_DEBUG_BG_MAGENTA"
7291               glib:nick="bg-magenta"/>
7292       <member name="bg_cyan"
7293               value="96"
7294               c:identifier="GST_DEBUG_BG_CYAN"
7295               glib:nick="bg-cyan"/>
7296       <member name="bg_white"
7297               value="112"
7298               c:identifier="GST_DEBUG_BG_WHITE"
7299               glib:nick="bg-white"/>
7300       <member name="bold"
7301               value="256"
7302               c:identifier="GST_DEBUG_BOLD"
7303               glib:nick="bold"/>
7304       <member name="underline"
7305               value="512"
7306               c:identifier="GST_DEBUG_UNDERLINE"
7307               glib:nick="underline"/>
7308     </enumeration>
7309     <callback name="DebugFuncPtr" c:type="GstDebugFuncPtr">
7310       <return-value transfer-ownership="none">
7311         <type name="none" c:type="void"/>
7312       </return-value>
7313     </callback>
7314     <bitfield name="DebugGraphDetails"
7315               version="0.10.15"
7316               glib:type-name="GstDebugGraphDetails"
7317               glib:get-type="gst_debug_graph_details_get_type"
7318               c:type="GstDebugGraphDetails">
7319       <doc xml:whitespace="preserve">Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE()
7320 and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS().</doc>
7321       <member name="media_type"
7322               value="1"
7323               c:identifier="GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE"
7324               glib:nick="media-type"/>
7325       <member name="caps_details"
7326               value="2"
7327               c:identifier="GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS"
7328               glib:nick="caps-details"/>
7329       <member name="non_default_params"
7330               value="4"
7331               c:identifier="GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS"
7332               glib:nick="non-default-params"/>
7333       <member name="states"
7334               value="8"
7335               c:identifier="GST_DEBUG_GRAPH_SHOW_STATES"
7336               glib:nick="states"/>
7337       <member name="all"
7338               value="15"
7339               c:identifier="GST_DEBUG_GRAPH_SHOW_ALL"
7340               glib:nick="all"/>
7341     </bitfield>
7342     <enumeration name="DebugLevel"
7343                  glib:type-name="GstDebugLevel"
7344                  glib:get-type="gst_debug_level_get_type"
7345                  c:type="GstDebugLevel">
7346       <doc xml:whitespace="preserve">The level defines the importance of a debugging message. The more important a
7347 message is, the greater the probability that the debugging system outputs it.</doc>
7348       <member name="none"
7349               value="0"
7350               c:identifier="GST_LEVEL_NONE"
7351               glib:nick="none"/>
7352       <member name="error"
7353               value="1"
7354               c:identifier="GST_LEVEL_ERROR"
7355               glib:nick="error"/>
7356       <member name="warning"
7357               value="2"
7358               c:identifier="GST_LEVEL_WARNING"
7359               glib:nick="warning"/>
7360       <member name="info"
7361               value="3"
7362               c:identifier="GST_LEVEL_INFO"
7363               glib:nick="info"/>
7364       <member name="debug"
7365               value="4"
7366               c:identifier="GST_LEVEL_DEBUG"
7367               glib:nick="debug"/>
7368       <member name="log"
7369               value="5"
7370               c:identifier="GST_LEVEL_LOG"
7371               glib:nick="log"/>
7372       <member name="fixme"
7373               value="6"
7374               c:identifier="GST_LEVEL_FIXME"
7375               glib:nick="fixme"/>
7376       <member name="trace"
7377               value="7"
7378               c:identifier="GST_LEVEL_TRACE"
7379               glib:nick="trace"/>
7380       <member name="memdump"
7381               value="9"
7382               c:identifier="GST_LEVEL_MEMDUMP"
7383               glib:nick="memdump"/>
7384       <member name="count"
7385               value="10"
7386               c:identifier="GST_LEVEL_COUNT"
7387               glib:nick="count"/>
7388     </enumeration>
7389     <record name="DebugMessage" c:type="GstDebugMessage">
7390       <method name="get" c:identifier="gst_debug_message_get">
7391         <return-value transfer-ownership="none">
7392           <type name="utf8" c:type="gchar*"/>
7393         </return-value>
7394       </method>
7395     </record>
7396     <constant name="ERROR_SYSTEM" value="system error: %s">
7397       <type name="utf8"/>
7398     </constant>
7399     <constant name="EVENT_TRACE_NAME" value="GstEvent">
7400       <type name="utf8"/>
7401     </constant>
7402     <constant name="EVENT_TYPE_BOTH" value="0">
7403       <type name="int"/>
7404     </constant>
7405     <constant name="EVENT_TYPE_SHIFT" value="4">
7406       <type name="int"/>
7407     </constant>
7408     <class name="Element"
7409            c:type="GstElement"
7410            parent="Object"
7411            abstract="1"
7412            glib:type-name="GstElement"
7413            glib:get-type="gst_element_get_type"
7414            glib:type-struct="ElementClass">
7415       <doc xml:whitespace="preserve">GStreamer element abstract base class.</doc>
7416       <function name="register" c:identifier="gst_element_register">
7417         <return-value transfer-ownership="none">
7418           <type name="boolean" c:type="gboolean"/>
7419         </return-value>
7420         <parameters>
7421           <parameter name="plugin" transfer-ownership="none">
7422             <type name="Plugin" c:type="GstPlugin*"/>
7423           </parameter>
7424           <parameter name="name" transfer-ownership="none">
7425             <type name="utf8" c:type="gchar*"/>
7426           </parameter>
7427           <parameter name="rank" transfer-ownership="none">
7428             <type name="uint" c:type="guint"/>
7429           </parameter>
7430           <parameter name="type" transfer-ownership="none">
7431             <type name="GType" c:type="GType"/>
7432           </parameter>
7433         </parameters>
7434       </function>
7435       <function name="make_from_uri" c:identifier="gst_element_make_from_uri">
7436         <return-value transfer-ownership="full">
7437           <type name="Element" c:type="GstElement*"/>
7438         </return-value>
7439         <parameters>
7440           <parameter name="type" transfer-ownership="none">
7441             <type name="URIType" c:type="GstURIType"/>
7442           </parameter>
7443           <parameter name="uri" transfer-ownership="none">
7444             <type name="utf8" c:type="gchar*"/>
7445           </parameter>
7446           <parameter name="elementname" transfer-ownership="none">
7447             <type name="utf8" c:type="gchar*"/>
7448           </parameter>
7449         </parameters>
7450       </function>
7451       <function name="state_get_name"
7452                 c:identifier="gst_element_state_get_name">
7453         <return-value transfer-ownership="none">
7454           <type name="utf8" c:type="gchar*"/>
7455         </return-value>
7456         <parameters>
7457           <parameter name="state" transfer-ownership="none">
7458             <type name="State" c:type="GstState"/>
7459           </parameter>
7460         </parameters>
7461       </function>
7462       <function name="state_change_return_get_name"
7463                 c:identifier="gst_element_state_change_return_get_name">
7464         <return-value transfer-ownership="none">
7465           <type name="utf8" c:type="gchar*"/>
7466         </return-value>
7467         <parameters>
7468           <parameter name="state_ret" transfer-ownership="none">
7469             <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
7470           </parameter>
7471         </parameters>
7472       </function>
7473       <virtual-method name="request_new_pad">
7474         <return-value transfer-ownership="full">
7475           <type name="Pad" c:type="GstPad*"/>
7476         </return-value>
7477         <parameters>
7478           <parameter name="templ" transfer-ownership="none">
7479             <type name="PadTemplate" c:type="GstPadTemplate*"/>
7480           </parameter>
7481           <parameter name="name" transfer-ownership="none">
7482             <type name="utf8" c:type="gchar*"/>
7483           </parameter>
7484         </parameters>
7485       </virtual-method>
7486       <virtual-method name="release_pad">
7487         <return-value transfer-ownership="none">
7488           <type name="none" c:type="void"/>
7489         </return-value>
7490         <parameters>
7491           <parameter name="pad" transfer-ownership="none">
7492             <type name="Pad" c:type="GstPad*"/>
7493           </parameter>
7494         </parameters>
7495       </virtual-method>
7496       <virtual-method name="get_state" invoker="get_state">
7497         <return-value transfer-ownership="full">
7498           <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
7499         </return-value>
7500         <parameters>
7501           <parameter name="state"
7502                      direction="out"
7503                      caller-allocates="0"
7504                      transfer-ownership="none">
7505             <type name="State" c:type="GstState*"/>
7506           </parameter>
7507           <parameter name="pending"
7508                      direction="out"
7509                      caller-allocates="0"
7510                      transfer-ownership="none">
7511             <type name="State" c:type="GstState*"/>
7512           </parameter>
7513           <parameter name="timeout" transfer-ownership="none">
7514             <type name="ClockTime" c:type="GstClockTime"/>
7515           </parameter>
7516         </parameters>
7517       </virtual-method>
7518       <virtual-method name="set_state" invoker="set_state">
7519         <return-value transfer-ownership="full">
7520           <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
7521         </return-value>
7522         <parameters>
7523           <parameter name="state" transfer-ownership="none">
7524             <type name="State" c:type="GstState"/>
7525           </parameter>
7526         </parameters>
7527       </virtual-method>
7528       <virtual-method name="change_state" invoker="change_state">
7529         <return-value transfer-ownership="full">
7530           <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
7531         </return-value>
7532         <parameters>
7533           <parameter name="transition" transfer-ownership="none">
7534             <type name="StateChange" c:type="GstStateChange"/>
7535           </parameter>
7536         </parameters>
7537       </virtual-method>
7538       <virtual-method name="set_bus" invoker="set_bus">
7539         <return-value transfer-ownership="none">
7540           <type name="none" c:type="void"/>
7541         </return-value>
7542         <parameters>
7543           <parameter name="bus" transfer-ownership="none">
7544             <type name="Bus" c:type="GstBus*"/>
7545           </parameter>
7546         </parameters>
7547       </virtual-method>
7548       <virtual-method name="provide_clock" invoker="provide_clock">
7549         <return-value transfer-ownership="full">
7550           <type name="Clock" c:type="GstClock*"/>
7551         </return-value>
7552       </virtual-method>
7553       <virtual-method name="set_clock" invoker="set_clock">
7554         <return-value transfer-ownership="none">
7555           <type name="boolean" c:type="gboolean"/>
7556         </return-value>
7557         <parameters>
7558           <parameter name="clock" transfer-ownership="none">
7559             <type name="Clock" c:type="GstClock*"/>
7560           </parameter>
7561         </parameters>
7562       </virtual-method>
7563       <virtual-method name="get_index" invoker="get_index">
7564         <return-value transfer-ownership="full">
7565           <type name="Index" c:type="GstIndex*"/>
7566         </return-value>
7567       </virtual-method>
7568       <virtual-method name="set_index" invoker="set_index">
7569         <return-value transfer-ownership="none">
7570           <type name="none" c:type="void"/>
7571         </return-value>
7572         <parameters>
7573           <parameter name="index" transfer-ownership="none">
7574             <type name="Index" c:type="GstIndex*"/>
7575           </parameter>
7576         </parameters>
7577       </virtual-method>
7578       <virtual-method name="send_event" invoker="send_event">
7579         <return-value transfer-ownership="none">
7580           <type name="boolean" c:type="gboolean"/>
7581         </return-value>
7582         <parameters>
7583           <parameter name="event" transfer-ownership="none">
7584             <type name="Event" c:type="GstEvent*"/>
7585           </parameter>
7586         </parameters>
7587       </virtual-method>
7588       <virtual-method name="get_query_types" invoker="get_query_types">
7589         <return-value transfer-ownership="none">
7590           <type name="QueryType" c:type="GstQueryType*"/>
7591         </return-value>
7592       </virtual-method>
7593       <virtual-method name="query" invoker="query">
7594         <return-value transfer-ownership="none">
7595           <type name="boolean" c:type="gboolean"/>
7596         </return-value>
7597         <parameters>
7598           <parameter name="query" transfer-ownership="none">
7599             <type name="Query" c:type="GstQuery*"/>
7600           </parameter>
7601         </parameters>
7602       </virtual-method>
7603       <method name="requires_clock" c:identifier="gst_element_requires_clock">
7604         <return-value transfer-ownership="none">
7605           <type name="boolean" c:type="gboolean"/>
7606         </return-value>
7607       </method>
7608       <method name="provides_clock" c:identifier="gst_element_provides_clock">
7609         <return-value transfer-ownership="none">
7610           <type name="boolean" c:type="gboolean"/>
7611         </return-value>
7612       </method>
7613       <method name="provide_clock" c:identifier="gst_element_provide_clock">
7614         <return-value transfer-ownership="full">
7615           <type name="Clock" c:type="GstClock*"/>
7616         </return-value>
7617       </method>
7618       <method name="get_clock" c:identifier="gst_element_get_clock">
7619         <return-value transfer-ownership="full">
7620           <type name="Clock" c:type="GstClock*"/>
7621         </return-value>
7622       </method>
7623       <method name="set_clock" c:identifier="gst_element_set_clock">
7624         <return-value transfer-ownership="none">
7625           <type name="boolean" c:type="gboolean"/>
7626         </return-value>
7627         <parameters>
7628           <parameter name="clock" transfer-ownership="none">
7629             <type name="Clock" c:type="GstClock*"/>
7630           </parameter>
7631         </parameters>
7632       </method>
7633       <method name="set_base_time" c:identifier="gst_element_set_base_time">
7634         <return-value transfer-ownership="none">
7635           <type name="none" c:type="void"/>
7636         </return-value>
7637         <parameters>
7638           <parameter name="time" transfer-ownership="none">
7639             <type name="ClockTime" c:type="GstClockTime"/>
7640           </parameter>
7641         </parameters>
7642       </method>
7643       <method name="get_base_time" c:identifier="gst_element_get_base_time">
7644         <return-value transfer-ownership="full">
7645           <type name="ClockTime" c:type="GstClockTime"/>
7646         </return-value>
7647       </method>
7648       <method name="set_start_time" c:identifier="gst_element_set_start_time">
7649         <return-value transfer-ownership="none">
7650           <type name="none" c:type="void"/>
7651         </return-value>
7652         <parameters>
7653           <parameter name="time" transfer-ownership="none">
7654             <type name="ClockTime" c:type="GstClockTime"/>
7655           </parameter>
7656         </parameters>
7657       </method>
7658       <method name="get_start_time" c:identifier="gst_element_get_start_time">
7659         <return-value transfer-ownership="full">
7660           <type name="ClockTime" c:type="GstClockTime"/>
7661         </return-value>
7662       </method>
7663       <method name="is_indexable" c:identifier="gst_element_is_indexable">
7664         <return-value transfer-ownership="none">
7665           <type name="boolean" c:type="gboolean"/>
7666         </return-value>
7667       </method>
7668       <method name="set_index" c:identifier="gst_element_set_index">
7669         <return-value transfer-ownership="none">
7670           <type name="none" c:type="void"/>
7671         </return-value>
7672         <parameters>
7673           <parameter name="index" transfer-ownership="none">
7674             <type name="Index" c:type="GstIndex*"/>
7675           </parameter>
7676         </parameters>
7677       </method>
7678       <method name="get_index" c:identifier="gst_element_get_index">
7679         <return-value transfer-ownership="full">
7680           <type name="Index" c:type="GstIndex*"/>
7681         </return-value>
7682       </method>
7683       <method name="set_bus" c:identifier="gst_element_set_bus">
7684         <return-value transfer-ownership="none">
7685           <type name="none" c:type="void"/>
7686         </return-value>
7687         <parameters>
7688           <parameter name="bus" transfer-ownership="none">
7689             <type name="Bus" c:type="GstBus*"/>
7690           </parameter>
7691         </parameters>
7692       </method>
7693       <method name="get_bus" c:identifier="gst_element_get_bus">
7694         <return-value transfer-ownership="full">
7695           <type name="Bus" c:type="GstBus*"/>
7696         </return-value>
7697       </method>
7698       <method name="add_pad" c:identifier="gst_element_add_pad">
7699         <return-value transfer-ownership="none">
7700           <type name="boolean" c:type="gboolean"/>
7701         </return-value>
7702         <parameters>
7703           <parameter name="pad" transfer-ownership="none">
7704             <type name="Pad" c:type="GstPad*"/>
7705           </parameter>
7706         </parameters>
7707       </method>
7708       <method name="remove_pad" c:identifier="gst_element_remove_pad">
7709         <return-value transfer-ownership="none">
7710           <type name="boolean" c:type="gboolean"/>
7711         </return-value>
7712         <parameters>
7713           <parameter name="pad" transfer-ownership="none">
7714             <type name="Pad" c:type="GstPad*"/>
7715           </parameter>
7716         </parameters>
7717       </method>
7718       <method name="no_more_pads" c:identifier="gst_element_no_more_pads">
7719         <return-value transfer-ownership="none">
7720           <type name="none" c:type="void"/>
7721         </return-value>
7722       </method>
7723       <method name="get_pad" c:identifier="gst_element_get_pad">
7724         <return-value transfer-ownership="full">
7725           <type name="Pad" c:type="GstPad*"/>
7726         </return-value>
7727         <parameters>
7728           <parameter name="name" transfer-ownership="none">
7729             <type name="utf8" c:type="gchar*"/>
7730           </parameter>
7731         </parameters>
7732       </method>
7733       <method name="get_static_pad" c:identifier="gst_element_get_static_pad">
7734         <return-value transfer-ownership="full">
7735           <type name="Pad" c:type="GstPad*"/>
7736         </return-value>
7737         <parameters>
7738           <parameter name="name" transfer-ownership="none">
7739             <type name="utf8" c:type="gchar*"/>
7740           </parameter>
7741         </parameters>
7742       </method>
7743       <method name="get_request_pad"
7744               c:identifier="gst_element_get_request_pad">
7745         <return-value transfer-ownership="full">
7746           <type name="Pad" c:type="GstPad*"/>
7747         </return-value>
7748         <parameters>
7749           <parameter name="name" transfer-ownership="none">
7750             <type name="utf8" c:type="gchar*"/>
7751           </parameter>
7752         </parameters>
7753       </method>
7754       <method name="release_request_pad"
7755               c:identifier="gst_element_release_request_pad">
7756         <return-value transfer-ownership="none">
7757           <type name="none" c:type="void"/>
7758         </return-value>
7759         <parameters>
7760           <parameter name="pad" transfer-ownership="none">
7761             <type name="Pad" c:type="GstPad*"/>
7762           </parameter>
7763         </parameters>
7764       </method>
7765       <method name="iterate_pads" c:identifier="gst_element_iterate_pads">
7766         <return-value transfer-ownership="full">
7767           <type name="Iterator" c:type="GstIterator*"/>
7768         </return-value>
7769       </method>
7770       <method name="iterate_src_pads"
7771               c:identifier="gst_element_iterate_src_pads">
7772         <return-value transfer-ownership="full">
7773           <type name="Iterator" c:type="GstIterator*"/>
7774         </return-value>
7775       </method>
7776       <method name="iterate_sink_pads"
7777               c:identifier="gst_element_iterate_sink_pads">
7778         <return-value transfer-ownership="full">
7779           <type name="Iterator" c:type="GstIterator*"/>
7780         </return-value>
7781       </method>
7782       <method name="send_event" c:identifier="gst_element_send_event">
7783         <return-value transfer-ownership="none">
7784           <type name="boolean" c:type="gboolean"/>
7785         </return-value>
7786         <parameters>
7787           <parameter name="event" transfer-ownership="none">
7788             <type name="Event" c:type="GstEvent*"/>
7789           </parameter>
7790         </parameters>
7791       </method>
7792       <method name="seek" c:identifier="gst_element_seek">
7793         <return-value transfer-ownership="none">
7794           <type name="boolean" c:type="gboolean"/>
7795         </return-value>
7796         <parameters>
7797           <parameter name="rate" transfer-ownership="none">
7798             <type name="double" c:type="gdouble"/>
7799           </parameter>
7800           <parameter name="format" transfer-ownership="none">
7801             <type name="Format" c:type="GstFormat"/>
7802           </parameter>
7803           <parameter name="flags" transfer-ownership="none">
7804             <type name="SeekFlags" c:type="GstSeekFlags"/>
7805           </parameter>
7806           <parameter name="cur_type" transfer-ownership="none">
7807             <type name="SeekType" c:type="GstSeekType"/>
7808           </parameter>
7809           <parameter name="cur" transfer-ownership="none">
7810             <type name="int64" c:type="gint64"/>
7811           </parameter>
7812           <parameter name="stop_type" transfer-ownership="none">
7813             <type name="SeekType" c:type="GstSeekType"/>
7814           </parameter>
7815           <parameter name="stop" transfer-ownership="none">
7816             <type name="int64" c:type="gint64"/>
7817           </parameter>
7818         </parameters>
7819       </method>
7820       <method name="get_query_types"
7821               c:identifier="gst_element_get_query_types">
7822         <return-value transfer-ownership="none">
7823           <type name="QueryType" c:type="GstQueryType*"/>
7824         </return-value>
7825       </method>
7826       <method name="query" c:identifier="gst_element_query">
7827         <return-value transfer-ownership="none">
7828           <type name="boolean" c:type="gboolean"/>
7829         </return-value>
7830         <parameters>
7831           <parameter name="query" transfer-ownership="none">
7832             <type name="Query" c:type="GstQuery*"/>
7833           </parameter>
7834         </parameters>
7835       </method>
7836       <method name="post_message" c:identifier="gst_element_post_message">
7837         <return-value transfer-ownership="none">
7838           <type name="boolean" c:type="gboolean"/>
7839         </return-value>
7840         <parameters>
7841           <parameter name="message" transfer-ownership="none">
7842             <type name="Message" c:type="GstMessage*"/>
7843           </parameter>
7844         </parameters>
7845       </method>
7846       <method name="message_full" c:identifier="gst_element_message_full">
7847         <return-value transfer-ownership="none">
7848           <type name="none" c:type="void"/>
7849         </return-value>
7850         <parameters>
7851           <parameter name="type" transfer-ownership="none">
7852             <type name="MessageType" c:type="GstMessageType"/>
7853           </parameter>
7854           <parameter name="domain" transfer-ownership="none">
7855             <type name="GLib.Quark" c:type="GQuark"/>
7856           </parameter>
7857           <parameter name="code" transfer-ownership="none">
7858             <type name="int" c:type="gint"/>
7859           </parameter>
7860           <parameter name="text" transfer-ownership="full">
7861             <type name="utf8" c:type="gchar*"/>
7862           </parameter>
7863           <parameter name="debug" transfer-ownership="full">
7864             <type name="utf8" c:type="gchar*"/>
7865           </parameter>
7866           <parameter name="file" transfer-ownership="none">
7867             <type name="utf8" c:type="gchar*"/>
7868           </parameter>
7869           <parameter name="function" transfer-ownership="none">
7870             <type name="utf8" c:type="gchar*"/>
7871           </parameter>
7872           <parameter name="line" transfer-ownership="none">
7873             <type name="int" c:type="gint"/>
7874           </parameter>
7875         </parameters>
7876       </method>
7877       <method name="is_locked_state"
7878               c:identifier="gst_element_is_locked_state">
7879         <return-value transfer-ownership="none">
7880           <type name="boolean" c:type="gboolean"/>
7881         </return-value>
7882       </method>
7883       <method name="set_locked_state"
7884               c:identifier="gst_element_set_locked_state">
7885         <return-value transfer-ownership="none">
7886           <type name="boolean" c:type="gboolean"/>
7887         </return-value>
7888         <parameters>
7889           <parameter name="locked_state" transfer-ownership="none">
7890             <type name="boolean" c:type="gboolean"/>
7891           </parameter>
7892         </parameters>
7893       </method>
7894       <method name="sync_state_with_parent"
7895               c:identifier="gst_element_sync_state_with_parent">
7896         <return-value transfer-ownership="none">
7897           <type name="boolean" c:type="gboolean"/>
7898         </return-value>
7899       </method>
7900       <method name="get_state" c:identifier="gst_element_get_state">
7901         <return-value transfer-ownership="full">
7902           <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
7903         </return-value>
7904         <parameters>
7905           <parameter name="state"
7906                      direction="out"
7907                      caller-allocates="1"
7908                      transfer-ownership="none">
7909             <type name="State" c:type="GstState*"/>
7910           </parameter>
7911           <parameter name="pending"
7912                      direction="out"
7913                      caller-allocates="1"
7914                      transfer-ownership="none">
7915             <type name="State" c:type="GstState*"/>
7916           </parameter>
7917           <parameter name="timeout" transfer-ownership="none">
7918             <type name="ClockTime" c:type="GstClockTime"/>
7919           </parameter>
7920         </parameters>
7921       </method>
7922       <method name="set_state" c:identifier="gst_element_set_state">
7923         <return-value transfer-ownership="full">
7924           <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
7925         </return-value>
7926         <parameters>
7927           <parameter name="state" transfer-ownership="none">
7928             <type name="State" c:type="GstState"/>
7929           </parameter>
7930         </parameters>
7931       </method>
7932       <method name="abort_state" c:identifier="gst_element_abort_state">
7933         <return-value transfer-ownership="none">
7934           <type name="none" c:type="void"/>
7935         </return-value>
7936       </method>
7937       <method name="change_state" c:identifier="gst_element_change_state">
7938         <return-value transfer-ownership="full">
7939           <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
7940         </return-value>
7941         <parameters>
7942           <parameter name="transition" transfer-ownership="none">
7943             <type name="StateChange" c:type="GstStateChange"/>
7944           </parameter>
7945         </parameters>
7946       </method>
7947       <method name="continue_state" c:identifier="gst_element_continue_state">
7948         <return-value transfer-ownership="full">
7949           <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
7950         </return-value>
7951         <parameters>
7952           <parameter name="ret" transfer-ownership="none">
7953             <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
7954           </parameter>
7955         </parameters>
7956       </method>
7957       <method name="lost_state" c:identifier="gst_element_lost_state">
7958         <return-value transfer-ownership="none">
7959           <type name="none" c:type="void"/>
7960         </return-value>
7961       </method>
7962       <method name="lost_state_full"
7963               c:identifier="gst_element_lost_state_full">
7964         <return-value transfer-ownership="none">
7965           <type name="none" c:type="void"/>
7966         </return-value>
7967         <parameters>
7968           <parameter name="new_base_time" transfer-ownership="none">
7969             <type name="boolean" c:type="gboolean"/>
7970           </parameter>
7971         </parameters>
7972       </method>
7973       <method name="get_factory" c:identifier="gst_element_get_factory">
7974         <return-value transfer-ownership="full">
7975           <type name="ElementFactory" c:type="GstElementFactory*"/>
7976         </return-value>
7977       </method>
7978       <method name="implements_interface"
7979               c:identifier="gst_element_implements_interface">
7980         <return-value transfer-ownership="none">
7981           <type name="boolean" c:type="gboolean"/>
7982         </return-value>
7983         <parameters>
7984           <parameter name="iface_type" transfer-ownership="none">
7985             <type name="GType" c:type="GType"/>
7986           </parameter>
7987         </parameters>
7988       </method>
7989       <method name="create_all_pads"
7990               c:identifier="gst_element_create_all_pads">
7991         <return-value transfer-ownership="none">
7992           <type name="none" c:type="void"/>
7993         </return-value>
7994       </method>
7995       <method name="get_compatible_pad"
7996               c:identifier="gst_element_get_compatible_pad">
7997         <return-value transfer-ownership="full">
7998           <type name="Pad" c:type="GstPad*"/>
7999         </return-value>
8000         <parameters>
8001           <parameter name="pad" transfer-ownership="none">
8002             <type name="Pad" c:type="GstPad*"/>
8003           </parameter>
8004           <parameter name="caps" transfer-ownership="none">
8005             <type name="Caps" c:type="GstCaps*"/>
8006           </parameter>
8007         </parameters>
8008       </method>
8009       <method name="get_compatible_pad_template"
8010               c:identifier="gst_element_get_compatible_pad_template">
8011         <return-value transfer-ownership="full">
8012           <type name="PadTemplate" c:type="GstPadTemplate*"/>
8013         </return-value>
8014         <parameters>
8015           <parameter name="compattempl" transfer-ownership="none">
8016             <type name="PadTemplate" c:type="GstPadTemplate*"/>
8017           </parameter>
8018         </parameters>
8019       </method>
8020       <method name="link" c:identifier="gst_element_link">
8021         <return-value transfer-ownership="none">
8022           <type name="boolean" c:type="gboolean"/>
8023         </return-value>
8024         <parameters>
8025           <parameter name="dest" transfer-ownership="none">
8026             <type name="Element" c:type="GstElement*"/>
8027           </parameter>
8028         </parameters>
8029       </method>
8030       <method name="link_many"
8031               c:identifier="gst_element_link_many"
8032               introspectable="0">
8033         <return-value transfer-ownership="none">
8034           <type name="boolean" c:type="gboolean"/>
8035         </return-value>
8036         <parameters>
8037           <parameter name="element_2" transfer-ownership="none">
8038             <type name="Element" c:type="GstElement*"/>
8039           </parameter>
8040           <parameter transfer-ownership="none">
8041             <varargs>
8042             </varargs>
8043           </parameter>
8044         </parameters>
8045       </method>
8046       <method name="link_filtered" c:identifier="gst_element_link_filtered">
8047         <return-value transfer-ownership="none">
8048           <type name="boolean" c:type="gboolean"/>
8049         </return-value>
8050         <parameters>
8051           <parameter name="dest" transfer-ownership="none">
8052             <type name="Element" c:type="GstElement*"/>
8053           </parameter>
8054           <parameter name="filter" transfer-ownership="none">
8055             <type name="Caps" c:type="GstCaps*"/>
8056           </parameter>
8057         </parameters>
8058       </method>
8059       <method name="unlink" c:identifier="gst_element_unlink">
8060         <return-value transfer-ownership="none">
8061           <type name="none" c:type="void"/>
8062         </return-value>
8063         <parameters>
8064           <parameter name="dest" transfer-ownership="none">
8065             <type name="Element" c:type="GstElement*"/>
8066           </parameter>
8067         </parameters>
8068       </method>
8069       <method name="unlink_many"
8070               c:identifier="gst_element_unlink_many"
8071               introspectable="0">
8072         <return-value transfer-ownership="none">
8073           <type name="none" c:type="void"/>
8074         </return-value>
8075         <parameters>
8076           <parameter name="element_2" transfer-ownership="none">
8077             <type name="Element" c:type="GstElement*"/>
8078           </parameter>
8079           <parameter transfer-ownership="none">
8080             <varargs>
8081             </varargs>
8082           </parameter>
8083         </parameters>
8084       </method>
8085       <method name="link_pads" c:identifier="gst_element_link_pads">
8086         <return-value transfer-ownership="none">
8087           <type name="boolean" c:type="gboolean"/>
8088         </return-value>
8089         <parameters>
8090           <parameter name="srcpadname" transfer-ownership="none">
8091             <type name="utf8" c:type="gchar*"/>
8092           </parameter>
8093           <parameter name="dest" transfer-ownership="none">
8094             <type name="Element" c:type="GstElement*"/>
8095           </parameter>
8096           <parameter name="destpadname" transfer-ownership="none">
8097             <type name="utf8" c:type="gchar*"/>
8098           </parameter>
8099         </parameters>
8100       </method>
8101       <method name="link_pads_full" c:identifier="gst_element_link_pads_full">
8102         <return-value transfer-ownership="none">
8103           <type name="boolean" c:type="gboolean"/>
8104         </return-value>
8105         <parameters>
8106           <parameter name="srcpadname" transfer-ownership="none">
8107             <type name="utf8" c:type="gchar*"/>
8108           </parameter>
8109           <parameter name="dest" transfer-ownership="none">
8110             <type name="Element" c:type="GstElement*"/>
8111           </parameter>
8112           <parameter name="destpadname" transfer-ownership="none">
8113             <type name="utf8" c:type="gchar*"/>
8114           </parameter>
8115           <parameter name="flags" transfer-ownership="none">
8116             <type name="PadLinkCheck" c:type="GstPadLinkCheck"/>
8117           </parameter>
8118         </parameters>
8119       </method>
8120       <method name="unlink_pads" c:identifier="gst_element_unlink_pads">
8121         <return-value transfer-ownership="none">
8122           <type name="none" c:type="void"/>
8123         </return-value>
8124         <parameters>
8125           <parameter name="srcpadname" transfer-ownership="none">
8126             <type name="utf8" c:type="gchar*"/>
8127           </parameter>
8128           <parameter name="dest" transfer-ownership="none">
8129             <type name="Element" c:type="GstElement*"/>
8130           </parameter>
8131           <parameter name="destpadname" transfer-ownership="none">
8132             <type name="utf8" c:type="gchar*"/>
8133           </parameter>
8134         </parameters>
8135       </method>
8136       <method name="link_pads_filtered"
8137               c:identifier="gst_element_link_pads_filtered">
8138         <return-value transfer-ownership="none">
8139           <type name="boolean" c:type="gboolean"/>
8140         </return-value>
8141         <parameters>
8142           <parameter name="srcpadname" transfer-ownership="none">
8143             <type name="utf8" c:type="gchar*"/>
8144           </parameter>
8145           <parameter name="dest" transfer-ownership="none">
8146             <type name="Element" c:type="GstElement*"/>
8147           </parameter>
8148           <parameter name="destpadname" transfer-ownership="none">
8149             <type name="utf8" c:type="gchar*"/>
8150           </parameter>
8151           <parameter name="filter" transfer-ownership="none">
8152             <type name="Caps" c:type="GstCaps*"/>
8153           </parameter>
8154         </parameters>
8155       </method>
8156       <method name="seek_simple" c:identifier="gst_element_seek_simple">
8157         <return-value transfer-ownership="none">
8158           <type name="boolean" c:type="gboolean"/>
8159         </return-value>
8160         <parameters>
8161           <parameter name="format" transfer-ownership="none">
8162             <type name="Format" c:type="GstFormat"/>
8163           </parameter>
8164           <parameter name="seek_flags" transfer-ownership="none">
8165             <type name="SeekFlags" c:type="GstSeekFlags"/>
8166           </parameter>
8167           <parameter name="seek_pos" transfer-ownership="none">
8168             <type name="int64" c:type="gint64"/>
8169           </parameter>
8170         </parameters>
8171       </method>
8172       <method name="query_position" c:identifier="gst_element_query_position">
8173         <return-value transfer-ownership="none">
8174           <type name="boolean" c:type="gboolean"/>
8175         </return-value>
8176         <parameters>
8177           <parameter name="format" transfer-ownership="none">
8178             <doc xml:whitespace="preserve">(inout)</doc>
8179             <type name="Format" c:type="GstFormat*"/>
8180           </parameter>
8181           <parameter name="cur"
8182                      direction="out"
8183                      caller-allocates="0"
8184                      transfer-ownership="full">
8185             <doc xml:whitespace="preserve">(out)</doc>
8186             <type name="int64" c:type="gint64*"/>
8187           </parameter>
8188         </parameters>
8189       </method>
8190       <method name="query_duration" c:identifier="gst_element_query_duration">
8191         <return-value transfer-ownership="none">
8192           <type name="boolean" c:type="gboolean"/>
8193         </return-value>
8194         <parameters>
8195           <parameter name="format" transfer-ownership="none">
8196             <doc xml:whitespace="preserve">(inout)</doc>
8197             <type name="Format" c:type="GstFormat*"/>
8198           </parameter>
8199           <parameter name="duration"
8200                      direction="out"
8201                      caller-allocates="0"
8202                      transfer-ownership="full">
8203             <doc xml:whitespace="preserve">(out)</doc>
8204             <type name="int64" c:type="gint64*"/>
8205           </parameter>
8206         </parameters>
8207       </method>
8208       <method name="query_convert" c:identifier="gst_element_query_convert">
8209         <return-value transfer-ownership="none">
8210           <type name="boolean" c:type="gboolean"/>
8211         </return-value>
8212         <parameters>
8213           <parameter name="src_format" transfer-ownership="none">
8214             <type name="Format" c:type="GstFormat"/>
8215           </parameter>
8216           <parameter name="src_val" transfer-ownership="none">
8217             <type name="int64" c:type="gint64"/>
8218           </parameter>
8219           <parameter name="dest_format" transfer-ownership="none">
8220             <type name="Format" c:type="GstFormat*"/>
8221           </parameter>
8222           <parameter name="dest_val"
8223                      direction="out"
8224                      caller-allocates="0"
8225                      transfer-ownership="full">
8226             <type name="int64" c:type="gint64*"/>
8227           </parameter>
8228         </parameters>
8229       </method>
8230       <method name="found_tags_for_pad"
8231               c:identifier="gst_element_found_tags_for_pad">
8232         <return-value transfer-ownership="none">
8233           <type name="none" c:type="void"/>
8234         </return-value>
8235         <parameters>
8236           <parameter name="pad" transfer-ownership="none">
8237             <type name="Pad" c:type="GstPad*"/>
8238           </parameter>
8239           <parameter name="list" transfer-ownership="none">
8240             <type name="TagList" c:type="GstTagList*"/>
8241           </parameter>
8242         </parameters>
8243       </method>
8244       <method name="found_tags" c:identifier="gst_element_found_tags">
8245         <return-value transfer-ownership="none">
8246           <type name="none" c:type="void"/>
8247         </return-value>
8248         <parameters>
8249           <parameter name="list" transfer-ownership="none">
8250             <type name="TagList" c:type="GstTagList*"/>
8251           </parameter>
8252         </parameters>
8253       </method>
8254       <field name="object">
8255         <type name="Object" c:type="GstObject"/>
8256       </field>
8257       <field name="state_lock">
8258         <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex*"/>
8259       </field>
8260       <field name="state_cond">
8261         <type name="GLib.Cond" c:type="GCond*"/>
8262       </field>
8263       <field name="state_cookie">
8264         <type name="uint32" c:type="guint32"/>
8265       </field>
8266       <field name="current_state">
8267         <type name="State" c:type="GstState"/>
8268       </field>
8269       <field name="next_state">
8270         <type name="State" c:type="GstState"/>
8271       </field>
8272       <field name="pending_state">
8273         <type name="State" c:type="GstState"/>
8274       </field>
8275       <field name="last_return">
8276         <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
8277       </field>
8278       <field name="bus">
8279         <type name="Bus" c:type="GstBus*"/>
8280       </field>
8281       <field name="clock">
8282         <type name="Clock" c:type="GstClock*"/>
8283       </field>
8284       <field name="base_time">
8285         <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
8286       </field>
8287       <field name="numpads">
8288         <type name="uint16" c:type="guint16"/>
8289       </field>
8290       <field name="pads">
8291         <type name="GLib.List" c:type="GList*">
8292           <type name="any" c:type="gpointer"/>
8293         </type>
8294       </field>
8295       <field name="numsrcpads">
8296         <type name="uint16" c:type="guint16"/>
8297       </field>
8298       <field name="srcpads">
8299         <type name="GLib.List" c:type="GList*">
8300           <type name="any" c:type="gpointer"/>
8301         </type>
8302       </field>
8303       <field name="numsinkpads">
8304         <type name="uint16" c:type="guint16"/>
8305       </field>
8306       <field name="sinkpads">
8307         <type name="GLib.List" c:type="GList*">
8308           <type name="any" c:type="gpointer"/>
8309         </type>
8310       </field>
8311       <field name="pads_cookie">
8312         <type name="uint32" c:type="guint32"/>
8313       </field>
8314       <union name="abidata" c:type="abidata">
8315         <record name="ABI" c:type="ABI">
8316           <field name="target_state" writable="1">
8317             <type name="State" c:type="GstState"/>
8318           </field>
8319           <field name="start_time" writable="1">
8320             <type name="ClockTime" c:type="GstClockTime"/>
8321           </field>
8322         </record>
8323         <field name="_gst_reserved" writable="1">
8324           <array zero-terminated="0" c:type="gpointer" fixed-size="4">
8325             <type name="any"/>
8326           </array>
8327         </field>
8328       </union>
8329       <glib:signal name="no-more-pads">
8330         <return-value transfer-ownership="full">
8331           <type name="none" c:type="void"/>
8332         </return-value>
8333       </glib:signal>
8334       <glib:signal name="pad-added">
8335         <return-value transfer-ownership="full">
8336           <type name="none" c:type="void"/>
8337         </return-value>
8338         <parameters>
8339           <parameter name="object" transfer-ownership="none">
8340             <type name="Pad" c:type="GstPad"/>
8341           </parameter>
8342         </parameters>
8343       </glib:signal>
8344       <glib:signal name="pad-removed">
8345         <return-value transfer-ownership="full">
8346           <type name="none" c:type="void"/>
8347         </return-value>
8348         <parameters>
8349           <parameter name="object" transfer-ownership="none">
8350             <type name="Pad" c:type="GstPad"/>
8351           </parameter>
8352         </parameters>
8353       </glib:signal>
8354     </class>
8355     <record name="ElementClass"
8356             c:type="GstElementClass"
8357             glib:is-gtype-struct-for="Element">
8358       <doc xml:whitespace="preserve">GStreamer element class. Override the vmethods to implement the element
8359 functionality.</doc>
8360       <field name="parent_class">
8361         <type name="ObjectClass" c:type="GstObjectClass"/>
8362       </field>
8363       <field name="details">
8364         <type name="ElementDetails" c:type="GstElementDetails"/>
8365       </field>
8366       <field name="elementfactory">
8367         <type name="ElementFactory" c:type="GstElementFactory*"/>
8368       </field>
8369       <field name="padtemplates">
8370         <type name="GLib.List" c:type="GList*">
8371           <type name="any" c:type="gpointer"/>
8372         </type>
8373       </field>
8374       <field name="numpadtemplates">
8375         <type name="int" c:type="gint"/>
8376       </field>
8377       <field name="pad_templ_cookie">
8378         <type name="uint32" c:type="guint32"/>
8379       </field>
8380       <field name="pad_added">
8381         <callback name="pad_added" c:type="pad_added">
8382           <return-value transfer-ownership="none">
8383             <type name="none" c:type="void"/>
8384           </return-value>
8385           <parameters>
8386             <parameter name="element" transfer-ownership="none">
8387               <type name="Element" c:type="GstElement*"/>
8388             </parameter>
8389             <parameter name="pad" transfer-ownership="none">
8390               <type name="Pad" c:type="GstPad*"/>
8391             </parameter>
8392           </parameters>
8393         </callback>
8394       </field>
8395       <field name="pad_removed">
8396         <callback name="pad_removed" c:type="pad_removed">
8397           <return-value transfer-ownership="none">
8398             <type name="none" c:type="void"/>
8399           </return-value>
8400           <parameters>
8401             <parameter name="element" transfer-ownership="none">
8402               <type name="Element" c:type="GstElement*"/>
8403             </parameter>
8404             <parameter name="pad" transfer-ownership="none">
8405               <type name="Pad" c:type="GstPad*"/>
8406             </parameter>
8407           </parameters>
8408         </callback>
8409       </field>
8410       <field name="no_more_pads">
8411         <callback name="no_more_pads" c:type="no_more_pads">
8412           <return-value transfer-ownership="none">
8413             <type name="none" c:type="void"/>
8414           </return-value>
8415           <parameters>
8416             <parameter name="element" transfer-ownership="none">
8417               <type name="Element" c:type="GstElement*"/>
8418             </parameter>
8419           </parameters>
8420         </callback>
8421       </field>
8422       <field name="request_new_pad">
8423         <callback name="request_new_pad" c:type="request_new_pad">
8424           <return-value transfer-ownership="full">
8425             <type name="Pad" c:type="GstPad*"/>
8426           </return-value>
8427           <parameters>
8428             <parameter name="element" transfer-ownership="none">
8429               <type name="Element" c:type="GstElement*"/>
8430             </parameter>
8431             <parameter name="templ" transfer-ownership="none">
8432               <type name="PadTemplate" c:type="GstPadTemplate*"/>
8433             </parameter>
8434             <parameter name="name" transfer-ownership="none">
8435               <type name="utf8" c:type="gchar*"/>
8436             </parameter>
8437           </parameters>
8438         </callback>
8439       </field>
8440       <field name="release_pad">
8441         <callback name="release_pad" c:type="release_pad">
8442           <return-value transfer-ownership="none">
8443             <type name="none" c:type="void"/>
8444           </return-value>
8445           <parameters>
8446             <parameter name="element" transfer-ownership="none">
8447               <type name="Element" c:type="GstElement*"/>
8448             </parameter>
8449             <parameter name="pad" transfer-ownership="none">
8450               <type name="Pad" c:type="GstPad*"/>
8451             </parameter>
8452           </parameters>
8453         </callback>
8454       </field>
8455       <field name="get_state">
8456         <callback name="get_state" c:type="get_state">
8457           <return-value transfer-ownership="full">
8458             <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
8459           </return-value>
8460           <parameters>
8461             <parameter name="element" transfer-ownership="none">
8462               <type name="Element" c:type="GstElement*"/>
8463             </parameter>
8464             <parameter name="state"
8465                        direction="out"
8466                        caller-allocates="0"
8467                        transfer-ownership="none">
8468               <type name="State" c:type="GstState*"/>
8469             </parameter>
8470             <parameter name="pending"
8471                        direction="out"
8472                        caller-allocates="0"
8473                        transfer-ownership="none">
8474               <type name="State" c:type="GstState*"/>
8475             </parameter>
8476             <parameter name="timeout" transfer-ownership="none">
8477               <type name="ClockTime" c:type="GstClockTime"/>
8478             </parameter>
8479           </parameters>
8480         </callback>
8481       </field>
8482       <field name="set_state">
8483         <callback name="set_state" c:type="set_state">
8484           <return-value transfer-ownership="full">
8485             <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
8486           </return-value>
8487           <parameters>
8488             <parameter name="element" transfer-ownership="none">
8489               <type name="Element" c:type="GstElement*"/>
8490             </parameter>
8491             <parameter name="state" transfer-ownership="none">
8492               <type name="State" c:type="GstState"/>
8493             </parameter>
8494           </parameters>
8495         </callback>
8496       </field>
8497       <field name="change_state">
8498         <callback name="change_state" c:type="change_state">
8499           <return-value transfer-ownership="full">
8500             <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
8501           </return-value>
8502           <parameters>
8503             <parameter name="element" transfer-ownership="none">
8504               <type name="Element" c:type="GstElement*"/>
8505             </parameter>
8506             <parameter name="transition" transfer-ownership="none">
8507               <type name="StateChange" c:type="GstStateChange"/>
8508             </parameter>
8509           </parameters>
8510         </callback>
8511       </field>
8512       <field name="set_bus">
8513         <callback name="set_bus" c:type="set_bus">
8514           <return-value transfer-ownership="none">
8515             <type name="none" c:type="void"/>
8516           </return-value>
8517           <parameters>
8518             <parameter name="element" transfer-ownership="none">
8519               <type name="Element" c:type="GstElement*"/>
8520             </parameter>
8521             <parameter name="bus" transfer-ownership="none">
8522               <type name="Bus" c:type="GstBus*"/>
8523             </parameter>
8524           </parameters>
8525         </callback>
8526       </field>
8527       <field name="provide_clock">
8528         <callback name="provide_clock" c:type="provide_clock">
8529           <return-value transfer-ownership="full">
8530             <type name="Clock" c:type="GstClock*"/>
8531           </return-value>
8532           <parameters>
8533             <parameter name="element" transfer-ownership="none">
8534               <type name="Element" c:type="GstElement*"/>
8535             </parameter>
8536           </parameters>
8537         </callback>
8538       </field>
8539       <field name="set_clock">
8540         <callback name="set_clock" c:type="set_clock">
8541           <return-value transfer-ownership="none">
8542             <type name="boolean" c:type="gboolean"/>
8543           </return-value>
8544           <parameters>
8545             <parameter name="element" transfer-ownership="none">
8546               <type name="Element" c:type="GstElement*"/>
8547             </parameter>
8548             <parameter name="clock" transfer-ownership="none">
8549               <type name="Clock" c:type="GstClock*"/>
8550             </parameter>
8551           </parameters>
8552         </callback>
8553       </field>
8554       <field name="get_index">
8555         <callback name="get_index" c:type="get_index">
8556           <return-value transfer-ownership="full">
8557             <type name="Index" c:type="GstIndex*"/>
8558           </return-value>
8559           <parameters>
8560             <parameter name="element" transfer-ownership="none">
8561               <type name="Element" c:type="GstElement*"/>
8562             </parameter>
8563           </parameters>
8564         </callback>
8565       </field>
8566       <field name="set_index">
8567         <callback name="set_index" c:type="set_index">
8568           <return-value transfer-ownership="none">
8569             <type name="none" c:type="void"/>
8570           </return-value>
8571           <parameters>
8572             <parameter name="element" transfer-ownership="none">
8573               <type name="Element" c:type="GstElement*"/>
8574             </parameter>
8575             <parameter name="index" transfer-ownership="none">
8576               <type name="Index" c:type="GstIndex*"/>
8577             </parameter>
8578           </parameters>
8579         </callback>
8580       </field>
8581       <field name="send_event">
8582         <callback name="send_event" c:type="send_event">
8583           <return-value transfer-ownership="none">
8584             <type name="boolean" c:type="gboolean"/>
8585           </return-value>
8586           <parameters>
8587             <parameter name="element" transfer-ownership="none">
8588               <type name="Element" c:type="GstElement*"/>
8589             </parameter>
8590             <parameter name="event" transfer-ownership="none">
8591               <type name="Event" c:type="GstEvent*"/>
8592             </parameter>
8593           </parameters>
8594         </callback>
8595       </field>
8596       <field name="get_query_types">
8597         <callback name="get_query_types" c:type="get_query_types">
8598           <return-value transfer-ownership="none">
8599             <type name="QueryType" c:type="GstQueryType*"/>
8600           </return-value>
8601           <parameters>
8602             <parameter name="element" transfer-ownership="none">
8603               <type name="Element" c:type="GstElement*"/>
8604             </parameter>
8605           </parameters>
8606         </callback>
8607       </field>
8608       <field name="query">
8609         <callback name="query" c:type="query">
8610           <return-value transfer-ownership="none">
8611             <type name="boolean" c:type="gboolean"/>
8612           </return-value>
8613           <parameters>
8614             <parameter name="element" transfer-ownership="none">
8615               <type name="Element" c:type="GstElement*"/>
8616             </parameter>
8617             <parameter name="query" transfer-ownership="none">
8618               <type name="Query" c:type="GstQuery*"/>
8619             </parameter>
8620           </parameters>
8621         </callback>
8622       </field>
8623       <field name="_gst_reserved">
8624         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
8625           <type name="any"/>
8626         </array>
8627       </field>
8628       <method name="add_pad_template"
8629               c:identifier="gst_element_class_add_pad_template">
8630         <return-value transfer-ownership="none">
8631           <type name="none" c:type="void"/>
8632         </return-value>
8633         <parameters>
8634           <parameter name="templ" transfer-ownership="none">
8635             <type name="PadTemplate" c:type="GstPadTemplate*"/>
8636           </parameter>
8637         </parameters>
8638       </method>
8639       <method name="get_pad_template"
8640               c:identifier="gst_element_class_get_pad_template">
8641         <return-value transfer-ownership="full">
8642           <type name="PadTemplate" c:type="GstPadTemplate*"/>
8643         </return-value>
8644         <parameters>
8645           <parameter name="name" transfer-ownership="none">
8646             <type name="utf8" c:type="gchar*"/>
8647           </parameter>
8648         </parameters>
8649       </method>
8650       <method name="get_pad_template_list"
8651               c:identifier="gst_element_class_get_pad_template_list"
8652               introspectable="0">
8653         <return-value transfer-ownership="full">
8654           <type name="GLib.List" c:type="GList*">
8655             <type name="any" c:type="gpointer"/>
8656           </type>
8657         </return-value>
8658       </method>
8659       <method name="set_details" c:identifier="gst_element_class_set_details">
8660         <return-value transfer-ownership="none">
8661           <type name="none" c:type="void"/>
8662         </return-value>
8663         <parameters>
8664           <parameter name="details" transfer-ownership="none">
8665             <type name="ElementDetails" c:type="GstElementDetails*"/>
8666           </parameter>
8667         </parameters>
8668       </method>
8669       <method name="set_details_simple"
8670               c:identifier="gst_element_class_set_details_simple">
8671         <return-value transfer-ownership="none">
8672           <type name="none" c:type="void"/>
8673         </return-value>
8674         <parameters>
8675           <parameter name="longname" transfer-ownership="none">
8676             <type name="utf8" c:type="gchar*"/>
8677           </parameter>
8678           <parameter name="classification" transfer-ownership="none">
8679             <type name="utf8" c:type="gchar*"/>
8680           </parameter>
8681           <parameter name="description" transfer-ownership="none">
8682             <type name="utf8" c:type="gchar*"/>
8683           </parameter>
8684           <parameter name="author" transfer-ownership="none">
8685             <type name="utf8" c:type="gchar*"/>
8686           </parameter>
8687         </parameters>
8688       </method>
8689       <method name="install_std_props"
8690               c:identifier="gst_element_class_install_std_props"
8691               introspectable="0">
8692         <return-value transfer-ownership="none">
8693           <type name="none" c:type="void"/>
8694         </return-value>
8695         <parameters>
8696           <parameter name="first_name" transfer-ownership="none">
8697             <type name="utf8" c:type="gchar*"/>
8698           </parameter>
8699           <parameter transfer-ownership="none">
8700             <varargs>
8701             </varargs>
8702           </parameter>
8703         </parameters>
8704       </method>
8705     </record>
8706     <record name="ElementDetails" c:type="GstElementDetails">
8707       <doc xml:whitespace="preserve">This struct defines the public information about a #GstElement. It contains
8708 meta-data about the element that is mostly for the benefit of editors.
8709 The @klass member can be used by applications to filter elements based
8710 on functionality.</doc>
8711       <field name="longname" writable="1">
8712         <type name="utf8" c:type="gchar*"/>
8713       </field>
8714       <field name="klass" writable="1">
8715         <type name="utf8" c:type="gchar*"/>
8716       </field>
8717       <field name="description" writable="1">
8718         <type name="utf8" c:type="gchar*"/>
8719       </field>
8720       <field name="author" writable="1">
8721         <type name="utf8" c:type="gchar*"/>
8722       </field>
8723       <field name="_gst_reserved" writable="1">
8724         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
8725           <type name="any"/>
8726         </array>
8727       </field>
8728     </record>
8729     <class name="ElementFactory"
8730            c:type="GstElementFactory"
8731            parent="PluginFeature"
8732            glib:type-name="GstElementFactory"
8733            glib:get-type="gst_element_factory_get_type"
8734            glib:type-struct="ElementFactoryClass">
8735       <doc xml:whitespace="preserve">The opaque #GstElementFactory data structure.</doc>
8736       <function name="find" c:identifier="gst_element_factory_find">
8737         <return-value transfer-ownership="full">
8738           <type name="ElementFactory" c:type="GstElementFactory*"/>
8739         </return-value>
8740         <parameters>
8741           <parameter name="name" transfer-ownership="none">
8742             <type name="utf8" c:type="gchar*"/>
8743           </parameter>
8744         </parameters>
8745       </function>
8746       <function name="make" c:identifier="gst_element_factory_make">
8747         <return-value transfer-ownership="full">
8748           <type name="Element" c:type="GstElement*"/>
8749         </return-value>
8750         <parameters>
8751           <parameter name="factoryname" transfer-ownership="none">
8752             <type name="utf8" c:type="gchar*"/>
8753           </parameter>
8754           <parameter name="name" transfer-ownership="none">
8755             <type name="utf8" c:type="gchar*"/>
8756           </parameter>
8757         </parameters>
8758       </function>
8759       <method name="get_element_type"
8760               c:identifier="gst_element_factory_get_element_type">
8761         <return-value transfer-ownership="none">
8762           <type name="GType" c:type="GType"/>
8763         </return-value>
8764       </method>
8765       <method name="get_longname"
8766               c:identifier="gst_element_factory_get_longname">
8767         <return-value transfer-ownership="none">
8768           <type name="utf8" c:type="gchar*"/>
8769         </return-value>
8770       </method>
8771       <method name="get_klass" c:identifier="gst_element_factory_get_klass">
8772         <return-value transfer-ownership="none">
8773           <type name="utf8" c:type="gchar*"/>
8774         </return-value>
8775       </method>
8776       <method name="get_description"
8777               c:identifier="gst_element_factory_get_description">
8778         <return-value transfer-ownership="none">
8779           <type name="utf8" c:type="gchar*"/>
8780         </return-value>
8781       </method>
8782       <method name="get_author" c:identifier="gst_element_factory_get_author">
8783         <return-value transfer-ownership="none">
8784           <type name="utf8" c:type="gchar*"/>
8785         </return-value>
8786       </method>
8787       <method name="get_num_pad_templates"
8788               c:identifier="gst_element_factory_get_num_pad_templates">
8789         <return-value transfer-ownership="none">
8790           <type name="uint" c:type="guint"/>
8791         </return-value>
8792       </method>
8793       <method name="get_static_pad_templates"
8794               c:identifier="gst_element_factory_get_static_pad_templates"
8795               introspectable="0">
8796         <return-value transfer-ownership="none">
8797           <type name="GLib.List" c:type="GList*">
8798             <type name="any" c:type="gpointer"/>
8799           </type>
8800         </return-value>
8801       </method>
8802       <method name="get_uri_type"
8803               c:identifier="gst_element_factory_get_uri_type">
8804         <return-value transfer-ownership="none">
8805           <type name="int" c:type="gint"/>
8806         </return-value>
8807       </method>
8808       <method name="get_uri_protocols"
8809               c:identifier="gst_element_factory_get_uri_protocols">
8810         <return-value transfer-ownership="full">
8811           <array c:type="gchar**">
8812             <type name="utf8"/>
8813           </array>
8814         </return-value>
8815       </method>
8816       <method name="has_interface"
8817               c:identifier="gst_element_factory_has_interface">
8818         <return-value transfer-ownership="none">
8819           <type name="boolean" c:type="gboolean"/>
8820         </return-value>
8821         <parameters>
8822           <parameter name="interfacename" transfer-ownership="none">
8823             <type name="utf8" c:type="gchar*"/>
8824           </parameter>
8825         </parameters>
8826       </method>
8827       <method name="create" c:identifier="gst_element_factory_create">
8828         <return-value transfer-ownership="full">
8829           <type name="Element" c:type="GstElement*"/>
8830         </return-value>
8831         <parameters>
8832           <parameter name="name" transfer-ownership="none">
8833             <type name="utf8" c:type="gchar*"/>
8834           </parameter>
8835         </parameters>
8836       </method>
8837       <method name="can_src_caps"
8838               c:identifier="gst_element_factory_can_src_caps">
8839         <return-value transfer-ownership="none">
8840           <type name="boolean" c:type="gboolean"/>
8841         </return-value>
8842         <parameters>
8843           <parameter name="caps" transfer-ownership="none">
8844             <type name="Caps" c:type="GstCaps*"/>
8845           </parameter>
8846         </parameters>
8847       </method>
8848       <method name="can_sink_caps"
8849               c:identifier="gst_element_factory_can_sink_caps">
8850         <return-value transfer-ownership="none">
8851           <type name="boolean" c:type="gboolean"/>
8852         </return-value>
8853         <parameters>
8854           <parameter name="caps" transfer-ownership="none">
8855             <type name="Caps" c:type="GstCaps*"/>
8856           </parameter>
8857         </parameters>
8858       </method>
8859       <field name="parent">
8860         <type name="PluginFeature" c:type="GstPluginFeature"/>
8861       </field>
8862       <field name="type">
8863         <type name="GType" c:type="GType"/>
8864       </field>
8865       <field name="details">
8866         <type name="ElementDetails" c:type="GstElementDetails"/>
8867       </field>
8868       <field name="staticpadtemplates">
8869         <type name="GLib.List" c:type="GList*">
8870           <type name="any" c:type="gpointer"/>
8871         </type>
8872       </field>
8873       <field name="numpadtemplates">
8874         <type name="uint" c:type="guint"/>
8875       </field>
8876       <field name="uri_type">
8877         <type name="uint" c:type="guint"/>
8878       </field>
8879       <field name="uri_protocols">
8880         <type name="utf8" c:type="gchar**"/>
8881       </field>
8882       <field name="interfaces">
8883         <type name="GLib.List" c:type="GList*">
8884           <type name="any" c:type="gpointer"/>
8885         </type>
8886       </field>
8887       <field name="_gst_reserved">
8888         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
8889           <type name="any"/>
8890         </array>
8891       </field>
8892     </class>
8893     <record name="ElementFactoryClass"
8894             c:type="GstElementFactoryClass"
8895             glib:is-gtype-struct-for="ElementFactory">
8896       <field name="parent_class">
8897         <type name="PluginFeatureClass" c:type="GstPluginFeatureClass"/>
8898       </field>
8899       <field name="_gst_reserved">
8900         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
8901           <type name="any"/>
8902         </array>
8903       </field>
8904     </record>
8905     <bitfield name="ElementFlags"
8906               glib:type-name="GstElementFlags"
8907               glib:get-type="gst_element_flags_get_type"
8908               c:type="GstElementFlags">
8909       <doc xml:whitespace="preserve">The standard flags that an element may have.</doc>
8910       <member name="locked_state"
8911               value="16"
8912               c:identifier="GST_ELEMENT_LOCKED_STATE"
8913               glib:nick="locked-state"/>
8914       <member name="is_sink"
8915               value="32"
8916               c:identifier="GST_ELEMENT_IS_SINK"
8917               glib:nick="is-sink"/>
8918       <member name="unparenting"
8919               value="64"
8920               c:identifier="GST_ELEMENT_UNPARENTING"
8921               glib:nick="unparenting"/>
8922       <member name="flag_last"
8923               value="1048576"
8924               c:identifier="GST_ELEMENT_FLAG_LAST"
8925               glib:nick="flag-last"/>
8926     </bitfield>
8927     <class name="Event"
8928            c:type="GstEvent"
8929            parent="MiniObject"
8930            glib:type-name="GstEvent"
8931            glib:get-type="gst_event_get_type"
8932            glib:type-struct="EventClass"
8933            glib:fundamental="1">
8934       <doc xml:whitespace="preserve">A #GstEvent.</doc>
8935       <constructor name="new_custom" c:identifier="gst_event_new_custom">
8936         <return-value transfer-ownership="full">
8937           <type name="Event" c:type="GstEvent*"/>
8938         </return-value>
8939         <parameters>
8940           <parameter name="type" transfer-ownership="none">
8941             <type name="EventType" c:type="GstEventType"/>
8942           </parameter>
8943           <parameter name="structure" transfer-ownership="none">
8944             <type name="Structure" c:type="GstStructure*"/>
8945           </parameter>
8946         </parameters>
8947       </constructor>
8948       <constructor name="new_flush_start"
8949                    c:identifier="gst_event_new_flush_start">
8950         <return-value transfer-ownership="full">
8951           <type name="Event" c:type="GstEvent*"/>
8952         </return-value>
8953       </constructor>
8954       <constructor name="new_flush_stop"
8955                    c:identifier="gst_event_new_flush_stop">
8956         <return-value transfer-ownership="full">
8957           <type name="Event" c:type="GstEvent*"/>
8958         </return-value>
8959       </constructor>
8960       <constructor name="new_eos" c:identifier="gst_event_new_eos">
8961         <return-value transfer-ownership="full">
8962           <type name="Event" c:type="GstEvent*"/>
8963         </return-value>
8964       </constructor>
8965       <constructor name="new_new_segment"
8966                    c:identifier="gst_event_new_new_segment">
8967         <return-value transfer-ownership="full">
8968           <type name="Event" c:type="GstEvent*"/>
8969         </return-value>
8970         <parameters>
8971           <parameter name="update" transfer-ownership="none">
8972             <type name="boolean" c:type="gboolean"/>
8973           </parameter>
8974           <parameter name="rate" transfer-ownership="none">
8975             <type name="double" c:type="gdouble"/>
8976           </parameter>
8977           <parameter name="format" transfer-ownership="none">
8978             <type name="Format" c:type="GstFormat"/>
8979           </parameter>
8980           <parameter name="start" transfer-ownership="none">
8981             <type name="int64" c:type="gint64"/>
8982           </parameter>
8983           <parameter name="stop" transfer-ownership="none">
8984             <type name="int64" c:type="gint64"/>
8985           </parameter>
8986           <parameter name="position" transfer-ownership="none">
8987             <type name="int64" c:type="gint64"/>
8988           </parameter>
8989         </parameters>
8990       </constructor>
8991       <constructor name="new_new_segment_full"
8992                    c:identifier="gst_event_new_new_segment_full">
8993         <return-value transfer-ownership="full">
8994           <type name="Event" c:type="GstEvent*"/>
8995         </return-value>
8996         <parameters>
8997           <parameter name="update" transfer-ownership="none">
8998             <type name="boolean" c:type="gboolean"/>
8999           </parameter>
9000           <parameter name="rate" transfer-ownership="none">
9001             <type name="double" c:type="gdouble"/>
9002           </parameter>
9003           <parameter name="applied_rate" transfer-ownership="none">
9004             <type name="double" c:type="gdouble"/>
9005           </parameter>
9006           <parameter name="format" transfer-ownership="none">
9007             <type name="Format" c:type="GstFormat"/>
9008           </parameter>
9009           <parameter name="start" transfer-ownership="none">
9010             <type name="int64" c:type="gint64"/>
9011           </parameter>
9012           <parameter name="stop" transfer-ownership="none">
9013             <type name="int64" c:type="gint64"/>
9014           </parameter>
9015           <parameter name="position" transfer-ownership="none">
9016             <type name="int64" c:type="gint64"/>
9017           </parameter>
9018         </parameters>
9019       </constructor>
9020       <constructor name="new_tag" c:identifier="gst_event_new_tag">
9021         <return-value transfer-ownership="full">
9022           <type name="Event" c:type="GstEvent*"/>
9023         </return-value>
9024         <parameters>
9025           <parameter name="taglist" transfer-ownership="none">
9026             <type name="TagList" c:type="GstTagList*"/>
9027           </parameter>
9028         </parameters>
9029       </constructor>
9030       <constructor name="new_buffer_size"
9031                    c:identifier="gst_event_new_buffer_size">
9032         <return-value transfer-ownership="full">
9033           <type name="Event" c:type="GstEvent*"/>
9034         </return-value>
9035         <parameters>
9036           <parameter name="format" transfer-ownership="none">
9037             <type name="Format" c:type="GstFormat"/>
9038           </parameter>
9039           <parameter name="minsize" transfer-ownership="none">
9040             <type name="int64" c:type="gint64"/>
9041           </parameter>
9042           <parameter name="maxsize" transfer-ownership="none">
9043             <type name="int64" c:type="gint64"/>
9044           </parameter>
9045           <parameter name="async" transfer-ownership="none">
9046             <type name="boolean" c:type="gboolean"/>
9047           </parameter>
9048         </parameters>
9049       </constructor>
9050       <constructor name="new_qos" c:identifier="gst_event_new_qos">
9051         <return-value transfer-ownership="full">
9052           <type name="Event" c:type="GstEvent*"/>
9053         </return-value>
9054         <parameters>
9055           <parameter name="proportion" transfer-ownership="none">
9056             <type name="double" c:type="gdouble"/>
9057           </parameter>
9058           <parameter name="diff" transfer-ownership="none">
9059             <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
9060           </parameter>
9061           <parameter name="timestamp" transfer-ownership="none">
9062             <type name="ClockTime" c:type="GstClockTime"/>
9063           </parameter>
9064         </parameters>
9065       </constructor>
9066       <constructor name="new_seek" c:identifier="gst_event_new_seek">
9067         <return-value transfer-ownership="full">
9068           <type name="Event" c:type="GstEvent*"/>
9069         </return-value>
9070         <parameters>
9071           <parameter name="rate" transfer-ownership="none">
9072             <type name="double" c:type="gdouble"/>
9073           </parameter>
9074           <parameter name="format" transfer-ownership="none">
9075             <type name="Format" c:type="GstFormat"/>
9076           </parameter>
9077           <parameter name="flags" transfer-ownership="none">
9078             <type name="SeekFlags" c:type="GstSeekFlags"/>
9079           </parameter>
9080           <parameter name="start_type" transfer-ownership="none">
9081             <type name="SeekType" c:type="GstSeekType"/>
9082           </parameter>
9083           <parameter name="start" transfer-ownership="none">
9084             <type name="int64" c:type="gint64"/>
9085           </parameter>
9086           <parameter name="stop_type" transfer-ownership="none">
9087             <type name="SeekType" c:type="GstSeekType"/>
9088           </parameter>
9089           <parameter name="stop" transfer-ownership="none">
9090             <type name="int64" c:type="gint64"/>
9091           </parameter>
9092         </parameters>
9093       </constructor>
9094       <constructor name="new_navigation"
9095                    c:identifier="gst_event_new_navigation">
9096         <return-value transfer-ownership="full">
9097           <type name="Event" c:type="GstEvent*"/>
9098         </return-value>
9099         <parameters>
9100           <parameter name="structure" transfer-ownership="none">
9101             <type name="Structure" c:type="GstStructure*"/>
9102           </parameter>
9103         </parameters>
9104       </constructor>
9105       <constructor name="new_latency" c:identifier="gst_event_new_latency">
9106         <return-value transfer-ownership="full">
9107           <type name="Event" c:type="GstEvent*"/>
9108         </return-value>
9109         <parameters>
9110           <parameter name="latency" transfer-ownership="none">
9111             <type name="ClockTime" c:type="GstClockTime"/>
9112           </parameter>
9113         </parameters>
9114       </constructor>
9115       <constructor name="new_step" c:identifier="gst_event_new_step">
9116         <return-value transfer-ownership="full">
9117           <type name="Event" c:type="GstEvent*"/>
9118         </return-value>
9119         <parameters>
9120           <parameter name="format" transfer-ownership="none">
9121             <type name="Format" c:type="GstFormat"/>
9122           </parameter>
9123           <parameter name="amount" transfer-ownership="none">
9124             <type name="uint64" c:type="guint64"/>
9125           </parameter>
9126           <parameter name="rate" transfer-ownership="none">
9127             <type name="double" c:type="gdouble"/>
9128           </parameter>
9129           <parameter name="flush" transfer-ownership="none">
9130             <type name="boolean" c:type="gboolean"/>
9131           </parameter>
9132           <parameter name="intermediate" transfer-ownership="none">
9133             <type name="boolean" c:type="gboolean"/>
9134           </parameter>
9135         </parameters>
9136       </constructor>
9137       <constructor name="new_sink_message"
9138                    c:identifier="gst_event_new_sink_message">
9139         <return-value transfer-ownership="full">
9140           <type name="Event" c:type="GstEvent*"/>
9141         </return-value>
9142         <parameters>
9143           <parameter name="msg" transfer-ownership="none">
9144             <type name="Message" c:type="GstMessage*"/>
9145           </parameter>
9146         </parameters>
9147       </constructor>
9148       <function name="type_get_name" c:identifier="gst_event_type_get_name">
9149         <return-value transfer-ownership="none">
9150           <type name="utf8" c:type="gchar*"/>
9151         </return-value>
9152         <parameters>
9153           <parameter name="type" transfer-ownership="none">
9154             <type name="EventType" c:type="GstEventType"/>
9155           </parameter>
9156         </parameters>
9157       </function>
9158       <function name="type_to_quark" c:identifier="gst_event_type_to_quark">
9159         <return-value transfer-ownership="full">
9160           <type name="GLib.Quark" c:type="GQuark"/>
9161         </return-value>
9162         <parameters>
9163           <parameter name="type" transfer-ownership="none">
9164             <type name="EventType" c:type="GstEventType"/>
9165           </parameter>
9166         </parameters>
9167       </function>
9168       <function name="type_get_flags" c:identifier="gst_event_type_get_flags">
9169         <return-value transfer-ownership="full">
9170           <type name="EventTypeFlags" c:type="GstEventTypeFlags"/>
9171         </return-value>
9172         <parameters>
9173           <parameter name="type" transfer-ownership="none">
9174             <type name="EventType" c:type="GstEventType"/>
9175           </parameter>
9176         </parameters>
9177       </function>
9178       <method name="get_structure" c:identifier="gst_event_get_structure">
9179         <return-value transfer-ownership="none">
9180           <type name="Structure" c:type="GstStructure*"/>
9181         </return-value>
9182       </method>
9183       <method name="has_name" c:identifier="gst_event_has_name">
9184         <return-value transfer-ownership="none">
9185           <type name="boolean" c:type="gboolean"/>
9186         </return-value>
9187         <parameters>
9188           <parameter name="name" transfer-ownership="none">
9189             <type name="utf8" c:type="gchar*"/>
9190           </parameter>
9191         </parameters>
9192       </method>
9193       <method name="get_seqnum" c:identifier="gst_event_get_seqnum">
9194         <return-value transfer-ownership="none">
9195           <type name="uint32" c:type="guint32"/>
9196         </return-value>
9197       </method>
9198       <method name="set_seqnum" c:identifier="gst_event_set_seqnum">
9199         <return-value transfer-ownership="none">
9200           <type name="none" c:type="void"/>
9201         </return-value>
9202         <parameters>
9203           <parameter name="seqnum" transfer-ownership="none">
9204             <type name="uint32" c:type="guint32"/>
9205           </parameter>
9206         </parameters>
9207       </method>
9208       <method name="parse_new_segment"
9209               c:identifier="gst_event_parse_new_segment">
9210         <return-value transfer-ownership="none">
9211           <type name="none" c:type="void"/>
9212         </return-value>
9213         <parameters>
9214           <parameter name="update"
9215                      direction="out"
9216                      caller-allocates="0"
9217                      transfer-ownership="full">
9218             <type name="boolean" c:type="gboolean*"/>
9219           </parameter>
9220           <parameter name="rate"
9221                      direction="out"
9222                      caller-allocates="0"
9223                      transfer-ownership="full">
9224             <type name="double" c:type="gdouble*"/>
9225           </parameter>
9226           <parameter name="format" transfer-ownership="none">
9227             <type name="Format" c:type="GstFormat*"/>
9228           </parameter>
9229           <parameter name="start"
9230                      direction="out"
9231                      caller-allocates="0"
9232                      transfer-ownership="full">
9233             <type name="int64" c:type="gint64*"/>
9234           </parameter>
9235           <parameter name="stop"
9236                      direction="out"
9237                      caller-allocates="0"
9238                      transfer-ownership="full">
9239             <type name="int64" c:type="gint64*"/>
9240           </parameter>
9241           <parameter name="position"
9242                      direction="out"
9243                      caller-allocates="0"
9244                      transfer-ownership="full">
9245             <type name="int64" c:type="gint64*"/>
9246           </parameter>
9247         </parameters>
9248       </method>
9249       <method name="parse_new_segment_full"
9250               c:identifier="gst_event_parse_new_segment_full">
9251         <return-value transfer-ownership="none">
9252           <type name="none" c:type="void"/>
9253         </return-value>
9254         <parameters>
9255           <parameter name="update"
9256                      direction="out"
9257                      caller-allocates="0"
9258                      transfer-ownership="full">
9259             <type name="boolean" c:type="gboolean*"/>
9260           </parameter>
9261           <parameter name="rate"
9262                      direction="out"
9263                      caller-allocates="0"
9264                      transfer-ownership="full">
9265             <type name="double" c:type="gdouble*"/>
9266           </parameter>
9267           <parameter name="applied_rate"
9268                      direction="out"
9269                      caller-allocates="0"
9270                      transfer-ownership="full">
9271             <type name="double" c:type="gdouble*"/>
9272           </parameter>
9273           <parameter name="format" transfer-ownership="none">
9274             <type name="Format" c:type="GstFormat*"/>
9275           </parameter>
9276           <parameter name="start"
9277                      direction="out"
9278                      caller-allocates="0"
9279                      transfer-ownership="full">
9280             <type name="int64" c:type="gint64*"/>
9281           </parameter>
9282           <parameter name="stop"
9283                      direction="out"
9284                      caller-allocates="0"
9285                      transfer-ownership="full">
9286             <type name="int64" c:type="gint64*"/>
9287           </parameter>
9288           <parameter name="position"
9289                      direction="out"
9290                      caller-allocates="0"
9291                      transfer-ownership="full">
9292             <type name="int64" c:type="gint64*"/>
9293           </parameter>
9294         </parameters>
9295       </method>
9296       <method name="parse_tag" c:identifier="gst_event_parse_tag">
9297         <return-value transfer-ownership="none">
9298           <type name="none" c:type="void"/>
9299         </return-value>
9300         <parameters>
9301           <parameter name="taglist" transfer-ownership="none">
9302             <type name="TagList" c:type="GstTagList**"/>
9303           </parameter>
9304         </parameters>
9305       </method>
9306       <method name="parse_buffer_size"
9307               c:identifier="gst_event_parse_buffer_size">
9308         <return-value transfer-ownership="none">
9309           <type name="none" c:type="void"/>
9310         </return-value>
9311         <parameters>
9312           <parameter name="format" transfer-ownership="none">
9313             <type name="Format" c:type="GstFormat*"/>
9314           </parameter>
9315           <parameter name="minsize"
9316                      direction="out"
9317                      caller-allocates="0"
9318                      transfer-ownership="full">
9319             <type name="int64" c:type="gint64*"/>
9320           </parameter>
9321           <parameter name="maxsize"
9322                      direction="out"
9323                      caller-allocates="0"
9324                      transfer-ownership="full">
9325             <type name="int64" c:type="gint64*"/>
9326           </parameter>
9327           <parameter name="async"
9328                      direction="out"
9329                      caller-allocates="0"
9330                      transfer-ownership="full">
9331             <type name="boolean" c:type="gboolean*"/>
9332           </parameter>
9333         </parameters>
9334       </method>
9335       <method name="parse_qos" c:identifier="gst_event_parse_qos">
9336         <return-value transfer-ownership="none">
9337           <type name="none" c:type="void"/>
9338         </return-value>
9339         <parameters>
9340           <parameter name="proportion"
9341                      direction="out"
9342                      caller-allocates="0"
9343                      transfer-ownership="full">
9344             <type name="double" c:type="gdouble*"/>
9345           </parameter>
9346           <parameter name="diff" transfer-ownership="none">
9347             <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
9348           </parameter>
9349           <parameter name="timestamp" transfer-ownership="none">
9350             <type name="ClockTime" c:type="GstClockTime*"/>
9351           </parameter>
9352         </parameters>
9353       </method>
9354       <method name="parse_seek" c:identifier="gst_event_parse_seek">
9355         <return-value transfer-ownership="none">
9356           <type name="none" c:type="void"/>
9357         </return-value>
9358         <parameters>
9359           <parameter name="rate"
9360                      direction="out"
9361                      caller-allocates="0"
9362                      transfer-ownership="full">
9363             <type name="double" c:type="gdouble*"/>
9364           </parameter>
9365           <parameter name="format" transfer-ownership="none">
9366             <type name="Format" c:type="GstFormat*"/>
9367           </parameter>
9368           <parameter name="flags" transfer-ownership="none">
9369             <type name="SeekFlags" c:type="GstSeekFlags*"/>
9370           </parameter>
9371           <parameter name="start_type" transfer-ownership="none">
9372             <type name="SeekType" c:type="GstSeekType*"/>
9373           </parameter>
9374           <parameter name="start"
9375                      direction="out"
9376                      caller-allocates="0"
9377                      transfer-ownership="full">
9378             <type name="int64" c:type="gint64*"/>
9379           </parameter>
9380           <parameter name="stop_type" transfer-ownership="none">
9381             <type name="SeekType" c:type="GstSeekType*"/>
9382           </parameter>
9383           <parameter name="stop"
9384                      direction="out"
9385                      caller-allocates="0"
9386                      transfer-ownership="full">
9387             <type name="int64" c:type="gint64*"/>
9388           </parameter>
9389         </parameters>
9390       </method>
9391       <method name="parse_latency" c:identifier="gst_event_parse_latency">
9392         <return-value transfer-ownership="none">
9393           <type name="none" c:type="void"/>
9394         </return-value>
9395         <parameters>
9396           <parameter name="latency" transfer-ownership="none">
9397             <type name="ClockTime" c:type="GstClockTime*"/>
9398           </parameter>
9399         </parameters>
9400       </method>
9401       <method name="parse_step" c:identifier="gst_event_parse_step">
9402         <return-value transfer-ownership="none">
9403           <type name="none" c:type="void"/>
9404         </return-value>
9405         <parameters>
9406           <parameter name="format" transfer-ownership="none">
9407             <type name="Format" c:type="GstFormat*"/>
9408           </parameter>
9409           <parameter name="amount"
9410                      direction="out"
9411                      caller-allocates="0"
9412                      transfer-ownership="full">
9413             <type name="uint64" c:type="guint64*"/>
9414           </parameter>
9415           <parameter name="rate"
9416                      direction="out"
9417                      caller-allocates="0"
9418                      transfer-ownership="full">
9419             <type name="double" c:type="gdouble*"/>
9420           </parameter>
9421           <parameter name="flush"
9422                      direction="out"
9423                      caller-allocates="0"
9424                      transfer-ownership="full">
9425             <type name="boolean" c:type="gboolean*"/>
9426           </parameter>
9427           <parameter name="intermediate"
9428                      direction="out"
9429                      caller-allocates="0"
9430                      transfer-ownership="full">
9431             <type name="boolean" c:type="gboolean*"/>
9432           </parameter>
9433         </parameters>
9434       </method>
9435       <method name="parse_sink_message"
9436               c:identifier="gst_event_parse_sink_message">
9437         <return-value transfer-ownership="none">
9438           <type name="none" c:type="void"/>
9439         </return-value>
9440         <parameters>
9441           <parameter name="msg" transfer-ownership="none">
9442             <type name="Message" c:type="GstMessage**"/>
9443           </parameter>
9444         </parameters>
9445       </method>
9446       <field name="mini_object">
9447         <type name="MiniObject" c:type="GstMiniObject"/>
9448       </field>
9449       <field name="type">
9450         <type name="EventType" c:type="GstEventType"/>
9451       </field>
9452       <field name="timestamp">
9453         <type name="uint64" c:type="guint64"/>
9454       </field>
9455       <field name="src">
9456         <type name="Object" c:type="GstObject*"/>
9457       </field>
9458       <field name="structure">
9459         <type name="Structure" c:type="GstStructure*"/>
9460       </field>
9461       <union name="abidata" c:type="abidata">
9462         <field name="seqnum" writable="1">
9463           <type name="uint32" c:type="guint32"/>
9464         </field>
9465         <field name="_gst_reserved" writable="1">
9466           <type name="any" c:type="gpointer"/>
9467         </field>
9468       </union>
9469     </class>
9470     <record name="EventClass"
9471             c:type="GstEventClass"
9472             glib:is-gtype-struct-for="Event">
9473       <field name="mini_object_class">
9474         <type name="MiniObjectClass" c:type="GstMiniObjectClass"/>
9475       </field>
9476       <field name="_gst_reserved">
9477         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
9478           <type name="any"/>
9479         </array>
9480       </field>
9481     </record>
9482     <enumeration name="EventType"
9483                  glib:type-name="GstEventType"
9484                  glib:get-type="gst_event_type_get_type"
9485                  c:type="GstEventType">
9486       <doc xml:whitespace="preserve">#GstEventType lists the standard event types that can be sent in a pipeline.
9487 The custom event types can be used for private messages between elements
9488 that can't be expressed using normal
9489 GStreamer buffer passing semantics. Custom events carry an arbitrary
9490 #GstStructure.
9491 Specific custom events are distinguished by the name of the structure.</doc>
9492       <member name="unknown"
9493               value="0"
9494               c:identifier="GST_EVENT_UNKNOWN"
9495               glib:nick="unknown"/>
9496       <member name="flush_start"
9497               value="19"
9498               c:identifier="GST_EVENT_FLUSH_START"
9499               glib:nick="flush-start"/>
9500       <member name="flush_stop"
9501               value="39"
9502               c:identifier="GST_EVENT_FLUSH_STOP"
9503               glib:nick="flush-stop"/>
9504       <member name="eos"
9505               value="86"
9506               c:identifier="GST_EVENT_EOS"
9507               glib:nick="eos"/>
9508       <member name="newsegment"
9509               value="102"
9510               c:identifier="GST_EVENT_NEWSEGMENT"
9511               glib:nick="newsegment"/>
9512       <member name="tag"
9513               value="118"
9514               c:identifier="GST_EVENT_TAG"
9515               glib:nick="tag"/>
9516       <member name="buffersize"
9517               value="134"
9518               c:identifier="GST_EVENT_BUFFERSIZE"
9519               glib:nick="buffersize"/>
9520       <member name="sink_message"
9521               value="150"
9522               c:identifier="GST_EVENT_SINK_MESSAGE"
9523               glib:nick="sink-message"/>
9524       <member name="qos"
9525               value="241"
9526               c:identifier="GST_EVENT_QOS"
9527               glib:nick="qos"/>
9528       <member name="seek"
9529               value="257"
9530               c:identifier="GST_EVENT_SEEK"
9531               glib:nick="seek"/>
9532       <member name="navigation"
9533               value="273"
9534               c:identifier="GST_EVENT_NAVIGATION"
9535               glib:nick="navigation"/>
9536       <member name="latency"
9537               value="289"
9538               c:identifier="GST_EVENT_LATENCY"
9539               glib:nick="latency"/>
9540       <member name="step"
9541               value="305"
9542               c:identifier="GST_EVENT_STEP"
9543               glib:nick="step"/>
9544       <member name="custom_upstream"
9545               value="513"
9546               c:identifier="GST_EVENT_CUSTOM_UPSTREAM"
9547               glib:nick="custom-upstream"/>
9548       <member name="custom_downstream"
9549               value="518"
9550               c:identifier="GST_EVENT_CUSTOM_DOWNSTREAM"
9551               glib:nick="custom-downstream"/>
9552       <member name="custom_downstream_oob"
9553               value="514"
9554               c:identifier="GST_EVENT_CUSTOM_DOWNSTREAM_OOB"
9555               glib:nick="custom-downstream-oob"/>
9556       <member name="custom_both"
9557               value="519"
9558               c:identifier="GST_EVENT_CUSTOM_BOTH"
9559               glib:nick="custom-both"/>
9560       <member name="custom_both_oob"
9561               value="515"
9562               c:identifier="GST_EVENT_CUSTOM_BOTH_OOB"
9563               glib:nick="custom-both-oob"/>
9564     </enumeration>
9565     <bitfield name="EventTypeFlags"
9566               glib:type-name="GstEventTypeFlags"
9567               glib:get-type="gst_event_type_flags_get_type"
9568               c:type="GstEventTypeFlags">
9569       <doc xml:whitespace="preserve">#GstEventTypeFlags indicate the aspects of the different #GstEventType
9570 values. You can get the type flags of a #GstEventType with the
9571 gst_event_type_get_flags() function.</doc>
9572       <member name="upstream"
9573               value="1"
9574               c:identifier="GST_EVENT_TYPE_UPSTREAM"
9575               glib:nick="upstream"/>
9576       <member name="downstream"
9577               value="2"
9578               c:identifier="GST_EVENT_TYPE_DOWNSTREAM"
9579               glib:nick="downstream"/>
9580       <member name="serialized"
9581               value="4"
9582               c:identifier="GST_EVENT_TYPE_SERIALIZED"
9583               glib:nick="serialized"/>
9584     </bitfield>
9585     <constant name="FOURCC_FORMAT" value="c%c%c%c">
9586       <type name="utf8"/>
9587     </constant>
9588     <callback name="FilterFunc" c:type="GstFilterFunc">
9589       <doc xml:whitespace="preserve">Function prototype for a filter callback taht can be use in gst_filter_run().
9590 The function should apply its filtering to @obj. Additional data passed to
9591 gst_filter_run() are in @data.</doc>
9592       <return-value transfer-ownership="none">
9593         <doc xml:whitespace="preserve">%TRUE for success.</doc>
9594         <type name="boolean" c:type="gboolean"/>
9595       </return-value>
9596       <parameters>
9597         <parameter name="obj" transfer-ownership="none">
9598           <doc xml:whitespace="preserve">the object</doc>
9599           <type name="any" c:type="gpointer"/>
9600         </parameter>
9601         <parameter name="user_data" transfer-ownership="none" closure="1">
9602           <doc xml:whitespace="preserve">filter data</doc>
9603           <type name="any" c:type="gpointer"/>
9604         </parameter>
9605       </parameters>
9606     </callback>
9607     <enumeration name="FlowReturn"
9608                  glib:type-name="GstFlowReturn"
9609                  glib:get-type="gst_flow_return_get_type"
9610                  c:type="GstFlowReturn">
9611       <doc xml:whitespace="preserve">sent yet) (unused/unimplemented).
9612 this error should post an error message with more
9613 details.
9614 this (and higher) to define custom success
9615 codes. Since 0.10.7.
9616 custom success code to this to avoid compiler
9617 warnings). Since 0.10.29.
9618 this (and lower) to define custom error codes.
9619 Since 0.10.7.
9620 custom error code to this to avoid compiler
9621 warnings). Since 0.10.29.
9622 The result of passing data to a pad.
9623 Note that the custom return values should not be exposed outside of the
9624 element scope and are available since 0.10.7.</doc>
9625       <member name="custom_success_2"
9626               value="102"
9627               c:identifier="GST_FLOW_CUSTOM_SUCCESS_2"
9628               glib:nick="custom-success-2"/>
9629       <member name="custom_success_1"
9630               value="101"
9631               c:identifier="GST_FLOW_CUSTOM_SUCCESS_1"
9632               glib:nick="custom-success-1"/>
9633       <member name="custom_success"
9634               value="100"
9635               c:identifier="GST_FLOW_CUSTOM_SUCCESS"
9636               glib:nick="custom-success"/>
9637       <member name="resend"
9638               value="1"
9639               c:identifier="GST_FLOW_RESEND"
9640               glib:nick="resend"/>
9641       <member name="ok" value="0" c:identifier="GST_FLOW_OK" glib:nick="ok"/>
9642       <member name="not_linked"
9643               value="-1"
9644               c:identifier="GST_FLOW_NOT_LINKED"
9645               glib:nick="not-linked"/>
9646       <member name="wrong_state"
9647               value="-2"
9648               c:identifier="GST_FLOW_WRONG_STATE"
9649               glib:nick="wrong-state"/>
9650       <member name="unexpected"
9651               value="-3"
9652               c:identifier="GST_FLOW_UNEXPECTED"
9653               glib:nick="unexpected"/>
9654       <member name="not_negotiated"
9655               value="-4"
9656               c:identifier="GST_FLOW_NOT_NEGOTIATED"
9657               glib:nick="not-negotiated"/>
9658       <member name="error"
9659               value="-5"
9660               c:identifier="GST_FLOW_ERROR"
9661               glib:nick="error"/>
9662       <member name="not_supported"
9663               value="-6"
9664               c:identifier="GST_FLOW_NOT_SUPPORTED"
9665               glib:nick="not-supported"/>
9666       <member name="custom_error"
9667               value="-100"
9668               c:identifier="GST_FLOW_CUSTOM_ERROR"
9669               glib:nick="custom-error"/>
9670       <member name="custom_error_1"
9671               value="-101"
9672               c:identifier="GST_FLOW_CUSTOM_ERROR_1"
9673               glib:nick="custom-error-1"/>
9674       <member name="custom_error_2"
9675               value="-102"
9676               c:identifier="GST_FLOW_CUSTOM_ERROR_2"
9677               glib:nick="custom-error-2"/>
9678     </enumeration>
9679     <enumeration name="Format"
9680                  glib:type-name="GstFormat"
9681                  glib:get-type="gst_format_get_type"
9682                  c:type="GstFormat">
9683       <doc xml:whitespace="preserve">Standard predefined formats</doc>
9684       <member name="undefined"
9685               value="0"
9686               c:identifier="GST_FORMAT_UNDEFINED"
9687               glib:nick="undefined"/>
9688       <member name="default"
9689               value="1"
9690               c:identifier="GST_FORMAT_DEFAULT"
9691               glib:nick="default"/>
9692       <member name="bytes"
9693               value="2"
9694               c:identifier="GST_FORMAT_BYTES"
9695               glib:nick="bytes"/>
9696       <member name="time"
9697               value="3"
9698               c:identifier="GST_FORMAT_TIME"
9699               glib:nick="time"/>
9700       <member name="buffers"
9701               value="4"
9702               c:identifier="GST_FORMAT_BUFFERS"
9703               glib:nick="buffers"/>
9704       <member name="percent"
9705               value="5"
9706               c:identifier="GST_FORMAT_PERCENT"
9707               glib:nick="percent"/>
9708     </enumeration>
9709     <record name="FormatDefinition" c:type="GstFormatDefinition">
9710       <doc xml:whitespace="preserve">A format definition</doc>
9711       <field name="value" writable="1">
9712         <type name="Format" c:type="GstFormat"/>
9713       </field>
9714       <field name="nick" writable="1">
9715         <type name="utf8" c:type="gchar*"/>
9716       </field>
9717       <field name="description" writable="1">
9718         <type name="utf8" c:type="gchar*"/>
9719       </field>
9720       <field name="quark" writable="1">
9721         <type name="GLib.Quark" c:type="GQuark"/>
9722       </field>
9723     </record>
9724     <glib:boxed c:type="GError"
9725                 glib:name="GError"
9726                 glib:type-name="GError"
9727                 glib:get-type="gst_g_error_get_type">
9728     </glib:boxed>
9729     <class name="GParamSpecMiniObject"
9730            c:type="GParamSpecMiniObject"
9731            parent="GObject.Object"
9732            glib:type-name="GParamSpecMiniObject"
9733            glib:get-type="gst_param_spec_mini_object_get_type"
9734            glib:fundamental="1">
9735     </class>
9736     <class name="GhostPad"
9737            c:type="GstGhostPad"
9738            parent="ProxyPad"
9739            glib:type-name="GstGhostPad"
9740            glib:get-type="gst_ghost_pad_get_type"
9741            glib:type-struct="GhostPadClass">
9742       <doc xml:whitespace="preserve">Opaque #GstGhostPad structure.</doc>
9743       <constructor name="new" c:identifier="gst_ghost_pad_new">
9744         <return-value transfer-ownership="full">
9745           <type name="GhostPad" c:type="GstPad*"/>
9746         </return-value>
9747         <parameters>
9748           <parameter name="name" transfer-ownership="none">
9749             <type name="utf8" c:type="gchar*"/>
9750           </parameter>
9751           <parameter name="target" transfer-ownership="none">
9752             <type name="Pad" c:type="GstPad*"/>
9753           </parameter>
9754         </parameters>
9755       </constructor>
9756       <constructor name="new_no_target"
9757                    c:identifier="gst_ghost_pad_new_no_target">
9758         <return-value transfer-ownership="full">
9759           <type name="GhostPad" c:type="GstPad*"/>
9760         </return-value>
9761         <parameters>
9762           <parameter name="name" transfer-ownership="none">
9763             <type name="utf8" c:type="gchar*"/>
9764           </parameter>
9765           <parameter name="dir" transfer-ownership="none">
9766             <type name="PadDirection" c:type="GstPadDirection"/>
9767           </parameter>
9768         </parameters>
9769       </constructor>
9770       <constructor name="new_from_template"
9771                    c:identifier="gst_ghost_pad_new_from_template">
9772         <return-value transfer-ownership="full">
9773           <type name="GhostPad" c:type="GstPad*"/>
9774         </return-value>
9775         <parameters>
9776           <parameter name="name" transfer-ownership="none">
9777             <type name="utf8" c:type="gchar*"/>
9778           </parameter>
9779           <parameter name="target" transfer-ownership="none">
9780             <type name="Pad" c:type="GstPad*"/>
9781           </parameter>
9782           <parameter name="templ" transfer-ownership="none">
9783             <type name="PadTemplate" c:type="GstPadTemplate*"/>
9784           </parameter>
9785         </parameters>
9786       </constructor>
9787       <constructor name="new_no_target_from_template"
9788                    c:identifier="gst_ghost_pad_new_no_target_from_template">
9789         <return-value transfer-ownership="full">
9790           <type name="GhostPad" c:type="GstPad*"/>
9791         </return-value>
9792         <parameters>
9793           <parameter name="name" transfer-ownership="none">
9794             <type name="utf8" c:type="gchar*"/>
9795           </parameter>
9796           <parameter name="templ" transfer-ownership="none">
9797             <type name="PadTemplate" c:type="GstPadTemplate*"/>
9798           </parameter>
9799         </parameters>
9800       </constructor>
9801       <method name="get_target" c:identifier="gst_ghost_pad_get_target">
9802         <return-value transfer-ownership="full">
9803           <type name="Pad" c:type="GstPad*"/>
9804         </return-value>
9805       </method>
9806       <method name="set_target" c:identifier="gst_ghost_pad_set_target">
9807         <return-value transfer-ownership="none">
9808           <type name="boolean" c:type="gboolean"/>
9809         </return-value>
9810         <parameters>
9811           <parameter name="newtarget" transfer-ownership="none">
9812             <type name="Pad" c:type="GstPad*"/>
9813           </parameter>
9814         </parameters>
9815       </method>
9816       <method name="construct" c:identifier="gst_ghost_pad_construct">
9817         <return-value transfer-ownership="none">
9818           <type name="boolean" c:type="gboolean"/>
9819         </return-value>
9820       </method>
9821       <field name="pad">
9822         <type name="ProxyPad" c:type="GstProxyPad"/>
9823       </field>
9824       <field name="priv">
9825         <type name="GhostPadPrivate" c:type="GstGhostPadPrivate*"/>
9826       </field>
9827     </class>
9828     <record name="GhostPadClass"
9829             c:type="GstGhostPadClass"
9830             glib:is-gtype-struct-for="GhostPad">
9831       <field name="parent_class">
9832         <type name="ProxyPadClass" c:type="GstProxyPadClass"/>
9833       </field>
9834       <field name="_gst_reserved">
9835         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
9836           <type name="any"/>
9837         </array>
9838       </field>
9839     </record>
9840     <record name="GhostPadPrivate" c:type="GstGhostPadPrivate">
9841     </record>
9842     <constant name="HAVE_GLIB_2_8" value="1">
9843       <type name="int"/>
9844     </constant>
9845     <constant name="HAVE_UNALIGNED_ACCESS" value="1">
9846       <type name="int"/>
9847     </constant>
9848     <constant name="INDEX_ID_INVALID" value="-1">
9849       <type name="int"/>
9850     </constant>
9851     <interface name="ImplementsInterface"
9852                c:type="GstImplementsInterface"
9853                glib:type-name="GstImplementsInterface"
9854                glib:get-type="gst_implements_interface_get_type"
9855                glib:type-struct="ImplementsInterfaceClass">
9856       <doc xml:whitespace="preserve">Opaque #GstImplementsInterface structure.</doc>
9857       <prerequisite name="Element"/>
9858       <virtual-method name="supported">
9859         <return-value transfer-ownership="none">
9860           <type name="boolean" c:type="gboolean"/>
9861         </return-value>
9862         <parameters>
9863           <parameter name="iface_type" transfer-ownership="none">
9864             <type name="GType" c:type="GType"/>
9865           </parameter>
9866         </parameters>
9867       </virtual-method>
9868     </interface>
9869     <record name="ImplementsInterfaceClass"
9870             c:type="GstImplementsInterfaceClass"
9871             glib:is-gtype-struct-for="ImplementsInterface">
9872       <field name="parent">
9873         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
9874       </field>
9875       <field name="supported">
9876         <callback name="supported" c:type="supported">
9877           <return-value transfer-ownership="none">
9878             <type name="boolean" c:type="gboolean"/>
9879           </return-value>
9880           <parameters>
9881             <parameter name="iface" transfer-ownership="none">
9882               <type name="ImplementsInterface"
9883                     c:type="GstImplementsInterface*"/>
9884             </parameter>
9885             <parameter name="iface_type" transfer-ownership="none">
9886               <type name="GType" c:type="GType"/>
9887             </parameter>
9888           </parameters>
9889         </callback>
9890       </field>
9891       <field name="_gst_reserved">
9892         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
9893           <type name="any"/>
9894         </array>
9895       </field>
9896     </record>
9897     <class name="Index"
9898            c:type="GstIndex"
9899            parent="Object"
9900            glib:type-name="GstIndex"
9901            glib:get-type="gst_index_get_type"
9902            glib:type-struct="IndexClass">
9903       <doc xml:whitespace="preserve">Opaque #GstIndex structure.</doc>
9904       <constructor name="new" c:identifier="gst_index_new">
9905         <return-value transfer-ownership="full">
9906           <type name="Index" c:type="GstIndex*"/>
9907         </return-value>
9908       </constructor>
9909       <virtual-method name="get_writer_id">
9910         <return-value transfer-ownership="none">
9911           <type name="boolean" c:type="gboolean"/>
9912         </return-value>
9913         <parameters>
9914           <parameter name="writer_id"
9915                      direction="out"
9916                      caller-allocates="0"
9917                      transfer-ownership="full">
9918             <type name="int" c:type="gint*"/>
9919           </parameter>
9920           <parameter name="writer_string" transfer-ownership="full">
9921             <type name="utf8" c:type="gchar*"/>
9922           </parameter>
9923         </parameters>
9924       </virtual-method>
9925       <virtual-method name="commit" invoker="commit">
9926         <return-value transfer-ownership="none">
9927           <type name="none" c:type="void"/>
9928         </return-value>
9929         <parameters>
9930           <parameter name="id" transfer-ownership="none">
9931             <type name="int" c:type="gint"/>
9932           </parameter>
9933         </parameters>
9934       </virtual-method>
9935       <virtual-method name="add_entry">
9936         <return-value transfer-ownership="none">
9937           <type name="none" c:type="void"/>
9938         </return-value>
9939         <parameters>
9940           <parameter name="entry" transfer-ownership="none">
9941             <type name="IndexEntry" c:type="GstIndexEntry*"/>
9942           </parameter>
9943         </parameters>
9944       </virtual-method>
9945       <virtual-method name="get_assoc_entry">
9946         <return-value transfer-ownership="full">
9947           <type name="IndexEntry" c:type="GstIndexEntry*"/>
9948         </return-value>
9949         <parameters>
9950           <parameter name="id" transfer-ownership="none">
9951             <type name="int" c:type="gint"/>
9952           </parameter>
9953           <parameter name="method" transfer-ownership="none">
9954             <type name="IndexLookupMethod" c:type="GstIndexLookupMethod"/>
9955           </parameter>
9956           <parameter name="flags" transfer-ownership="none">
9957             <type name="AssocFlags" c:type="GstAssocFlags"/>
9958           </parameter>
9959           <parameter name="format" transfer-ownership="none">
9960             <type name="Format" c:type="GstFormat"/>
9961           </parameter>
9962           <parameter name="value" transfer-ownership="none">
9963             <type name="int64" c:type="gint64"/>
9964           </parameter>
9965           <parameter name="func" transfer-ownership="none">
9966             <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
9967           </parameter>
9968           <parameter name="user_data" transfer-ownership="none" closure="7">
9969             <type name="any" c:type="gpointer"/>
9970           </parameter>
9971         </parameters>
9972       </virtual-method>
9973       <method name="commit" c:identifier="gst_index_commit">
9974         <return-value transfer-ownership="none">
9975           <type name="none" c:type="void"/>
9976         </return-value>
9977         <parameters>
9978           <parameter name="id" transfer-ownership="none">
9979             <type name="int" c:type="gint"/>
9980           </parameter>
9981         </parameters>
9982       </method>
9983       <method name="get_group" c:identifier="gst_index_get_group">
9984         <return-value transfer-ownership="none">
9985           <type name="int" c:type="gint"/>
9986         </return-value>
9987       </method>
9988       <method name="new_group" c:identifier="gst_index_new_group">
9989         <return-value transfer-ownership="none">
9990           <type name="int" c:type="gint"/>
9991         </return-value>
9992       </method>
9993       <method name="set_group" c:identifier="gst_index_set_group">
9994         <return-value transfer-ownership="none">
9995           <type name="boolean" c:type="gboolean"/>
9996         </return-value>
9997         <parameters>
9998           <parameter name="groupnum" transfer-ownership="none">
9999             <type name="int" c:type="gint"/>
10000           </parameter>
10001         </parameters>
10002       </method>
10003       <method name="set_certainty" c:identifier="gst_index_set_certainty">
10004         <return-value transfer-ownership="none">
10005           <type name="none" c:type="void"/>
10006         </return-value>
10007         <parameters>
10008           <parameter name="certainty" transfer-ownership="none">
10009             <type name="IndexCertainty" c:type="GstIndexCertainty"/>
10010           </parameter>
10011         </parameters>
10012       </method>
10013       <method name="get_certainty" c:identifier="gst_index_get_certainty">
10014         <return-value transfer-ownership="full">
10015           <type name="IndexCertainty" c:type="GstIndexCertainty"/>
10016         </return-value>
10017       </method>
10018       <method name="set_filter" c:identifier="gst_index_set_filter">
10019         <return-value transfer-ownership="none">
10020           <type name="none" c:type="void"/>
10021         </return-value>
10022         <parameters>
10023           <parameter name="filter"
10024                      transfer-ownership="none"
10025                      scope="call"
10026                      closure="2">
10027             <type name="IndexFilter" c:type="GstIndexFilter"/>
10028           </parameter>
10029           <parameter name="user_data" transfer-ownership="none">
10030             <type name="any" c:type="gpointer"/>
10031           </parameter>
10032         </parameters>
10033       </method>
10034       <method name="set_filter_full" c:identifier="gst_index_set_filter_full">
10035         <return-value transfer-ownership="none">
10036           <type name="none" c:type="void"/>
10037         </return-value>
10038         <parameters>
10039           <parameter name="filter"
10040                      transfer-ownership="none"
10041                      scope="notified"
10042                      closure="2"
10043                      destroy="3">
10044             <type name="IndexFilter" c:type="GstIndexFilter"/>
10045           </parameter>
10046           <parameter name="user_data" transfer-ownership="none">
10047             <type name="any" c:type="gpointer"/>
10048           </parameter>
10049           <parameter name="user_data_destroy"
10050                      transfer-ownership="none"
10051                      scope="call">
10052             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
10053           </parameter>
10054         </parameters>
10055       </method>
10056       <method name="set_resolver" c:identifier="gst_index_set_resolver">
10057         <return-value transfer-ownership="none">
10058           <type name="none" c:type="void"/>
10059         </return-value>
10060         <parameters>
10061           <parameter name="resolver"
10062                      transfer-ownership="none"
10063                      scope="call"
10064                      closure="2">
10065             <type name="IndexResolver" c:type="GstIndexResolver"/>
10066           </parameter>
10067           <parameter name="user_data" transfer-ownership="none">
10068             <type name="any" c:type="gpointer"/>
10069           </parameter>
10070         </parameters>
10071       </method>
10072       <method name="set_resolver_full"
10073               c:identifier="gst_index_set_resolver_full">
10074         <return-value transfer-ownership="none">
10075           <type name="none" c:type="void"/>
10076         </return-value>
10077         <parameters>
10078           <parameter name="resolver"
10079                      transfer-ownership="none"
10080                      scope="notified"
10081                      closure="2"
10082                      destroy="3">
10083             <type name="IndexResolver" c:type="GstIndexResolver"/>
10084           </parameter>
10085           <parameter name="user_data" transfer-ownership="none">
10086             <type name="any" c:type="gpointer"/>
10087           </parameter>
10088           <parameter name="user_data_destroy"
10089                      transfer-ownership="none"
10090                      scope="call">
10091             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
10092           </parameter>
10093         </parameters>
10094       </method>
10095       <method name="get_writer_id" c:identifier="gst_index_get_writer_id">
10096         <return-value transfer-ownership="none">
10097           <type name="boolean" c:type="gboolean"/>
10098         </return-value>
10099         <parameters>
10100           <parameter name="writer" transfer-ownership="none">
10101             <type name="Object" c:type="GstObject*"/>
10102           </parameter>
10103           <parameter name="id"
10104                      direction="out"
10105                      caller-allocates="0"
10106                      transfer-ownership="full">
10107             <type name="int" c:type="gint*"/>
10108           </parameter>
10109         </parameters>
10110       </method>
10111       <method name="add_format" c:identifier="gst_index_add_format">
10112         <return-value transfer-ownership="full">
10113           <type name="IndexEntry" c:type="GstIndexEntry*"/>
10114         </return-value>
10115         <parameters>
10116           <parameter name="id" transfer-ownership="none">
10117             <type name="int" c:type="gint"/>
10118           </parameter>
10119           <parameter name="format" transfer-ownership="none">
10120             <type name="Format" c:type="GstFormat"/>
10121           </parameter>
10122         </parameters>
10123       </method>
10124       <method name="add_associationv"
10125               c:identifier="gst_index_add_associationv">
10126         <return-value transfer-ownership="full">
10127           <type name="IndexEntry" c:type="GstIndexEntry*"/>
10128         </return-value>
10129         <parameters>
10130           <parameter name="id" transfer-ownership="none">
10131             <type name="int" c:type="gint"/>
10132           </parameter>
10133           <parameter name="flags" transfer-ownership="none">
10134             <type name="AssocFlags" c:type="GstAssocFlags"/>
10135           </parameter>
10136           <parameter name="n" transfer-ownership="none">
10137             <type name="int" c:type="gint"/>
10138           </parameter>
10139           <parameter name="list" transfer-ownership="none">
10140             <type name="IndexAssociation" c:type="GstIndexAssociation*"/>
10141           </parameter>
10142         </parameters>
10143       </method>
10144       <method name="add_association"
10145               c:identifier="gst_index_add_association"
10146               introspectable="0">
10147         <return-value transfer-ownership="full">
10148           <type name="IndexEntry" c:type="GstIndexEntry*"/>
10149         </return-value>
10150         <parameters>
10151           <parameter name="id" transfer-ownership="none">
10152             <type name="int" c:type="gint"/>
10153           </parameter>
10154           <parameter name="flags" transfer-ownership="none">
10155             <type name="AssocFlags" c:type="GstAssocFlags"/>
10156           </parameter>
10157           <parameter name="format" transfer-ownership="none">
10158             <type name="Format" c:type="GstFormat"/>
10159           </parameter>
10160           <parameter name="value" transfer-ownership="none">
10161             <type name="int64" c:type="gint64"/>
10162           </parameter>
10163           <parameter transfer-ownership="none">
10164             <varargs>
10165             </varargs>
10166           </parameter>
10167         </parameters>
10168       </method>
10169       <method name="add_object" c:identifier="gst_index_add_object">
10170         <return-value transfer-ownership="full">
10171           <type name="IndexEntry" c:type="GstIndexEntry*"/>
10172         </return-value>
10173         <parameters>
10174           <parameter name="id" transfer-ownership="none">
10175             <type name="int" c:type="gint"/>
10176           </parameter>
10177           <parameter name="key" transfer-ownership="full">
10178             <type name="utf8" c:type="gchar*"/>
10179           </parameter>
10180           <parameter name="type" transfer-ownership="none">
10181             <type name="GType" c:type="GType"/>
10182           </parameter>
10183           <parameter name="object" transfer-ownership="none">
10184             <type name="any" c:type="gpointer"/>
10185           </parameter>
10186         </parameters>
10187       </method>
10188       <method name="add_id" c:identifier="gst_index_add_id">
10189         <return-value transfer-ownership="full">
10190           <type name="IndexEntry" c:type="GstIndexEntry*"/>
10191         </return-value>
10192         <parameters>
10193           <parameter name="id" transfer-ownership="none">
10194             <type name="int" c:type="gint"/>
10195           </parameter>
10196           <parameter name="description" transfer-ownership="full">
10197             <type name="utf8" c:type="gchar*"/>
10198           </parameter>
10199         </parameters>
10200       </method>
10201       <method name="get_assoc_entry" c:identifier="gst_index_get_assoc_entry">
10202         <return-value transfer-ownership="full">
10203           <type name="IndexEntry" c:type="GstIndexEntry*"/>
10204         </return-value>
10205         <parameters>
10206           <parameter name="id" transfer-ownership="none">
10207             <type name="int" c:type="gint"/>
10208           </parameter>
10209           <parameter name="method" transfer-ownership="none">
10210             <type name="IndexLookupMethod" c:type="GstIndexLookupMethod"/>
10211           </parameter>
10212           <parameter name="flags" transfer-ownership="none">
10213             <type name="AssocFlags" c:type="GstAssocFlags"/>
10214           </parameter>
10215           <parameter name="format" transfer-ownership="none">
10216             <type name="Format" c:type="GstFormat"/>
10217           </parameter>
10218           <parameter name="value" transfer-ownership="none">
10219             <type name="int64" c:type="gint64"/>
10220           </parameter>
10221         </parameters>
10222       </method>
10223       <method name="get_assoc_entry_full"
10224               c:identifier="gst_index_get_assoc_entry_full">
10225         <return-value transfer-ownership="full">
10226           <type name="IndexEntry" c:type="GstIndexEntry*"/>
10227         </return-value>
10228         <parameters>
10229           <parameter name="id" transfer-ownership="none">
10230             <type name="int" c:type="gint"/>
10231           </parameter>
10232           <parameter name="method" transfer-ownership="none">
10233             <type name="IndexLookupMethod" c:type="GstIndexLookupMethod"/>
10234           </parameter>
10235           <parameter name="flags" transfer-ownership="none">
10236             <type name="AssocFlags" c:type="GstAssocFlags"/>
10237           </parameter>
10238           <parameter name="format" transfer-ownership="none">
10239             <type name="Format" c:type="GstFormat"/>
10240           </parameter>
10241           <parameter name="value" transfer-ownership="none">
10242             <type name="int64" c:type="gint64"/>
10243           </parameter>
10244           <parameter name="func"
10245                      transfer-ownership="none"
10246                      scope="call"
10247                      closure="7">
10248             <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
10249           </parameter>
10250           <parameter name="user_data" transfer-ownership="none">
10251             <type name="any" c:type="gpointer"/>
10252           </parameter>
10253         </parameters>
10254       </method>
10255       <property name="resolver" writable="1" transfer-ownership="none">
10256         <type name="IndexResolver" c:type="GstIndexResolver"/>
10257       </property>
10258       <field name="object">
10259         <type name="Object" c:type="GstObject"/>
10260       </field>
10261       <field name="groups">
10262         <type name="GLib.List" c:type="GList*">
10263           <type name="any" c:type="gpointer"/>
10264         </type>
10265       </field>
10266       <field name="curgroup">
10267         <type name="IndexGroup" c:type="GstIndexGroup*"/>
10268       </field>
10269       <field name="maxgroup">
10270         <type name="int" c:type="gint"/>
10271       </field>
10272       <field name="method">
10273         <type name="IndexResolverMethod" c:type="GstIndexResolverMethod"/>
10274       </field>
10275       <field name="resolver">
10276         <type name="IndexResolver" c:type="GstIndexResolver"/>
10277       </field>
10278       <field name="resolver_user_data">
10279         <type name="any" c:type="gpointer"/>
10280       </field>
10281       <field name="filter">
10282         <type name="IndexFilter" c:type="GstIndexFilter"/>
10283       </field>
10284       <field name="filter_user_data">
10285         <type name="any" c:type="gpointer"/>
10286       </field>
10287       <field name="filter_user_data_destroy">
10288         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
10289       </field>
10290       <field name="writers">
10291         <type name="GLib.HashTable" c:type="GHashTable*"/>
10292       </field>
10293       <field name="last_id">
10294         <type name="int" c:type="gint"/>
10295       </field>
10296       <field name="resolver_user_data_destroy">
10297         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
10298       </field>
10299       <field name="_gst_reserved">
10300         <array zero-terminated="0" c:type="gpointer" fixed-size="3">
10301           <type name="any"/>
10302         </array>
10303       </field>
10304       <glib:signal name="entry-added">
10305         <return-value transfer-ownership="full">
10306           <type name="none" c:type="void"/>
10307         </return-value>
10308         <parameters>
10309           <parameter name="object" transfer-ownership="none">
10310             <type name="IndexEntry" c:type="GstIndexEntry"/>
10311           </parameter>
10312         </parameters>
10313       </glib:signal>
10314     </class>
10315     <record name="IndexAssociation" c:type="GstIndexAssociation">
10316       <doc xml:whitespace="preserve">An association in an entry.</doc>
10317       <field name="format" writable="1">
10318         <type name="Format" c:type="GstFormat"/>
10319       </field>
10320       <field name="value" writable="1">
10321         <type name="int64" c:type="gint64"/>
10322       </field>
10323     </record>
10324     <enumeration name="IndexCertainty"
10325                  glib:type-name="GstIndexCertainty"
10326                  glib:get-type="gst_index_certainty_get_type"
10327                  c:type="GstIndexCertainty">
10328       <doc xml:whitespace="preserve">The certainty of a group in the index.</doc>
10329       <member name="unknown"
10330               value="0"
10331               c:identifier="GST_INDEX_UNKNOWN"
10332               glib:nick="unknown"/>
10333       <member name="certain"
10334               value="1"
10335               c:identifier="GST_INDEX_CERTAIN"
10336               glib:nick="certain"/>
10337       <member name="fuzzy"
10338               value="2"
10339               c:identifier="GST_INDEX_FUZZY"
10340               glib:nick="fuzzy"/>
10341     </enumeration>
10342     <record name="IndexClass"
10343             c:type="GstIndexClass"
10344             glib:is-gtype-struct-for="Index">
10345       <field name="parent_class">
10346         <type name="ObjectClass" c:type="GstObjectClass"/>
10347       </field>
10348       <field name="get_writer_id">
10349         <callback name="get_writer_id" c:type="get_writer_id">
10350           <return-value transfer-ownership="none">
10351             <type name="boolean" c:type="gboolean"/>
10352           </return-value>
10353           <parameters>
10354             <parameter name="index" transfer-ownership="none">
10355               <type name="Index" c:type="GstIndex*"/>
10356             </parameter>
10357             <parameter name="writer_id"
10358                        direction="out"
10359                        caller-allocates="0"
10360                        transfer-ownership="full">
10361               <type name="int" c:type="gint*"/>
10362             </parameter>
10363             <parameter name="writer_string" transfer-ownership="full">
10364               <type name="utf8" c:type="gchar*"/>
10365             </parameter>
10366           </parameters>
10367         </callback>
10368       </field>
10369       <field name="commit">
10370         <callback name="commit" c:type="commit">
10371           <return-value transfer-ownership="none">
10372             <type name="none" c:type="void"/>
10373           </return-value>
10374           <parameters>
10375             <parameter name="index" transfer-ownership="none">
10376               <type name="Index" c:type="GstIndex*"/>
10377             </parameter>
10378             <parameter name="id" transfer-ownership="none">
10379               <type name="int" c:type="gint"/>
10380             </parameter>
10381           </parameters>
10382         </callback>
10383       </field>
10384       <field name="add_entry">
10385         <callback name="add_entry" c:type="add_entry">
10386           <return-value transfer-ownership="none">
10387             <type name="none" c:type="void"/>
10388           </return-value>
10389           <parameters>
10390             <parameter name="index" transfer-ownership="none">
10391               <type name="Index" c:type="GstIndex*"/>
10392             </parameter>
10393             <parameter name="entry" transfer-ownership="none">
10394               <type name="IndexEntry" c:type="GstIndexEntry*"/>
10395             </parameter>
10396           </parameters>
10397         </callback>
10398       </field>
10399       <field name="get_assoc_entry">
10400         <callback name="get_assoc_entry" c:type="get_assoc_entry">
10401           <return-value transfer-ownership="full">
10402             <type name="IndexEntry" c:type="GstIndexEntry*"/>
10403           </return-value>
10404           <parameters>
10405             <parameter name="index" transfer-ownership="none">
10406               <type name="Index" c:type="GstIndex*"/>
10407             </parameter>
10408             <parameter name="id" transfer-ownership="none">
10409               <type name="int" c:type="gint"/>
10410             </parameter>
10411             <parameter name="method" transfer-ownership="none">
10412               <type name="IndexLookupMethod" c:type="GstIndexLookupMethod"/>
10413             </parameter>
10414             <parameter name="flags" transfer-ownership="none">
10415               <type name="AssocFlags" c:type="GstAssocFlags"/>
10416             </parameter>
10417             <parameter name="format" transfer-ownership="none">
10418               <type name="Format" c:type="GstFormat"/>
10419             </parameter>
10420             <parameter name="value" transfer-ownership="none">
10421               <type name="int64" c:type="gint64"/>
10422             </parameter>
10423             <parameter name="func" transfer-ownership="none">
10424               <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
10425             </parameter>
10426             <parameter name="user_data" transfer-ownership="none" closure="7">
10427               <type name="any" c:type="gpointer"/>
10428             </parameter>
10429           </parameters>
10430         </callback>
10431       </field>
10432       <field name="entry_added">
10433         <callback name="entry_added" c:type="entry_added">
10434           <return-value transfer-ownership="none">
10435             <type name="none" c:type="void"/>
10436           </return-value>
10437           <parameters>
10438             <parameter name="index" transfer-ownership="none">
10439               <type name="Index" c:type="GstIndex*"/>
10440             </parameter>
10441             <parameter name="entry" transfer-ownership="none">
10442               <type name="IndexEntry" c:type="GstIndexEntry*"/>
10443             </parameter>
10444           </parameters>
10445         </callback>
10446       </field>
10447       <field name="_gst_reserved">
10448         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
10449           <type name="any"/>
10450         </array>
10451       </field>
10452     </record>
10453     <record name="IndexEntry"
10454             c:type="GstIndexEntry"
10455             glib:type-name="GstIndexEntry"
10456             glib:get-type="gst_index_entry_get_type">
10457       <doc xml:whitespace="preserve">The basic element of an index.</doc>
10458       <field name="type" writable="1">
10459         <type name="IndexEntryType" c:type="GstIndexEntryType"/>
10460       </field>
10461       <field name="id" writable="1">
10462         <type name="int" c:type="gint"/>
10463       </field>
10464       <union name="data" c:type="data">
10465         <record name="id" c:type="id">
10466           <field name="description" writable="1">
10467             <type name="utf8" c:type="gchar*"/>
10468           </field>
10469         </record>
10470         <record name="assoc" c:type="assoc">
10471           <field name="nassocs" writable="1">
10472             <type name="int" c:type="gint"/>
10473           </field>
10474           <field name="assocs" writable="1">
10475             <type name="IndexAssociation" c:type="GstIndexAssociation*"/>
10476           </field>
10477           <field name="flags" writable="1">
10478             <type name="AssocFlags" c:type="GstAssocFlags"/>
10479           </field>
10480         </record>
10481         <record name="object" c:type="object">
10482           <field name="key" writable="1">
10483             <type name="utf8" c:type="gchar*"/>
10484           </field>
10485           <field name="type" writable="1">
10486             <type name="GType" c:type="GType"/>
10487           </field>
10488           <field name="object" writable="1">
10489             <type name="any" c:type="gpointer"/>
10490           </field>
10491         </record>
10492         <record name="format" c:type="format">
10493           <field name="format" writable="1">
10494             <type name="Format" c:type="GstFormat"/>
10495           </field>
10496           <field name="key" writable="1">
10497             <type name="utf8" c:type="gchar*"/>
10498           </field>
10499         </record>
10500       </union>
10501       <method name="copy" c:identifier="gst_index_entry_copy">
10502         <return-value transfer-ownership="full">
10503           <type name="IndexEntry" c:type="GstIndexEntry*"/>
10504         </return-value>
10505       </method>
10506       <method name="free" c:identifier="gst_index_entry_free">
10507         <return-value transfer-ownership="none">
10508           <type name="none" c:type="void"/>
10509         </return-value>
10510       </method>
10511       <method name="assoc_map" c:identifier="gst_index_entry_assoc_map">
10512         <return-value transfer-ownership="none">
10513           <type name="boolean" c:type="gboolean"/>
10514         </return-value>
10515         <parameters>
10516           <parameter name="format" transfer-ownership="none">
10517             <type name="Format" c:type="GstFormat"/>
10518           </parameter>
10519           <parameter name="value"
10520                      direction="out"
10521                      caller-allocates="0"
10522                      transfer-ownership="full">
10523             <type name="int64" c:type="gint64*"/>
10524           </parameter>
10525         </parameters>
10526       </method>
10527     </record>
10528     <enumeration name="IndexEntryType"
10529                  glib:type-name="GstIndexEntryType"
10530                  glib:get-type="gst_index_entry_type_get_type"
10531                  c:type="GstIndexEntryType">
10532       <doc xml:whitespace="preserve">The different types of entries in the index.</doc>
10533       <member name="id"
10534               value="0"
10535               c:identifier="GST_INDEX_ENTRY_ID"
10536               glib:nick="id"/>
10537       <member name="association"
10538               value="1"
10539               c:identifier="GST_INDEX_ENTRY_ASSOCIATION"
10540               glib:nick="association"/>
10541       <member name="object"
10542               value="2"
10543               c:identifier="GST_INDEX_ENTRY_OBJECT"
10544               glib:nick="object"/>
10545       <member name="format"
10546               value="3"
10547               c:identifier="GST_INDEX_ENTRY_FORMAT"
10548               glib:nick="format"/>
10549     </enumeration>
10550     <class name="IndexFactory"
10551            c:type="GstIndexFactory"
10552            parent="PluginFeature"
10553            glib:type-name="GstIndexFactory"
10554            glib:get-type="gst_index_factory_get_type"
10555            glib:type-struct="IndexFactoryClass">
10556       <doc xml:whitespace="preserve">The GstIndexFactory object</doc>
10557       <constructor name="new" c:identifier="gst_index_factory_new">
10558         <return-value transfer-ownership="full">
10559           <type name="IndexFactory" c:type="GstIndexFactory*"/>
10560         </return-value>
10561         <parameters>
10562           <parameter name="name" transfer-ownership="none">
10563             <type name="utf8" c:type="gchar*"/>
10564           </parameter>
10565           <parameter name="longdesc" transfer-ownership="none">
10566             <type name="utf8" c:type="gchar*"/>
10567           </parameter>
10568           <parameter name="type" transfer-ownership="none">
10569             <type name="GType" c:type="GType"/>
10570           </parameter>
10571         </parameters>
10572       </constructor>
10573       <function name="find" c:identifier="gst_index_factory_find">
10574         <return-value transfer-ownership="full">
10575           <type name="IndexFactory" c:type="GstIndexFactory*"/>
10576         </return-value>
10577         <parameters>
10578           <parameter name="name" transfer-ownership="none">
10579             <type name="utf8" c:type="gchar*"/>
10580           </parameter>
10581         </parameters>
10582       </function>
10583       <function name="make" c:identifier="gst_index_factory_make">
10584         <return-value transfer-ownership="full">
10585           <type name="Index" c:type="GstIndex*"/>
10586         </return-value>
10587         <parameters>
10588           <parameter name="name" transfer-ownership="none">
10589             <type name="utf8" c:type="gchar*"/>
10590           </parameter>
10591         </parameters>
10592       </function>
10593       <method name="destroy" c:identifier="gst_index_factory_destroy">
10594         <return-value transfer-ownership="none">
10595           <type name="none" c:type="void"/>
10596         </return-value>
10597       </method>
10598       <method name="create" c:identifier="gst_index_factory_create">
10599         <return-value transfer-ownership="full">
10600           <type name="Index" c:type="GstIndex*"/>
10601         </return-value>
10602       </method>
10603       <field name="feature">
10604         <type name="PluginFeature" c:type="GstPluginFeature"/>
10605       </field>
10606       <field name="longdesc">
10607         <type name="utf8" c:type="gchar*"/>
10608       </field>
10609       <field name="type">
10610         <type name="GType" c:type="GType"/>
10611       </field>
10612       <field name="_gst_reserved">
10613         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
10614           <type name="any"/>
10615         </array>
10616       </field>
10617     </class>
10618     <record name="IndexFactoryClass"
10619             c:type="GstIndexFactoryClass"
10620             glib:is-gtype-struct-for="IndexFactory">
10621       <field name="parent">
10622         <type name="PluginFeatureClass" c:type="GstPluginFeatureClass"/>
10623       </field>
10624       <field name="_gst_reserved">
10625         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
10626           <type name="any"/>
10627         </array>
10628       </field>
10629     </record>
10630     <callback name="IndexFilter" c:type="GstIndexFilter">
10631       <doc xml:whitespace="preserve">Function to filter out entries in the index.
10632 to the index, %FALSE otherwise.</doc>
10633       <return-value transfer-ownership="none">
10634         <doc xml:whitespace="preserve">This function should return %TRUE if the entry is to be added</doc>
10635         <type name="boolean" c:type="gboolean"/>
10636       </return-value>
10637       <parameters>
10638         <parameter name="index" transfer-ownership="none">
10639           <doc xml:whitespace="preserve">The index being queried</doc>
10640           <type name="Index" c:type="GstIndex*"/>
10641         </parameter>
10642         <parameter name="entry" transfer-ownership="none">
10643           <doc xml:whitespace="preserve">The entry to be added.</doc>
10644           <type name="IndexEntry" c:type="GstIndexEntry*"/>
10645         </parameter>
10646         <parameter name="user_data" transfer-ownership="none" closure="2">
10647           <doc xml:whitespace="preserve">User data passed to the function.</doc>
10648           <type name="any" c:type="gpointer"/>
10649         </parameter>
10650       </parameters>
10651     </callback>
10652     <bitfield name="IndexFlags"
10653               glib:type-name="GstIndexFlags"
10654               glib:get-type="gst_index_flags_get_type"
10655               c:type="GstIndexFlags">
10656       <doc xml:whitespace="preserve">Flags for this index</doc>
10657       <member name="writable"
10658               value="16"
10659               c:identifier="GST_INDEX_WRITABLE"
10660               glib:nick="writable"/>
10661       <member name="readable"
10662               value="32"
10663               c:identifier="GST_INDEX_READABLE"
10664               glib:nick="readable"/>
10665       <member name="flag_last"
10666               value="4096"
10667               c:identifier="GST_INDEX_FLAG_LAST"
10668               glib:nick="flag-last"/>
10669     </bitfield>
10670     <record name="IndexGroup" c:type="GstIndexGroup">
10671       <doc xml:whitespace="preserve">A group of related entries in an index.</doc>
10672       <field name="groupnum" writable="1">
10673         <type name="int" c:type="gint"/>
10674       </field>
10675       <field name="entries" writable="1">
10676         <type name="GLib.List" c:type="GList*">
10677           <type name="any" c:type="gpointer"/>
10678         </type>
10679       </field>
10680       <field name="certainty" writable="1">
10681         <type name="IndexCertainty" c:type="GstIndexCertainty"/>
10682       </field>
10683       <field name="peergroup" writable="1">
10684         <type name="int" c:type="gint"/>
10685       </field>
10686     </record>
10687     <enumeration name="IndexLookupMethod"
10688                  glib:type-name="GstIndexLookupMethod"
10689                  glib:get-type="gst_index_lookup_method_get_type"
10690                  c:type="GstIndexLookupMethod">
10691       <doc xml:whitespace="preserve">Specify the method to find an index entry in the index.</doc>
10692       <member name="exact"
10693               value="0"
10694               c:identifier="GST_INDEX_LOOKUP_EXACT"
10695               glib:nick="exact"/>
10696       <member name="before"
10697               value="1"
10698               c:identifier="GST_INDEX_LOOKUP_BEFORE"
10699               glib:nick="before"/>
10700       <member name="after"
10701               value="2"
10702               c:identifier="GST_INDEX_LOOKUP_AFTER"
10703               glib:nick="after"/>
10704     </enumeration>
10705     <callback name="IndexResolver" c:type="GstIndexResolver">
10706       <doc xml:whitespace="preserve">Function to resolve ids to writer descriptions.</doc>
10707       <return-value transfer-ownership="none">
10708         <doc xml:whitespace="preserve">%TRUE if an id could be assigned to the writer.</doc>
10709         <type name="boolean" c:type="gboolean"/>
10710       </return-value>
10711       <parameters>
10712         <parameter name="index" transfer-ownership="none">
10713           <doc xml:whitespace="preserve">the index being queried.</doc>
10714           <type name="Index" c:type="GstIndex*"/>
10715         </parameter>
10716         <parameter name="writer" transfer-ownership="none">
10717           <doc xml:whitespace="preserve">The object that wants to write</doc>
10718           <type name="Object" c:type="GstObject*"/>
10719         </parameter>
10720         <parameter name="writer_string" transfer-ownership="none">
10721           <doc xml:whitespace="preserve">A description of the writer.</doc>
10722           <array c:type="gchar**">
10723             <type name="utf8"/>
10724           </array>
10725         </parameter>
10726         <parameter name="user_data" transfer-ownership="none" closure="3">
10727           <doc xml:whitespace="preserve">user_data as registered</doc>
10728           <type name="any" c:type="gpointer"/>
10729         </parameter>
10730       </parameters>
10731     </callback>
10732     <enumeration name="IndexResolverMethod"
10733                  glib:type-name="GstIndexResolverMethod"
10734                  glib:get-type="gst_index_resolver_method_get_type"
10735                  c:type="GstIndexResolverMethod">
10736       <doc xml:whitespace="preserve">The method used to resolve index writers</doc>
10737       <member name="custom"
10738               value="0"
10739               c:identifier="GST_INDEX_RESOLVER_CUSTOM"
10740               glib:nick="custom"/>
10741       <member name="gtype"
10742               value="1"
10743               c:identifier="GST_INDEX_RESOLVER_GTYPE"
10744               glib:nick="gtype"/>
10745       <member name="path"
10746               value="2"
10747               c:identifier="GST_INDEX_RESOLVER_PATH"
10748               glib:nick="path"/>
10749     </enumeration>
10750     <record name="Iterator" c:type="GstIterator">
10751       <doc xml:whitespace="preserve">#GstIterator base structure. The values of this structure are 
10752 protected for subclasses, use the methods to use the #GstIterator.</doc>
10753       <field name="next" writable="1">
10754         <type name="IteratorNextFunction" c:type="GstIteratorNextFunction"/>
10755       </field>
10756       <field name="item" writable="1">
10757         <type name="IteratorItemFunction" c:type="GstIteratorItemFunction"/>
10758       </field>
10759       <field name="resync" writable="1">
10760         <type name="IteratorResyncFunction"
10761               c:type="GstIteratorResyncFunction"/>
10762       </field>
10763       <field name="free" writable="1">
10764         <type name="IteratorFreeFunction" c:type="GstIteratorFreeFunction"/>
10765       </field>
10766       <field name="pushed" writable="1">
10767         <type name="Iterator" c:type="GstIterator*"/>
10768       </field>
10769       <field name="type" writable="1">
10770         <type name="GType" c:type="GType"/>
10771       </field>
10772       <field name="lock" writable="1">
10773         <type name="GLib.Mutex" c:type="GMutex*"/>
10774       </field>
10775       <field name="cookie" writable="1">
10776         <type name="uint32" c:type="guint32"/>
10777       </field>
10778       <field name="master_cookie" writable="1">
10779         <type name="any" c:type="guint32*"/>
10780       </field>
10781       <field name="_gst_reserved" writable="1">
10782         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
10783           <type name="any"/>
10784         </array>
10785       </field>
10786       <constructor name="new" c:identifier="gst_iterator_new">
10787         <return-value transfer-ownership="full">
10788           <type name="Iterator" c:type="GstIterator*"/>
10789         </return-value>
10790         <parameters>
10791           <parameter name="size" transfer-ownership="none">
10792             <type name="uint" c:type="guint"/>
10793           </parameter>
10794           <parameter name="type" transfer-ownership="none">
10795             <type name="GType" c:type="GType"/>
10796           </parameter>
10797           <parameter name="lock" transfer-ownership="none">
10798             <type name="GLib.Mutex" c:type="GMutex*"/>
10799           </parameter>
10800           <parameter name="master_cookie"
10801                      direction="out"
10802                      caller-allocates="0"
10803                      transfer-ownership="full">
10804             <type name="uint32" c:type="guint32*"/>
10805           </parameter>
10806           <parameter name="next" transfer-ownership="none" scope="call">
10807             <type name="IteratorNextFunction"
10808                   c:type="GstIteratorNextFunction"/>
10809           </parameter>
10810           <parameter name="item" transfer-ownership="none" scope="call">
10811             <type name="IteratorItemFunction"
10812                   c:type="GstIteratorItemFunction"/>
10813           </parameter>
10814           <parameter name="resync" transfer-ownership="none" scope="call">
10815             <type name="IteratorResyncFunction"
10816                   c:type="GstIteratorResyncFunction"/>
10817           </parameter>
10818           <parameter name="free" transfer-ownership="none" scope="call">
10819             <type name="IteratorFreeFunction"
10820                   c:type="GstIteratorFreeFunction"/>
10821           </parameter>
10822         </parameters>
10823       </constructor>
10824       <constructor name="new_list"
10825                    c:identifier="gst_iterator_new_list"
10826                    introspectable="0">
10827         <return-value transfer-ownership="full">
10828           <type name="Iterator" c:type="GstIterator*"/>
10829         </return-value>
10830         <parameters>
10831           <parameter name="type" transfer-ownership="none">
10832             <type name="GType" c:type="GType"/>
10833           </parameter>
10834           <parameter name="lock" transfer-ownership="none">
10835             <type name="GLib.Mutex" c:type="GMutex*"/>
10836           </parameter>
10837           <parameter name="master_cookie"
10838                      direction="out"
10839                      caller-allocates="0"
10840                      transfer-ownership="full">
10841             <type name="uint32" c:type="guint32*"/>
10842           </parameter>
10843           <parameter name="list" transfer-ownership="none">
10844             <type name="GLib.List" c:type="GList**">
10845               <type name="any" c:type="gpointer"/>
10846             </type>
10847           </parameter>
10848           <parameter name="owner" transfer-ownership="none">
10849             <type name="any" c:type="gpointer"/>
10850           </parameter>
10851           <parameter name="item" transfer-ownership="none" scope="call">
10852             <type name="IteratorItemFunction"
10853                   c:type="GstIteratorItemFunction"/>
10854           </parameter>
10855           <parameter name="free" transfer-ownership="none" scope="call">
10856             <type name="IteratorDisposeFunction"
10857                   c:type="GstIteratorDisposeFunction"/>
10858           </parameter>
10859         </parameters>
10860       </constructor>
10861       <constructor name="new_single" c:identifier="gst_iterator_new_single">
10862         <return-value transfer-ownership="full">
10863           <type name="Iterator" c:type="GstIterator*"/>
10864         </return-value>
10865         <parameters>
10866           <parameter name="type" transfer-ownership="none">
10867             <type name="GType" c:type="GType"/>
10868           </parameter>
10869           <parameter name="object" transfer-ownership="none">
10870             <type name="any" c:type="gpointer"/>
10871           </parameter>
10872           <parameter name="copy" transfer-ownership="none" scope="call">
10873             <type name="CopyFunction" c:type="GstCopyFunction"/>
10874           </parameter>
10875           <parameter name="free" transfer-ownership="none" scope="call">
10876             <type name="GLib.FreeFunc" c:type="GFreeFunc"/>
10877           </parameter>
10878         </parameters>
10879       </constructor>
10880       <method name="next" c:identifier="gst_iterator_next">
10881         <return-value transfer-ownership="full">
10882           <type name="IteratorResult" c:type="GstIteratorResult"/>
10883         </return-value>
10884         <parameters>
10885           <parameter name="elem" transfer-ownership="none">
10886             <type name="any" c:type="gpointer*"/>
10887           </parameter>
10888         </parameters>
10889       </method>
10890       <method name="resync" c:identifier="gst_iterator_resync">
10891         <return-value transfer-ownership="none">
10892           <type name="none" c:type="void"/>
10893         </return-value>
10894       </method>
10895       <method name="free" c:identifier="gst_iterator_free">
10896         <return-value transfer-ownership="none">
10897           <type name="none" c:type="void"/>
10898         </return-value>
10899       </method>
10900       <method name="push" c:identifier="gst_iterator_push">
10901         <return-value transfer-ownership="none">
10902           <type name="none" c:type="void"/>
10903         </return-value>
10904         <parameters>
10905           <parameter name="other" transfer-ownership="none">
10906             <type name="Iterator" c:type="GstIterator*"/>
10907           </parameter>
10908         </parameters>
10909       </method>
10910       <method name="filter" c:identifier="gst_iterator_filter">
10911         <return-value transfer-ownership="full">
10912           <type name="Iterator" c:type="GstIterator*"/>
10913         </return-value>
10914         <parameters>
10915           <parameter name="func"
10916                      transfer-ownership="none"
10917                      scope="call"
10918                      closure="2">
10919             <type name="GLib.CompareFunc" c:type="GCompareFunc"/>
10920           </parameter>
10921           <parameter name="user_data" transfer-ownership="none">
10922             <type name="any" c:type="gpointer"/>
10923           </parameter>
10924         </parameters>
10925       </method>
10926       <method name="fold" c:identifier="gst_iterator_fold">
10927         <return-value transfer-ownership="full">
10928           <type name="IteratorResult" c:type="GstIteratorResult"/>
10929         </return-value>
10930         <parameters>
10931           <parameter name="func" transfer-ownership="none" scope="call">
10932             <type name="IteratorFoldFunction"
10933                   c:type="GstIteratorFoldFunction"/>
10934           </parameter>
10935           <parameter name="ret" transfer-ownership="none">
10936             <type name="GObject.Value" c:type="GValue*"/>
10937           </parameter>
10938           <parameter name="user_data" transfer-ownership="none">
10939             <type name="any" c:type="gpointer"/>
10940           </parameter>
10941         </parameters>
10942       </method>
10943       <method name="foreach" c:identifier="gst_iterator_foreach">
10944         <return-value transfer-ownership="full">
10945           <type name="IteratorResult" c:type="GstIteratorResult"/>
10946         </return-value>
10947         <parameters>
10948           <parameter name="func"
10949                      transfer-ownership="none"
10950                      scope="call"
10951                      closure="2">
10952             <type name="GLib.Func" c:type="GFunc"/>
10953           </parameter>
10954           <parameter name="user_data" transfer-ownership="none">
10955             <type name="any" c:type="gpointer"/>
10956           </parameter>
10957         </parameters>
10958       </method>
10959       <method name="find_custom" c:identifier="gst_iterator_find_custom">
10960         <return-value transfer-ownership="none">
10961           <type name="any" c:type="gpointer"/>
10962         </return-value>
10963         <parameters>
10964           <parameter name="func"
10965                      transfer-ownership="none"
10966                      scope="call"
10967                      closure="2">
10968             <type name="GLib.CompareFunc" c:type="GCompareFunc"/>
10969           </parameter>
10970           <parameter name="user_data" transfer-ownership="none">
10971             <type name="any" c:type="gpointer"/>
10972           </parameter>
10973         </parameters>
10974       </method>
10975     </record>
10976     <callback name="IteratorDisposeFunction"
10977               c:type="GstIteratorDisposeFunction">
10978       <doc xml:whitespace="preserve">The function that will be called when a #GList iterator is freed. The
10979 owner of the #GList iterator can then clean up its resources.</doc>
10980       <return-value transfer-ownership="none">
10981         <type name="none" c:type="void"/>
10982       </return-value>
10983       <parameters>
10984         <parameter name="owner" transfer-ownership="none">
10985           <doc xml:whitespace="preserve">the owner of the iterator</doc>
10986           <type name="any" c:type="gpointer"/>
10987         </parameter>
10988       </parameters>
10989     </callback>
10990     <callback name="IteratorFoldFunction" c:type="GstIteratorFoldFunction">
10991       <doc xml:whitespace="preserve">A function to be passed to gst_iterator_fold().</doc>
10992       <return-value transfer-ownership="none">
10993         <doc xml:whitespace="preserve">TRUE if the fold should continue, FALSE if it should stop.</doc>
10994         <type name="boolean" c:type="gboolean"/>
10995       </return-value>
10996       <parameters>
10997         <parameter name="item" transfer-ownership="none">
10998           <doc xml:whitespace="preserve">the item to fold</doc>
10999           <type name="any" c:type="gpointer"/>
11000         </parameter>
11001         <parameter name="ret" transfer-ownership="none">
11002           <doc xml:whitespace="preserve">a #GValue collecting the result</doc>
11003           <type name="GObject.Value" c:type="GValue*"/>
11004         </parameter>
11005         <parameter name="user_data" transfer-ownership="none" closure="2">
11006           <doc xml:whitespace="preserve">data passed to gst_iterator_fold()</doc>
11007           <type name="any" c:type="gpointer"/>
11008         </parameter>
11009       </parameters>
11010     </callback>
11011     <callback name="IteratorFreeFunction" c:type="GstIteratorFreeFunction">
11012       <doc xml:whitespace="preserve">This function will be called when the iterator is freed.
11013 Implementors of a #GstIterator should implement this
11014 function and pass it to the constructor of the custom iterator.
11015 The function will be called with the iterator lock held.</doc>
11016       <return-value transfer-ownership="none">
11017         <type name="none" c:type="void"/>
11018       </return-value>
11019       <parameters>
11020         <parameter name="it" transfer-ownership="none">
11021           <doc xml:whitespace="preserve">the iterator</doc>
11022           <type name="Iterator" c:type="GstIterator*"/>
11023         </parameter>
11024       </parameters>
11025     </callback>
11026     <enumeration name="IteratorItem"
11027                  glib:type-name="GstIteratorItem"
11028                  glib:get-type="gst_iterator_item_get_type"
11029                  c:type="GstIteratorItem">
11030       <doc xml:whitespace="preserve">The result of a #GstIteratorItemFunction.</doc>
11031       <member name="skip"
11032               value="0"
11033               c:identifier="GST_ITERATOR_ITEM_SKIP"
11034               glib:nick="skip"/>
11035       <member name="pass"
11036               value="1"
11037               c:identifier="GST_ITERATOR_ITEM_PASS"
11038               glib:nick="pass"/>
11039       <member name="end"
11040               value="2"
11041               c:identifier="GST_ITERATOR_ITEM_END"
11042               glib:nick="end"/>
11043     </enumeration>
11044     <callback name="IteratorItemFunction" c:type="GstIteratorItemFunction">
11045       <doc xml:whitespace="preserve">The function that will be called after the next item of the iterator
11046 has been retrieved. This function will typically increase the refcount
11047 of the item or make a copy.
11048 Implementors of a #GstIterator should implement this
11049 function and pass it to the constructor of the custom iterator.
11050 The function will be called with the iterator lock held.</doc>
11051       <return-value transfer-ownership="full">
11052         <doc xml:whitespace="preserve">the result of the operation.</doc>
11053         <type name="IteratorItem" c:type="GstIteratorItem"/>
11054       </return-value>
11055       <parameters>
11056         <parameter name="it" transfer-ownership="none">
11057           <doc xml:whitespace="preserve">the iterator</doc>
11058           <type name="Iterator" c:type="GstIterator*"/>
11059         </parameter>
11060         <parameter name="item" transfer-ownership="none">
11061           <doc xml:whitespace="preserve">the item being retrieved.</doc>
11062           <type name="any" c:type="gpointer"/>
11063         </parameter>
11064       </parameters>
11065     </callback>
11066     <callback name="IteratorNextFunction" c:type="GstIteratorNextFunction">
11067       <doc xml:whitespace="preserve">The function that will be called when the next element of the iterator
11068 should be retrieved. 
11069 Implementors of a #GstIterator should implement this
11070 function and pass it to the constructor of the custom iterator.
11071 The function will be called with the iterator lock held.</doc>
11072       <return-value transfer-ownership="full">
11073         <doc xml:whitespace="preserve">the result of the operation.</doc>
11074         <type name="IteratorResult" c:type="GstIteratorResult"/>
11075       </return-value>
11076       <parameters>
11077         <parameter name="it" transfer-ownership="none">
11078           <doc xml:whitespace="preserve">the iterator</doc>
11079           <type name="Iterator" c:type="GstIterator*"/>
11080         </parameter>
11081         <parameter name="result" transfer-ownership="none">
11082           <doc xml:whitespace="preserve">a pointer to hold the next item</doc>
11083           <type name="any" c:type="gpointer*"/>
11084         </parameter>
11085       </parameters>
11086     </callback>
11087     <enumeration name="IteratorResult"
11088                  glib:type-name="GstIteratorResult"
11089                  glib:get-type="gst_iterator_result_get_type"
11090                  c:type="GstIteratorResult">
11091       <doc xml:whitespace="preserve">The result of gst_iterator_next().</doc>
11092       <member name="done"
11093               value="0"
11094               c:identifier="GST_ITERATOR_DONE"
11095               glib:nick="done"/>
11096       <member name="ok"
11097               value="1"
11098               c:identifier="GST_ITERATOR_OK"
11099               glib:nick="ok"/>
11100       <member name="resync"
11101               value="2"
11102               c:identifier="GST_ITERATOR_RESYNC"
11103               glib:nick="resync"/>
11104       <member name="error"
11105               value="3"
11106               c:identifier="GST_ITERATOR_ERROR"
11107               glib:nick="error"/>
11108     </enumeration>
11109     <callback name="IteratorResyncFunction" c:type="GstIteratorResyncFunction">
11110       <doc xml:whitespace="preserve">This function will be called whenever a concurrent update happened
11111 to the iterated datastructure. The implementor of the iterator should
11112 restart the iterator from the beginning and clean up any state it might
11113 have.
11114 Implementors of a #GstIterator should implement this
11115 function and pass it to the constructor of the custom iterator.
11116 The function will be called with the iterator lock held.</doc>
11117       <return-value transfer-ownership="none">
11118         <type name="none" c:type="void"/>
11119       </return-value>
11120       <parameters>
11121         <parameter name="it" transfer-ownership="none">
11122           <doc xml:whitespace="preserve">the iterator</doc>
11123           <type name="Iterator" c:type="GstIterator*"/>
11124         </parameter>
11125       </parameters>
11126     </callback>
11127     <constant name="LICENSE_UNKNOWN" value="unknown">
11128       <type name="utf8"/>
11129     </constant>
11130     <enumeration name="LibraryError"
11131                  glib:type-name="GstLibraryError"
11132                  glib:get-type="gst_library_error_get_type"
11133                  c:type="GstLibraryError"
11134                  glib:error-quark="gst_library_error_quark">
11135       <doc xml:whitespace="preserve">Library errors are for errors from the library being used by elements
11136 (initializing, finalizing, settings, ...)</doc>
11137       <member name="failed"
11138               value="1"
11139               c:identifier="GST_LIBRARY_ERROR_FAILED"
11140               glib:nick="failed"/>
11141       <member name="too_lazy"
11142               value="2"
11143               c:identifier="GST_LIBRARY_ERROR_TOO_LAZY"
11144               glib:nick="too-lazy"/>
11145       <member name="init"
11146               value="3"
11147               c:identifier="GST_LIBRARY_ERROR_INIT"
11148               glib:nick="init"/>
11149       <member name="shutdown"
11150               value="4"
11151               c:identifier="GST_LIBRARY_ERROR_SHUTDOWN"
11152               glib:nick="shutdown"/>
11153       <member name="settings"
11154               value="5"
11155               c:identifier="GST_LIBRARY_ERROR_SETTINGS"
11156               glib:nick="settings"/>
11157       <member name="encode"
11158               value="6"
11159               c:identifier="GST_LIBRARY_ERROR_ENCODE"
11160               glib:nick="encode"/>
11161       <member name="num_errors"
11162               value="7"
11163               c:identifier="GST_LIBRARY_ERROR_NUM_ERRORS"
11164               glib:nick="num-errors"/>
11165     </enumeration>
11166     <callback name="LogFunction" c:type="GstLogFunction">
11167       <doc xml:whitespace="preserve">Function prototype for a logging function that can be registered with
11168 gst_debug_add_log_function().
11169 Use G_GNUC_NO_INSTRUMENT on that function.</doc>
11170       <return-value transfer-ownership="none">
11171         <type name="none" c:type="void"/>
11172       </return-value>
11173       <parameters>
11174         <parameter name="category" transfer-ownership="none">
11175           <doc xml:whitespace="preserve">a #GstDebugCategory</doc>
11176           <type name="DebugCategory" c:type="GstDebugCategory*"/>
11177         </parameter>
11178         <parameter name="level" transfer-ownership="none">
11179           <doc xml:whitespace="preserve">a #GstDebugLevel</doc>
11180           <type name="DebugLevel" c:type="GstDebugLevel"/>
11181         </parameter>
11182         <parameter name="file" transfer-ownership="none">
11183           <doc xml:whitespace="preserve">file name</doc>
11184           <type name="utf8" c:type="gchar*"/>
11185         </parameter>
11186         <parameter name="function" transfer-ownership="none">
11187           <doc xml:whitespace="preserve">function name</doc>
11188           <type name="utf8" c:type="gchar*"/>
11189         </parameter>
11190         <parameter name="line" transfer-ownership="none">
11191           <doc xml:whitespace="preserve">line number</doc>
11192           <type name="int" c:type="gint"/>
11193         </parameter>
11194         <parameter name="object" transfer-ownership="none">
11195           <doc xml:whitespace="preserve">a #GObject</doc>
11196           <type name="GObject.Object" c:type="GObject*"/>
11197         </parameter>
11198         <parameter name="message" transfer-ownership="none">
11199           <doc xml:whitespace="preserve">the message</doc>
11200           <type name="DebugMessage" c:type="GstDebugMessage*"/>
11201         </parameter>
11202         <parameter name="data" transfer-ownership="none">
11203           <doc xml:whitespace="preserve">user data for the log function</doc>
11204           <type name="any" c:type="gpointer"/>
11205         </parameter>
11206       </parameters>
11207     </callback>
11208     <constant name="MESSAGE_TRACE_NAME" value="GstMessage">
11209       <type name="utf8"/>
11210     </constant>
11211     <constant name="MSECOND" value="0">
11212       <type name="int"/>
11213     </constant>
11214     <constant name="M_PI" value="3.14159265359">
11215       <type name="double"/>
11216     </constant>
11217     <class name="Message"
11218            c:type="GstMessage"
11219            parent="MiniObject"
11220            glib:type-name="GstMessage"
11221            glib:get-type="gst_message_get_type"
11222            glib:type-struct="MessageClass"
11223            glib:fundamental="1">
11224       <doc xml:whitespace="preserve">A #GstMessage.</doc>
11225       <constructor name="new_eos" c:identifier="gst_message_new_eos">
11226         <return-value transfer-ownership="full">
11227           <type name="Message" c:type="GstMessage*"/>
11228         </return-value>
11229         <parameters>
11230           <parameter name="src" transfer-ownership="none">
11231             <type name="Object" c:type="GstObject*"/>
11232           </parameter>
11233         </parameters>
11234       </constructor>
11235       <constructor name="new_error" c:identifier="gst_message_new_error">
11236         <return-value transfer-ownership="full">
11237           <type name="Message" c:type="GstMessage*"/>
11238         </return-value>
11239         <parameters>
11240           <parameter name="src" transfer-ownership="none">
11241             <type name="Object" c:type="GstObject*"/>
11242           </parameter>
11243           <parameter name="error" transfer-ownership="none">
11244             <type name="GLib.Error" c:type="GError*"/>
11245           </parameter>
11246           <parameter name="debug" transfer-ownership="none">
11247             <type name="utf8" c:type="gchar*"/>
11248           </parameter>
11249         </parameters>
11250       </constructor>
11251       <constructor name="new_warning" c:identifier="gst_message_new_warning">
11252         <return-value transfer-ownership="full">
11253           <type name="Message" c:type="GstMessage*"/>
11254         </return-value>
11255         <parameters>
11256           <parameter name="src" transfer-ownership="none">
11257             <type name="Object" c:type="GstObject*"/>
11258           </parameter>
11259           <parameter name="error" transfer-ownership="none">
11260             <type name="GLib.Error" c:type="GError*"/>
11261           </parameter>
11262           <parameter name="debug" transfer-ownership="none">
11263             <type name="utf8" c:type="gchar*"/>
11264           </parameter>
11265         </parameters>
11266       </constructor>
11267       <constructor name="new_info" c:identifier="gst_message_new_info">
11268         <return-value transfer-ownership="full">
11269           <type name="Message" c:type="GstMessage*"/>
11270         </return-value>
11271         <parameters>
11272           <parameter name="src" transfer-ownership="none">
11273             <type name="Object" c:type="GstObject*"/>
11274           </parameter>
11275           <parameter name="error" transfer-ownership="none">
11276             <type name="GLib.Error" c:type="GError*"/>
11277           </parameter>
11278           <parameter name="debug" transfer-ownership="none">
11279             <type name="utf8" c:type="gchar*"/>
11280           </parameter>
11281         </parameters>
11282       </constructor>
11283       <constructor name="new_tag" c:identifier="gst_message_new_tag">
11284         <return-value transfer-ownership="full">
11285           <type name="Message" c:type="GstMessage*"/>
11286         </return-value>
11287         <parameters>
11288           <parameter name="src" transfer-ownership="none">
11289             <type name="Object" c:type="GstObject*"/>
11290           </parameter>
11291           <parameter name="tag_list" transfer-ownership="none">
11292             <type name="TagList" c:type="GstTagList*"/>
11293           </parameter>
11294         </parameters>
11295       </constructor>
11296       <constructor name="new_tag_full" c:identifier="gst_message_new_tag_full">
11297         <return-value transfer-ownership="full">
11298           <type name="Message" c:type="GstMessage*"/>
11299         </return-value>
11300         <parameters>
11301           <parameter name="src" transfer-ownership="none">
11302             <type name="Object" c:type="GstObject*"/>
11303           </parameter>
11304           <parameter name="pad" transfer-ownership="none">
11305             <type name="Pad" c:type="GstPad*"/>
11306           </parameter>
11307           <parameter name="tag_list" transfer-ownership="none">
11308             <type name="TagList" c:type="GstTagList*"/>
11309           </parameter>
11310         </parameters>
11311       </constructor>
11312       <constructor name="new_buffering"
11313                    c:identifier="gst_message_new_buffering">
11314         <return-value transfer-ownership="full">
11315           <type name="Message" c:type="GstMessage*"/>
11316         </return-value>
11317         <parameters>
11318           <parameter name="src" transfer-ownership="none">
11319             <type name="Object" c:type="GstObject*"/>
11320           </parameter>
11321           <parameter name="percent" transfer-ownership="none">
11322             <type name="int" c:type="gint"/>
11323           </parameter>
11324         </parameters>
11325       </constructor>
11326       <constructor name="new_state_changed"
11327                    c:identifier="gst_message_new_state_changed">
11328         <return-value transfer-ownership="full">
11329           <type name="Message" c:type="GstMessage*"/>
11330         </return-value>
11331         <parameters>
11332           <parameter name="src" transfer-ownership="none">
11333             <type name="Object" c:type="GstObject*"/>
11334           </parameter>
11335           <parameter name="oldstate" transfer-ownership="none">
11336             <type name="State" c:type="GstState"/>
11337           </parameter>
11338           <parameter name="newstate" transfer-ownership="none">
11339             <type name="State" c:type="GstState"/>
11340           </parameter>
11341           <parameter name="pending" transfer-ownership="none">
11342             <type name="State" c:type="GstState"/>
11343           </parameter>
11344         </parameters>
11345       </constructor>
11346       <constructor name="new_state_dirty"
11347                    c:identifier="gst_message_new_state_dirty">
11348         <return-value transfer-ownership="full">
11349           <type name="Message" c:type="GstMessage*"/>
11350         </return-value>
11351         <parameters>
11352           <parameter name="src" transfer-ownership="none">
11353             <type name="Object" c:type="GstObject*"/>
11354           </parameter>
11355         </parameters>
11356       </constructor>
11357       <constructor name="new_step_done"
11358                    c:identifier="gst_message_new_step_done">
11359         <return-value transfer-ownership="full">
11360           <type name="Message" c:type="GstMessage*"/>
11361         </return-value>
11362         <parameters>
11363           <parameter name="src" transfer-ownership="none">
11364             <type name="Object" c:type="GstObject*"/>
11365           </parameter>
11366           <parameter name="format" transfer-ownership="none">
11367             <type name="Format" c:type="GstFormat"/>
11368           </parameter>
11369           <parameter name="amount" transfer-ownership="none">
11370             <type name="uint64" c:type="guint64"/>
11371           </parameter>
11372           <parameter name="rate" transfer-ownership="none">
11373             <type name="double" c:type="gdouble"/>
11374           </parameter>
11375           <parameter name="flush" transfer-ownership="none">
11376             <type name="boolean" c:type="gboolean"/>
11377           </parameter>
11378           <parameter name="intermediate" transfer-ownership="none">
11379             <type name="boolean" c:type="gboolean"/>
11380           </parameter>
11381           <parameter name="duration" transfer-ownership="none">
11382             <type name="uint64" c:type="guint64"/>
11383           </parameter>
11384           <parameter name="eos" transfer-ownership="none">
11385             <type name="boolean" c:type="gboolean"/>
11386           </parameter>
11387         </parameters>
11388       </constructor>
11389       <constructor name="new_clock_provide"
11390                    c:identifier="gst_message_new_clock_provide">
11391         <return-value transfer-ownership="full">
11392           <type name="Message" c:type="GstMessage*"/>
11393         </return-value>
11394         <parameters>
11395           <parameter name="src" transfer-ownership="none">
11396             <type name="Object" c:type="GstObject*"/>
11397           </parameter>
11398           <parameter name="clock" transfer-ownership="none">
11399             <type name="Clock" c:type="GstClock*"/>
11400           </parameter>
11401           <parameter name="ready" transfer-ownership="none">
11402             <type name="boolean" c:type="gboolean"/>
11403           </parameter>
11404         </parameters>
11405       </constructor>
11406       <constructor name="new_clock_lost"
11407                    c:identifier="gst_message_new_clock_lost">
11408         <return-value transfer-ownership="full">
11409           <type name="Message" c:type="GstMessage*"/>
11410         </return-value>
11411         <parameters>
11412           <parameter name="src" transfer-ownership="none">
11413             <type name="Object" c:type="GstObject*"/>
11414           </parameter>
11415           <parameter name="clock" transfer-ownership="none">
11416             <type name="Clock" c:type="GstClock*"/>
11417           </parameter>
11418         </parameters>
11419       </constructor>
11420       <constructor name="new_new_clock"
11421                    c:identifier="gst_message_new_new_clock">
11422         <return-value transfer-ownership="full">
11423           <type name="Message" c:type="GstMessage*"/>
11424         </return-value>
11425         <parameters>
11426           <parameter name="src" transfer-ownership="none">
11427             <type name="Object" c:type="GstObject*"/>
11428           </parameter>
11429           <parameter name="clock" transfer-ownership="none">
11430             <type name="Clock" c:type="GstClock*"/>
11431           </parameter>
11432         </parameters>
11433       </constructor>
11434       <constructor name="new_application"
11435                    c:identifier="gst_message_new_application">
11436         <return-value transfer-ownership="full">
11437           <type name="Message" c:type="GstMessage*"/>
11438         </return-value>
11439         <parameters>
11440           <parameter name="src" transfer-ownership="none">
11441             <type name="Object" c:type="GstObject*"/>
11442           </parameter>
11443           <parameter name="structure" transfer-ownership="none">
11444             <type name="Structure" c:type="GstStructure*"/>
11445           </parameter>
11446         </parameters>
11447       </constructor>
11448       <constructor name="new_element" c:identifier="gst_message_new_element">
11449         <return-value transfer-ownership="full">
11450           <type name="Message" c:type="GstMessage*"/>
11451         </return-value>
11452         <parameters>
11453           <parameter name="src" transfer-ownership="none">
11454             <type name="Object" c:type="GstObject*"/>
11455           </parameter>
11456           <parameter name="structure" transfer-ownership="none">
11457             <type name="Structure" c:type="GstStructure*"/>
11458           </parameter>
11459         </parameters>
11460       </constructor>
11461       <constructor name="new_segment_start"
11462                    c:identifier="gst_message_new_segment_start">
11463         <return-value transfer-ownership="full">
11464           <type name="Message" c:type="GstMessage*"/>
11465         </return-value>
11466         <parameters>
11467           <parameter name="src" transfer-ownership="none">
11468             <type name="Object" c:type="GstObject*"/>
11469           </parameter>
11470           <parameter name="format" transfer-ownership="none">
11471             <type name="Format" c:type="GstFormat"/>
11472           </parameter>
11473           <parameter name="position" transfer-ownership="none">
11474             <type name="int64" c:type="gint64"/>
11475           </parameter>
11476         </parameters>
11477       </constructor>
11478       <constructor name="new_segment_done"
11479                    c:identifier="gst_message_new_segment_done">
11480         <return-value transfer-ownership="full">
11481           <type name="Message" c:type="GstMessage*"/>
11482         </return-value>
11483         <parameters>
11484           <parameter name="src" transfer-ownership="none">
11485             <type name="Object" c:type="GstObject*"/>
11486           </parameter>
11487           <parameter name="format" transfer-ownership="none">
11488             <type name="Format" c:type="GstFormat"/>
11489           </parameter>
11490           <parameter name="position" transfer-ownership="none">
11491             <type name="int64" c:type="gint64"/>
11492           </parameter>
11493         </parameters>
11494       </constructor>
11495       <constructor name="new_duration" c:identifier="gst_message_new_duration">
11496         <return-value transfer-ownership="full">
11497           <type name="Message" c:type="GstMessage*"/>
11498         </return-value>
11499         <parameters>
11500           <parameter name="src" transfer-ownership="none">
11501             <type name="Object" c:type="GstObject*"/>
11502           </parameter>
11503           <parameter name="format" transfer-ownership="none">
11504             <type name="Format" c:type="GstFormat"/>
11505           </parameter>
11506           <parameter name="duration" transfer-ownership="none">
11507             <type name="int64" c:type="gint64"/>
11508           </parameter>
11509         </parameters>
11510       </constructor>
11511       <constructor name="new_latency" c:identifier="gst_message_new_latency">
11512         <return-value transfer-ownership="full">
11513           <type name="Message" c:type="GstMessage*"/>
11514         </return-value>
11515         <parameters>
11516           <parameter name="src" transfer-ownership="none">
11517             <type name="Object" c:type="GstObject*"/>
11518           </parameter>
11519         </parameters>
11520       </constructor>
11521       <constructor name="new_async_start"
11522                    c:identifier="gst_message_new_async_start">
11523         <return-value transfer-ownership="full">
11524           <type name="Message" c:type="GstMessage*"/>
11525         </return-value>
11526         <parameters>
11527           <parameter name="src" transfer-ownership="none">
11528             <type name="Object" c:type="GstObject*"/>
11529           </parameter>
11530           <parameter name="new_base_time" transfer-ownership="none">
11531             <type name="boolean" c:type="gboolean"/>
11532           </parameter>
11533         </parameters>
11534       </constructor>
11535       <constructor name="new_async_done"
11536                    c:identifier="gst_message_new_async_done">
11537         <return-value transfer-ownership="full">
11538           <type name="Message" c:type="GstMessage*"/>
11539         </return-value>
11540         <parameters>
11541           <parameter name="src" transfer-ownership="none">
11542             <type name="Object" c:type="GstObject*"/>
11543           </parameter>
11544         </parameters>
11545       </constructor>
11546       <constructor name="new_structure_change"
11547                    c:identifier="gst_message_new_structure_change">
11548         <return-value transfer-ownership="full">
11549           <type name="Message" c:type="GstMessage*"/>
11550         </return-value>
11551         <parameters>
11552           <parameter name="src" transfer-ownership="none">
11553             <type name="Object" c:type="GstObject*"/>
11554           </parameter>
11555           <parameter name="type" transfer-ownership="none">
11556             <type name="StructureChangeType" c:type="GstStructureChangeType"/>
11557           </parameter>
11558           <parameter name="owner" transfer-ownership="none">
11559             <type name="Element" c:type="GstElement*"/>
11560           </parameter>
11561           <parameter name="busy" transfer-ownership="none">
11562             <type name="boolean" c:type="gboolean"/>
11563           </parameter>
11564         </parameters>
11565       </constructor>
11566       <constructor name="new_stream_status"
11567                    c:identifier="gst_message_new_stream_status">
11568         <return-value transfer-ownership="full">
11569           <type name="Message" c:type="GstMessage*"/>
11570         </return-value>
11571         <parameters>
11572           <parameter name="src" transfer-ownership="none">
11573             <type name="Object" c:type="GstObject*"/>
11574           </parameter>
11575           <parameter name="type" transfer-ownership="none">
11576             <type name="StreamStatusType" c:type="GstStreamStatusType"/>
11577           </parameter>
11578           <parameter name="owner" transfer-ownership="none">
11579             <type name="Element" c:type="GstElement*"/>
11580           </parameter>
11581         </parameters>
11582       </constructor>
11583       <constructor name="new_request_state"
11584                    c:identifier="gst_message_new_request_state">
11585         <return-value transfer-ownership="full">
11586           <type name="Message" c:type="GstMessage*"/>
11587         </return-value>
11588         <parameters>
11589           <parameter name="src" transfer-ownership="none">
11590             <type name="Object" c:type="GstObject*"/>
11591           </parameter>
11592           <parameter name="state" transfer-ownership="none">
11593             <type name="State" c:type="GstState"/>
11594           </parameter>
11595         </parameters>
11596       </constructor>
11597       <constructor name="new_step_start"
11598                    c:identifier="gst_message_new_step_start">
11599         <return-value transfer-ownership="full">
11600           <type name="Message" c:type="GstMessage*"/>
11601         </return-value>
11602         <parameters>
11603           <parameter name="src" transfer-ownership="none">
11604             <type name="Object" c:type="GstObject*"/>
11605           </parameter>
11606           <parameter name="active" transfer-ownership="none">
11607             <type name="boolean" c:type="gboolean"/>
11608           </parameter>
11609           <parameter name="format" transfer-ownership="none">
11610             <type name="Format" c:type="GstFormat"/>
11611           </parameter>
11612           <parameter name="amount" transfer-ownership="none">
11613             <type name="uint64" c:type="guint64"/>
11614           </parameter>
11615           <parameter name="rate" transfer-ownership="none">
11616             <type name="double" c:type="gdouble"/>
11617           </parameter>
11618           <parameter name="flush" transfer-ownership="none">
11619             <type name="boolean" c:type="gboolean"/>
11620           </parameter>
11621           <parameter name="intermediate" transfer-ownership="none">
11622             <type name="boolean" c:type="gboolean"/>
11623           </parameter>
11624         </parameters>
11625       </constructor>
11626       <constructor name="new_qos" c:identifier="gst_message_new_qos">
11627         <return-value transfer-ownership="full">
11628           <type name="Message" c:type="GstMessage*"/>
11629         </return-value>
11630         <parameters>
11631           <parameter name="src" transfer-ownership="none">
11632             <type name="Object" c:type="GstObject*"/>
11633           </parameter>
11634           <parameter name="live" transfer-ownership="none">
11635             <type name="boolean" c:type="gboolean"/>
11636           </parameter>
11637           <parameter name="running_time" transfer-ownership="none">
11638             <type name="uint64" c:type="guint64"/>
11639           </parameter>
11640           <parameter name="stream_time" transfer-ownership="none">
11641             <type name="uint64" c:type="guint64"/>
11642           </parameter>
11643           <parameter name="timestamp" transfer-ownership="none">
11644             <type name="uint64" c:type="guint64"/>
11645           </parameter>
11646           <parameter name="duration" transfer-ownership="none">
11647             <type name="uint64" c:type="guint64"/>
11648           </parameter>
11649         </parameters>
11650       </constructor>
11651       <constructor name="new_custom" c:identifier="gst_message_new_custom">
11652         <return-value transfer-ownership="full">
11653           <type name="Message" c:type="GstMessage*"/>
11654         </return-value>
11655         <parameters>
11656           <parameter name="type" transfer-ownership="none">
11657             <type name="MessageType" c:type="GstMessageType"/>
11658           </parameter>
11659           <parameter name="src" transfer-ownership="none">
11660             <type name="Object" c:type="GstObject*"/>
11661           </parameter>
11662           <parameter name="structure" transfer-ownership="none">
11663             <type name="Structure" c:type="GstStructure*"/>
11664           </parameter>
11665         </parameters>
11666       </constructor>
11667       <function name="type_get_name" c:identifier="gst_message_type_get_name">
11668         <return-value transfer-ownership="none">
11669           <type name="utf8" c:type="gchar*"/>
11670         </return-value>
11671         <parameters>
11672           <parameter name="type" transfer-ownership="none">
11673             <type name="MessageType" c:type="GstMessageType"/>
11674           </parameter>
11675         </parameters>
11676       </function>
11677       <function name="type_to_quark" c:identifier="gst_message_type_to_quark">
11678         <return-value transfer-ownership="full">
11679           <type name="GLib.Quark" c:type="GQuark"/>
11680         </return-value>
11681         <parameters>
11682           <parameter name="type" transfer-ownership="none">
11683             <type name="MessageType" c:type="GstMessageType"/>
11684           </parameter>
11685         </parameters>
11686       </function>
11687       <method name="get_seqnum" c:identifier="gst_message_get_seqnum">
11688         <return-value transfer-ownership="none">
11689           <type name="uint32" c:type="guint32"/>
11690         </return-value>
11691       </method>
11692       <method name="set_seqnum" c:identifier="gst_message_set_seqnum">
11693         <return-value transfer-ownership="none">
11694           <type name="none" c:type="void"/>
11695         </return-value>
11696         <parameters>
11697           <parameter name="seqnum" transfer-ownership="none">
11698             <type name="uint32" c:type="guint32"/>
11699           </parameter>
11700         </parameters>
11701       </method>
11702       <method name="parse_error" c:identifier="gst_message_parse_error">
11703         <return-value transfer-ownership="none">
11704           <type name="none" c:type="void"/>
11705         </return-value>
11706         <parameters>
11707           <parameter name="gerror" transfer-ownership="none">
11708             <type name="GLib.Error" c:type="GError**"/>
11709           </parameter>
11710           <parameter name="debug" transfer-ownership="none">
11711             <array c:type="gchar**">
11712               <type name="utf8"/>
11713             </array>
11714           </parameter>
11715         </parameters>
11716       </method>
11717       <method name="parse_warning" c:identifier="gst_message_parse_warning">
11718         <return-value transfer-ownership="none">
11719           <type name="none" c:type="void"/>
11720         </return-value>
11721         <parameters>
11722           <parameter name="gerror" transfer-ownership="none">
11723             <type name="GLib.Error" c:type="GError**"/>
11724           </parameter>
11725           <parameter name="debug" transfer-ownership="none">
11726             <array c:type="gchar**">
11727               <type name="utf8"/>
11728             </array>
11729           </parameter>
11730         </parameters>
11731       </method>
11732       <method name="parse_info" c:identifier="gst_message_parse_info">
11733         <return-value transfer-ownership="none">
11734           <type name="none" c:type="void"/>
11735         </return-value>
11736         <parameters>
11737           <parameter name="gerror" transfer-ownership="none">
11738             <type name="GLib.Error" c:type="GError**"/>
11739           </parameter>
11740           <parameter name="debug" transfer-ownership="none">
11741             <array c:type="gchar**">
11742               <type name="utf8"/>
11743             </array>
11744           </parameter>
11745         </parameters>
11746       </method>
11747       <method name="parse_tag" c:identifier="gst_message_parse_tag">
11748         <return-value transfer-ownership="none">
11749           <type name="none" c:type="void"/>
11750         </return-value>
11751         <parameters>
11752           <parameter name="tag_list" transfer-ownership="none">
11753             <type name="TagList" c:type="GstTagList**"/>
11754           </parameter>
11755         </parameters>
11756       </method>
11757       <method name="parse_tag_full" c:identifier="gst_message_parse_tag_full">
11758         <return-value transfer-ownership="none">
11759           <type name="none" c:type="void"/>
11760         </return-value>
11761         <parameters>
11762           <parameter name="pad" transfer-ownership="none">
11763             <type name="Pad" c:type="GstPad**"/>
11764           </parameter>
11765           <parameter name="tag_list" transfer-ownership="none">
11766             <type name="TagList" c:type="GstTagList**"/>
11767           </parameter>
11768         </parameters>
11769       </method>
11770       <method name="parse_buffering"
11771               c:identifier="gst_message_parse_buffering">
11772         <return-value transfer-ownership="none">
11773           <type name="none" c:type="void"/>
11774         </return-value>
11775         <parameters>
11776           <parameter name="percent"
11777                      direction="out"
11778                      caller-allocates="0"
11779                      transfer-ownership="full">
11780             <type name="int" c:type="gint*"/>
11781           </parameter>
11782         </parameters>
11783       </method>
11784       <method name="set_buffering_stats"
11785               c:identifier="gst_message_set_buffering_stats">
11786         <return-value transfer-ownership="none">
11787           <type name="none" c:type="void"/>
11788         </return-value>
11789         <parameters>
11790           <parameter name="mode" transfer-ownership="none">
11791             <type name="BufferingMode" c:type="GstBufferingMode"/>
11792           </parameter>
11793           <parameter name="avg_in" transfer-ownership="none">
11794             <type name="int" c:type="gint"/>
11795           </parameter>
11796           <parameter name="avg_out" transfer-ownership="none">
11797             <type name="int" c:type="gint"/>
11798           </parameter>
11799           <parameter name="buffering_left" transfer-ownership="none">
11800             <type name="int64" c:type="gint64"/>
11801           </parameter>
11802         </parameters>
11803       </method>
11804       <method name="parse_buffering_stats"
11805               c:identifier="gst_message_parse_buffering_stats">
11806         <return-value transfer-ownership="none">
11807           <type name="none" c:type="void"/>
11808         </return-value>
11809         <parameters>
11810           <parameter name="mode" transfer-ownership="none">
11811             <type name="BufferingMode" c:type="GstBufferingMode*"/>
11812           </parameter>
11813           <parameter name="avg_in"
11814                      direction="out"
11815                      caller-allocates="0"
11816                      transfer-ownership="full">
11817             <type name="int" c:type="gint*"/>
11818           </parameter>
11819           <parameter name="avg_out"
11820                      direction="out"
11821                      caller-allocates="0"
11822                      transfer-ownership="full">
11823             <type name="int" c:type="gint*"/>
11824           </parameter>
11825           <parameter name="buffering_left"
11826                      direction="out"
11827                      caller-allocates="0"
11828                      transfer-ownership="full">
11829             <type name="int64" c:type="gint64*"/>
11830           </parameter>
11831         </parameters>
11832       </method>
11833       <method name="parse_state_changed"
11834               c:identifier="gst_message_parse_state_changed">
11835         <return-value transfer-ownership="none">
11836           <type name="none" c:type="void"/>
11837         </return-value>
11838         <parameters>
11839           <parameter name="oldstate" transfer-ownership="none">
11840             <type name="State" c:type="GstState*"/>
11841           </parameter>
11842           <parameter name="newstate" transfer-ownership="none">
11843             <type name="State" c:type="GstState*"/>
11844           </parameter>
11845           <parameter name="pending" transfer-ownership="none">
11846             <type name="State" c:type="GstState*"/>
11847           </parameter>
11848         </parameters>
11849       </method>
11850       <method name="parse_step_done"
11851               c:identifier="gst_message_parse_step_done">
11852         <return-value transfer-ownership="none">
11853           <type name="none" c:type="void"/>
11854         </return-value>
11855         <parameters>
11856           <parameter name="format" transfer-ownership="none">
11857             <type name="Format" c:type="GstFormat*"/>
11858           </parameter>
11859           <parameter name="amount"
11860                      direction="out"
11861                      caller-allocates="0"
11862                      transfer-ownership="full">
11863             <type name="uint64" c:type="guint64*"/>
11864           </parameter>
11865           <parameter name="rate"
11866                      direction="out"
11867                      caller-allocates="0"
11868                      transfer-ownership="full">
11869             <type name="double" c:type="gdouble*"/>
11870           </parameter>
11871           <parameter name="flush"
11872                      direction="out"
11873                      caller-allocates="0"
11874                      transfer-ownership="full">
11875             <type name="boolean" c:type="gboolean*"/>
11876           </parameter>
11877           <parameter name="intermediate"
11878                      direction="out"
11879                      caller-allocates="0"
11880                      transfer-ownership="full">
11881             <type name="boolean" c:type="gboolean*"/>
11882           </parameter>
11883           <parameter name="duration"
11884                      direction="out"
11885                      caller-allocates="0"
11886                      transfer-ownership="full">
11887             <type name="uint64" c:type="guint64*"/>
11888           </parameter>
11889           <parameter name="eos"
11890                      direction="out"
11891                      caller-allocates="0"
11892                      transfer-ownership="full">
11893             <type name="boolean" c:type="gboolean*"/>
11894           </parameter>
11895         </parameters>
11896       </method>
11897       <method name="parse_clock_provide"
11898               c:identifier="gst_message_parse_clock_provide">
11899         <return-value transfer-ownership="none">
11900           <type name="none" c:type="void"/>
11901         </return-value>
11902         <parameters>
11903           <parameter name="clock" transfer-ownership="none">
11904             <type name="Clock" c:type="GstClock**"/>
11905           </parameter>
11906           <parameter name="ready"
11907                      direction="out"
11908                      caller-allocates="0"
11909                      transfer-ownership="full">
11910             <type name="boolean" c:type="gboolean*"/>
11911           </parameter>
11912         </parameters>
11913       </method>
11914       <method name="parse_clock_lost"
11915               c:identifier="gst_message_parse_clock_lost">
11916         <return-value transfer-ownership="none">
11917           <type name="none" c:type="void"/>
11918         </return-value>
11919         <parameters>
11920           <parameter name="clock" transfer-ownership="none">
11921             <type name="Clock" c:type="GstClock**"/>
11922           </parameter>
11923         </parameters>
11924       </method>
11925       <method name="parse_new_clock"
11926               c:identifier="gst_message_parse_new_clock">
11927         <return-value transfer-ownership="none">
11928           <type name="none" c:type="void"/>
11929         </return-value>
11930         <parameters>
11931           <parameter name="clock" transfer-ownership="none">
11932             <type name="Clock" c:type="GstClock**"/>
11933           </parameter>
11934         </parameters>
11935       </method>
11936       <method name="parse_segment_start"
11937               c:identifier="gst_message_parse_segment_start">
11938         <return-value transfer-ownership="none">
11939           <type name="none" c:type="void"/>
11940         </return-value>
11941         <parameters>
11942           <parameter name="format" transfer-ownership="none">
11943             <type name="Format" c:type="GstFormat*"/>
11944           </parameter>
11945           <parameter name="position"
11946                      direction="out"
11947                      caller-allocates="0"
11948                      transfer-ownership="full">
11949             <type name="int64" c:type="gint64*"/>
11950           </parameter>
11951         </parameters>
11952       </method>
11953       <method name="parse_segment_done"
11954               c:identifier="gst_message_parse_segment_done">
11955         <return-value transfer-ownership="none">
11956           <type name="none" c:type="void"/>
11957         </return-value>
11958         <parameters>
11959           <parameter name="format" transfer-ownership="none">
11960             <type name="Format" c:type="GstFormat*"/>
11961           </parameter>
11962           <parameter name="position"
11963                      direction="out"
11964                      caller-allocates="0"
11965                      transfer-ownership="full">
11966             <type name="int64" c:type="gint64*"/>
11967           </parameter>
11968         </parameters>
11969       </method>
11970       <method name="parse_duration" c:identifier="gst_message_parse_duration">
11971         <return-value transfer-ownership="none">
11972           <type name="none" c:type="void"/>
11973         </return-value>
11974         <parameters>
11975           <parameter name="format" transfer-ownership="none">
11976             <type name="Format" c:type="GstFormat*"/>
11977           </parameter>
11978           <parameter name="duration"
11979                      direction="out"
11980                      caller-allocates="0"
11981                      transfer-ownership="full">
11982             <type name="int64" c:type="gint64*"/>
11983           </parameter>
11984         </parameters>
11985       </method>
11986       <method name="parse_async_start"
11987               c:identifier="gst_message_parse_async_start">
11988         <return-value transfer-ownership="none">
11989           <type name="none" c:type="void"/>
11990         </return-value>
11991         <parameters>
11992           <parameter name="new_base_time"
11993                      direction="out"
11994                      caller-allocates="0"
11995                      transfer-ownership="full">
11996             <type name="boolean" c:type="gboolean*"/>
11997           </parameter>
11998         </parameters>
11999       </method>
12000       <method name="parse_structure_change"
12001               c:identifier="gst_message_parse_structure_change">
12002         <return-value transfer-ownership="none">
12003           <type name="none" c:type="void"/>
12004         </return-value>
12005         <parameters>
12006           <parameter name="type" transfer-ownership="none">
12007             <type name="StructureChangeType" c:type="GstStructureChangeType*"/>
12008           </parameter>
12009           <parameter name="owner" transfer-ownership="none">
12010             <type name="Element" c:type="GstElement**"/>
12011           </parameter>
12012           <parameter name="busy"
12013                      direction="out"
12014                      caller-allocates="0"
12015                      transfer-ownership="full">
12016             <type name="boolean" c:type="gboolean*"/>
12017           </parameter>
12018         </parameters>
12019       </method>
12020       <method name="parse_stream_status"
12021               c:identifier="gst_message_parse_stream_status">
12022         <return-value transfer-ownership="none">
12023           <type name="none" c:type="void"/>
12024         </return-value>
12025         <parameters>
12026           <parameter name="type" transfer-ownership="none">
12027             <type name="StreamStatusType" c:type="GstStreamStatusType*"/>
12028           </parameter>
12029           <parameter name="owner" transfer-ownership="none">
12030             <type name="Element" c:type="GstElement**"/>
12031           </parameter>
12032         </parameters>
12033       </method>
12034       <method name="set_stream_status_object"
12035               c:identifier="gst_message_set_stream_status_object">
12036         <return-value transfer-ownership="none">
12037           <type name="none" c:type="void"/>
12038         </return-value>
12039         <parameters>
12040           <parameter name="object" transfer-ownership="none">
12041             <type name="GObject.Value" c:type="GValue*"/>
12042           </parameter>
12043         </parameters>
12044       </method>
12045       <method name="get_stream_status_object"
12046               c:identifier="gst_message_get_stream_status_object">
12047         <return-value transfer-ownership="none">
12048           <type name="GObject.Value" c:type="GValue*"/>
12049         </return-value>
12050       </method>
12051       <method name="parse_request_state"
12052               c:identifier="gst_message_parse_request_state">
12053         <return-value transfer-ownership="none">
12054           <type name="none" c:type="void"/>
12055         </return-value>
12056         <parameters>
12057           <parameter name="state" transfer-ownership="none">
12058             <type name="State" c:type="GstState*"/>
12059           </parameter>
12060         </parameters>
12061       </method>
12062       <method name="parse_step_start"
12063               c:identifier="gst_message_parse_step_start">
12064         <return-value transfer-ownership="none">
12065           <type name="none" c:type="void"/>
12066         </return-value>
12067         <parameters>
12068           <parameter name="active"
12069                      direction="out"
12070                      caller-allocates="0"
12071                      transfer-ownership="full">
12072             <type name="boolean" c:type="gboolean*"/>
12073           </parameter>
12074           <parameter name="format" transfer-ownership="none">
12075             <type name="Format" c:type="GstFormat*"/>
12076           </parameter>
12077           <parameter name="amount"
12078                      direction="out"
12079                      caller-allocates="0"
12080                      transfer-ownership="full">
12081             <type name="uint64" c:type="guint64*"/>
12082           </parameter>
12083           <parameter name="rate"
12084                      direction="out"
12085                      caller-allocates="0"
12086                      transfer-ownership="full">
12087             <type name="double" c:type="gdouble*"/>
12088           </parameter>
12089           <parameter name="flush"
12090                      direction="out"
12091                      caller-allocates="0"
12092                      transfer-ownership="full">
12093             <type name="boolean" c:type="gboolean*"/>
12094           </parameter>
12095           <parameter name="intermediate"
12096                      direction="out"
12097                      caller-allocates="0"
12098                      transfer-ownership="full">
12099             <type name="boolean" c:type="gboolean*"/>
12100           </parameter>
12101         </parameters>
12102       </method>
12103       <method name="set_qos_values" c:identifier="gst_message_set_qos_values">
12104         <return-value transfer-ownership="none">
12105           <type name="none" c:type="void"/>
12106         </return-value>
12107         <parameters>
12108           <parameter name="jitter" transfer-ownership="none">
12109             <type name="int64" c:type="gint64"/>
12110           </parameter>
12111           <parameter name="proportion" transfer-ownership="none">
12112             <type name="double" c:type="gdouble"/>
12113           </parameter>
12114           <parameter name="quality" transfer-ownership="none">
12115             <type name="int" c:type="gint"/>
12116           </parameter>
12117         </parameters>
12118       </method>
12119       <method name="set_qos_stats" c:identifier="gst_message_set_qos_stats">
12120         <return-value transfer-ownership="none">
12121           <type name="none" c:type="void"/>
12122         </return-value>
12123         <parameters>
12124           <parameter name="format" transfer-ownership="none">
12125             <type name="Format" c:type="GstFormat"/>
12126           </parameter>
12127           <parameter name="processed" transfer-ownership="none">
12128             <type name="uint64" c:type="guint64"/>
12129           </parameter>
12130           <parameter name="dropped" transfer-ownership="none">
12131             <type name="uint64" c:type="guint64"/>
12132           </parameter>
12133         </parameters>
12134       </method>
12135       <method name="parse_qos" c:identifier="gst_message_parse_qos">
12136         <return-value transfer-ownership="none">
12137           <type name="none" c:type="void"/>
12138         </return-value>
12139         <parameters>
12140           <parameter name="live"
12141                      direction="out"
12142                      caller-allocates="0"
12143                      transfer-ownership="full">
12144             <type name="boolean" c:type="gboolean*"/>
12145           </parameter>
12146           <parameter name="running_time"
12147                      direction="out"
12148                      caller-allocates="0"
12149                      transfer-ownership="full">
12150             <type name="uint64" c:type="guint64*"/>
12151           </parameter>
12152           <parameter name="stream_time"
12153                      direction="out"
12154                      caller-allocates="0"
12155                      transfer-ownership="full">
12156             <type name="uint64" c:type="guint64*"/>
12157           </parameter>
12158           <parameter name="timestamp"
12159                      direction="out"
12160                      caller-allocates="0"
12161                      transfer-ownership="full">
12162             <type name="uint64" c:type="guint64*"/>
12163           </parameter>
12164           <parameter name="duration"
12165                      direction="out"
12166                      caller-allocates="0"
12167                      transfer-ownership="full">
12168             <type name="uint64" c:type="guint64*"/>
12169           </parameter>
12170         </parameters>
12171       </method>
12172       <method name="parse_qos_values"
12173               c:identifier="gst_message_parse_qos_values">
12174         <return-value transfer-ownership="none">
12175           <type name="none" c:type="void"/>
12176         </return-value>
12177         <parameters>
12178           <parameter name="jitter"
12179                      direction="out"
12180                      caller-allocates="0"
12181                      transfer-ownership="full">
12182             <type name="int64" c:type="gint64*"/>
12183           </parameter>
12184           <parameter name="proportion"
12185                      direction="out"
12186                      caller-allocates="0"
12187                      transfer-ownership="full">
12188             <type name="double" c:type="gdouble*"/>
12189           </parameter>
12190           <parameter name="quality"
12191                      direction="out"
12192                      caller-allocates="0"
12193                      transfer-ownership="full">
12194             <type name="int" c:type="gint*"/>
12195           </parameter>
12196         </parameters>
12197       </method>
12198       <method name="parse_qos_stats"
12199               c:identifier="gst_message_parse_qos_stats">
12200         <return-value transfer-ownership="none">
12201           <type name="none" c:type="void"/>
12202         </return-value>
12203         <parameters>
12204           <parameter name="format" transfer-ownership="none">
12205             <type name="Format" c:type="GstFormat*"/>
12206           </parameter>
12207           <parameter name="processed"
12208                      direction="out"
12209                      caller-allocates="0"
12210                      transfer-ownership="full">
12211             <type name="uint64" c:type="guint64*"/>
12212           </parameter>
12213           <parameter name="dropped"
12214                      direction="out"
12215                      caller-allocates="0"
12216                      transfer-ownership="full">
12217             <type name="uint64" c:type="guint64*"/>
12218           </parameter>
12219         </parameters>
12220       </method>
12221       <method name="get_structure" c:identifier="gst_message_get_structure">
12222         <return-value transfer-ownership="none">
12223           <type name="Structure" c:type="GstStructure*"/>
12224         </return-value>
12225       </method>
12226       <field name="mini_object">
12227         <type name="MiniObject" c:type="GstMiniObject"/>
12228       </field>
12229       <field name="lock">
12230         <type name="GLib.Mutex" c:type="GMutex*"/>
12231       </field>
12232       <field name="cond">
12233         <type name="GLib.Cond" c:type="GCond*"/>
12234       </field>
12235       <field name="type">
12236         <type name="MessageType" c:type="GstMessageType"/>
12237       </field>
12238       <field name="timestamp">
12239         <type name="uint64" c:type="guint64"/>
12240       </field>
12241       <field name="src">
12242         <type name="Object" c:type="GstObject*"/>
12243       </field>
12244       <field name="structure">
12245         <type name="Structure" c:type="GstStructure*"/>
12246       </field>
12247       <union name="abidata" c:type="abidata">
12248         <record name="ABI" c:type="ABI">
12249           <field name="seqnum" writable="1">
12250             <type name="uint32" c:type="guint32"/>
12251           </field>
12252         </record>
12253         <field name="_gst_reserved" writable="1">
12254           <array zero-terminated="0" c:type="gpointer" fixed-size="4">
12255             <type name="any"/>
12256           </array>
12257         </field>
12258       </union>
12259     </class>
12260     <record name="MessageClass"
12261             c:type="GstMessageClass"
12262             glib:is-gtype-struct-for="Message">
12263       <field name="mini_object_class">
12264         <type name="MiniObjectClass" c:type="GstMiniObjectClass"/>
12265       </field>
12266       <field name="_gst_reserved">
12267         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
12268           <type name="any"/>
12269         </array>
12270       </field>
12271     </record>
12272     <bitfield name="MessageType"
12273               glib:type-name="GstMessageType"
12274               glib:get-type="gst_message_type_get_type"
12275               c:type="GstMessageType">
12276       <doc xml:whitespace="preserve">The different message types that are available.</doc>
12277       <member name="unknown"
12278               value="0"
12279               c:identifier="GST_MESSAGE_UNKNOWN"
12280               glib:nick="unknown"/>
12281       <member name="eos"
12282               value="1"
12283               c:identifier="GST_MESSAGE_EOS"
12284               glib:nick="eos"/>
12285       <member name="error"
12286               value="2"
12287               c:identifier="GST_MESSAGE_ERROR"
12288               glib:nick="error"/>
12289       <member name="warning"
12290               value="4"
12291               c:identifier="GST_MESSAGE_WARNING"
12292               glib:nick="warning"/>
12293       <member name="info"
12294               value="8"
12295               c:identifier="GST_MESSAGE_INFO"
12296               glib:nick="info"/>
12297       <member name="tag"
12298               value="16"
12299               c:identifier="GST_MESSAGE_TAG"
12300               glib:nick="tag"/>
12301       <member name="buffering"
12302               value="32"
12303               c:identifier="GST_MESSAGE_BUFFERING"
12304               glib:nick="buffering"/>
12305       <member name="state_changed"
12306               value="64"
12307               c:identifier="GST_MESSAGE_STATE_CHANGED"
12308               glib:nick="state-changed"/>
12309       <member name="state_dirty"
12310               value="128"
12311               c:identifier="GST_MESSAGE_STATE_DIRTY"
12312               glib:nick="state-dirty"/>
12313       <member name="step_done"
12314               value="256"
12315               c:identifier="GST_MESSAGE_STEP_DONE"
12316               glib:nick="step-done"/>
12317       <member name="clock_provide"
12318               value="512"
12319               c:identifier="GST_MESSAGE_CLOCK_PROVIDE"
12320               glib:nick="clock-provide"/>
12321       <member name="clock_lost"
12322               value="1024"
12323               c:identifier="GST_MESSAGE_CLOCK_LOST"
12324               glib:nick="clock-lost"/>
12325       <member name="new_clock"
12326               value="2048"
12327               c:identifier="GST_MESSAGE_NEW_CLOCK"
12328               glib:nick="new-clock"/>
12329       <member name="structure_change"
12330               value="4096"
12331               c:identifier="GST_MESSAGE_STRUCTURE_CHANGE"
12332               glib:nick="structure-change"/>
12333       <member name="stream_status"
12334               value="8192"
12335               c:identifier="GST_MESSAGE_STREAM_STATUS"
12336               glib:nick="stream-status"/>
12337       <member name="application"
12338               value="16384"
12339               c:identifier="GST_MESSAGE_APPLICATION"
12340               glib:nick="application"/>
12341       <member name="element"
12342               value="32768"
12343               c:identifier="GST_MESSAGE_ELEMENT"
12344               glib:nick="element"/>
12345       <member name="segment_start"
12346               value="65536"
12347               c:identifier="GST_MESSAGE_SEGMENT_START"
12348               glib:nick="segment-start"/>
12349       <member name="segment_done"
12350               value="131072"
12351               c:identifier="GST_MESSAGE_SEGMENT_DONE"
12352               glib:nick="segment-done"/>
12353       <member name="duration"
12354               value="262144"
12355               c:identifier="GST_MESSAGE_DURATION"
12356               glib:nick="duration"/>
12357       <member name="latency"
12358               value="524288"
12359               c:identifier="GST_MESSAGE_LATENCY"
12360               glib:nick="latency"/>
12361       <member name="async_start"
12362               value="1048576"
12363               c:identifier="GST_MESSAGE_ASYNC_START"
12364               glib:nick="async-start"/>
12365       <member name="async_done"
12366               value="2097152"
12367               c:identifier="GST_MESSAGE_ASYNC_DONE"
12368               glib:nick="async-done"/>
12369       <member name="request_state"
12370               value="4194304"
12371               c:identifier="GST_MESSAGE_REQUEST_STATE"
12372               glib:nick="request-state"/>
12373       <member name="step_start"
12374               value="8388608"
12375               c:identifier="GST_MESSAGE_STEP_START"
12376               glib:nick="step-start"/>
12377       <member name="qos"
12378               value="16777216"
12379               c:identifier="GST_MESSAGE_QOS"
12380               glib:nick="qos"/>
12381       <member name="any"
12382               value="-1"
12383               c:identifier="GST_MESSAGE_ANY"
12384               glib:nick="any"/>
12385     </bitfield>
12386     <class name="MiniObject"
12387            c:type="GstMiniObject"
12388            abstract="1"
12389            glib:type-name="GstMiniObject"
12390            glib:get-type="gst_mini_object_get_type"
12391            glib:type-struct="MiniObjectClass"
12392            glib:fundamental="1"
12393            glib:ref-func="gst_mini_object_ref"
12394            glib:unref-func="gst_mini_object_unref"
12395            glib:set-value-func="gst_value_set_mini_object"
12396            glib:get-value-func="gst_value_get_mini_object">
12397       <doc xml:whitespace="preserve">Base class for refcounted lightweight objects.</doc>
12398       <constructor name="new" c:identifier="gst_mini_object_new">
12399         <return-value transfer-ownership="full">
12400           <type name="MiniObject" c:type="GstMiniObject*"/>
12401         </return-value>
12402         <parameters>
12403           <parameter name="type" transfer-ownership="none">
12404             <type name="GType" c:type="GType"/>
12405           </parameter>
12406         </parameters>
12407       </constructor>
12408       <method name="copy" c:identifier="gst_mini_object_copy">
12409         <return-value transfer-ownership="full">
12410           <type name="MiniObject" c:type="GstMiniObject*"/>
12411         </return-value>
12412       </method>
12413       <method name="is_writable" c:identifier="gst_mini_object_is_writable">
12414         <return-value transfer-ownership="none">
12415           <type name="boolean" c:type="gboolean"/>
12416         </return-value>
12417       </method>
12418       <method name="make_writable"
12419               c:identifier="gst_mini_object_make_writable">
12420         <return-value transfer-ownership="full">
12421           <type name="MiniObject" c:type="GstMiniObject*"/>
12422         </return-value>
12423       </method>
12424       <method name="ref" c:identifier="gst_mini_object_ref">
12425         <return-value transfer-ownership="full">
12426           <type name="MiniObject" c:type="GstMiniObject*"/>
12427         </return-value>
12428       </method>
12429       <method name="unref" c:identifier="gst_mini_object_unref">
12430         <return-value transfer-ownership="none">
12431           <type name="none" c:type="void"/>
12432         </return-value>
12433       </method>
12434       <method name="replace" c:identifier="gst_mini_object_replace">
12435         <return-value transfer-ownership="none">
12436           <type name="none" c:type="void"/>
12437         </return-value>
12438         <parameters>
12439           <parameter name="newdata" transfer-ownership="none">
12440             <type name="MiniObject" c:type="GstMiniObject*"/>
12441           </parameter>
12442         </parameters>
12443       </method>
12444       <field name="instance">
12445         <type name="GObject.TypeInstance" c:type="GTypeInstance"/>
12446       </field>
12447       <field name="refcount">
12448         <type name="int" c:type="gint"/>
12449       </field>
12450       <field name="flags">
12451         <type name="uint" c:type="guint"/>
12452       </field>
12453       <field name="_gst_reserved">
12454         <type name="any" c:type="gpointer"/>
12455       </field>
12456     </class>
12457     <record name="MiniObjectClass"
12458             c:type="GstMiniObjectClass"
12459             glib:is-gtype-struct-for="MiniObject">
12460       <field name="type_class">
12461         <type name="GObject.TypeClass" c:type="GTypeClass"/>
12462       </field>
12463       <field name="copy">
12464         <type name="MiniObjectCopyFunction"
12465               c:type="GstMiniObjectCopyFunction"/>
12466       </field>
12467       <field name="finalize">
12468         <type name="MiniObjectFinalizeFunction"
12469               c:type="GstMiniObjectFinalizeFunction"/>
12470       </field>
12471       <field name="_gst_reserved">
12472         <type name="any" c:type="gpointer"/>
12473       </field>
12474     </record>
12475     <callback name="MiniObjectCopyFunction" c:type="GstMiniObjectCopyFunction">
12476       <doc xml:whitespace="preserve">Virtual function prototype for methods to create copies of instances.</doc>
12477       <return-value transfer-ownership="full">
12478         <doc xml:whitespace="preserve">reference to cloned instance.</doc>
12479         <type name="MiniObject" c:type="GstMiniObject*"/>
12480       </return-value>
12481       <parameters>
12482         <parameter name="obj" transfer-ownership="none">
12483           <doc xml:whitespace="preserve">MiniObject to copy</doc>
12484           <type name="MiniObject" c:type="GstMiniObject*"/>
12485         </parameter>
12486       </parameters>
12487     </callback>
12488     <callback name="MiniObjectFinalizeFunction"
12489               c:type="GstMiniObjectFinalizeFunction">
12490       <doc xml:whitespace="preserve">Virtual function prototype for methods to free ressources used by
12491 mini-objects. Subclasses of the mini object are allowed to revive the
12492 passed object by doing a gst_mini_object_ref(). If the object is not
12493 revived after the finalize function, the memory associated with the
12494 object is freed.</doc>
12495       <return-value transfer-ownership="none">
12496         <type name="none" c:type="void"/>
12497       </return-value>
12498       <parameters>
12499         <parameter name="obj" transfer-ownership="none">
12500           <doc xml:whitespace="preserve">MiniObject to finalize</doc>
12501           <type name="MiniObject" c:type="GstMiniObject*"/>
12502         </parameter>
12503       </parameters>
12504     </callback>
12505     <bitfield name="MiniObjectFlags"
12506               glib:type-name="GstMiniObjectFlags"
12507               glib:get-type="gst_mini_object_flags_get_type"
12508               c:type="GstMiniObjectFlags">
12509       <doc xml:whitespace="preserve">Flags for the padtemplate</doc>
12510       <member name="readonly"
12511               value="1"
12512               c:identifier="GST_MINI_OBJECT_FLAG_READONLY"
12513               glib:nick="readonly"/>
12514       <member name="last"
12515               value="16"
12516               c:identifier="GST_MINI_OBJECT_FLAG_LAST"
12517               glib:nick="last"/>
12518     </bitfield>
12519     <constant name="NSECOND" value="0">
12520       <type name="int"/>
12521     </constant>
12522     <class name="Object"
12523            c:type="GstObject"
12524            parent="GObject.Object"
12525            abstract="1"
12526            glib:type-name="GstObject"
12527            glib:get-type="gst_object_get_type"
12528            glib:type-struct="ObjectClass">
12529       <doc xml:whitespace="preserve">GStreamer base object class.</doc>
12530       <function name="default_deep_notify"
12531                 c:identifier="gst_object_default_deep_notify">
12532         <return-value transfer-ownership="none">
12533           <type name="none" c:type="void"/>
12534         </return-value>
12535         <parameters>
12536           <parameter name="object" transfer-ownership="none">
12537             <type name="GObject.Object" c:type="GObject*"/>
12538           </parameter>
12539           <parameter name="orig" transfer-ownership="none">
12540             <type name="Object" c:type="GstObject*"/>
12541           </parameter>
12542           <parameter name="pspec" transfer-ownership="none">
12543             <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
12544           </parameter>
12545           <parameter name="excluded_props" transfer-ownership="none">
12546             <array c:type="gchar**">
12547               <type name="utf8"/>
12548             </array>
12549           </parameter>
12550         </parameters>
12551       </function>
12552       <function name="ref" c:identifier="gst_object_ref">
12553         <return-value transfer-ownership="none">
12554           <type name="any" c:type="gpointer"/>
12555         </return-value>
12556         <parameters>
12557           <parameter name="object" transfer-ownership="none">
12558             <type name="any" c:type="gpointer"/>
12559           </parameter>
12560         </parameters>
12561       </function>
12562       <function name="unref" c:identifier="gst_object_unref">
12563         <return-value transfer-ownership="none">
12564           <type name="none" c:type="void"/>
12565         </return-value>
12566         <parameters>
12567           <parameter name="object" transfer-ownership="none">
12568             <type name="any" c:type="gpointer"/>
12569           </parameter>
12570         </parameters>
12571       </function>
12572       <function name="ref_sink" c:identifier="gst_object_ref_sink">
12573         <return-value transfer-ownership="none">
12574           <type name="none" c:type="void"/>
12575         </return-value>
12576         <parameters>
12577           <parameter name="object" transfer-ownership="none">
12578             <type name="any" c:type="gpointer"/>
12579           </parameter>
12580         </parameters>
12581       </function>
12582       <function name="sink" c:identifier="gst_object_sink">
12583         <return-value transfer-ownership="none">
12584           <type name="none" c:type="void"/>
12585         </return-value>
12586         <parameters>
12587           <parameter name="object" transfer-ownership="none">
12588             <type name="any" c:type="gpointer"/>
12589           </parameter>
12590         </parameters>
12591       </function>
12592       <function name="check_uniqueness"
12593                 c:identifier="gst_object_check_uniqueness"
12594                 introspectable="0">
12595         <return-value transfer-ownership="none">
12596           <type name="boolean" c:type="gboolean"/>
12597         </return-value>
12598         <parameters>
12599           <parameter name="list" transfer-ownership="none">
12600             <type name="GLib.List" c:type="GList*">
12601               <type name="any" c:type="gpointer"/>
12602             </type>
12603           </parameter>
12604           <parameter name="name" transfer-ownership="none">
12605             <type name="utf8" c:type="gchar*"/>
12606           </parameter>
12607         </parameters>
12608       </function>
12609       <virtual-method name="save_thyself" invoker="save_thyself">
12610         <return-value transfer-ownership="full">
12611           <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
12612         </return-value>
12613         <parameters>
12614           <parameter name="parent" transfer-ownership="none">
12615             <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
12616           </parameter>
12617         </parameters>
12618       </virtual-method>
12619       <virtual-method name="restore_thyself" invoker="restore_thyself">
12620         <return-value transfer-ownership="none">
12621           <type name="none" c:type="void"/>
12622         </return-value>
12623         <parameters>
12624           <parameter name="self" transfer-ownership="none">
12625             <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
12626           </parameter>
12627         </parameters>
12628       </virtual-method>
12629       <method name="set_name" c:identifier="gst_object_set_name">
12630         <return-value transfer-ownership="none">
12631           <type name="boolean" c:type="gboolean"/>
12632         </return-value>
12633         <parameters>
12634           <parameter name="name" transfer-ownership="none">
12635             <type name="utf8" c:type="gchar*"/>
12636           </parameter>
12637         </parameters>
12638       </method>
12639       <method name="get_name" c:identifier="gst_object_get_name">
12640         <return-value transfer-ownership="full">
12641           <type name="utf8" c:type="gchar*"/>
12642         </return-value>
12643       </method>
12644       <method name="set_name_prefix" c:identifier="gst_object_set_name_prefix">
12645         <return-value transfer-ownership="none">
12646           <type name="none" c:type="void"/>
12647         </return-value>
12648         <parameters>
12649           <parameter name="name_prefix" transfer-ownership="none">
12650             <type name="utf8" c:type="gchar*"/>
12651           </parameter>
12652         </parameters>
12653       </method>
12654       <method name="get_name_prefix" c:identifier="gst_object_get_name_prefix">
12655         <return-value transfer-ownership="full">
12656           <type name="utf8" c:type="gchar*"/>
12657         </return-value>
12658       </method>
12659       <method name="set_parent" c:identifier="gst_object_set_parent">
12660         <return-value transfer-ownership="none">
12661           <type name="boolean" c:type="gboolean"/>
12662         </return-value>
12663         <parameters>
12664           <parameter name="parent" transfer-ownership="none">
12665             <type name="Object" c:type="GstObject*"/>
12666           </parameter>
12667         </parameters>
12668       </method>
12669       <method name="get_parent" c:identifier="gst_object_get_parent">
12670         <return-value transfer-ownership="full">
12671           <type name="Object" c:type="GstObject*"/>
12672         </return-value>
12673       </method>
12674       <method name="unparent" c:identifier="gst_object_unparent">
12675         <return-value transfer-ownership="none">
12676           <type name="none" c:type="void"/>
12677         </return-value>
12678       </method>
12679       <method name="has_ancestor" c:identifier="gst_object_has_ancestor">
12680         <return-value transfer-ownership="none">
12681           <type name="boolean" c:type="gboolean"/>
12682         </return-value>
12683         <parameters>
12684           <parameter name="ancestor" transfer-ownership="none">
12685             <type name="Object" c:type="GstObject*"/>
12686           </parameter>
12687         </parameters>
12688       </method>
12689       <method name="replace" c:identifier="gst_object_replace">
12690         <return-value transfer-ownership="none">
12691           <type name="none" c:type="void"/>
12692         </return-value>
12693         <parameters>
12694           <parameter name="newobj" transfer-ownership="none">
12695             <type name="Object" c:type="GstObject*"/>
12696           </parameter>
12697         </parameters>
12698       </method>
12699       <method name="get_path_string" c:identifier="gst_object_get_path_string">
12700         <return-value transfer-ownership="full">
12701           <type name="utf8" c:type="gchar*"/>
12702         </return-value>
12703       </method>
12704       <method name="save_thyself" c:identifier="gst_object_save_thyself">
12705         <return-value transfer-ownership="full">
12706           <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
12707         </return-value>
12708         <parameters>
12709           <parameter name="parent" transfer-ownership="none">
12710             <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
12711           </parameter>
12712         </parameters>
12713       </method>
12714       <method name="restore_thyself" c:identifier="gst_object_restore_thyself">
12715         <return-value transfer-ownership="none">
12716           <type name="none" c:type="void"/>
12717         </return-value>
12718         <parameters>
12719           <parameter name="self" transfer-ownership="none">
12720             <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
12721           </parameter>
12722         </parameters>
12723       </method>
12724       <method name="default_error" c:identifier="gst_object_default_error">
12725         <return-value transfer-ownership="none">
12726           <type name="none" c:type="void"/>
12727         </return-value>
12728         <parameters>
12729           <parameter name="error" transfer-ownership="none">
12730             <type name="GLib.Error" c:type="GError*"/>
12731           </parameter>
12732           <parameter name="debug" transfer-ownership="full">
12733             <type name="utf8" c:type="gchar*"/>
12734           </parameter>
12735         </parameters>
12736       </method>
12737       <property name="name"
12738                 writable="1"
12739                 construct="1"
12740                 transfer-ownership="none">
12741         <type name="utf8" c:type="gchararray"/>
12742       </property>
12743       <field name="object">
12744         <type name="GObject.Object" c:type="GObject"/>
12745       </field>
12746       <field name="refcount">
12747         <type name="int" c:type="gint"/>
12748       </field>
12749       <field name="lock">
12750         <type name="GLib.Mutex" c:type="GMutex*"/>
12751       </field>
12752       <field name="name">
12753         <type name="utf8" c:type="gchar*"/>
12754       </field>
12755       <field name="name_prefix">
12756         <type name="utf8" c:type="gchar*"/>
12757       </field>
12758       <field name="parent">
12759         <type name="Object" c:type="GstObject*"/>
12760       </field>
12761       <field name="flags">
12762         <type name="uint32" c:type="guint32"/>
12763       </field>
12764       <field name="_gst_reserved">
12765         <type name="any" c:type="gpointer"/>
12766       </field>
12767       <glib:signal name="deep-notify">
12768         <return-value transfer-ownership="full">
12769           <type name="none" c:type="void"/>
12770         </return-value>
12771         <parameters>
12772           <parameter name="object" transfer-ownership="none">
12773             <type name="Object" c:type="GstObject"/>
12774           </parameter>
12775           <parameter name="p0" transfer-ownership="none">
12776             <type name="GObject.ParamSpec" c:type="GParam"/>
12777           </parameter>
12778         </parameters>
12779       </glib:signal>
12780       <glib:signal name="object-saved">
12781         <return-value transfer-ownership="full">
12782           <type name="none" c:type="void"/>
12783         </return-value>
12784         <parameters>
12785           <parameter name="object" transfer-ownership="none">
12786             <type name="any" c:type="gpointer"/>
12787           </parameter>
12788         </parameters>
12789       </glib:signal>
12790       <glib:signal name="parent-set">
12791         <return-value transfer-ownership="full">
12792           <type name="none" c:type="void"/>
12793         </return-value>
12794         <parameters>
12795           <parameter name="object" transfer-ownership="none">
12796             <type name="Object" c:type="GstObject"/>
12797           </parameter>
12798         </parameters>
12799       </glib:signal>
12800       <glib:signal name="parent-unset">
12801         <return-value transfer-ownership="full">
12802           <type name="none" c:type="void"/>
12803         </return-value>
12804         <parameters>
12805           <parameter name="object" transfer-ownership="none">
12806             <type name="Object" c:type="GstObject"/>
12807           </parameter>
12808         </parameters>
12809       </glib:signal>
12810     </class>
12811     <record name="ObjectClass"
12812             c:type="GstObjectClass"
12813             glib:is-gtype-struct-for="Object">
12814       <doc xml:whitespace="preserve">GStreamer base object class.</doc>
12815       <field name="parent_class">
12816         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
12817       </field>
12818       <field name="path_string_separator">
12819         <type name="utf8" c:type="gchar*"/>
12820       </field>
12821       <field name="signal_object">
12822         <type name="GObject.Object" c:type="GObject*"/>
12823       </field>
12824       <field name="lock">
12825         <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex*"/>
12826       </field>
12827       <field name="parent_set">
12828         <callback name="parent_set" c:type="parent_set">
12829           <return-value transfer-ownership="none">
12830             <type name="none" c:type="void"/>
12831           </return-value>
12832           <parameters>
12833             <parameter name="object" transfer-ownership="none">
12834               <type name="Object" c:type="GstObject*"/>
12835             </parameter>
12836             <parameter name="parent" transfer-ownership="none">
12837               <type name="Object" c:type="GstObject*"/>
12838             </parameter>
12839           </parameters>
12840         </callback>
12841       </field>
12842       <field name="parent_unset">
12843         <callback name="parent_unset" c:type="parent_unset">
12844           <return-value transfer-ownership="none">
12845             <type name="none" c:type="void"/>
12846           </return-value>
12847           <parameters>
12848             <parameter name="object" transfer-ownership="none">
12849               <type name="Object" c:type="GstObject*"/>
12850             </parameter>
12851             <parameter name="parent" transfer-ownership="none">
12852               <type name="Object" c:type="GstObject*"/>
12853             </parameter>
12854           </parameters>
12855         </callback>
12856       </field>
12857       <field name="object_saved">
12858         <callback name="object_saved" c:type="object_saved">
12859           <return-value transfer-ownership="none">
12860             <type name="none" c:type="void"/>
12861           </return-value>
12862           <parameters>
12863             <parameter name="object" transfer-ownership="none">
12864               <type name="Object" c:type="GstObject*"/>
12865             </parameter>
12866             <parameter name="parent" transfer-ownership="none">
12867               <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
12868             </parameter>
12869           </parameters>
12870         </callback>
12871       </field>
12872       <field name="deep_notify">
12873         <callback name="deep_notify" c:type="deep_notify">
12874           <return-value transfer-ownership="none">
12875             <type name="none" c:type="void"/>
12876           </return-value>
12877           <parameters>
12878             <parameter name="object" transfer-ownership="none">
12879               <type name="Object" c:type="GstObject*"/>
12880             </parameter>
12881             <parameter name="orig" transfer-ownership="none">
12882               <type name="Object" c:type="GstObject*"/>
12883             </parameter>
12884             <parameter name="pspec" transfer-ownership="none">
12885               <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
12886             </parameter>
12887           </parameters>
12888         </callback>
12889       </field>
12890       <field name="save_thyself">
12891         <callback name="save_thyself" c:type="save_thyself">
12892           <return-value transfer-ownership="full">
12893             <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
12894           </return-value>
12895           <parameters>
12896             <parameter name="object" transfer-ownership="none">
12897               <type name="Object" c:type="GstObject*"/>
12898             </parameter>
12899             <parameter name="parent" transfer-ownership="none">
12900               <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
12901             </parameter>
12902           </parameters>
12903         </callback>
12904       </field>
12905       <field name="restore_thyself">
12906         <callback name="restore_thyself" c:type="restore_thyself">
12907           <return-value transfer-ownership="none">
12908             <type name="none" c:type="void"/>
12909           </return-value>
12910           <parameters>
12911             <parameter name="object" transfer-ownership="none">
12912               <type name="Object" c:type="GstObject*"/>
12913             </parameter>
12914             <parameter name="self" transfer-ownership="none">
12915               <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
12916             </parameter>
12917           </parameters>
12918         </callback>
12919       </field>
12920       <field name="_gst_reserved">
12921         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
12922           <type name="any"/>
12923         </array>
12924       </field>
12925     </record>
12926     <bitfield name="ObjectFlags"
12927               glib:type-name="GstObjectFlags"
12928               glib:get-type="gst_object_flags_get_type"
12929               c:type="GstObjectFlags">
12930       <doc xml:whitespace="preserve">The standard flags that an gstobject may have.</doc>
12931       <member name="disposing"
12932               value="1"
12933               c:identifier="GST_OBJECT_DISPOSING"
12934               glib:nick="disposing"/>
12935       <member name="floating"
12936               value="2"
12937               c:identifier="GST_OBJECT_FLOATING"
12938               glib:nick="floating"/>
12939       <member name="flag_last"
12940               value="16"
12941               c:identifier="GST_OBJECT_FLAG_LAST"
12942               glib:nick="flag-last"/>
12943     </bitfield>
12944     <constant name="PADDING" value="4">
12945       <type name="int"/>
12946     </constant>
12947     <constant name="PADDING_LARGE" value="20">
12948       <type name="int"/>
12949     </constant>
12950     <constant name="PAD_LINK_CHECK_DEFAULT" value="0">
12951       <type name="int"/>
12952     </constant>
12953     <constant name="PARAM_CONTROLLABLE" value="2">
12954       <type name="int"/>
12955     </constant>
12956     <constant name="PARAM_MUTABLE_PAUSED" value="8">
12957       <type name="int"/>
12958     </constant>
12959     <constant name="PARAM_MUTABLE_PLAYING" value="16">
12960       <type name="int"/>
12961     </constant>
12962     <constant name="PARAM_MUTABLE_READY" value="4">
12963       <type name="int"/>
12964     </constant>
12965     <constant name="PARAM_USER_SHIFT" value="256">
12966       <type name="int"/>
12967     </constant>
12968     <constant name="PTR_FORMAT" value="P">
12969       <type name="utf8"/>
12970     </constant>
12971     <class name="Pad"
12972            c:type="GstPad"
12973            parent="Object"
12974            glib:type-name="GstPad"
12975            glib:get-type="gst_pad_get_type"
12976            glib:type-struct="PadClass">
12977       <doc xml:whitespace="preserve">The #GstPad structure. Use the functions to update the variables.</doc>
12978       <constructor name="new" c:identifier="gst_pad_new">
12979         <return-value transfer-ownership="full">
12980           <type name="Pad" c:type="GstPad*"/>
12981         </return-value>
12982         <parameters>
12983           <parameter name="name" transfer-ownership="none">
12984             <type name="utf8" c:type="gchar*"/>
12985           </parameter>
12986           <parameter name="direction" transfer-ownership="none">
12987             <type name="PadDirection" c:type="GstPadDirection"/>
12988           </parameter>
12989         </parameters>
12990       </constructor>
12991       <constructor name="new_from_template"
12992                    c:identifier="gst_pad_new_from_template">
12993         <return-value transfer-ownership="full">
12994           <type name="Pad" c:type="GstPad*"/>
12995         </return-value>
12996         <parameters>
12997           <parameter name="templ" transfer-ownership="none">
12998             <type name="PadTemplate" c:type="GstPadTemplate*"/>
12999           </parameter>
13000           <parameter name="name" transfer-ownership="none">
13001             <type name="utf8" c:type="gchar*"/>
13002           </parameter>
13003         </parameters>
13004       </constructor>
13005       <constructor name="new_from_static_template"
13006                    c:identifier="gst_pad_new_from_static_template">
13007         <return-value transfer-ownership="full">
13008           <type name="Pad" c:type="GstPad*"/>
13009         </return-value>
13010         <parameters>
13011           <parameter name="templ" transfer-ownership="none">
13012             <type name="StaticPadTemplate" c:type="GstStaticPadTemplate*"/>
13013           </parameter>
13014           <parameter name="name" transfer-ownership="none">
13015             <type name="utf8" c:type="gchar*"/>
13016           </parameter>
13017         </parameters>
13018       </constructor>
13019       <function name="load_and_link" c:identifier="gst_pad_load_and_link">
13020         <return-value transfer-ownership="none">
13021           <type name="none" c:type="void"/>
13022         </return-value>
13023         <parameters>
13024           <parameter name="self" transfer-ownership="none">
13025             <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
13026           </parameter>
13027           <parameter name="parent" transfer-ownership="none">
13028             <type name="Object" c:type="GstObject*"/>
13029           </parameter>
13030         </parameters>
13031       </function>
13032       <method name="get_direction" c:identifier="gst_pad_get_direction">
13033         <return-value transfer-ownership="full">
13034           <type name="PadDirection" c:type="GstPadDirection"/>
13035         </return-value>
13036       </method>
13037       <method name="set_active" c:identifier="gst_pad_set_active">
13038         <return-value transfer-ownership="none">
13039           <type name="boolean" c:type="gboolean"/>
13040         </return-value>
13041         <parameters>
13042           <parameter name="active" transfer-ownership="none">
13043             <type name="boolean" c:type="gboolean"/>
13044           </parameter>
13045         </parameters>
13046       </method>
13047       <method name="is_active" c:identifier="gst_pad_is_active">
13048         <return-value transfer-ownership="none">
13049           <type name="boolean" c:type="gboolean"/>
13050         </return-value>
13051       </method>
13052       <method name="activate_pull" c:identifier="gst_pad_activate_pull">
13053         <return-value transfer-ownership="none">
13054           <type name="boolean" c:type="gboolean"/>
13055         </return-value>
13056         <parameters>
13057           <parameter name="active" transfer-ownership="none">
13058             <type name="boolean" c:type="gboolean"/>
13059           </parameter>
13060         </parameters>
13061       </method>
13062       <method name="activate_push" c:identifier="gst_pad_activate_push">
13063         <return-value transfer-ownership="none">
13064           <type name="boolean" c:type="gboolean"/>
13065         </return-value>
13066         <parameters>
13067           <parameter name="active" transfer-ownership="none">
13068             <type name="boolean" c:type="gboolean"/>
13069           </parameter>
13070         </parameters>
13071       </method>
13072       <method name="set_blocked" c:identifier="gst_pad_set_blocked">
13073         <return-value transfer-ownership="none">
13074           <type name="boolean" c:type="gboolean"/>
13075         </return-value>
13076         <parameters>
13077           <parameter name="blocked" transfer-ownership="none">
13078             <type name="boolean" c:type="gboolean"/>
13079           </parameter>
13080         </parameters>
13081       </method>
13082       <method name="set_blocked_async"
13083               c:identifier="gst_pad_set_blocked_async">
13084         <return-value transfer-ownership="none">
13085           <type name="boolean" c:type="gboolean"/>
13086         </return-value>
13087         <parameters>
13088           <parameter name="blocked" transfer-ownership="none">
13089             <type name="boolean" c:type="gboolean"/>
13090           </parameter>
13091           <parameter name="callback"
13092                      transfer-ownership="none"
13093                      scope="call"
13094                      closure="3">
13095             <type name="PadBlockCallback" c:type="GstPadBlockCallback"/>
13096           </parameter>
13097           <parameter name="user_data" transfer-ownership="none">
13098             <type name="any" c:type="gpointer"/>
13099           </parameter>
13100         </parameters>
13101       </method>
13102       <method name="set_blocked_async_full"
13103               c:identifier="gst_pad_set_blocked_async_full">
13104         <return-value transfer-ownership="none">
13105           <type name="boolean" c:type="gboolean"/>
13106         </return-value>
13107         <parameters>
13108           <parameter name="blocked" transfer-ownership="none">
13109             <type name="boolean" c:type="gboolean"/>
13110           </parameter>
13111           <parameter name="callback"
13112                      transfer-ownership="none"
13113                      scope="notified"
13114                      closure="3"
13115                      destroy="4">
13116             <type name="PadBlockCallback" c:type="GstPadBlockCallback"/>
13117           </parameter>
13118           <parameter name="user_data" transfer-ownership="none">
13119             <type name="any" c:type="gpointer"/>
13120           </parameter>
13121           <parameter name="destroy_data"
13122                      transfer-ownership="none"
13123                      scope="call">
13124             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
13125           </parameter>
13126         </parameters>
13127       </method>
13128       <method name="is_blocked" c:identifier="gst_pad_is_blocked">
13129         <return-value transfer-ownership="none">
13130           <type name="boolean" c:type="gboolean"/>
13131         </return-value>
13132       </method>
13133       <method name="is_blocking" c:identifier="gst_pad_is_blocking">
13134         <return-value transfer-ownership="none">
13135           <type name="boolean" c:type="gboolean"/>
13136         </return-value>
13137       </method>
13138       <method name="set_element_private"
13139               c:identifier="gst_pad_set_element_private">
13140         <return-value transfer-ownership="none">
13141           <type name="none" c:type="void"/>
13142         </return-value>
13143         <parameters>
13144           <parameter name="priv" transfer-ownership="none">
13145             <type name="any" c:type="gpointer"/>
13146           </parameter>
13147         </parameters>
13148       </method>
13149       <method name="get_element_private"
13150               c:identifier="gst_pad_get_element_private">
13151         <return-value transfer-ownership="none">
13152           <type name="any" c:type="gpointer"/>
13153         </return-value>
13154       </method>
13155       <method name="get_pad_template" c:identifier="gst_pad_get_pad_template">
13156         <return-value transfer-ownership="full">
13157           <type name="PadTemplate" c:type="GstPadTemplate*"/>
13158         </return-value>
13159       </method>
13160       <method name="set_bufferalloc_function"
13161               c:identifier="gst_pad_set_bufferalloc_function">
13162         <return-value transfer-ownership="none">
13163           <type name="none" c:type="void"/>
13164         </return-value>
13165         <parameters>
13166           <parameter name="bufalloc" transfer-ownership="none" scope="call">
13167             <type name="PadBufferAllocFunction"
13168                   c:type="GstPadBufferAllocFunction"/>
13169           </parameter>
13170         </parameters>
13171       </method>
13172       <method name="alloc_buffer" c:identifier="gst_pad_alloc_buffer">
13173         <return-value transfer-ownership="full">
13174           <type name="FlowReturn" c:type="GstFlowReturn"/>
13175         </return-value>
13176         <parameters>
13177           <parameter name="offset" transfer-ownership="none">
13178             <type name="uint64" c:type="guint64"/>
13179           </parameter>
13180           <parameter name="size" transfer-ownership="none">
13181             <type name="int" c:type="gint"/>
13182           </parameter>
13183           <parameter name="caps" transfer-ownership="none">
13184             <type name="Caps" c:type="GstCaps*"/>
13185           </parameter>
13186           <parameter name="buf" transfer-ownership="none">
13187             <type name="Buffer" c:type="GstBuffer**"/>
13188           </parameter>
13189         </parameters>
13190       </method>
13191       <method name="alloc_buffer_and_set_caps"
13192               c:identifier="gst_pad_alloc_buffer_and_set_caps">
13193         <return-value transfer-ownership="full">
13194           <type name="FlowReturn" c:type="GstFlowReturn"/>
13195         </return-value>
13196         <parameters>
13197           <parameter name="offset" transfer-ownership="none">
13198             <type name="uint64" c:type="guint64"/>
13199           </parameter>
13200           <parameter name="size" transfer-ownership="none">
13201             <type name="int" c:type="gint"/>
13202           </parameter>
13203           <parameter name="caps" transfer-ownership="none">
13204             <type name="Caps" c:type="GstCaps*"/>
13205           </parameter>
13206           <parameter name="buf" transfer-ownership="none">
13207             <type name="Buffer" c:type="GstBuffer**"/>
13208           </parameter>
13209         </parameters>
13210       </method>
13211       <method name="set_activate_function"
13212               c:identifier="gst_pad_set_activate_function">
13213         <return-value transfer-ownership="none">
13214           <type name="none" c:type="void"/>
13215         </return-value>
13216         <parameters>
13217           <parameter name="activate" transfer-ownership="none" scope="call">
13218             <type name="PadActivateFunction" c:type="GstPadActivateFunction"/>
13219           </parameter>
13220         </parameters>
13221       </method>
13222       <method name="set_activatepull_function"
13223               c:identifier="gst_pad_set_activatepull_function">
13224         <return-value transfer-ownership="none">
13225           <type name="none" c:type="void"/>
13226         </return-value>
13227         <parameters>
13228           <parameter name="activatepull"
13229                      transfer-ownership="none"
13230                      scope="call">
13231             <type name="PadActivateModeFunction"
13232                   c:type="GstPadActivateModeFunction"/>
13233           </parameter>
13234         </parameters>
13235       </method>
13236       <method name="set_activatepush_function"
13237               c:identifier="gst_pad_set_activatepush_function">
13238         <return-value transfer-ownership="none">
13239           <type name="none" c:type="void"/>
13240         </return-value>
13241         <parameters>
13242           <parameter name="activatepush"
13243                      transfer-ownership="none"
13244                      scope="call">
13245             <type name="PadActivateModeFunction"
13246                   c:type="GstPadActivateModeFunction"/>
13247           </parameter>
13248         </parameters>
13249       </method>
13250       <method name="set_chain_function"
13251               c:identifier="gst_pad_set_chain_function">
13252         <return-value transfer-ownership="none">
13253           <type name="none" c:type="void"/>
13254         </return-value>
13255         <parameters>
13256           <parameter name="chain" transfer-ownership="none" scope="call">
13257             <type name="PadChainFunction" c:type="GstPadChainFunction"/>
13258           </parameter>
13259         </parameters>
13260       </method>
13261       <method name="set_chain_list_function"
13262               c:identifier="gst_pad_set_chain_list_function">
13263         <return-value transfer-ownership="none">
13264           <type name="none" c:type="void"/>
13265         </return-value>
13266         <parameters>
13267           <parameter name="chainlist" transfer-ownership="none" scope="call">
13268             <type name="PadChainListFunction"
13269                   c:type="GstPadChainListFunction"/>
13270           </parameter>
13271         </parameters>
13272       </method>
13273       <method name="set_getrange_function"
13274               c:identifier="gst_pad_set_getrange_function">
13275         <return-value transfer-ownership="none">
13276           <type name="none" c:type="void"/>
13277         </return-value>
13278         <parameters>
13279           <parameter name="get" transfer-ownership="none" scope="call">
13280             <type name="PadGetRangeFunction" c:type="GstPadGetRangeFunction"/>
13281           </parameter>
13282         </parameters>
13283       </method>
13284       <method name="set_checkgetrange_function"
13285               c:identifier="gst_pad_set_checkgetrange_function">
13286         <return-value transfer-ownership="none">
13287           <type name="none" c:type="void"/>
13288         </return-value>
13289         <parameters>
13290           <parameter name="check" transfer-ownership="none" scope="call">
13291             <type name="PadCheckGetRangeFunction"
13292                   c:type="GstPadCheckGetRangeFunction"/>
13293           </parameter>
13294         </parameters>
13295       </method>
13296       <method name="set_event_function"
13297               c:identifier="gst_pad_set_event_function">
13298         <return-value transfer-ownership="none">
13299           <type name="none" c:type="void"/>
13300         </return-value>
13301         <parameters>
13302           <parameter name="event" transfer-ownership="none" scope="call">
13303             <type name="PadEventFunction" c:type="GstPadEventFunction"/>
13304           </parameter>
13305         </parameters>
13306       </method>
13307       <method name="set_link_function"
13308               c:identifier="gst_pad_set_link_function">
13309         <return-value transfer-ownership="none">
13310           <type name="none" c:type="void"/>
13311         </return-value>
13312         <parameters>
13313           <parameter name="link" transfer-ownership="none" scope="call">
13314             <type name="PadLinkFunction" c:type="GstPadLinkFunction"/>
13315           </parameter>
13316         </parameters>
13317       </method>
13318       <method name="set_unlink_function"
13319               c:identifier="gst_pad_set_unlink_function">
13320         <return-value transfer-ownership="none">
13321           <type name="none" c:type="void"/>
13322         </return-value>
13323         <parameters>
13324           <parameter name="unlink" transfer-ownership="none" scope="call">
13325             <type name="PadUnlinkFunction" c:type="GstPadUnlinkFunction"/>
13326           </parameter>
13327         </parameters>
13328       </method>
13329       <method name="can_link" c:identifier="gst_pad_can_link">
13330         <return-value transfer-ownership="none">
13331           <type name="boolean" c:type="gboolean"/>
13332         </return-value>
13333         <parameters>
13334           <parameter name="sinkpad" transfer-ownership="none">
13335             <type name="Pad" c:type="GstPad*"/>
13336           </parameter>
13337         </parameters>
13338       </method>
13339       <method name="link" c:identifier="gst_pad_link">
13340         <return-value transfer-ownership="full">
13341           <type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
13342         </return-value>
13343         <parameters>
13344           <parameter name="sinkpad" transfer-ownership="none">
13345             <type name="Pad" c:type="GstPad*"/>
13346           </parameter>
13347         </parameters>
13348       </method>
13349       <method name="link_full" c:identifier="gst_pad_link_full">
13350         <return-value transfer-ownership="full">
13351           <type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
13352         </return-value>
13353         <parameters>
13354           <parameter name="sinkpad" transfer-ownership="none">
13355             <type name="Pad" c:type="GstPad*"/>
13356           </parameter>
13357           <parameter name="flags" transfer-ownership="none">
13358             <type name="PadLinkCheck" c:type="GstPadLinkCheck"/>
13359           </parameter>
13360         </parameters>
13361       </method>
13362       <method name="unlink" c:identifier="gst_pad_unlink">
13363         <return-value transfer-ownership="none">
13364           <type name="boolean" c:type="gboolean"/>
13365         </return-value>
13366         <parameters>
13367           <parameter name="sinkpad" transfer-ownership="none">
13368             <type name="Pad" c:type="GstPad*"/>
13369           </parameter>
13370         </parameters>
13371       </method>
13372       <method name="is_linked" c:identifier="gst_pad_is_linked">
13373         <return-value transfer-ownership="none">
13374           <type name="boolean" c:type="gboolean"/>
13375         </return-value>
13376       </method>
13377       <method name="get_peer" c:identifier="gst_pad_get_peer">
13378         <return-value transfer-ownership="full">
13379           <type name="Pad" c:type="GstPad*"/>
13380         </return-value>
13381       </method>
13382       <method name="set_getcaps_function"
13383               c:identifier="gst_pad_set_getcaps_function">
13384         <return-value transfer-ownership="none">
13385           <type name="none" c:type="void"/>
13386         </return-value>
13387         <parameters>
13388           <parameter name="getcaps" transfer-ownership="none" scope="call">
13389             <type name="PadGetCapsFunction" c:type="GstPadGetCapsFunction"/>
13390           </parameter>
13391         </parameters>
13392       </method>
13393       <method name="set_acceptcaps_function"
13394               c:identifier="gst_pad_set_acceptcaps_function">
13395         <return-value transfer-ownership="none">
13396           <type name="none" c:type="void"/>
13397         </return-value>
13398         <parameters>
13399           <parameter name="acceptcaps" transfer-ownership="none" scope="call">
13400             <type name="PadAcceptCapsFunction"
13401                   c:type="GstPadAcceptCapsFunction"/>
13402           </parameter>
13403         </parameters>
13404       </method>
13405       <method name="set_fixatecaps_function"
13406               c:identifier="gst_pad_set_fixatecaps_function">
13407         <return-value transfer-ownership="none">
13408           <type name="none" c:type="void"/>
13409         </return-value>
13410         <parameters>
13411           <parameter name="fixatecaps" transfer-ownership="none" scope="call">
13412             <type name="PadFixateCapsFunction"
13413                   c:type="GstPadFixateCapsFunction"/>
13414           </parameter>
13415         </parameters>
13416       </method>
13417       <method name="set_setcaps_function"
13418               c:identifier="gst_pad_set_setcaps_function">
13419         <return-value transfer-ownership="none">
13420           <type name="none" c:type="void"/>
13421         </return-value>
13422         <parameters>
13423           <parameter name="setcaps" transfer-ownership="none" scope="call">
13424             <type name="PadSetCapsFunction" c:type="GstPadSetCapsFunction"/>
13425           </parameter>
13426         </parameters>
13427       </method>
13428       <method name="get_pad_template_caps"
13429               c:identifier="gst_pad_get_pad_template_caps">
13430         <return-value transfer-ownership="none">
13431           <type name="Caps" c:type="GstCaps*"/>
13432         </return-value>
13433       </method>
13434       <method name="get_caps_reffed" c:identifier="gst_pad_get_caps_reffed">
13435         <return-value transfer-ownership="full">
13436           <type name="Caps" c:type="GstCaps*"/>
13437         </return-value>
13438       </method>
13439       <method name="get_caps" c:identifier="gst_pad_get_caps">
13440         <return-value transfer-ownership="full">
13441           <type name="Caps" c:type="GstCaps*"/>
13442         </return-value>
13443       </method>
13444       <method name="fixate_caps" c:identifier="gst_pad_fixate_caps">
13445         <return-value transfer-ownership="none">
13446           <type name="none" c:type="void"/>
13447         </return-value>
13448         <parameters>
13449           <parameter name="caps" transfer-ownership="none">
13450             <type name="Caps" c:type="GstCaps*"/>
13451           </parameter>
13452         </parameters>
13453       </method>
13454       <method name="accept_caps" c:identifier="gst_pad_accept_caps">
13455         <return-value transfer-ownership="none">
13456           <type name="boolean" c:type="gboolean"/>
13457         </return-value>
13458         <parameters>
13459           <parameter name="caps" transfer-ownership="none">
13460             <type name="Caps" c:type="GstCaps*"/>
13461           </parameter>
13462         </parameters>
13463       </method>
13464       <method name="set_caps" c:identifier="gst_pad_set_caps">
13465         <return-value transfer-ownership="none">
13466           <type name="boolean" c:type="gboolean"/>
13467         </return-value>
13468         <parameters>
13469           <parameter name="caps" transfer-ownership="none">
13470             <type name="Caps" c:type="GstCaps*"/>
13471           </parameter>
13472         </parameters>
13473       </method>
13474       <method name="peer_get_caps_reffed"
13475               c:identifier="gst_pad_peer_get_caps_reffed">
13476         <return-value transfer-ownership="full">
13477           <type name="Caps" c:type="GstCaps*"/>
13478         </return-value>
13479       </method>
13480       <method name="peer_get_caps" c:identifier="gst_pad_peer_get_caps">
13481         <return-value transfer-ownership="full">
13482           <type name="Caps" c:type="GstCaps*"/>
13483         </return-value>
13484       </method>
13485       <method name="peer_accept_caps" c:identifier="gst_pad_peer_accept_caps">
13486         <return-value transfer-ownership="none">
13487           <type name="boolean" c:type="gboolean"/>
13488         </return-value>
13489         <parameters>
13490           <parameter name="caps" transfer-ownership="none">
13491             <type name="Caps" c:type="GstCaps*"/>
13492           </parameter>
13493         </parameters>
13494       </method>
13495       <method name="get_allowed_caps" c:identifier="gst_pad_get_allowed_caps">
13496         <return-value transfer-ownership="full">
13497           <type name="Caps" c:type="GstCaps*"/>
13498         </return-value>
13499       </method>
13500       <method name="get_negotiated_caps"
13501               c:identifier="gst_pad_get_negotiated_caps">
13502         <return-value transfer-ownership="full">
13503           <type name="Caps" c:type="GstCaps*"/>
13504         </return-value>
13505       </method>
13506       <method name="push" c:identifier="gst_pad_push">
13507         <return-value transfer-ownership="full">
13508           <type name="FlowReturn" c:type="GstFlowReturn"/>
13509         </return-value>
13510         <parameters>
13511           <parameter name="buffer" transfer-ownership="none">
13512             <type name="Buffer" c:type="GstBuffer*"/>
13513           </parameter>
13514         </parameters>
13515       </method>
13516       <method name="push_list" c:identifier="gst_pad_push_list">
13517         <return-value transfer-ownership="full">
13518           <type name="FlowReturn" c:type="GstFlowReturn"/>
13519         </return-value>
13520         <parameters>
13521           <parameter name="list" transfer-ownership="none">
13522             <type name="BufferList" c:type="GstBufferList*"/>
13523           </parameter>
13524         </parameters>
13525       </method>
13526       <method name="check_pull_range" c:identifier="gst_pad_check_pull_range">
13527         <return-value transfer-ownership="none">
13528           <type name="boolean" c:type="gboolean"/>
13529         </return-value>
13530       </method>
13531       <method name="pull_range" c:identifier="gst_pad_pull_range">
13532         <return-value transfer-ownership="full">
13533           <type name="FlowReturn" c:type="GstFlowReturn"/>
13534         </return-value>
13535         <parameters>
13536           <parameter name="offset" transfer-ownership="none">
13537             <type name="uint64" c:type="guint64"/>
13538           </parameter>
13539           <parameter name="size" transfer-ownership="none">
13540             <type name="uint" c:type="guint"/>
13541           </parameter>
13542           <parameter name="buffer" transfer-ownership="none">
13543             <type name="Buffer" c:type="GstBuffer**"/>
13544           </parameter>
13545         </parameters>
13546       </method>
13547       <method name="push_event" c:identifier="gst_pad_push_event">
13548         <return-value transfer-ownership="none">
13549           <type name="boolean" c:type="gboolean"/>
13550         </return-value>
13551         <parameters>
13552           <parameter name="event" transfer-ownership="none">
13553             <type name="Event" c:type="GstEvent*"/>
13554           </parameter>
13555         </parameters>
13556       </method>
13557       <method name="event_default" c:identifier="gst_pad_event_default">
13558         <return-value transfer-ownership="none">
13559           <type name="boolean" c:type="gboolean"/>
13560         </return-value>
13561         <parameters>
13562           <parameter name="event" transfer-ownership="none">
13563             <type name="Event" c:type="GstEvent*"/>
13564           </parameter>
13565         </parameters>
13566       </method>
13567       <method name="chain" c:identifier="gst_pad_chain">
13568         <return-value transfer-ownership="full">
13569           <type name="FlowReturn" c:type="GstFlowReturn"/>
13570         </return-value>
13571         <parameters>
13572           <parameter name="buffer" transfer-ownership="none">
13573             <type name="Buffer" c:type="GstBuffer*"/>
13574           </parameter>
13575         </parameters>
13576       </method>
13577       <method name="chain_list" c:identifier="gst_pad_chain_list">
13578         <return-value transfer-ownership="full">
13579           <type name="FlowReturn" c:type="GstFlowReturn"/>
13580         </return-value>
13581         <parameters>
13582           <parameter name="list" transfer-ownership="none">
13583             <type name="BufferList" c:type="GstBufferList*"/>
13584           </parameter>
13585         </parameters>
13586       </method>
13587       <method name="get_range" c:identifier="gst_pad_get_range">
13588         <return-value transfer-ownership="full">
13589           <type name="FlowReturn" c:type="GstFlowReturn"/>
13590         </return-value>
13591         <parameters>
13592           <parameter name="offset" transfer-ownership="none">
13593             <type name="uint64" c:type="guint64"/>
13594           </parameter>
13595           <parameter name="size" transfer-ownership="none">
13596             <type name="uint" c:type="guint"/>
13597           </parameter>
13598           <parameter name="buffer" transfer-ownership="none">
13599             <type name="Buffer" c:type="GstBuffer**"/>
13600           </parameter>
13601         </parameters>
13602       </method>
13603       <method name="send_event" c:identifier="gst_pad_send_event">
13604         <return-value transfer-ownership="none">
13605           <type name="boolean" c:type="gboolean"/>
13606         </return-value>
13607         <parameters>
13608           <parameter name="event" transfer-ownership="none">
13609             <type name="Event" c:type="GstEvent*"/>
13610           </parameter>
13611         </parameters>
13612       </method>
13613       <method name="start_task" c:identifier="gst_pad_start_task">
13614         <return-value transfer-ownership="none">
13615           <type name="boolean" c:type="gboolean"/>
13616         </return-value>
13617         <parameters>
13618           <parameter name="func"
13619                      transfer-ownership="none"
13620                      scope="call"
13621                      closure="2">
13622             <type name="TaskFunction" c:type="GstTaskFunction"/>
13623           </parameter>
13624           <parameter name="data" transfer-ownership="none">
13625             <type name="any" c:type="gpointer"/>
13626           </parameter>
13627         </parameters>
13628       </method>
13629       <method name="pause_task" c:identifier="gst_pad_pause_task">
13630         <return-value transfer-ownership="none">
13631           <type name="boolean" c:type="gboolean"/>
13632         </return-value>
13633       </method>
13634       <method name="stop_task" c:identifier="gst_pad_stop_task">
13635         <return-value transfer-ownership="none">
13636           <type name="boolean" c:type="gboolean"/>
13637         </return-value>
13638       </method>
13639       <method name="set_internal_link_function"
13640               c:identifier="gst_pad_set_internal_link_function">
13641         <return-value transfer-ownership="none">
13642           <type name="none" c:type="void"/>
13643         </return-value>
13644         <parameters>
13645           <parameter name="intlink" transfer-ownership="none" scope="call">
13646             <type name="PadIntLinkFunction" c:type="GstPadIntLinkFunction"/>
13647           </parameter>
13648         </parameters>
13649       </method>
13650       <method name="get_internal_links"
13651               c:identifier="gst_pad_get_internal_links"
13652               introspectable="0">
13653         <return-value transfer-ownership="full">
13654           <type name="GLib.List" c:type="GList*">
13655             <type name="any" c:type="gpointer"/>
13656           </type>
13657         </return-value>
13658       </method>
13659       <method name="get_internal_links_default"
13660               c:identifier="gst_pad_get_internal_links_default"
13661               introspectable="0">
13662         <return-value transfer-ownership="full">
13663           <type name="GLib.List" c:type="GList*">
13664             <type name="any" c:type="gpointer"/>
13665           </type>
13666         </return-value>
13667       </method>
13668       <method name="set_iterate_internal_links_function"
13669               c:identifier="gst_pad_set_iterate_internal_links_function">
13670         <return-value transfer-ownership="none">
13671           <type name="none" c:type="void"/>
13672         </return-value>
13673         <parameters>
13674           <parameter name="iterintlink" transfer-ownership="none" scope="call">
13675             <type name="PadIterIntLinkFunction"
13676                   c:type="GstPadIterIntLinkFunction"/>
13677           </parameter>
13678         </parameters>
13679       </method>
13680       <method name="iterate_internal_links"
13681               c:identifier="gst_pad_iterate_internal_links">
13682         <return-value transfer-ownership="full">
13683           <type name="Iterator" c:type="GstIterator*"/>
13684         </return-value>
13685       </method>
13686       <method name="iterate_internal_links_default"
13687               c:identifier="gst_pad_iterate_internal_links_default">
13688         <return-value transfer-ownership="full">
13689           <type name="Iterator" c:type="GstIterator*"/>
13690         </return-value>
13691       </method>
13692       <method name="set_query_type_function"
13693               c:identifier="gst_pad_set_query_type_function">
13694         <return-value transfer-ownership="none">
13695           <type name="none" c:type="void"/>
13696         </return-value>
13697         <parameters>
13698           <parameter name="type_func" transfer-ownership="none" scope="call">
13699             <type name="PadQueryTypeFunction"
13700                   c:type="GstPadQueryTypeFunction"/>
13701           </parameter>
13702         </parameters>
13703       </method>
13704       <method name="get_query_types" c:identifier="gst_pad_get_query_types">
13705         <return-value transfer-ownership="none">
13706           <type name="QueryType" c:type="GstQueryType*"/>
13707         </return-value>
13708       </method>
13709       <method name="get_query_types_default"
13710               c:identifier="gst_pad_get_query_types_default">
13711         <return-value transfer-ownership="none">
13712           <type name="QueryType" c:type="GstQueryType*"/>
13713         </return-value>
13714       </method>
13715       <method name="query" c:identifier="gst_pad_query">
13716         <return-value transfer-ownership="none">
13717           <type name="boolean" c:type="gboolean"/>
13718         </return-value>
13719         <parameters>
13720           <parameter name="query" transfer-ownership="none">
13721             <type name="Query" c:type="GstQuery*"/>
13722           </parameter>
13723         </parameters>
13724       </method>
13725       <method name="peer_query" c:identifier="gst_pad_peer_query">
13726         <return-value transfer-ownership="none">
13727           <type name="boolean" c:type="gboolean"/>
13728         </return-value>
13729         <parameters>
13730           <parameter name="query" transfer-ownership="none">
13731             <type name="Query" c:type="GstQuery*"/>
13732           </parameter>
13733         </parameters>
13734       </method>
13735       <method name="set_query_function"
13736               c:identifier="gst_pad_set_query_function">
13737         <return-value transfer-ownership="none">
13738           <type name="none" c:type="void"/>
13739         </return-value>
13740         <parameters>
13741           <parameter name="query" transfer-ownership="none" scope="call">
13742             <type name="PadQueryFunction" c:type="GstPadQueryFunction"/>
13743           </parameter>
13744         </parameters>
13745       </method>
13746       <method name="query_default" c:identifier="gst_pad_query_default">
13747         <return-value transfer-ownership="none">
13748           <type name="boolean" c:type="gboolean"/>
13749         </return-value>
13750         <parameters>
13751           <parameter name="query" transfer-ownership="none">
13752             <type name="Query" c:type="GstQuery*"/>
13753           </parameter>
13754         </parameters>
13755       </method>
13756       <method name="dispatcher" c:identifier="gst_pad_dispatcher">
13757         <return-value transfer-ownership="none">
13758           <type name="boolean" c:type="gboolean"/>
13759         </return-value>
13760         <parameters>
13761           <parameter name="dispatch"
13762                      transfer-ownership="none"
13763                      scope="call"
13764                      closure="2">
13765             <type name="PadDispatcherFunction"
13766                   c:type="GstPadDispatcherFunction"/>
13767           </parameter>
13768           <parameter name="data" transfer-ownership="none">
13769             <type name="any" c:type="gpointer"/>
13770           </parameter>
13771         </parameters>
13772       </method>
13773       <method name="use_fixed_caps" c:identifier="gst_pad_use_fixed_caps">
13774         <return-value transfer-ownership="none">
13775           <type name="none" c:type="void"/>
13776         </return-value>
13777       </method>
13778       <method name="get_fixed_caps_func"
13779               c:identifier="gst_pad_get_fixed_caps_func">
13780         <return-value transfer-ownership="full">
13781           <type name="Caps" c:type="GstCaps*"/>
13782         </return-value>
13783       </method>
13784       <method name="proxy_getcaps" c:identifier="gst_pad_proxy_getcaps">
13785         <return-value transfer-ownership="full">
13786           <type name="Caps" c:type="GstCaps*"/>
13787         </return-value>
13788       </method>
13789       <method name="proxy_setcaps" c:identifier="gst_pad_proxy_setcaps">
13790         <return-value transfer-ownership="none">
13791           <type name="boolean" c:type="gboolean"/>
13792         </return-value>
13793         <parameters>
13794           <parameter name="caps" transfer-ownership="none">
13795             <type name="Caps" c:type="GstCaps*"/>
13796           </parameter>
13797         </parameters>
13798       </method>
13799       <method name="get_parent_element"
13800               c:identifier="gst_pad_get_parent_element">
13801         <return-value transfer-ownership="full">
13802           <type name="Element" c:type="GstElement*"/>
13803         </return-value>
13804       </method>
13805       <method name="query_position" c:identifier="gst_pad_query_position">
13806         <return-value transfer-ownership="none">
13807           <type name="boolean" c:type="gboolean"/>
13808         </return-value>
13809         <parameters>
13810           <parameter name="format" transfer-ownership="none">
13811             <type name="Format" c:type="GstFormat*"/>
13812           </parameter>
13813           <parameter name="cur"
13814                      direction="out"
13815                      caller-allocates="0"
13816                      transfer-ownership="full">
13817             <type name="int64" c:type="gint64*"/>
13818           </parameter>
13819         </parameters>
13820       </method>
13821       <method name="query_duration" c:identifier="gst_pad_query_duration">
13822         <return-value transfer-ownership="none">
13823           <type name="boolean" c:type="gboolean"/>
13824         </return-value>
13825         <parameters>
13826           <parameter name="format" transfer-ownership="none">
13827             <type name="Format" c:type="GstFormat*"/>
13828           </parameter>
13829           <parameter name="duration"
13830                      direction="out"
13831                      caller-allocates="0"
13832                      transfer-ownership="full">
13833             <type name="int64" c:type="gint64*"/>
13834           </parameter>
13835         </parameters>
13836       </method>
13837       <method name="query_convert" c:identifier="gst_pad_query_convert">
13838         <return-value transfer-ownership="none">
13839           <type name="boolean" c:type="gboolean"/>
13840         </return-value>
13841         <parameters>
13842           <parameter name="src_format" transfer-ownership="none">
13843             <type name="Format" c:type="GstFormat"/>
13844           </parameter>
13845           <parameter name="src_val" transfer-ownership="none">
13846             <type name="int64" c:type="gint64"/>
13847           </parameter>
13848           <parameter name="dest_format" transfer-ownership="none">
13849             <type name="Format" c:type="GstFormat*"/>
13850           </parameter>
13851           <parameter name="dest_val"
13852                      direction="out"
13853                      caller-allocates="0"
13854                      transfer-ownership="full">
13855             <type name="int64" c:type="gint64*"/>
13856           </parameter>
13857         </parameters>
13858       </method>
13859       <method name="query_peer_position"
13860               c:identifier="gst_pad_query_peer_position">
13861         <return-value transfer-ownership="none">
13862           <type name="boolean" c:type="gboolean"/>
13863         </return-value>
13864         <parameters>
13865           <parameter name="format" transfer-ownership="none">
13866             <type name="Format" c:type="GstFormat*"/>
13867           </parameter>
13868           <parameter name="cur"
13869                      direction="out"
13870                      caller-allocates="0"
13871                      transfer-ownership="full">
13872             <type name="int64" c:type="gint64*"/>
13873           </parameter>
13874         </parameters>
13875       </method>
13876       <method name="query_peer_duration"
13877               c:identifier="gst_pad_query_peer_duration">
13878         <return-value transfer-ownership="none">
13879           <type name="boolean" c:type="gboolean"/>
13880         </return-value>
13881         <parameters>
13882           <parameter name="format" transfer-ownership="none">
13883             <type name="Format" c:type="GstFormat*"/>
13884           </parameter>
13885           <parameter name="duration"
13886                      direction="out"
13887                      caller-allocates="0"
13888                      transfer-ownership="full">
13889             <type name="int64" c:type="gint64*"/>
13890           </parameter>
13891         </parameters>
13892       </method>
13893       <method name="query_peer_convert"
13894               c:identifier="gst_pad_query_peer_convert">
13895         <return-value transfer-ownership="none">
13896           <type name="boolean" c:type="gboolean"/>
13897         </return-value>
13898         <parameters>
13899           <parameter name="src_format" transfer-ownership="none">
13900             <type name="Format" c:type="GstFormat"/>
13901           </parameter>
13902           <parameter name="src_val" transfer-ownership="none">
13903             <type name="int64" c:type="gint64"/>
13904           </parameter>
13905           <parameter name="dest_format" transfer-ownership="none">
13906             <type name="Format" c:type="GstFormat*"/>
13907           </parameter>
13908           <parameter name="dest_val"
13909                      direction="out"
13910                      caller-allocates="0"
13911                      transfer-ownership="full">
13912             <type name="int64" c:type="gint64*"/>
13913           </parameter>
13914         </parameters>
13915       </method>
13916       <method name="add_data_probe" c:identifier="gst_pad_add_data_probe">
13917         <return-value transfer-ownership="none">
13918           <type name="ulong" c:type="gulong"/>
13919         </return-value>
13920         <parameters>
13921           <parameter name="handler"
13922                      transfer-ownership="none"
13923                      scope="call"
13924                      closure="2">
13925             <type name="GObject.Callback" c:type="GCallback"/>
13926           </parameter>
13927           <parameter name="data" transfer-ownership="none">
13928             <type name="any" c:type="gpointer"/>
13929           </parameter>
13930         </parameters>
13931       </method>
13932       <method name="add_data_probe_full"
13933               c:identifier="gst_pad_add_data_probe_full">
13934         <return-value transfer-ownership="none">
13935           <type name="ulong" c:type="gulong"/>
13936         </return-value>
13937         <parameters>
13938           <parameter name="handler"
13939                      transfer-ownership="none"
13940                      scope="notified"
13941                      closure="2"
13942                      destroy="3">
13943             <type name="GObject.Callback" c:type="GCallback"/>
13944           </parameter>
13945           <parameter name="data" transfer-ownership="none">
13946             <type name="any" c:type="gpointer"/>
13947           </parameter>
13948           <parameter name="notify" transfer-ownership="none" scope="call">
13949             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
13950           </parameter>
13951         </parameters>
13952       </method>
13953       <method name="remove_data_probe"
13954               c:identifier="gst_pad_remove_data_probe">
13955         <return-value transfer-ownership="none">
13956           <type name="none" c:type="void"/>
13957         </return-value>
13958         <parameters>
13959           <parameter name="handler_id" transfer-ownership="none">
13960             <type name="uint" c:type="guint"/>
13961           </parameter>
13962         </parameters>
13963       </method>
13964       <method name="add_event_probe" c:identifier="gst_pad_add_event_probe">
13965         <return-value transfer-ownership="none">
13966           <type name="ulong" c:type="gulong"/>
13967         </return-value>
13968         <parameters>
13969           <parameter name="handler"
13970                      transfer-ownership="none"
13971                      scope="call"
13972                      closure="2">
13973             <type name="GObject.Callback" c:type="GCallback"/>
13974           </parameter>
13975           <parameter name="data" transfer-ownership="none">
13976             <type name="any" c:type="gpointer"/>
13977           </parameter>
13978         </parameters>
13979       </method>
13980       <method name="add_event_probe_full"
13981               c:identifier="gst_pad_add_event_probe_full">
13982         <return-value transfer-ownership="none">
13983           <type name="ulong" c:type="gulong"/>
13984         </return-value>
13985         <parameters>
13986           <parameter name="handler"
13987                      transfer-ownership="none"
13988                      scope="notified"
13989                      closure="2"
13990                      destroy="3">
13991             <type name="GObject.Callback" c:type="GCallback"/>
13992           </parameter>
13993           <parameter name="data" transfer-ownership="none">
13994             <type name="any" c:type="gpointer"/>
13995           </parameter>
13996           <parameter name="notify" transfer-ownership="none" scope="call">
13997             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
13998           </parameter>
13999         </parameters>
14000       </method>
14001       <method name="remove_event_probe"
14002               c:identifier="gst_pad_remove_event_probe">
14003         <return-value transfer-ownership="none">
14004           <type name="none" c:type="void"/>
14005         </return-value>
14006         <parameters>
14007           <parameter name="handler_id" transfer-ownership="none">
14008             <type name="uint" c:type="guint"/>
14009           </parameter>
14010         </parameters>
14011       </method>
14012       <method name="add_buffer_probe" c:identifier="gst_pad_add_buffer_probe">
14013         <return-value transfer-ownership="none">
14014           <type name="ulong" c:type="gulong"/>
14015         </return-value>
14016         <parameters>
14017           <parameter name="handler"
14018                      transfer-ownership="none"
14019                      scope="call"
14020                      closure="2">
14021             <type name="GObject.Callback" c:type="GCallback"/>
14022           </parameter>
14023           <parameter name="data" transfer-ownership="none">
14024             <type name="any" c:type="gpointer"/>
14025           </parameter>
14026         </parameters>
14027       </method>
14028       <method name="add_buffer_probe_full"
14029               c:identifier="gst_pad_add_buffer_probe_full">
14030         <return-value transfer-ownership="none">
14031           <type name="ulong" c:type="gulong"/>
14032         </return-value>
14033         <parameters>
14034           <parameter name="handler"
14035                      transfer-ownership="none"
14036                      scope="notified"
14037                      closure="2"
14038                      destroy="3">
14039             <type name="GObject.Callback" c:type="GCallback"/>
14040           </parameter>
14041           <parameter name="data" transfer-ownership="none">
14042             <type name="any" c:type="gpointer"/>
14043           </parameter>
14044           <parameter name="notify" transfer-ownership="none" scope="call">
14045             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
14046           </parameter>
14047         </parameters>
14048       </method>
14049       <method name="remove_buffer_probe"
14050               c:identifier="gst_pad_remove_buffer_probe">
14051         <return-value transfer-ownership="none">
14052           <type name="none" c:type="void"/>
14053         </return-value>
14054         <parameters>
14055           <parameter name="handler_id" transfer-ownership="none">
14056             <type name="uint" c:type="guint"/>
14057           </parameter>
14058         </parameters>
14059       </method>
14060       <property name="caps" transfer-ownership="none">
14061         <type name="Caps" c:type="GstCaps"/>
14062       </property>
14063       <property name="direction"
14064                 writable="1"
14065                 construct-only="1"
14066                 transfer-ownership="none">
14067         <type name="PadDirection" c:type="GstPadDirection"/>
14068       </property>
14069       <property name="template" writable="1" transfer-ownership="none">
14070         <type name="PadTemplate" c:type="GstPadTemplate"/>
14071       </property>
14072       <field name="object">
14073         <type name="Object" c:type="GstObject"/>
14074       </field>
14075       <field name="element_private">
14076         <type name="any" c:type="gpointer"/>
14077       </field>
14078       <field name="padtemplate">
14079         <type name="PadTemplate" c:type="GstPadTemplate*"/>
14080       </field>
14081       <field name="direction">
14082         <type name="PadDirection" c:type="GstPadDirection"/>
14083       </field>
14084       <field name="stream_rec_lock">
14085         <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex*"/>
14086       </field>
14087       <field name="task">
14088         <type name="Task" c:type="GstTask*"/>
14089       </field>
14090       <field name="preroll_lock">
14091         <type name="GLib.Mutex" c:type="GMutex*"/>
14092       </field>
14093       <field name="preroll_cond">
14094         <type name="GLib.Cond" c:type="GCond*"/>
14095       </field>
14096       <field name="block_cond">
14097         <type name="GLib.Cond" c:type="GCond*"/>
14098       </field>
14099       <field name="block_callback">
14100         <type name="PadBlockCallback" c:type="GstPadBlockCallback"/>
14101       </field>
14102       <field name="block_data">
14103         <type name="any" c:type="gpointer"/>
14104       </field>
14105       <field name="caps">
14106         <type name="Caps" c:type="GstCaps*"/>
14107       </field>
14108       <field name="getcapsfunc">
14109         <type name="PadGetCapsFunction" c:type="GstPadGetCapsFunction"/>
14110       </field>
14111       <field name="setcapsfunc">
14112         <type name="PadSetCapsFunction" c:type="GstPadSetCapsFunction"/>
14113       </field>
14114       <field name="acceptcapsfunc">
14115         <type name="PadAcceptCapsFunction" c:type="GstPadAcceptCapsFunction"/>
14116       </field>
14117       <field name="fixatecapsfunc">
14118         <type name="PadFixateCapsFunction" c:type="GstPadFixateCapsFunction"/>
14119       </field>
14120       <field name="activatefunc">
14121         <type name="PadActivateFunction" c:type="GstPadActivateFunction"/>
14122       </field>
14123       <field name="activatepushfunc">
14124         <type name="PadActivateModeFunction"
14125               c:type="GstPadActivateModeFunction"/>
14126       </field>
14127       <field name="activatepullfunc">
14128         <type name="PadActivateModeFunction"
14129               c:type="GstPadActivateModeFunction"/>
14130       </field>
14131       <field name="linkfunc">
14132         <type name="PadLinkFunction" c:type="GstPadLinkFunction"/>
14133       </field>
14134       <field name="unlinkfunc">
14135         <type name="PadUnlinkFunction" c:type="GstPadUnlinkFunction"/>
14136       </field>
14137       <field name="peer">
14138         <type name="Pad" c:type="GstPad*"/>
14139       </field>
14140       <field name="sched_private">
14141         <type name="any" c:type="gpointer"/>
14142       </field>
14143       <field name="chainfunc">
14144         <type name="PadChainFunction" c:type="GstPadChainFunction"/>
14145       </field>
14146       <field name="checkgetrangefunc">
14147         <type name="PadCheckGetRangeFunction"
14148               c:type="GstPadCheckGetRangeFunction"/>
14149       </field>
14150       <field name="getrangefunc">
14151         <type name="PadGetRangeFunction" c:type="GstPadGetRangeFunction"/>
14152       </field>
14153       <field name="eventfunc">
14154         <type name="PadEventFunction" c:type="GstPadEventFunction"/>
14155       </field>
14156       <field name="mode">
14157         <type name="ActivateMode" c:type="GstActivateMode"/>
14158       </field>
14159       <field name="querytypefunc">
14160         <type name="PadQueryTypeFunction" c:type="GstPadQueryTypeFunction"/>
14161       </field>
14162       <field name="queryfunc">
14163         <type name="PadQueryFunction" c:type="GstPadQueryFunction"/>
14164       </field>
14165       <field name="intlinkfunc">
14166         <type name="PadIntLinkFunction" c:type="GstPadIntLinkFunction"/>
14167       </field>
14168       <field name="bufferallocfunc">
14169         <type name="PadBufferAllocFunction"
14170               c:type="GstPadBufferAllocFunction"/>
14171       </field>
14172       <field name="do_buffer_signals">
14173         <type name="int" c:type="gint"/>
14174       </field>
14175       <field name="do_event_signals">
14176         <type name="int" c:type="gint"/>
14177       </field>
14178       <field name="iterintlinkfunc">
14179         <type name="PadIterIntLinkFunction"
14180               c:type="GstPadIterIntLinkFunction"/>
14181       </field>
14182       <field name="block_destroy_data">
14183         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
14184       </field>
14185       <union name="abidata" c:type="abidata">
14186         <record name="ABI" c:type="ABI">
14187           <field name="block_callback_called" writable="1">
14188             <type name="boolean" c:type="gboolean"/>
14189           </field>
14190           <field name="priv" writable="1">
14191             <type name="PadPrivate" c:type="GstPadPrivate*"/>
14192           </field>
14193         </record>
14194         <field name="_gst_reserved" writable="1">
14195           <array zero-terminated="0" c:type="gpointer" fixed-size="2">
14196             <type name="any"/>
14197           </array>
14198         </field>
14199       </union>
14200       <glib:signal name="have-data">
14201         <return-value transfer-ownership="full">
14202           <type name="boolean" c:type="gboolean"/>
14203         </return-value>
14204         <parameters>
14205           <parameter name="object" transfer-ownership="none">
14206             <type name="MiniObject" c:type="GstMiniObject"/>
14207           </parameter>
14208         </parameters>
14209       </glib:signal>
14210       <glib:signal name="linked">
14211         <return-value transfer-ownership="full">
14212           <type name="none" c:type="void"/>
14213         </return-value>
14214         <parameters>
14215           <parameter name="object" transfer-ownership="none">
14216             <type name="Pad" c:type="GstPad"/>
14217           </parameter>
14218         </parameters>
14219       </glib:signal>
14220       <glib:signal name="request-link">
14221         <return-value transfer-ownership="full">
14222           <type name="none" c:type="void"/>
14223         </return-value>
14224       </glib:signal>
14225       <glib:signal name="unlinked">
14226         <return-value transfer-ownership="full">
14227           <type name="none" c:type="void"/>
14228         </return-value>
14229         <parameters>
14230           <parameter name="object" transfer-ownership="none">
14231             <type name="Pad" c:type="GstPad"/>
14232           </parameter>
14233         </parameters>
14234       </glib:signal>
14235     </class>
14236     <callback name="PadAcceptCapsFunction" c:type="GstPadAcceptCapsFunction">
14237       <doc xml:whitespace="preserve">Check if @pad can accept @caps. By default this function will see if @caps
14238 intersect with the result from gst_pad_get_caps() by can be overridden to
14239 perform extra checks.</doc>
14240       <return-value transfer-ownership="none">
14241         <doc xml:whitespace="preserve">TRUE if the caps can be accepted by the pad.</doc>
14242         <type name="boolean" c:type="gboolean"/>
14243       </return-value>
14244       <parameters>
14245         <parameter name="pad" transfer-ownership="none">
14246           <doc xml:whitespace="preserve">the #GstPad to check</doc>
14247           <type name="Pad" c:type="GstPad*"/>
14248         </parameter>
14249         <parameter name="caps" transfer-ownership="none">
14250           <doc xml:whitespace="preserve">the #GstCaps to check</doc>
14251           <type name="Caps" c:type="GstCaps*"/>
14252         </parameter>
14253       </parameters>
14254     </callback>
14255     <callback name="PadActivateFunction" c:type="GstPadActivateFunction">
14256       <doc xml:whitespace="preserve">This function is called when the pad is activated during the element
14257 READY to PAUSED state change. By default this function will call the
14258 activate function that puts the pad in push mode but elements can
14259 override this function to activate the pad in pull mode if they wish.</doc>
14260       <return-value transfer-ownership="none">
14261         <doc xml:whitespace="preserve">TRUE if the pad could be activated.</doc>
14262         <type name="boolean" c:type="gboolean"/>
14263       </return-value>
14264       <parameters>
14265         <parameter name="pad" transfer-ownership="none">
14266           <doc xml:whitespace="preserve">a #GstPad</doc>
14267           <type name="Pad" c:type="GstPad*"/>
14268         </parameter>
14269       </parameters>
14270     </callback>
14271     <callback name="PadActivateModeFunction"
14272               c:type="GstPadActivateModeFunction">
14273       <doc xml:whitespace="preserve">The prototype of the push and pull activate functions.</doc>
14274       <return-value transfer-ownership="none">
14275         <doc xml:whitespace="preserve">TRUE if the pad could be activated or deactivated.</doc>
14276         <type name="boolean" c:type="gboolean"/>
14277       </return-value>
14278       <parameters>
14279         <parameter name="pad" transfer-ownership="none">
14280           <doc xml:whitespace="preserve">a #GstPad</doc>
14281           <type name="Pad" c:type="GstPad*"/>
14282         </parameter>
14283         <parameter name="active" transfer-ownership="none">
14284           <doc xml:whitespace="preserve">activate or deactivate the pad.</doc>
14285           <type name="boolean" c:type="gboolean"/>
14286         </parameter>
14287       </parameters>
14288     </callback>
14289     <callback name="PadBlockCallback" c:type="GstPadBlockCallback">
14290       <doc xml:whitespace="preserve">Callback used by gst_pad_set_blocked_async(). Gets called when the blocking
14291 operation succeeds.</doc>
14292       <return-value transfer-ownership="none">
14293         <type name="none" c:type="void"/>
14294       </return-value>
14295       <parameters>
14296         <parameter name="pad" transfer-ownership="none">
14297           <doc xml:whitespace="preserve">the #GstPad that is blockend or unblocked.</doc>
14298           <type name="Pad" c:type="GstPad*"/>
14299         </parameter>
14300         <parameter name="blocked" transfer-ownership="none">
14301           <doc xml:whitespace="preserve">blocking state for the pad</doc>
14302           <type name="boolean" c:type="gboolean"/>
14303         </parameter>
14304         <parameter name="user_data" transfer-ownership="none" closure="2">
14305           <doc xml:whitespace="preserve">the gpointer to optional user data.</doc>
14306           <type name="any" c:type="gpointer"/>
14307         </parameter>
14308       </parameters>
14309     </callback>
14310     <callback name="PadBufferAllocFunction" c:type="GstPadBufferAllocFunction">
14311       <doc xml:whitespace="preserve">Ask the sinkpad @pad to allocate a buffer with @offset, @size and @caps.
14312 The result will be stored in @buf.
14313 The purpose of this function is to allocate a buffer that is optimal to
14314 be processed by @pad. The function is mostly overridden by elements that can
14315 provide a hardware buffer in order to avoid additional memcpy operations.
14316 The function can return a buffer that has caps different from the requested
14317 new caps.
14318 If a format change was requested, the returned buffer will be one to hold
14319 the data of said new caps, so its size might be different from the requested
14320 When this function returns anything else than #GST_FLOW_OK, the buffer allocation
14321 failed and @buf does not contain valid data. If the function returns #GST_FLOW_OK and
14322 the @buf is NULL, a #GstBuffer will be created with @caps, @offset and @size.
14323 By default this function returns a new buffer of @size and with @caps containing
14324 purely malloced data. The buffer should be freed with gst_buffer_unref()
14325 after usage.
14326 value means @buf does not hold a valid buffer.</doc>
14327       <return-value transfer-ownership="full">
14328         <doc xml:whitespace="preserve">#GST_FLOW_OK if @buf contains a valid buffer, any other return</doc>
14329         <type name="FlowReturn" c:type="GstFlowReturn"/>
14330       </return-value>
14331       <parameters>
14332         <parameter name="pad" transfer-ownership="none">
14333           <doc xml:whitespace="preserve">a sink #GstPad</doc>
14334           <type name="Pad" c:type="GstPad*"/>
14335         </parameter>
14336         <parameter name="offset" transfer-ownership="none">
14337           <doc xml:whitespace="preserve">the desired offset of the buffer</doc>
14338           <type name="uint64" c:type="guint64"/>
14339         </parameter>
14340         <parameter name="size" transfer-ownership="none">
14341           <doc xml:whitespace="preserve">the desired size of the buffer</doc>
14342           <type name="uint" c:type="guint"/>
14343         </parameter>
14344         <parameter name="caps" transfer-ownership="none">
14345           <doc xml:whitespace="preserve">the desired caps of the buffer</doc>
14346           <type name="Caps" c:type="GstCaps*"/>
14347         </parameter>
14348         <parameter name="buf" transfer-ownership="none">
14349           <doc xml:whitespace="preserve">pointer to hold the allocated buffer.</doc>
14350           <type name="Buffer" c:type="GstBuffer**"/>
14351         </parameter>
14352       </parameters>
14353     </callback>
14354     <callback name="PadChainFunction" c:type="GstPadChainFunction">
14355       <doc xml:whitespace="preserve">A function that will be called on sinkpads when chaining buffers.
14356 The function typically processes the data contained in the buffer and
14357 either consumes the data or passes it on to the internally linked pad(s).
14358 The implementer of this function receives a refcount to @buffer and should
14359 gst_buffer_unref() when the buffer is no longer needed.
14360 When a chain function detects an error in the data stream, it must post an
14361 error on the bus and return an appropriate #GstFlowReturn value.</doc>
14362       <return-value transfer-ownership="full">
14363         <doc xml:whitespace="preserve">#GST_FLOW_OK for success</doc>
14364         <type name="FlowReturn" c:type="GstFlowReturn"/>
14365       </return-value>
14366       <parameters>
14367         <parameter name="pad" transfer-ownership="none">
14368           <doc xml:whitespace="preserve">the sink #GstPad that performed the chain.</doc>
14369           <type name="Pad" c:type="GstPad*"/>
14370         </parameter>
14371         <parameter name="buffer" transfer-ownership="none">
14372           <doc xml:whitespace="preserve">the #GstBuffer that is chained, not %NULL.</doc>
14373           <type name="Buffer" c:type="GstBuffer*"/>
14374         </parameter>
14375       </parameters>
14376     </callback>
14377     <callback name="PadChainListFunction" c:type="GstPadChainListFunction">
14378       <doc xml:whitespace="preserve">A function that will be called on sinkpads when chaining buffer lists.
14379 The function typically processes the data contained in the buffer list and
14380 either consumes the data or passes it on to the internally linked pad(s).
14381 The implementer of this function receives a refcount to @list and
14382 should gst_buffer_list_unref() when the list is no longer needed.
14383 When a chainlist function detects an error in the data stream, it must
14384 post an error on the bus and return an appropriate #GstFlowReturn value.</doc>
14385       <return-value transfer-ownership="full">
14386         <doc xml:whitespace="preserve">#GST_FLOW_OK for success</doc>
14387         <type name="FlowReturn" c:type="GstFlowReturn"/>
14388       </return-value>
14389       <parameters>
14390         <parameter name="pad" transfer-ownership="none">
14391           <doc xml:whitespace="preserve">the sink #GstPad that performed the chain.</doc>
14392           <type name="Pad" c:type="GstPad*"/>
14393         </parameter>
14394         <parameter name="list" transfer-ownership="none">
14395           <doc xml:whitespace="preserve">the #GstBufferList that is chained, not %NULL.</doc>
14396           <type name="BufferList" c:type="GstBufferList*"/>
14397         </parameter>
14398       </parameters>
14399     </callback>
14400     <callback name="PadCheckGetRangeFunction"
14401               c:type="GstPadCheckGetRangeFunction">
14402       <doc xml:whitespace="preserve">Check if @pad can be activated in pull mode.
14403 This function will be deprecated after 0.10; use the seeking query to check
14404 if a pad can support random access.</doc>
14405       <return-value transfer-ownership="none">
14406         <doc xml:whitespace="preserve">TRUE if the pad can operate in pull mode.</doc>
14407         <type name="boolean" c:type="gboolean"/>
14408       </return-value>
14409       <parameters>
14410         <parameter name="pad" transfer-ownership="none">
14411           <doc xml:whitespace="preserve">a #GstPad</doc>
14412           <type name="Pad" c:type="GstPad*"/>
14413         </parameter>
14414       </parameters>
14415     </callback>
14416     <record name="PadClass"
14417             c:type="GstPadClass"
14418             glib:is-gtype-struct-for="Pad">
14419       <field name="parent_class">
14420         <type name="ObjectClass" c:type="GstObjectClass"/>
14421       </field>
14422       <field name="linked">
14423         <callback name="linked" c:type="linked">
14424           <return-value transfer-ownership="none">
14425             <type name="none" c:type="void"/>
14426           </return-value>
14427           <parameters>
14428             <parameter name="pad" transfer-ownership="none">
14429               <type name="Pad" c:type="GstPad*"/>
14430             </parameter>
14431             <parameter name="peer" transfer-ownership="none">
14432               <type name="Pad" c:type="GstPad*"/>
14433             </parameter>
14434           </parameters>
14435         </callback>
14436       </field>
14437       <field name="unlinked">
14438         <callback name="unlinked" c:type="unlinked">
14439           <return-value transfer-ownership="none">
14440             <type name="none" c:type="void"/>
14441           </return-value>
14442           <parameters>
14443             <parameter name="pad" transfer-ownership="none">
14444               <type name="Pad" c:type="GstPad*"/>
14445             </parameter>
14446             <parameter name="peer" transfer-ownership="none">
14447               <type name="Pad" c:type="GstPad*"/>
14448             </parameter>
14449           </parameters>
14450         </callback>
14451       </field>
14452       <field name="request_link">
14453         <callback name="request_link" c:type="request_link">
14454           <return-value transfer-ownership="none">
14455             <type name="none" c:type="void"/>
14456           </return-value>
14457           <parameters>
14458             <parameter name="pad" transfer-ownership="none">
14459               <type name="Pad" c:type="GstPad*"/>
14460             </parameter>
14461           </parameters>
14462         </callback>
14463       </field>
14464       <field name="have_data">
14465         <callback name="have_data" c:type="have_data">
14466           <return-value transfer-ownership="none">
14467             <type name="boolean" c:type="gboolean"/>
14468           </return-value>
14469           <parameters>
14470             <parameter name="pad" transfer-ownership="none">
14471               <type name="Pad" c:type="GstPad*"/>
14472             </parameter>
14473             <parameter name="data" transfer-ownership="none">
14474               <type name="MiniObject" c:type="GstMiniObject*"/>
14475             </parameter>
14476           </parameters>
14477         </callback>
14478       </field>
14479       <field name="_gst_reserved">
14480         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
14481           <type name="any"/>
14482         </array>
14483       </field>
14484     </record>
14485     <enumeration name="PadDirection"
14486                  glib:type-name="GstPadDirection"
14487                  glib:get-type="gst_pad_direction_get_type"
14488                  c:type="GstPadDirection">
14489       <doc xml:whitespace="preserve">The direction of a pad.</doc>
14490       <member name="unknown"
14491               value="0"
14492               c:identifier="GST_PAD_UNKNOWN"
14493               glib:nick="unknown"/>
14494       <member name="src" value="1" c:identifier="GST_PAD_SRC" glib:nick="src"/>
14495       <member name="sink"
14496               value="2"
14497               c:identifier="GST_PAD_SINK"
14498               glib:nick="sink"/>
14499     </enumeration>
14500     <callback name="PadDispatcherFunction" c:type="GstPadDispatcherFunction">
14501       <doc xml:whitespace="preserve">A dispatcher function is called for all internally linked pads, see
14502 gst_pad_dispatcher().</doc>
14503       <return-value transfer-ownership="none">
14504         <doc xml:whitespace="preserve">TRUE if the dispatching procedure has to be stopped.</doc>
14505         <type name="boolean" c:type="gboolean"/>
14506       </return-value>
14507       <parameters>
14508         <parameter name="pad" transfer-ownership="none">
14509           <doc xml:whitespace="preserve">the #GstPad that is dispatched.</doc>
14510           <type name="Pad" c:type="GstPad*"/>
14511         </parameter>
14512         <parameter name="data" transfer-ownership="none">
14513           <doc xml:whitespace="preserve">the gpointer to optional user data.</doc>
14514           <type name="any" c:type="gpointer"/>
14515         </parameter>
14516       </parameters>
14517     </callback>
14518     <callback name="PadEventFunction" c:type="GstPadEventFunction">
14519       <doc xml:whitespace="preserve">Function signature to handle an event for the pad.</doc>
14520       <return-value transfer-ownership="none">
14521         <doc xml:whitespace="preserve">TRUE if the pad could handle the event.</doc>
14522         <type name="boolean" c:type="gboolean"/>
14523       </return-value>
14524       <parameters>
14525         <parameter name="pad" transfer-ownership="none">
14526           <doc xml:whitespace="preserve">the #GstPad to handle the event.</doc>
14527           <type name="Pad" c:type="GstPad*"/>
14528         </parameter>
14529         <parameter name="event" transfer-ownership="none">
14530           <doc xml:whitespace="preserve">the #GstEvent to handle.</doc>
14531           <type name="Event" c:type="GstEvent*"/>
14532         </parameter>
14533       </parameters>
14534     </callback>
14535     <callback name="PadFixateCapsFunction" c:type="GstPadFixateCapsFunction">
14536       <doc xml:whitespace="preserve">Given possibly unfixed caps @caps, let @pad use its default prefered
14537 format to make a fixed caps. @caps should be writable. By default this
14538 function will pick the first value of any ranges or lists in the caps but
14539 elements can override this function to perform other behaviour.</doc>
14540       <return-value transfer-ownership="none">
14541         <type name="none" c:type="void"/>
14542       </return-value>
14543       <parameters>
14544         <parameter name="pad" transfer-ownership="none">
14545           <doc xml:whitespace="preserve">a #GstPad</doc>
14546           <type name="Pad" c:type="GstPad*"/>
14547         </parameter>
14548         <parameter name="caps" transfer-ownership="none">
14549           <doc xml:whitespace="preserve">the #GstCaps to fixate</doc>
14550           <type name="Caps" c:type="GstCaps*"/>
14551         </parameter>
14552       </parameters>
14553     </callback>
14554     <bitfield name="PadFlags"
14555               glib:type-name="GstPadFlags"
14556               glib:get-type="gst_pad_flags_get_type"
14557               c:type="GstPadFlags">
14558       <doc xml:whitespace="preserve">Pad state flags</doc>
14559       <member name="blocked"
14560               value="16"
14561               c:identifier="GST_PAD_BLOCKED"
14562               glib:nick="blocked"/>
14563       <member name="flushing"
14564               value="32"
14565               c:identifier="GST_PAD_FLUSHING"
14566               glib:nick="flushing"/>
14567       <member name="in_getcaps"
14568               value="64"
14569               c:identifier="GST_PAD_IN_GETCAPS"
14570               glib:nick="in-getcaps"/>
14571       <member name="in_setcaps"
14572               value="128"
14573               c:identifier="GST_PAD_IN_SETCAPS"
14574               glib:nick="in-setcaps"/>
14575       <member name="blocking"
14576               value="256"
14577               c:identifier="GST_PAD_BLOCKING"
14578               glib:nick="blocking"/>
14579       <member name="flag_last"
14580               value="4096"
14581               c:identifier="GST_PAD_FLAG_LAST"
14582               glib:nick="flag-last"/>
14583     </bitfield>
14584     <callback name="PadGetCapsFunction" c:type="GstPadGetCapsFunction">
14585       <doc xml:whitespace="preserve">Returns a copy of the capabilities of the specified pad. By default this
14586 function will return the pad template capabilities, but can optionally
14587 be overridden by elements.</doc>
14588       <return-value transfer-ownership="full">
14589         <doc xml:whitespace="preserve">a newly allocated copy #GstCaps of the pad.</doc>
14590         <type name="Caps" c:type="GstCaps*"/>
14591       </return-value>
14592       <parameters>
14593         <parameter name="pad" transfer-ownership="none">
14594           <doc xml:whitespace="preserve">the #GstPad to get the capabilities of.</doc>
14595           <type name="Pad" c:type="GstPad*"/>
14596         </parameter>
14597       </parameters>
14598     </callback>
14599     <callback name="PadGetRangeFunction" c:type="GstPadGetRangeFunction">
14600       <doc xml:whitespace="preserve">This function will be called on source pads when a peer element
14601 request a buffer at the specified @offset and @length. If this function
14602 returns #GST_FLOW_OK, the result buffer will be stored in @buffer. The
14603 contents of @buffer is invalid for any other return value.
14604 This function is installed on a source pad with
14605 gst_pad_set_getrange_function() and can only be called on source pads after
14606 they are successfully activated with gst_pad_activate_pull().
14607 between 0 and the length in bytes of the data available on @pad. The
14608 length (duration in bytes) can be retrieved with a #GST_QUERY_DURATION or with a
14609 #GST_QUERY_SEEKING.
14610 Any @offset larger or equal than the length will make the function return
14611 #GST_FLOW_UNEXPECTED, which corresponds to EOS. In this case @buffer does not
14612 contain a valid buffer.
14613 The buffer size of @buffer will only be smaller than @length when @offset is
14614 near the end of the stream. In all other cases, the size of @buffer must be
14615 exactly the requested size.
14616 It is allowed to call this function with a 0 @length and valid @offset, in
14617 which case @buffer will contain a 0-sized buffer and the function returns
14618 #GST_FLOW_OK.
14619 When this function is called with a -1 @offset, the sequentially next buffer
14620 of length @length in the stream is returned.
14621 When this function is called with a -1 @length, a buffer with a default
14622 optimal length is returned in @buffer. The length might depend on the value
14623 of @offset.
14624 return value leaves @buffer undefined.</doc>
14625       <return-value transfer-ownership="full">
14626         <doc xml:whitespace="preserve">#GST_FLOW_OK for success and a valid buffer in @buffer. Any other</doc>
14627         <type name="FlowReturn" c:type="GstFlowReturn"/>
14628       </return-value>
14629       <parameters>
14630         <parameter name="pad" transfer-ownership="none">
14631           <doc xml:whitespace="preserve">the src #GstPad to perform the getrange on.</doc>
14632           <type name="Pad" c:type="GstPad*"/>
14633         </parameter>
14634         <parameter name="offset" transfer-ownership="none">
14635           <doc xml:whitespace="preserve">the offset of the range</doc>
14636           <type name="uint64" c:type="guint64"/>
14637         </parameter>
14638         <parameter name="length" transfer-ownership="none">
14639           <doc xml:whitespace="preserve">the length of the range</doc>
14640           <type name="uint" c:type="guint"/>
14641         </parameter>
14642         <parameter name="buffer" transfer-ownership="none">
14643           <doc xml:whitespace="preserve">a memory location to hold the result buffer, cannot be NULL.</doc>
14644           <type name="Buffer" c:type="GstBuffer**"/>
14645         </parameter>
14646       </parameters>
14647     </callback>
14648     <callback name="PadIntLinkFunction" c:type="GstPadIntLinkFunction">
14649       <doc xml:whitespace="preserve">The signature of the internal pad link function.</doc>
14650       <return-value transfer-ownership="none">
14651         <doc xml:whitespace="preserve">returns</doc>
14652         <type name="GLib.List" c:type="GList*">
14653           <type name="Pad"/>
14654         </type>
14655       </return-value>
14656       <parameters>
14657         <parameter name="pad" transfer-ownership="none">
14658           <doc xml:whitespace="preserve">The #GstPad to query.</doc>
14659           <type name="Pad" c:type="GstPad*"/>
14660         </parameter>
14661       </parameters>
14662     </callback>
14663     <callback name="PadIterIntLinkFunction" c:type="GstPadIterIntLinkFunction">
14664       <doc xml:whitespace="preserve">The signature of the internal pad link iterator function.
14665 linked to the given pad on the inside of the parent element.
14666 the caller must call gst_iterator_free() after usage.
14667 Since 0.10.21</doc>
14668       <return-value transfer-ownership="full">
14669         <doc xml:whitespace="preserve">a new #GstIterator that will iterate over all pads that are</doc>
14670         <type name="Iterator" c:type="GstIterator*"/>
14671       </return-value>
14672       <parameters>
14673         <parameter name="pad" transfer-ownership="none">
14674           <doc xml:whitespace="preserve">The #GstPad to query.</doc>
14675           <type name="Pad" c:type="GstPad*"/>
14676         </parameter>
14677       </parameters>
14678     </callback>
14679     <bitfield name="PadLinkCheck"
14680               version="0.10.30"
14681               glib:type-name="GstPadLinkCheck"
14682               glib:get-type="gst_pad_link_check_get_type"
14683               c:type="GstPadLinkCheck">
14684       <doc xml:whitespace="preserve">The amount of checking to be done when linking pads. @GST_PAD_LINK_CHECK_CAPS
14685 and @GST_PAD_LINK_CHECK_TEMPLATE_CAPS are mutually exclusive. If both are
14686 specified, expensive but safe @GST_PAD_LINK_CHECK_CAPS are performed.
14687 &lt;warning&gt;&lt;para&gt;
14688 Only disable some of the checks if you are 100% certain you know the link
14689 will not fail because of hierarchy/caps compatibility failures. If uncertain,
14690 use the default checks (%GST_PAD_LINK_CHECK_DEFAULT) or the regular methods
14691 for linking the pads.
14692 &lt;/para&gt;&lt;/warning&gt;</doc>
14693       <member name="nothing"
14694               value="0"
14695               c:identifier="GST_PAD_LINK_CHECK_NOTHING"
14696               glib:nick="nothing"/>
14697       <member name="hierarchy"
14698               value="1"
14699               c:identifier="GST_PAD_LINK_CHECK_HIERARCHY"
14700               glib:nick="hierarchy"/>
14701       <member name="template_caps"
14702               value="2"
14703               c:identifier="GST_PAD_LINK_CHECK_TEMPLATE_CAPS"
14704               glib:nick="template-caps"/>
14705       <member name="caps"
14706               value="4"
14707               c:identifier="GST_PAD_LINK_CHECK_CAPS"
14708               glib:nick="caps"/>
14709     </bitfield>
14710     <callback name="PadLinkFunction" c:type="GstPadLinkFunction">
14711       <return-value transfer-ownership="full">
14712         <type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
14713       </return-value>
14714       <parameters>
14715         <parameter name="pad" transfer-ownership="none">
14716           <type name="Pad" c:type="GstPad*"/>
14717         </parameter>
14718         <parameter name="peer" transfer-ownership="none">
14719           <type name="Pad" c:type="GstPad*"/>
14720         </parameter>
14721       </parameters>
14722     </callback>
14723     <enumeration name="PadLinkReturn"
14724                  glib:type-name="GstPadLinkReturn"
14725                  glib:get-type="gst_pad_link_return_get_type"
14726                  c:type="GstPadLinkReturn">
14727       <doc xml:whitespace="preserve">Result values from gst_pad_link and friends.</doc>
14728       <member name="ok"
14729               value="0"
14730               c:identifier="GST_PAD_LINK_OK"
14731               glib:nick="ok"/>
14732       <member name="wrong_hierarchy"
14733               value="-1"
14734               c:identifier="GST_PAD_LINK_WRONG_HIERARCHY"
14735               glib:nick="wrong-hierarchy"/>
14736       <member name="was_linked"
14737               value="-2"
14738               c:identifier="GST_PAD_LINK_WAS_LINKED"
14739               glib:nick="was-linked"/>
14740       <member name="wrong_direction"
14741               value="-3"
14742               c:identifier="GST_PAD_LINK_WRONG_DIRECTION"
14743               glib:nick="wrong-direction"/>
14744       <member name="noformat"
14745               value="-4"
14746               c:identifier="GST_PAD_LINK_NOFORMAT"
14747               glib:nick="noformat"/>
14748       <member name="nosched"
14749               value="-5"
14750               c:identifier="GST_PAD_LINK_NOSCHED"
14751               glib:nick="nosched"/>
14752       <member name="refused"
14753               value="-6"
14754               c:identifier="GST_PAD_LINK_REFUSED"
14755               glib:nick="refused"/>
14756     </enumeration>
14757     <enumeration name="PadPresence"
14758                  glib:type-name="GstPadPresence"
14759                  glib:get-type="gst_pad_presence_get_type"
14760                  c:type="GstPadPresence">
14761       <doc xml:whitespace="preserve">Indicates when this pad will become available.</doc>
14762       <member name="always"
14763               value="0"
14764               c:identifier="GST_PAD_ALWAYS"
14765               glib:nick="always"/>
14766       <member name="sometimes"
14767               value="1"
14768               c:identifier="GST_PAD_SOMETIMES"
14769               glib:nick="sometimes"/>
14770       <member name="request"
14771               value="2"
14772               c:identifier="GST_PAD_REQUEST"
14773               glib:nick="request"/>
14774     </enumeration>
14775     <record name="PadPrivate" c:type="GstPadPrivate">
14776     </record>
14777     <callback name="PadQueryFunction" c:type="GstPadQueryFunction">
14778       <doc xml:whitespace="preserve">The signature of the query function.</doc>
14779       <return-value transfer-ownership="none">
14780         <doc xml:whitespace="preserve">TRUE if the query could be performed.</doc>
14781         <type name="boolean" c:type="gboolean"/>
14782       </return-value>
14783       <parameters>
14784         <parameter name="pad" transfer-ownership="none">
14785           <doc xml:whitespace="preserve">the #GstPad to query.</doc>
14786           <type name="Pad" c:type="GstPad*"/>
14787         </parameter>
14788         <parameter name="query" transfer-ownership="none">
14789           <doc xml:whitespace="preserve">the #GstQuery object to execute</doc>
14790           <type name="Query" c:type="GstQuery*"/>
14791         </parameter>
14792       </parameters>
14793     </callback>
14794     <callback name="PadQueryTypeFunction" c:type="GstPadQueryTypeFunction">
14795       <doc xml:whitespace="preserve">The signature of the query types function.</doc>
14796       <return-value transfer-ownership="none">
14797         <doc xml:whitespace="preserve">a constant array of query types</doc>
14798         <type name="QueryType" c:type="GstQueryType*"/>
14799       </return-value>
14800       <parameters>
14801         <parameter name="pad" transfer-ownership="none">
14802           <doc xml:whitespace="preserve">a #GstPad to query</doc>
14803           <type name="Pad" c:type="GstPad*"/>
14804         </parameter>
14805       </parameters>
14806     </callback>
14807     <callback name="PadSetCapsFunction" c:type="GstPadSetCapsFunction">
14808       <doc xml:whitespace="preserve">Set @caps on @pad. By default this function updates the caps of the
14809 pad but the function can be overriden by elements to perform extra
14810 actions or verifications.</doc>
14811       <return-value transfer-ownership="none">
14812         <doc xml:whitespace="preserve">TRUE if the caps could be set on the pad.</doc>
14813         <type name="boolean" c:type="gboolean"/>
14814       </return-value>
14815       <parameters>
14816         <parameter name="pad" transfer-ownership="none">
14817           <doc xml:whitespace="preserve">the #GstPad to set the capabilities of.</doc>
14818           <type name="Pad" c:type="GstPad*"/>
14819         </parameter>
14820         <parameter name="caps" transfer-ownership="none">
14821           <doc xml:whitespace="preserve">the #GstCaps to set</doc>
14822           <type name="Caps" c:type="GstCaps*"/>
14823         </parameter>
14824       </parameters>
14825     </callback>
14826     <class name="PadTemplate"
14827            c:type="GstPadTemplate"
14828            parent="Object"
14829            glib:type-name="GstPadTemplate"
14830            glib:get-type="gst_pad_template_get_type"
14831            glib:type-struct="PadTemplateClass">
14832       <doc xml:whitespace="preserve">The padtemplate object.</doc>
14833       <constructor name="new" c:identifier="gst_pad_template_new">
14834         <return-value transfer-ownership="full">
14835           <type name="PadTemplate" c:type="GstPadTemplate*"/>
14836         </return-value>
14837         <parameters>
14838           <parameter name="name_template" transfer-ownership="none">
14839             <type name="utf8" c:type="gchar*"/>
14840           </parameter>
14841           <parameter name="direction" transfer-ownership="none">
14842             <type name="PadDirection" c:type="GstPadDirection"/>
14843           </parameter>
14844           <parameter name="presence" transfer-ownership="none">
14845             <type name="PadPresence" c:type="GstPadPresence"/>
14846           </parameter>
14847           <parameter name="caps" transfer-ownership="none">
14848             <type name="Caps" c:type="GstCaps*"/>
14849           </parameter>
14850         </parameters>
14851       </constructor>
14852       <method name="get_caps" c:identifier="gst_pad_template_get_caps">
14853         <return-value transfer-ownership="full">
14854           <type name="Caps" c:type="GstCaps*"/>
14855         </return-value>
14856       </method>
14857       <method name="pad_created" c:identifier="gst_pad_template_pad_created">
14858         <return-value transfer-ownership="none">
14859           <type name="none" c:type="void"/>
14860         </return-value>
14861         <parameters>
14862           <parameter name="pad" transfer-ownership="none">
14863             <type name="Pad" c:type="GstPad*"/>
14864           </parameter>
14865         </parameters>
14866       </method>
14867       <property name="caps"
14868                 writable="1"
14869                 construct-only="1"
14870                 transfer-ownership="none">
14871         <type name="Caps" c:type="GstCaps"/>
14872       </property>
14873       <property name="direction"
14874                 writable="1"
14875                 construct-only="1"
14876                 transfer-ownership="none">
14877         <type name="PadDirection" c:type="GstPadDirection"/>
14878       </property>
14879       <property name="name-template"
14880                 writable="1"
14881                 construct-only="1"
14882                 transfer-ownership="none">
14883         <type name="utf8" c:type="gchararray"/>
14884       </property>
14885       <property name="presence"
14886                 writable="1"
14887                 construct-only="1"
14888                 transfer-ownership="none">
14889         <type name="PadPresence" c:type="GstPadPresence"/>
14890       </property>
14891       <field name="object">
14892         <type name="Object" c:type="GstObject"/>
14893       </field>
14894       <field name="name_template">
14895         <type name="utf8" c:type="gchar*"/>
14896       </field>
14897       <field name="direction">
14898         <type name="PadDirection" c:type="GstPadDirection"/>
14899       </field>
14900       <field name="presence">
14901         <type name="PadPresence" c:type="GstPadPresence"/>
14902       </field>
14903       <field name="caps">
14904         <type name="Caps" c:type="GstCaps*"/>
14905       </field>
14906       <field name="_gst_reserved">
14907         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
14908           <type name="any"/>
14909         </array>
14910       </field>
14911       <glib:signal name="pad-created">
14912         <return-value transfer-ownership="full">
14913           <type name="none" c:type="void"/>
14914         </return-value>
14915         <parameters>
14916           <parameter name="object" transfer-ownership="none">
14917             <type name="Pad" c:type="GstPad"/>
14918           </parameter>
14919         </parameters>
14920       </glib:signal>
14921     </class>
14922     <record name="PadTemplateClass"
14923             c:type="GstPadTemplateClass"
14924             glib:is-gtype-struct-for="PadTemplate">
14925       <field name="parent_class">
14926         <type name="ObjectClass" c:type="GstObjectClass"/>
14927       </field>
14928       <field name="pad_created">
14929         <callback name="pad_created" c:type="pad_created">
14930           <return-value transfer-ownership="none">
14931             <type name="none" c:type="void"/>
14932           </return-value>
14933           <parameters>
14934             <parameter name="templ" transfer-ownership="none">
14935               <type name="PadTemplate" c:type="GstPadTemplate*"/>
14936             </parameter>
14937             <parameter name="pad" transfer-ownership="none">
14938               <type name="Pad" c:type="GstPad*"/>
14939             </parameter>
14940           </parameters>
14941         </callback>
14942       </field>
14943       <field name="_gst_reserved">
14944         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
14945           <type name="any"/>
14946         </array>
14947       </field>
14948     </record>
14949     <bitfield name="PadTemplateFlags"
14950               glib:type-name="GstPadTemplateFlags"
14951               glib:get-type="gst_pad_template_flags_get_type"
14952               c:type="GstPadTemplateFlags">
14953       <doc xml:whitespace="preserve">Flags for the padtemplate</doc>
14954       <member name="fixed"
14955               value="16"
14956               c:identifier="GST_PAD_TEMPLATE_FIXED"
14957               glib:nick="fixed"/>
14958       <member name="flag_last"
14959               value="256"
14960               c:identifier="GST_PAD_TEMPLATE_FLAG_LAST"
14961               glib:nick="flag-last"/>
14962     </bitfield>
14963     <callback name="PadUnlinkFunction" c:type="GstPadUnlinkFunction">
14964       <return-value transfer-ownership="none">
14965         <type name="none" c:type="void"/>
14966       </return-value>
14967       <parameters>
14968         <parameter name="pad" transfer-ownership="none">
14969           <type name="Pad" c:type="GstPad*"/>
14970         </parameter>
14971       </parameters>
14972     </callback>
14973     <class name="ParamFraction"
14974            c:type="GstParamFraction"
14975            parent="GObject.Object"
14976            glib:type-name="GstParamFraction"
14977            glib:get-type="gst_param_spec_fraction_get_type"
14978            glib:fundamental="1">
14979     </class>
14980     <record name="ParamSpecFraction" c:type="GstParamSpecFraction">
14981       <doc xml:whitespace="preserve">A GParamSpec derived structure that contains the meta data for fractional
14982 properties.</doc>
14983       <field name="parent_instance" writable="1">
14984         <type name="GObject.ParamSpec" c:type="GParamSpec"/>
14985       </field>
14986       <field name="min_num" writable="1">
14987         <type name="int" c:type="gint"/>
14988       </field>
14989       <field name="min_den" writable="1">
14990         <type name="int" c:type="gint"/>
14991       </field>
14992       <field name="max_num" writable="1">
14993         <type name="int" c:type="gint"/>
14994       </field>
14995       <field name="max_den" writable="1">
14996         <type name="int" c:type="gint"/>
14997       </field>
14998       <field name="def_num" writable="1">
14999         <type name="int" c:type="gint"/>
15000       </field>
15001       <field name="def_den" writable="1">
15002         <type name="int" c:type="gint"/>
15003       </field>
15004     </record>
15005     <record name="ParamSpecMiniObject" c:type="GstParamSpecMiniObject">
15006       <doc xml:whitespace="preserve">A %GParamSpec derived structure that contains the meta data
15007 for %GstMiniObject properties.</doc>
15008       <field name="parent_instance" writable="1">
15009         <type name="GObject.ParamSpec" c:type="GParamSpec"/>
15010       </field>
15011     </record>
15012     <record name="ParseContext" c:type="GstParseContext" version="0.10.20">
15013       <doc xml:whitespace="preserve">Opaque structure.</doc>
15014       <constructor name="new" c:identifier="gst_parse_context_new">
15015         <return-value transfer-ownership="full">
15016           <type name="ParseContext" c:type="GstParseContext*"/>
15017         </return-value>
15018       </constructor>
15019       <method name="get_missing_elements"
15020               c:identifier="gst_parse_context_get_missing_elements">
15021         <return-value transfer-ownership="full">
15022           <array c:type="gchar**">
15023             <type name="utf8"/>
15024           </array>
15025         </return-value>
15026       </method>
15027       <method name="free" c:identifier="gst_parse_context_free">
15028         <return-value transfer-ownership="none">
15029           <type name="none" c:type="void"/>
15030         </return-value>
15031       </method>
15032     </record>
15033     <enumeration name="ParseError"
15034                  glib:type-name="GstParseError"
15035                  glib:get-type="gst_parse_error_get_type"
15036                  c:type="GstParseError"
15037                  glib:error-quark="gst_parse_error_quark">
15038       <doc xml:whitespace="preserve">The different parsing errors that can occur.</doc>
15039       <member name="syntax"
15040               value="0"
15041               c:identifier="GST_PARSE_ERROR_SYNTAX"
15042               glib:nick="syntax"/>
15043       <member name="no_such_element"
15044               value="1"
15045               c:identifier="GST_PARSE_ERROR_NO_SUCH_ELEMENT"
15046               glib:nick="no-such-element"/>
15047       <member name="no_such_property"
15048               value="2"
15049               c:identifier="GST_PARSE_ERROR_NO_SUCH_PROPERTY"
15050               glib:nick="no-such-property"/>
15051       <member name="link"
15052               value="3"
15053               c:identifier="GST_PARSE_ERROR_LINK"
15054               glib:nick="link"/>
15055       <member name="could_not_set_property"
15056               value="4"
15057               c:identifier="GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY"
15058               glib:nick="could-not-set-property"/>
15059       <member name="empty_bin"
15060               value="5"
15061               c:identifier="GST_PARSE_ERROR_EMPTY_BIN"
15062               glib:nick="empty-bin"/>
15063       <member name="empty"
15064               value="6"
15065               c:identifier="GST_PARSE_ERROR_EMPTY"
15066               glib:nick="empty"/>
15067     </enumeration>
15068     <bitfield name="ParseFlags"
15069               version="0.10.20"
15070               glib:type-name="GstParseFlags"
15071               glib:get-type="gst_parse_flags_get_type"
15072               c:type="GstParseFlags">
15073       <doc xml:whitespace="preserve">Parsing options.</doc>
15074       <member name="none"
15075               value="0"
15076               c:identifier="GST_PARSE_FLAG_NONE"
15077               glib:nick="none"/>
15078       <member name="fatal_errors"
15079               value="1"
15080               c:identifier="GST_PARSE_FLAG_FATAL_ERRORS"
15081               glib:nick="fatal-errors"/>
15082     </bitfield>
15083     <class name="Pipeline"
15084            c:type="GstPipeline"
15085            parent="Bin"
15086            glib:type-name="GstPipeline"
15087            glib:get-type="gst_pipeline_get_type"
15088            glib:type-struct="PipelineClass">
15089       <doc xml:whitespace="preserve">The #GstPipeline structure.</doc>
15090       <implements name="ChildProxy"/>
15091       <constructor name="new" c:identifier="gst_pipeline_new">
15092         <return-value transfer-ownership="full">
15093           <type name="Pipeline" c:type="GstElement*"/>
15094         </return-value>
15095         <parameters>
15096           <parameter name="name" transfer-ownership="none">
15097             <type name="utf8" c:type="gchar*"/>
15098           </parameter>
15099         </parameters>
15100       </constructor>
15101       <method name="get_bus" c:identifier="gst_pipeline_get_bus">
15102         <return-value transfer-ownership="full">
15103           <type name="Bus" c:type="GstBus*"/>
15104         </return-value>
15105       </method>
15106       <method name="set_new_stream_time"
15107               c:identifier="gst_pipeline_set_new_stream_time">
15108         <return-value transfer-ownership="none">
15109           <type name="none" c:type="void"/>
15110         </return-value>
15111         <parameters>
15112           <parameter name="time" transfer-ownership="none">
15113             <type name="ClockTime" c:type="GstClockTime"/>
15114           </parameter>
15115         </parameters>
15116       </method>
15117       <method name="get_last_stream_time"
15118               c:identifier="gst_pipeline_get_last_stream_time">
15119         <return-value transfer-ownership="full">
15120           <type name="ClockTime" c:type="GstClockTime"/>
15121         </return-value>
15122       </method>
15123       <method name="use_clock" c:identifier="gst_pipeline_use_clock">
15124         <return-value transfer-ownership="none">
15125           <type name="none" c:type="void"/>
15126         </return-value>
15127         <parameters>
15128           <parameter name="clock" transfer-ownership="none">
15129             <type name="Clock" c:type="GstClock*"/>
15130           </parameter>
15131         </parameters>
15132       </method>
15133       <method name="set_clock" c:identifier="gst_pipeline_set_clock">
15134         <return-value transfer-ownership="none">
15135           <type name="boolean" c:type="gboolean"/>
15136         </return-value>
15137         <parameters>
15138           <parameter name="clock" transfer-ownership="none">
15139             <type name="Clock" c:type="GstClock*"/>
15140           </parameter>
15141         </parameters>
15142       </method>
15143       <method name="get_clock" c:identifier="gst_pipeline_get_clock">
15144         <return-value transfer-ownership="full">
15145           <type name="Clock" c:type="GstClock*"/>
15146         </return-value>
15147       </method>
15148       <method name="auto_clock" c:identifier="gst_pipeline_auto_clock">
15149         <return-value transfer-ownership="none">
15150           <type name="none" c:type="void"/>
15151         </return-value>
15152       </method>
15153       <method name="set_delay" c:identifier="gst_pipeline_set_delay">
15154         <return-value transfer-ownership="none">
15155           <type name="none" c:type="void"/>
15156         </return-value>
15157         <parameters>
15158           <parameter name="delay" transfer-ownership="none">
15159             <type name="ClockTime" c:type="GstClockTime"/>
15160           </parameter>
15161         </parameters>
15162       </method>
15163       <method name="get_delay" c:identifier="gst_pipeline_get_delay">
15164         <return-value transfer-ownership="full">
15165           <type name="ClockTime" c:type="GstClockTime"/>
15166         </return-value>
15167       </method>
15168       <method name="set_auto_flush_bus"
15169               c:identifier="gst_pipeline_set_auto_flush_bus">
15170         <return-value transfer-ownership="none">
15171           <type name="none" c:type="void"/>
15172         </return-value>
15173         <parameters>
15174           <parameter name="auto_flush" transfer-ownership="none">
15175             <type name="boolean" c:type="gboolean"/>
15176           </parameter>
15177         </parameters>
15178       </method>
15179       <method name="get_auto_flush_bus"
15180               c:identifier="gst_pipeline_get_auto_flush_bus">
15181         <return-value transfer-ownership="none">
15182           <type name="boolean" c:type="gboolean"/>
15183         </return-value>
15184       </method>
15185       <property name="auto-flush-bus" writable="1" transfer-ownership="none">
15186         <type name="boolean" c:type="gboolean"/>
15187       </property>
15188       <property name="delay" writable="1" transfer-ownership="none">
15189         <type name="uint64" c:type="guint64"/>
15190       </property>
15191       <field name="bin">
15192         <type name="Bin" c:type="GstBin"/>
15193       </field>
15194       <field name="fixed_clock">
15195         <type name="Clock" c:type="GstClock*"/>
15196       </field>
15197       <field name="stream_time">
15198         <type name="ClockTime" c:type="GstClockTime"/>
15199       </field>
15200       <field name="delay">
15201         <type name="ClockTime" c:type="GstClockTime"/>
15202       </field>
15203       <field name="priv">
15204         <type name="PipelinePrivate" c:type="GstPipelinePrivate*"/>
15205       </field>
15206       <field name="_gst_reserved">
15207         <array zero-terminated="0" c:type="gpointer" fixed-size="3">
15208           <type name="any"/>
15209         </array>
15210       </field>
15211     </class>
15212     <record name="PipelineClass"
15213             c:type="GstPipelineClass"
15214             glib:is-gtype-struct-for="Pipeline">
15215       <field name="parent_class">
15216         <type name="BinClass" c:type="GstBinClass"/>
15217       </field>
15218       <field name="_gst_reserved">
15219         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
15220           <type name="any"/>
15221         </array>
15222       </field>
15223     </record>
15224     <bitfield name="PipelineFlags"
15225               glib:type-name="GstPipelineFlags"
15226               glib:get-type="gst_pipeline_flags_get_type"
15227               c:type="GstPipelineFlags">
15228       <doc xml:whitespace="preserve">Pipeline flags</doc>
15229       <member name="fixed_clock"
15230               value="33554432"
15231               c:identifier="GST_PIPELINE_FLAG_FIXED_CLOCK"
15232               glib:nick="fixed-clock"/>
15233       <member name="last"
15234               value="536870912"
15235               c:identifier="GST_PIPELINE_FLAG_LAST"
15236               glib:nick="last"/>
15237     </bitfield>
15238     <record name="PipelinePrivate" c:type="GstPipelinePrivate">
15239     </record>
15240     <class name="Plugin"
15241            c:type="GstPlugin"
15242            parent="Object"
15243            glib:type-name="GstPlugin"
15244            glib:get-type="gst_plugin_get_type"
15245            glib:type-struct="PluginClass">
15246       <doc xml:whitespace="preserve">The plugin object</doc>
15247       <function name="register_static"
15248                 c:identifier="gst_plugin_register_static">
15249         <return-value transfer-ownership="none">
15250           <type name="boolean" c:type="gboolean"/>
15251         </return-value>
15252         <parameters>
15253           <parameter name="major_version" transfer-ownership="none">
15254             <type name="int" c:type="gint"/>
15255           </parameter>
15256           <parameter name="minor_version" transfer-ownership="none">
15257             <type name="int" c:type="gint"/>
15258           </parameter>
15259           <parameter name="name" transfer-ownership="none">
15260             <type name="utf8" c:type="gchar*"/>
15261           </parameter>
15262           <parameter name="description" transfer-ownership="none">
15263             <type name="utf8" c:type="gchar*"/>
15264           </parameter>
15265           <parameter name="init_func" transfer-ownership="none" scope="call">
15266             <type name="PluginInitFunc" c:type="GstPluginInitFunc"/>
15267           </parameter>
15268           <parameter name="version" transfer-ownership="none">
15269             <type name="utf8" c:type="gchar*"/>
15270           </parameter>
15271           <parameter name="license" transfer-ownership="none">
15272             <type name="utf8" c:type="gchar*"/>
15273           </parameter>
15274           <parameter name="source" transfer-ownership="none">
15275             <type name="utf8" c:type="gchar*"/>
15276           </parameter>
15277           <parameter name="package" transfer-ownership="none">
15278             <type name="utf8" c:type="gchar*"/>
15279           </parameter>
15280           <parameter name="origin" transfer-ownership="none">
15281             <type name="utf8" c:type="gchar*"/>
15282           </parameter>
15283         </parameters>
15284       </function>
15285       <function name="register_static_full"
15286                 c:identifier="gst_plugin_register_static_full">
15287         <return-value transfer-ownership="none">
15288           <type name="boolean" c:type="gboolean"/>
15289         </return-value>
15290         <parameters>
15291           <parameter name="major_version" transfer-ownership="none">
15292             <type name="int" c:type="gint"/>
15293           </parameter>
15294           <parameter name="minor_version" transfer-ownership="none">
15295             <type name="int" c:type="gint"/>
15296           </parameter>
15297           <parameter name="name" transfer-ownership="none">
15298             <type name="utf8" c:type="gchar*"/>
15299           </parameter>
15300           <parameter name="description" transfer-ownership="none">
15301             <type name="utf8" c:type="gchar*"/>
15302           </parameter>
15303           <parameter name="init_full_func"
15304                      transfer-ownership="none"
15305                      scope="call">
15306             <type name="PluginInitFullFunc" c:type="GstPluginInitFullFunc"/>
15307           </parameter>
15308           <parameter name="version" transfer-ownership="none">
15309             <type name="utf8" c:type="gchar*"/>
15310           </parameter>
15311           <parameter name="license" transfer-ownership="none">
15312             <type name="utf8" c:type="gchar*"/>
15313           </parameter>
15314           <parameter name="source" transfer-ownership="none">
15315             <type name="utf8" c:type="gchar*"/>
15316           </parameter>
15317           <parameter name="package" transfer-ownership="none">
15318             <type name="utf8" c:type="gchar*"/>
15319           </parameter>
15320           <parameter name="origin" transfer-ownership="none">
15321             <type name="utf8" c:type="gchar*"/>
15322           </parameter>
15323           <parameter name="user_data" transfer-ownership="none">
15324             <type name="any" c:type="gpointer"/>
15325           </parameter>
15326         </parameters>
15327       </function>
15328       <function name="load_file"
15329                 c:identifier="gst_plugin_load_file"
15330                 throws="1">
15331         <return-value transfer-ownership="full">
15332           <type name="Plugin" c:type="GstPlugin*"/>
15333         </return-value>
15334         <parameters>
15335           <parameter name="filename" transfer-ownership="none">
15336             <type name="utf8" c:type="gchar*"/>
15337           </parameter>
15338         </parameters>
15339       </function>
15340       <function name="load_by_name" c:identifier="gst_plugin_load_by_name">
15341         <return-value transfer-ownership="full">
15342           <type name="Plugin" c:type="GstPlugin*"/>
15343         </return-value>
15344         <parameters>
15345           <parameter name="name" transfer-ownership="none">
15346             <type name="utf8" c:type="gchar*"/>
15347           </parameter>
15348         </parameters>
15349       </function>
15350       <function name="list_free"
15351                 c:identifier="gst_plugin_list_free"
15352                 introspectable="0">
15353         <return-value transfer-ownership="none">
15354           <type name="none" c:type="void"/>
15355         </return-value>
15356         <parameters>
15357           <parameter name="list" transfer-ownership="none">
15358             <type name="GLib.List" c:type="GList*">
15359               <type name="any" c:type="gpointer"/>
15360             </type>
15361           </parameter>
15362         </parameters>
15363       </function>
15364       <method name="get_name" c:identifier="gst_plugin_get_name">
15365         <return-value transfer-ownership="none">
15366           <type name="utf8" c:type="gchar*"/>
15367         </return-value>
15368       </method>
15369       <method name="get_description" c:identifier="gst_plugin_get_description">
15370         <return-value transfer-ownership="none">
15371           <type name="utf8" c:type="gchar*"/>
15372         </return-value>
15373       </method>
15374       <method name="get_filename" c:identifier="gst_plugin_get_filename">
15375         <return-value transfer-ownership="none">
15376           <type name="utf8" c:type="gchar*"/>
15377         </return-value>
15378       </method>
15379       <method name="get_version" c:identifier="gst_plugin_get_version">
15380         <return-value transfer-ownership="none">
15381           <type name="utf8" c:type="gchar*"/>
15382         </return-value>
15383       </method>
15384       <method name="get_license" c:identifier="gst_plugin_get_license">
15385         <return-value transfer-ownership="none">
15386           <type name="utf8" c:type="gchar*"/>
15387         </return-value>
15388       </method>
15389       <method name="get_source" c:identifier="gst_plugin_get_source">
15390         <return-value transfer-ownership="none">
15391           <type name="utf8" c:type="gchar*"/>
15392         </return-value>
15393       </method>
15394       <method name="get_package" c:identifier="gst_plugin_get_package">
15395         <return-value transfer-ownership="none">
15396           <type name="utf8" c:type="gchar*"/>
15397         </return-value>
15398       </method>
15399       <method name="get_origin" c:identifier="gst_plugin_get_origin">
15400         <return-value transfer-ownership="none">
15401           <type name="utf8" c:type="gchar*"/>
15402         </return-value>
15403       </method>
15404       <method name="get_cache_data" c:identifier="gst_plugin_get_cache_data">
15405         <return-value transfer-ownership="none">
15406           <type name="Structure" c:type="GstStructure*"/>
15407         </return-value>
15408       </method>
15409       <method name="set_cache_data" c:identifier="gst_plugin_set_cache_data">
15410         <return-value transfer-ownership="none">
15411           <type name="none" c:type="void"/>
15412         </return-value>
15413         <parameters>
15414           <parameter name="cache_data" transfer-ownership="none">
15415             <type name="Structure" c:type="GstStructure*"/>
15416           </parameter>
15417         </parameters>
15418       </method>
15419       <method name="get_module" c:identifier="gst_plugin_get_module">
15420         <return-value transfer-ownership="full">
15421           <type name="GModule.Module" c:type="GModule*"/>
15422         </return-value>
15423       </method>
15424       <method name="is_loaded" c:identifier="gst_plugin_is_loaded">
15425         <return-value transfer-ownership="none">
15426           <type name="boolean" c:type="gboolean"/>
15427         </return-value>
15428       </method>
15429       <method name="name_filter" c:identifier="gst_plugin_name_filter">
15430         <return-value transfer-ownership="none">
15431           <type name="boolean" c:type="gboolean"/>
15432         </return-value>
15433         <parameters>
15434           <parameter name="name" transfer-ownership="none">
15435             <type name="utf8" c:type="gchar*"/>
15436           </parameter>
15437         </parameters>
15438       </method>
15439       <method name="load" c:identifier="gst_plugin_load">
15440         <return-value transfer-ownership="full">
15441           <type name="Plugin" c:type="GstPlugin*"/>
15442         </return-value>
15443       </method>
15444       <method name="add_dependency" c:identifier="gst_plugin_add_dependency">
15445         <return-value transfer-ownership="none">
15446           <type name="none" c:type="void"/>
15447         </return-value>
15448         <parameters>
15449           <parameter name="env_vars" transfer-ownership="none">
15450             <array c:type="gchar**">
15451               <type name="utf8"/>
15452             </array>
15453           </parameter>
15454           <parameter name="paths" transfer-ownership="none">
15455             <array c:type="gchar**">
15456               <type name="utf8"/>
15457             </array>
15458           </parameter>
15459           <parameter name="names" transfer-ownership="none">
15460             <array c:type="gchar**">
15461               <type name="utf8"/>
15462             </array>
15463           </parameter>
15464           <parameter name="flags" transfer-ownership="none">
15465             <type name="PluginDependencyFlags"
15466                   c:type="GstPluginDependencyFlags"/>
15467           </parameter>
15468         </parameters>
15469       </method>
15470       <method name="add_dependency_simple"
15471               c:identifier="gst_plugin_add_dependency_simple">
15472         <return-value transfer-ownership="none">
15473           <type name="none" c:type="void"/>
15474         </return-value>
15475         <parameters>
15476           <parameter name="env_vars" transfer-ownership="none">
15477             <type name="utf8" c:type="gchar*"/>
15478           </parameter>
15479           <parameter name="paths" transfer-ownership="none">
15480             <type name="utf8" c:type="gchar*"/>
15481           </parameter>
15482           <parameter name="names" transfer-ownership="none">
15483             <type name="utf8" c:type="gchar*"/>
15484           </parameter>
15485           <parameter name="flags" transfer-ownership="none">
15486             <type name="PluginDependencyFlags"
15487                   c:type="GstPluginDependencyFlags"/>
15488           </parameter>
15489         </parameters>
15490       </method>
15491       <field name="object">
15492         <type name="Object" c:type="GstObject"/>
15493       </field>
15494       <field name="desc">
15495         <type name="PluginDesc" c:type="GstPluginDesc"/>
15496       </field>
15497       <field name="orig_desc">
15498         <type name="PluginDesc" c:type="GstPluginDesc*"/>
15499       </field>
15500       <field name="flags">
15501         <type name="uint" c:type="unsigned"/>
15502       </field>
15503       <field name="filename">
15504         <type name="utf8" c:type="gchar*"/>
15505       </field>
15506       <field name="basename">
15507         <type name="utf8" c:type="gchar*"/>
15508       </field>
15509       <field name="module">
15510         <type name="GModule.Module" c:type="GModule*"/>
15511       </field>
15512       <field name="file_size">
15513         <type name="gsize" c:type="off_t"/>
15514       </field>
15515       <field name="file_mtime">
15516         <type name="long" c:type="time_t"/>
15517       </field>
15518       <field name="registered">
15519         <type name="boolean" c:type="gboolean"/>
15520       </field>
15521       <field name="priv">
15522         <type name="PluginPrivate" c:type="GstPluginPrivate*"/>
15523       </field>
15524       <field name="_gst_reserved">
15525         <array zero-terminated="0" c:type="gpointer" fixed-size="3">
15526           <type name="any"/>
15527         </array>
15528       </field>
15529     </class>
15530     <record name="PluginClass"
15531             c:type="GstPluginClass"
15532             glib:is-gtype-struct-for="Plugin">
15533       <field name="object_class">
15534         <type name="ObjectClass" c:type="GstObjectClass"/>
15535       </field>
15536       <field name="_gst_reserved">
15537         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
15538           <type name="any"/>
15539         </array>
15540       </field>
15541     </record>
15542     <bitfield name="PluginDependencyFlags"
15543               version="0.10.22"
15544               glib:type-name="GstPluginDependencyFlags"
15545               glib:get-type="gst_plugin_dependency_flags_get_type"
15546               c:type="GstPluginDependencyFlags">
15547       <doc xml:whitespace="preserve">Flags used in connection with gst_plugin_add_dependency().</doc>
15548       <member name="none"
15549               value="0"
15550               c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_NONE"
15551               glib:nick="none"/>
15552       <member name="recurse"
15553               value="1"
15554               c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_RECURSE"
15555               glib:nick="recurse"/>
15556       <member name="paths_are_default_only"
15557               value="2"
15558               c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY"
15559               glib:nick="paths-are-default-only"/>
15560       <member name="file_name_is_suffix"
15561               value="4"
15562               c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX"
15563               glib:nick="file-name-is-suffix"/>
15564     </bitfield>
15565     <record name="PluginDesc" c:type="GstPluginDesc">
15566       <doc xml:whitespace="preserve">A plugin should export a variable of this type called plugin_desc. The plugin
15567 loader will use the data provided there to initialize the plugin.
15568 BSD, MIT/X11, Proprietary, unknown.</doc>
15569       <field name="major_version" writable="1">
15570         <type name="int" c:type="gint"/>
15571       </field>
15572       <field name="minor_version" writable="1">
15573         <type name="int" c:type="gint"/>
15574       </field>
15575       <field name="name" writable="1">
15576         <type name="utf8" c:type="gchar*"/>
15577       </field>
15578       <field name="description" writable="1">
15579         <type name="utf8" c:type="gchar*"/>
15580       </field>
15581       <field name="plugin_init" writable="1">
15582         <type name="PluginInitFunc" c:type="GstPluginInitFunc"/>
15583       </field>
15584       <field name="version" writable="1">
15585         <type name="utf8" c:type="gchar*"/>
15586       </field>
15587       <field name="license" writable="1">
15588         <type name="utf8" c:type="gchar*"/>
15589       </field>
15590       <field name="source" writable="1">
15591         <type name="utf8" c:type="gchar*"/>
15592       </field>
15593       <field name="package" writable="1">
15594         <type name="utf8" c:type="gchar*"/>
15595       </field>
15596       <field name="origin" writable="1">
15597         <type name="utf8" c:type="gchar*"/>
15598       </field>
15599       <field name="_gst_reserved" writable="1">
15600         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
15601           <type name="any"/>
15602         </array>
15603       </field>
15604     </record>
15605     <enumeration name="PluginError"
15606                  glib:type-name="GstPluginError"
15607                  glib:get-type="gst_plugin_error_get_type"
15608                  c:type="GstPluginError"
15609                  glib:error-quark="gst_plugin_error_quark">
15610       <doc xml:whitespace="preserve">The plugin loading errors</doc>
15611       <member name="module"
15612               value="0"
15613               c:identifier="GST_PLUGIN_ERROR_MODULE"
15614               glib:nick="module"/>
15615       <member name="dependencies"
15616               value="1"
15617               c:identifier="GST_PLUGIN_ERROR_DEPENDENCIES"
15618               glib:nick="dependencies"/>
15619       <member name="name_mismatch"
15620               value="2"
15621               c:identifier="GST_PLUGIN_ERROR_NAME_MISMATCH"
15622               glib:nick="name-mismatch"/>
15623     </enumeration>
15624     <class name="PluginFeature"
15625            c:type="GstPluginFeature"
15626            parent="Object"
15627            abstract="1"
15628            glib:type-name="GstPluginFeature"
15629            glib:get-type="gst_plugin_feature_get_type"
15630            glib:type-struct="PluginFeatureClass">
15631       <doc xml:whitespace="preserve">Opaque #GstPluginFeature structure.</doc>
15632       <function name="list_free"
15633                 c:identifier="gst_plugin_feature_list_free"
15634                 introspectable="0">
15635         <return-value transfer-ownership="none">
15636           <type name="none" c:type="void"/>
15637         </return-value>
15638         <parameters>
15639           <parameter name="list" transfer-ownership="none">
15640             <type name="GLib.List" c:type="GList*">
15641               <type name="any" c:type="gpointer"/>
15642             </type>
15643           </parameter>
15644         </parameters>
15645       </function>
15646       <function name="list_copy"
15647                 c:identifier="gst_plugin_feature_list_copy"
15648                 introspectable="0">
15649         <return-value transfer-ownership="full">
15650           <type name="GLib.List" c:type="GList*">
15651             <type name="any" c:type="gpointer"/>
15652           </type>
15653         </return-value>
15654         <parameters>
15655           <parameter name="list" transfer-ownership="none">
15656             <type name="GLib.List" c:type="GList*">
15657               <type name="any" c:type="gpointer"/>
15658             </type>
15659           </parameter>
15660         </parameters>
15661       </function>
15662       <method name="load" c:identifier="gst_plugin_feature_load">
15663         <return-value transfer-ownership="full">
15664           <type name="PluginFeature" c:type="GstPluginFeature*"/>
15665         </return-value>
15666       </method>
15667       <method name="type_name_filter"
15668               c:identifier="gst_plugin_feature_type_name_filter">
15669         <return-value transfer-ownership="none">
15670           <type name="boolean" c:type="gboolean"/>
15671         </return-value>
15672         <parameters>
15673           <parameter name="data" transfer-ownership="none">
15674             <type name="TypeNameData" c:type="GstTypeNameData*"/>
15675           </parameter>
15676         </parameters>
15677       </method>
15678       <method name="set_rank" c:identifier="gst_plugin_feature_set_rank">
15679         <return-value transfer-ownership="none">
15680           <type name="none" c:type="void"/>
15681         </return-value>
15682         <parameters>
15683           <parameter name="rank" transfer-ownership="none">
15684             <type name="uint" c:type="guint"/>
15685           </parameter>
15686         </parameters>
15687       </method>
15688       <method name="set_name" c:identifier="gst_plugin_feature_set_name">
15689         <return-value transfer-ownership="none">
15690           <type name="none" c:type="void"/>
15691         </return-value>
15692         <parameters>
15693           <parameter name="name" transfer-ownership="none">
15694             <type name="utf8" c:type="gchar*"/>
15695           </parameter>
15696         </parameters>
15697       </method>
15698       <method name="get_rank" c:identifier="gst_plugin_feature_get_rank">
15699         <return-value transfer-ownership="none">
15700           <type name="uint" c:type="guint"/>
15701         </return-value>
15702       </method>
15703       <method name="get_name" c:identifier="gst_plugin_feature_get_name">
15704         <return-value transfer-ownership="none">
15705           <type name="utf8" c:type="gchar*"/>
15706         </return-value>
15707       </method>
15708       <method name="check_version"
15709               c:identifier="gst_plugin_feature_check_version">
15710         <return-value transfer-ownership="none">
15711           <type name="boolean" c:type="gboolean"/>
15712         </return-value>
15713         <parameters>
15714           <parameter name="min_major" transfer-ownership="none">
15715             <type name="uint" c:type="guint"/>
15716           </parameter>
15717           <parameter name="min_minor" transfer-ownership="none">
15718             <type name="uint" c:type="guint"/>
15719           </parameter>
15720           <parameter name="min_micro" transfer-ownership="none">
15721             <type name="uint" c:type="guint"/>
15722           </parameter>
15723         </parameters>
15724       </method>
15725       <field name="object">
15726         <type name="Object" c:type="GstObject"/>
15727       </field>
15728       <field name="loaded">
15729         <type name="boolean" c:type="gboolean"/>
15730       </field>
15731       <field name="name">
15732         <type name="utf8" c:type="gchar*"/>
15733       </field>
15734       <field name="rank">
15735         <type name="uint" c:type="guint"/>
15736       </field>
15737       <field name="plugin_name">
15738         <type name="utf8" c:type="gchar*"/>
15739       </field>
15740       <field name="_gst_reserved">
15741         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
15742           <type name="any"/>
15743         </array>
15744       </field>
15745     </class>
15746     <record name="PluginFeatureClass"
15747             c:type="GstPluginFeatureClass"
15748             glib:is-gtype-struct-for="PluginFeature">
15749       <field name="parent_class">
15750         <type name="ObjectClass" c:type="GstObjectClass"/>
15751       </field>
15752       <field name="_gst_reserved">
15753         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
15754           <type name="any"/>
15755         </array>
15756       </field>
15757     </record>
15758     <callback name="PluginFeatureFilter" c:type="GstPluginFeatureFilter">
15759       <doc xml:whitespace="preserve">A function that can be used with e.g. gst_registry_feature_filter()
15760 to get a list of pluginfeature that match certain criteria.</doc>
15761       <return-value transfer-ownership="none">
15762         <doc xml:whitespace="preserve">%TRUE for a positive match, %FALSE otherwise</doc>
15763         <type name="boolean" c:type="gboolean"/>
15764       </return-value>
15765       <parameters>
15766         <parameter name="feature" transfer-ownership="none">
15767           <doc xml:whitespace="preserve">the pluginfeature to check</doc>
15768           <type name="PluginFeature" c:type="GstPluginFeature*"/>
15769         </parameter>
15770         <parameter name="user_data" transfer-ownership="none" closure="1">
15771           <doc xml:whitespace="preserve">the user_data that has been passed on e.g. gst_registry_feature_filter()</doc>
15772           <type name="any" c:type="gpointer"/>
15773         </parameter>
15774       </parameters>
15775     </callback>
15776     <callback name="PluginFilter" c:type="GstPluginFilter">
15777       <doc xml:whitespace="preserve">A function that can be used with e.g. gst_registry_plugin_filter()
15778 to get a list of plugins that match certain criteria.</doc>
15779       <return-value transfer-ownership="none">
15780         <doc xml:whitespace="preserve">TRUE for a positive match, FALSE otherwise</doc>
15781         <type name="boolean" c:type="gboolean"/>
15782       </return-value>
15783       <parameters>
15784         <parameter name="plugin" transfer-ownership="none">
15785           <doc xml:whitespace="preserve">the plugin to check</doc>
15786           <type name="Plugin" c:type="GstPlugin*"/>
15787         </parameter>
15788         <parameter name="user_data" transfer-ownership="none" closure="1">
15789           <doc xml:whitespace="preserve">the user_data that has been passed on e.g. gst_registry_plugin_filter()</doc>
15790           <type name="any" c:type="gpointer"/>
15791         </parameter>
15792       </parameters>
15793     </callback>
15794     <bitfield name="PluginFlags"
15795               glib:type-name="GstPluginFlags"
15796               glib:get-type="gst_plugin_flags_get_type"
15797               c:type="GstPluginFlags">
15798       <doc xml:whitespace="preserve">The plugin loading state</doc>
15799       <member name="cached"
15800               value="1"
15801               c:identifier="GST_PLUGIN_FLAG_CACHED"
15802               glib:nick="cached"/>
15803       <member name="blacklisted"
15804               value="2"
15805               c:identifier="GST_PLUGIN_FLAG_BLACKLISTED"
15806               glib:nick="blacklisted"/>
15807     </bitfield>
15808     <callback name="PluginInitFullFunc"
15809               c:type="GstPluginInitFullFunc"
15810               version="0.10.24">
15811       <doc xml:whitespace="preserve">A plugin should provide a pointer to a function of either #GstPluginInitFunc
15812 or this type in the plugin_desc struct.
15813 The function will be called by the loader at startup. One would then
15814 register each #GstPluginFeature. This version allows
15815 user data to be passed to init function (useful for bindings).</doc>
15816       <return-value transfer-ownership="none">
15817         <doc xml:whitespace="preserve">%TRUE if plugin initialised successfully</doc>
15818         <type name="boolean" c:type="gboolean"/>
15819       </return-value>
15820       <parameters>
15821         <parameter name="plugin" transfer-ownership="none">
15822           <doc xml:whitespace="preserve">The plugin object</doc>
15823           <type name="Plugin" c:type="GstPlugin*"/>
15824         </parameter>
15825         <parameter name="user_data" transfer-ownership="none" closure="1">
15826           <doc xml:whitespace="preserve">extra data</doc>
15827           <type name="any" c:type="gpointer"/>
15828         </parameter>
15829       </parameters>
15830     </callback>
15831     <callback name="PluginInitFunc" c:type="GstPluginInitFunc">
15832       <doc xml:whitespace="preserve">A plugin should provide a pointer to a function of this type in the
15833 plugin_desc struct.
15834 This function will be called by the loader at startup. One would then
15835 register each #GstPluginFeature.</doc>
15836       <return-value transfer-ownership="none">
15837         <doc xml:whitespace="preserve">%TRUE if plugin initialised successfully</doc>
15838         <type name="boolean" c:type="gboolean"/>
15839       </return-value>
15840       <parameters>
15841         <parameter name="plugin" transfer-ownership="none">
15842           <doc xml:whitespace="preserve">The plugin object</doc>
15843           <type name="Plugin" c:type="GstPlugin*"/>
15844         </parameter>
15845       </parameters>
15846     </callback>
15847     <record name="PluginPrivate" c:type="GstPluginPrivate">
15848     </record>
15849     <record name="Poll" c:type="GstPoll">
15850       <doc xml:whitespace="preserve">A set of file/network descriptors.</doc>
15851       <constructor name="new" c:identifier="gst_poll_new">
15852         <return-value transfer-ownership="full">
15853           <type name="Poll" c:type="GstPoll*"/>
15854         </return-value>
15855         <parameters>
15856           <parameter name="controllable" transfer-ownership="none">
15857             <type name="boolean" c:type="gboolean"/>
15858           </parameter>
15859         </parameters>
15860       </constructor>
15861       <constructor name="new_timer" c:identifier="gst_poll_new_timer">
15862         <return-value transfer-ownership="full">
15863           <type name="Poll" c:type="GstPoll*"/>
15864         </return-value>
15865       </constructor>
15866       <method name="free" c:identifier="gst_poll_free">
15867         <return-value transfer-ownership="none">
15868           <type name="none" c:type="void"/>
15869         </return-value>
15870       </method>
15871       <method name="add_fd" c:identifier="gst_poll_add_fd">
15872         <return-value transfer-ownership="none">
15873           <type name="boolean" c:type="gboolean"/>
15874         </return-value>
15875         <parameters>
15876           <parameter name="fd" transfer-ownership="none">
15877             <type name="PollFD" c:type="GstPollFD*"/>
15878           </parameter>
15879         </parameters>
15880       </method>
15881       <method name="remove_fd" c:identifier="gst_poll_remove_fd">
15882         <return-value transfer-ownership="none">
15883           <type name="boolean" c:type="gboolean"/>
15884         </return-value>
15885         <parameters>
15886           <parameter name="fd" transfer-ownership="none">
15887             <type name="PollFD" c:type="GstPollFD*"/>
15888           </parameter>
15889         </parameters>
15890       </method>
15891       <method name="fd_ctl_write" c:identifier="gst_poll_fd_ctl_write">
15892         <return-value transfer-ownership="none">
15893           <type name="boolean" c:type="gboolean"/>
15894         </return-value>
15895         <parameters>
15896           <parameter name="fd" transfer-ownership="none">
15897             <type name="PollFD" c:type="GstPollFD*"/>
15898           </parameter>
15899           <parameter name="active" transfer-ownership="none">
15900             <type name="boolean" c:type="gboolean"/>
15901           </parameter>
15902         </parameters>
15903       </method>
15904       <method name="fd_ctl_read" c:identifier="gst_poll_fd_ctl_read">
15905         <return-value transfer-ownership="none">
15906           <type name="boolean" c:type="gboolean"/>
15907         </return-value>
15908         <parameters>
15909           <parameter name="fd" transfer-ownership="none">
15910             <type name="PollFD" c:type="GstPollFD*"/>
15911           </parameter>
15912           <parameter name="active" transfer-ownership="none">
15913             <type name="boolean" c:type="gboolean"/>
15914           </parameter>
15915         </parameters>
15916       </method>
15917       <method name="fd_ignored" c:identifier="gst_poll_fd_ignored">
15918         <return-value transfer-ownership="none">
15919           <type name="none" c:type="void"/>
15920         </return-value>
15921         <parameters>
15922           <parameter name="fd" transfer-ownership="none">
15923             <type name="PollFD" c:type="GstPollFD*"/>
15924           </parameter>
15925         </parameters>
15926       </method>
15927       <method name="fd_has_closed" c:identifier="gst_poll_fd_has_closed">
15928         <return-value transfer-ownership="none">
15929           <type name="boolean" c:type="gboolean"/>
15930         </return-value>
15931         <parameters>
15932           <parameter name="fd" transfer-ownership="none">
15933             <type name="PollFD" c:type="GstPollFD*"/>
15934           </parameter>
15935         </parameters>
15936       </method>
15937       <method name="fd_has_error" c:identifier="gst_poll_fd_has_error">
15938         <return-value transfer-ownership="none">
15939           <type name="boolean" c:type="gboolean"/>
15940         </return-value>
15941         <parameters>
15942           <parameter name="fd" transfer-ownership="none">
15943             <type name="PollFD" c:type="GstPollFD*"/>
15944           </parameter>
15945         </parameters>
15946       </method>
15947       <method name="fd_can_read" c:identifier="gst_poll_fd_can_read">
15948         <return-value transfer-ownership="none">
15949           <type name="boolean" c:type="gboolean"/>
15950         </return-value>
15951         <parameters>
15952           <parameter name="fd" transfer-ownership="none">
15953             <type name="PollFD" c:type="GstPollFD*"/>
15954           </parameter>
15955         </parameters>
15956       </method>
15957       <method name="fd_can_write" c:identifier="gst_poll_fd_can_write">
15958         <return-value transfer-ownership="none">
15959           <type name="boolean" c:type="gboolean"/>
15960         </return-value>
15961         <parameters>
15962           <parameter name="fd" transfer-ownership="none">
15963             <type name="PollFD" c:type="GstPollFD*"/>
15964           </parameter>
15965         </parameters>
15966       </method>
15967       <method name="wait" c:identifier="gst_poll_wait">
15968         <return-value transfer-ownership="none">
15969           <type name="int" c:type="gint"/>
15970         </return-value>
15971         <parameters>
15972           <parameter name="timeout" transfer-ownership="none">
15973             <type name="ClockTime" c:type="GstClockTime"/>
15974           </parameter>
15975         </parameters>
15976       </method>
15977       <method name="set_controllable" c:identifier="gst_poll_set_controllable">
15978         <return-value transfer-ownership="none">
15979           <type name="boolean" c:type="gboolean"/>
15980         </return-value>
15981         <parameters>
15982           <parameter name="controllable" transfer-ownership="none">
15983             <type name="boolean" c:type="gboolean"/>
15984           </parameter>
15985         </parameters>
15986       </method>
15987       <method name="restart" c:identifier="gst_poll_restart">
15988         <return-value transfer-ownership="none">
15989           <type name="none" c:type="void"/>
15990         </return-value>
15991       </method>
15992       <method name="set_flushing" c:identifier="gst_poll_set_flushing">
15993         <return-value transfer-ownership="none">
15994           <type name="none" c:type="void"/>
15995         </return-value>
15996         <parameters>
15997           <parameter name="flushing" transfer-ownership="none">
15998             <type name="boolean" c:type="gboolean"/>
15999           </parameter>
16000         </parameters>
16001       </method>
16002       <method name="write_control" c:identifier="gst_poll_write_control">
16003         <return-value transfer-ownership="none">
16004           <type name="boolean" c:type="gboolean"/>
16005         </return-value>
16006       </method>
16007       <method name="read_control" c:identifier="gst_poll_read_control">
16008         <return-value transfer-ownership="none">
16009           <type name="boolean" c:type="gboolean"/>
16010         </return-value>
16011       </method>
16012     </record>
16013     <record name="PollFD" c:type="GstPollFD">
16014       <doc xml:whitespace="preserve">A file descriptor object.</doc>
16015       <field name="fd" writable="1">
16016         <type name="int" c:type="int"/>
16017       </field>
16018       <field name="idx" writable="1">
16019         <type name="int" c:type="gint"/>
16020       </field>
16021       <method name="init" c:identifier="gst_poll_fd_init">
16022         <return-value transfer-ownership="none">
16023           <type name="none" c:type="void"/>
16024         </return-value>
16025       </method>
16026     </record>
16027     <class name="ProxyPad"
16028            c:type="GstProxyPad"
16029            parent="Pad"
16030            glib:type-name="GstProxyPad"
16031            glib:get-type="gst_proxy_pad_get_type"
16032            glib:type-struct="ProxyPadClass">
16033       <field name="pad">
16034         <type name="Pad" c:type="GstPad"/>
16035       </field>
16036       <field name="priv">
16037         <type name="ProxyPadPrivate" c:type="GstProxyPadPrivate*"/>
16038       </field>
16039     </class>
16040     <record name="ProxyPadClass"
16041             c:type="GstProxyPadClass"
16042             glib:is-gtype-struct-for="ProxyPad">
16043       <field name="parent_class">
16044         <type name="PadClass" c:type="GstPadClass"/>
16045       </field>
16046       <field name="_gst_reserved">
16047         <array zero-terminated="0" c:type="gpointer" fixed-size="1">
16048           <type name="any"/>
16049         </array>
16050       </field>
16051     </record>
16052     <record name="ProxyPadPrivate" c:type="GstProxyPadPrivate">
16053     </record>
16054     <class name="PushSrc"
16055            c:type="GstPushSrc"
16056            parent="BaseSrc"
16057            glib:type-name="GstPushSrc"
16058            glib:get-type="gst_push_src_get_type"
16059            glib:type-struct="PushSrcClass">
16060       <doc xml:whitespace="preserve">The opaque #GstPushSrc data structure.</doc>
16061       <virtual-method name="create">
16062         <return-value transfer-ownership="full">
16063           <type name="FlowReturn" c:type="GstFlowReturn"/>
16064         </return-value>
16065         <parameters>
16066           <parameter name="buf" transfer-ownership="none">
16067             <type name="Buffer" c:type="GstBuffer**"/>
16068           </parameter>
16069         </parameters>
16070       </virtual-method>
16071       <field name="parent">
16072         <type name="BaseSrc" c:type="GstBaseSrc"/>
16073       </field>
16074       <field name="_gst_reserved">
16075         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
16076           <type name="any"/>
16077         </array>
16078       </field>
16079     </class>
16080     <record name="PushSrcClass"
16081             c:type="GstPushSrcClass"
16082             glib:is-gtype-struct-for="PushSrc">
16083       <field name="parent_class">
16084         <type name="BaseSrcClass" c:type="GstBaseSrcClass"/>
16085       </field>
16086       <field name="create">
16087         <callback name="create" c:type="create">
16088           <return-value transfer-ownership="full">
16089             <type name="FlowReturn" c:type="GstFlowReturn"/>
16090           </return-value>
16091           <parameters>
16092             <parameter name="src" transfer-ownership="none">
16093               <type name="PushSrc" c:type="GstPushSrc*"/>
16094             </parameter>
16095             <parameter name="buf" transfer-ownership="none">
16096               <type name="Buffer" c:type="GstBuffer**"/>
16097             </parameter>
16098           </parameters>
16099         </callback>
16100       </field>
16101       <field name="_gst_reserved">
16102         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
16103           <type name="any"/>
16104         </array>
16105       </field>
16106     </record>
16107     <class name="Query"
16108            c:type="GstQuery"
16109            parent="MiniObject"
16110            glib:type-name="GstQuery"
16111            glib:get-type="gst_query_get_type"
16112            glib:type-struct="QueryClass"
16113            glib:fundamental="1">
16114       <doc xml:whitespace="preserve">The #GstQuery structure.</doc>
16115       <constructor name="new_position" c:identifier="gst_query_new_position">
16116         <return-value transfer-ownership="full">
16117           <type name="Query" c:type="GstQuery*"/>
16118         </return-value>
16119         <parameters>
16120           <parameter name="format" transfer-ownership="none">
16121             <type name="Format" c:type="GstFormat"/>
16122           </parameter>
16123         </parameters>
16124       </constructor>
16125       <constructor name="new_duration" c:identifier="gst_query_new_duration">
16126         <return-value transfer-ownership="full">
16127           <type name="Query" c:type="GstQuery*"/>
16128         </return-value>
16129         <parameters>
16130           <parameter name="format" transfer-ownership="none">
16131             <type name="Format" c:type="GstFormat"/>
16132           </parameter>
16133         </parameters>
16134       </constructor>
16135       <constructor name="new_latency" c:identifier="gst_query_new_latency">
16136         <return-value transfer-ownership="full">
16137           <type name="Query" c:type="GstQuery*"/>
16138         </return-value>
16139       </constructor>
16140       <constructor name="new_convert" c:identifier="gst_query_new_convert">
16141         <return-value transfer-ownership="full">
16142           <type name="Query" c:type="GstQuery*"/>
16143         </return-value>
16144         <parameters>
16145           <parameter name="src_format" transfer-ownership="none">
16146             <type name="Format" c:type="GstFormat"/>
16147           </parameter>
16148           <parameter name="value" transfer-ownership="none">
16149             <type name="int64" c:type="gint64"/>
16150           </parameter>
16151           <parameter name="dest_format" transfer-ownership="none">
16152             <type name="Format" c:type="GstFormat"/>
16153           </parameter>
16154         </parameters>
16155       </constructor>
16156       <constructor name="new_segment" c:identifier="gst_query_new_segment">
16157         <return-value transfer-ownership="full">
16158           <type name="Query" c:type="GstQuery*"/>
16159         </return-value>
16160         <parameters>
16161           <parameter name="format" transfer-ownership="none">
16162             <type name="Format" c:type="GstFormat"/>
16163           </parameter>
16164         </parameters>
16165       </constructor>
16166       <constructor name="new_application"
16167                    c:identifier="gst_query_new_application">
16168         <return-value transfer-ownership="full">
16169           <type name="Query" c:type="GstQuery*"/>
16170         </return-value>
16171         <parameters>
16172           <parameter name="type" transfer-ownership="none">
16173             <type name="QueryType" c:type="GstQueryType"/>
16174           </parameter>
16175           <parameter name="structure" transfer-ownership="none">
16176             <type name="Structure" c:type="GstStructure*"/>
16177           </parameter>
16178         </parameters>
16179       </constructor>
16180       <constructor name="new_seeking" c:identifier="gst_query_new_seeking">
16181         <return-value transfer-ownership="full">
16182           <type name="Query" c:type="GstQuery*"/>
16183         </return-value>
16184         <parameters>
16185           <parameter name="format" transfer-ownership="none">
16186             <type name="Format" c:type="GstFormat"/>
16187           </parameter>
16188         </parameters>
16189       </constructor>
16190       <constructor name="new_formats" c:identifier="gst_query_new_formats">
16191         <return-value transfer-ownership="full">
16192           <type name="Query" c:type="GstQuery*"/>
16193         </return-value>
16194       </constructor>
16195       <constructor name="new_buffering" c:identifier="gst_query_new_buffering">
16196         <return-value transfer-ownership="full">
16197           <type name="Query" c:type="GstQuery*"/>
16198         </return-value>
16199         <parameters>
16200           <parameter name="format" transfer-ownership="none">
16201             <type name="Format" c:type="GstFormat"/>
16202           </parameter>
16203         </parameters>
16204       </constructor>
16205       <constructor name="new_uri" c:identifier="gst_query_new_uri">
16206         <return-value transfer-ownership="full">
16207           <type name="Query" c:type="GstQuery*"/>
16208         </return-value>
16209       </constructor>
16210       <function name="type_get_name" c:identifier="gst_query_type_get_name">
16211         <return-value transfer-ownership="none">
16212           <type name="utf8" c:type="gchar*"/>
16213         </return-value>
16214         <parameters>
16215           <parameter name="query" transfer-ownership="none">
16216             <type name="QueryType" c:type="GstQueryType"/>
16217           </parameter>
16218         </parameters>
16219       </function>
16220       <function name="type_to_quark" c:identifier="gst_query_type_to_quark">
16221         <return-value transfer-ownership="full">
16222           <type name="GLib.Quark" c:type="GQuark"/>
16223         </return-value>
16224         <parameters>
16225           <parameter name="query" transfer-ownership="none">
16226             <type name="QueryType" c:type="GstQueryType"/>
16227           </parameter>
16228         </parameters>
16229       </function>
16230       <function name="type_register" c:identifier="gst_query_type_register">
16231         <return-value transfer-ownership="full">
16232           <type name="QueryType" c:type="GstQueryType"/>
16233         </return-value>
16234         <parameters>
16235           <parameter name="nick" transfer-ownership="none">
16236             <type name="utf8" c:type="gchar*"/>
16237           </parameter>
16238           <parameter name="description" transfer-ownership="none">
16239             <type name="utf8" c:type="gchar*"/>
16240           </parameter>
16241         </parameters>
16242       </function>
16243       <function name="type_get_by_nick"
16244                 c:identifier="gst_query_type_get_by_nick">
16245         <return-value transfer-ownership="full">
16246           <type name="QueryType" c:type="GstQueryType"/>
16247         </return-value>
16248         <parameters>
16249           <parameter name="nick" transfer-ownership="none">
16250             <type name="utf8" c:type="gchar*"/>
16251           </parameter>
16252         </parameters>
16253       </function>
16254       <function name="types_contains" c:identifier="gst_query_types_contains">
16255         <return-value transfer-ownership="none">
16256           <type name="boolean" c:type="gboolean"/>
16257         </return-value>
16258         <parameters>
16259           <parameter name="types" transfer-ownership="none">
16260             <type name="QueryType" c:type="GstQueryType*"/>
16261           </parameter>
16262           <parameter name="type" transfer-ownership="none">
16263             <type name="QueryType" c:type="GstQueryType"/>
16264           </parameter>
16265         </parameters>
16266       </function>
16267       <function name="type_get_details"
16268                 c:identifier="gst_query_type_get_details">
16269         <return-value transfer-ownership="none">
16270           <type name="QueryTypeDefinition" c:type="GstQueryTypeDefinition*"/>
16271         </return-value>
16272         <parameters>
16273           <parameter name="type" transfer-ownership="none">
16274             <type name="QueryType" c:type="GstQueryType"/>
16275           </parameter>
16276         </parameters>
16277       </function>
16278       <function name="type_iterate_definitions"
16279                 c:identifier="gst_query_type_iterate_definitions">
16280         <return-value transfer-ownership="full">
16281           <type name="Iterator" c:type="GstIterator*"/>
16282         </return-value>
16283       </function>
16284       <method name="set_position" c:identifier="gst_query_set_position">
16285         <return-value transfer-ownership="none">
16286           <type name="none" c:type="void"/>
16287         </return-value>
16288         <parameters>
16289           <parameter name="format" transfer-ownership="none">
16290             <type name="Format" c:type="GstFormat"/>
16291           </parameter>
16292           <parameter name="cur" transfer-ownership="none">
16293             <type name="int64" c:type="gint64"/>
16294           </parameter>
16295         </parameters>
16296       </method>
16297       <method name="parse_position" c:identifier="gst_query_parse_position">
16298         <return-value transfer-ownership="none">
16299           <type name="none" c:type="void"/>
16300         </return-value>
16301         <parameters>
16302           <parameter name="format" transfer-ownership="none">
16303             <type name="Format" c:type="GstFormat*"/>
16304           </parameter>
16305           <parameter name="cur"
16306                      direction="out"
16307                      caller-allocates="0"
16308                      transfer-ownership="full">
16309             <type name="int64" c:type="gint64*"/>
16310           </parameter>
16311         </parameters>
16312       </method>
16313       <method name="set_duration" c:identifier="gst_query_set_duration">
16314         <return-value transfer-ownership="none">
16315           <type name="none" c:type="void"/>
16316         </return-value>
16317         <parameters>
16318           <parameter name="format" transfer-ownership="none">
16319             <type name="Format" c:type="GstFormat"/>
16320           </parameter>
16321           <parameter name="duration" transfer-ownership="none">
16322             <type name="int64" c:type="gint64"/>
16323           </parameter>
16324         </parameters>
16325       </method>
16326       <method name="parse_duration" c:identifier="gst_query_parse_duration">
16327         <return-value transfer-ownership="none">
16328           <type name="none" c:type="void"/>
16329         </return-value>
16330         <parameters>
16331           <parameter name="format" transfer-ownership="none">
16332             <type name="Format" c:type="GstFormat*"/>
16333           </parameter>
16334           <parameter name="duration"
16335                      direction="out"
16336                      caller-allocates="0"
16337                      transfer-ownership="full">
16338             <type name="int64" c:type="gint64*"/>
16339           </parameter>
16340         </parameters>
16341       </method>
16342       <method name="set_latency" c:identifier="gst_query_set_latency">
16343         <return-value transfer-ownership="none">
16344           <type name="none" c:type="void"/>
16345         </return-value>
16346         <parameters>
16347           <parameter name="live" transfer-ownership="none">
16348             <type name="boolean" c:type="gboolean"/>
16349           </parameter>
16350           <parameter name="min_latency" transfer-ownership="none">
16351             <type name="ClockTime" c:type="GstClockTime"/>
16352           </parameter>
16353           <parameter name="max_latency" transfer-ownership="none">
16354             <type name="ClockTime" c:type="GstClockTime"/>
16355           </parameter>
16356         </parameters>
16357       </method>
16358       <method name="parse_latency" c:identifier="gst_query_parse_latency">
16359         <return-value transfer-ownership="none">
16360           <type name="none" c:type="void"/>
16361         </return-value>
16362         <parameters>
16363           <parameter name="live"
16364                      direction="out"
16365                      caller-allocates="0"
16366                      transfer-ownership="full">
16367             <type name="boolean" c:type="gboolean*"/>
16368           </parameter>
16369           <parameter name="min_latency" transfer-ownership="none">
16370             <type name="ClockTime" c:type="GstClockTime*"/>
16371           </parameter>
16372           <parameter name="max_latency" transfer-ownership="none">
16373             <type name="ClockTime" c:type="GstClockTime*"/>
16374           </parameter>
16375         </parameters>
16376       </method>
16377       <method name="set_convert" c:identifier="gst_query_set_convert">
16378         <return-value transfer-ownership="none">
16379           <type name="none" c:type="void"/>
16380         </return-value>
16381         <parameters>
16382           <parameter name="src_format" transfer-ownership="none">
16383             <type name="Format" c:type="GstFormat"/>
16384           </parameter>
16385           <parameter name="src_value" transfer-ownership="none">
16386             <type name="int64" c:type="gint64"/>
16387           </parameter>
16388           <parameter name="dest_format" transfer-ownership="none">
16389             <type name="Format" c:type="GstFormat"/>
16390           </parameter>
16391           <parameter name="dest_value" transfer-ownership="none">
16392             <type name="int64" c:type="gint64"/>
16393           </parameter>
16394         </parameters>
16395       </method>
16396       <method name="parse_convert" c:identifier="gst_query_parse_convert">
16397         <return-value transfer-ownership="none">
16398           <type name="none" c:type="void"/>
16399         </return-value>
16400         <parameters>
16401           <parameter name="src_format" transfer-ownership="none">
16402             <type name="Format" c:type="GstFormat*"/>
16403           </parameter>
16404           <parameter name="src_value"
16405                      direction="out"
16406                      caller-allocates="0"
16407                      transfer-ownership="full">
16408             <type name="int64" c:type="gint64*"/>
16409           </parameter>
16410           <parameter name="dest_format" transfer-ownership="none">
16411             <type name="Format" c:type="GstFormat*"/>
16412           </parameter>
16413           <parameter name="dest_value"
16414                      direction="out"
16415                      caller-allocates="0"
16416                      transfer-ownership="full">
16417             <type name="int64" c:type="gint64*"/>
16418           </parameter>
16419         </parameters>
16420       </method>
16421       <method name="set_segment" c:identifier="gst_query_set_segment">
16422         <return-value transfer-ownership="none">
16423           <type name="none" c:type="void"/>
16424         </return-value>
16425         <parameters>
16426           <parameter name="rate" transfer-ownership="none">
16427             <type name="double" c:type="gdouble"/>
16428           </parameter>
16429           <parameter name="format" transfer-ownership="none">
16430             <type name="Format" c:type="GstFormat"/>
16431           </parameter>
16432           <parameter name="start_value" transfer-ownership="none">
16433             <type name="int64" c:type="gint64"/>
16434           </parameter>
16435           <parameter name="stop_value" transfer-ownership="none">
16436             <type name="int64" c:type="gint64"/>
16437           </parameter>
16438         </parameters>
16439       </method>
16440       <method name="parse_segment" c:identifier="gst_query_parse_segment">
16441         <return-value transfer-ownership="none">
16442           <type name="none" c:type="void"/>
16443         </return-value>
16444         <parameters>
16445           <parameter name="rate"
16446                      direction="out"
16447                      caller-allocates="0"
16448                      transfer-ownership="full">
16449             <type name="double" c:type="gdouble*"/>
16450           </parameter>
16451           <parameter name="format" transfer-ownership="none">
16452             <type name="Format" c:type="GstFormat*"/>
16453           </parameter>
16454           <parameter name="start_value"
16455                      direction="out"
16456                      caller-allocates="0"
16457                      transfer-ownership="full">
16458             <type name="int64" c:type="gint64*"/>
16459           </parameter>
16460           <parameter name="stop_value"
16461                      direction="out"
16462                      caller-allocates="0"
16463                      transfer-ownership="full">
16464             <type name="int64" c:type="gint64*"/>
16465           </parameter>
16466         </parameters>
16467       </method>
16468       <method name="get_structure" c:identifier="gst_query_get_structure">
16469         <return-value transfer-ownership="full">
16470           <type name="Structure" c:type="GstStructure*"/>
16471         </return-value>
16472       </method>
16473       <method name="set_seeking" c:identifier="gst_query_set_seeking">
16474         <return-value transfer-ownership="none">
16475           <type name="none" c:type="void"/>
16476         </return-value>
16477         <parameters>
16478           <parameter name="format" transfer-ownership="none">
16479             <type name="Format" c:type="GstFormat"/>
16480           </parameter>
16481           <parameter name="seekable" transfer-ownership="none">
16482             <type name="boolean" c:type="gboolean"/>
16483           </parameter>
16484           <parameter name="segment_start" transfer-ownership="none">
16485             <type name="int64" c:type="gint64"/>
16486           </parameter>
16487           <parameter name="segment_end" transfer-ownership="none">
16488             <type name="int64" c:type="gint64"/>
16489           </parameter>
16490         </parameters>
16491       </method>
16492       <method name="parse_seeking" c:identifier="gst_query_parse_seeking">
16493         <return-value transfer-ownership="none">
16494           <type name="none" c:type="void"/>
16495         </return-value>
16496         <parameters>
16497           <parameter name="format" transfer-ownership="none">
16498             <type name="Format" c:type="GstFormat*"/>
16499           </parameter>
16500           <parameter name="seekable"
16501                      direction="out"
16502                      caller-allocates="0"
16503                      transfer-ownership="full">
16504             <type name="boolean" c:type="gboolean*"/>
16505           </parameter>
16506           <parameter name="segment_start"
16507                      direction="out"
16508                      caller-allocates="0"
16509                      transfer-ownership="full">
16510             <type name="int64" c:type="gint64*"/>
16511           </parameter>
16512           <parameter name="segment_end"
16513                      direction="out"
16514                      caller-allocates="0"
16515                      transfer-ownership="full">
16516             <type name="int64" c:type="gint64*"/>
16517           </parameter>
16518         </parameters>
16519       </method>
16520       <method name="set_formats"
16521               c:identifier="gst_query_set_formats"
16522               introspectable="0">
16523         <return-value transfer-ownership="none">
16524           <type name="none" c:type="void"/>
16525         </return-value>
16526         <parameters>
16527           <parameter name="n_formats" transfer-ownership="none">
16528             <type name="int" c:type="gint"/>
16529           </parameter>
16530           <parameter transfer-ownership="none">
16531             <varargs>
16532             </varargs>
16533           </parameter>
16534         </parameters>
16535       </method>
16536       <method name="set_formatsv" c:identifier="gst_query_set_formatsv">
16537         <return-value transfer-ownership="none">
16538           <type name="none" c:type="void"/>
16539         </return-value>
16540         <parameters>
16541           <parameter name="n_formats" transfer-ownership="none">
16542             <type name="int" c:type="gint"/>
16543           </parameter>
16544           <parameter name="formats" transfer-ownership="none">
16545             <type name="Format" c:type="GstFormat*"/>
16546           </parameter>
16547         </parameters>
16548       </method>
16549       <method name="parse_formats_length"
16550               c:identifier="gst_query_parse_formats_length">
16551         <return-value transfer-ownership="none">
16552           <type name="none" c:type="void"/>
16553         </return-value>
16554         <parameters>
16555           <parameter name="n_formats"
16556                      direction="out"
16557                      caller-allocates="0"
16558                      transfer-ownership="full">
16559             <type name="uint" c:type="guint*"/>
16560           </parameter>
16561         </parameters>
16562       </method>
16563       <method name="parse_formats_nth"
16564               c:identifier="gst_query_parse_formats_nth">
16565         <return-value transfer-ownership="none">
16566           <type name="none" c:type="void"/>
16567         </return-value>
16568         <parameters>
16569           <parameter name="nth" transfer-ownership="none">
16570             <type name="uint" c:type="guint"/>
16571           </parameter>
16572           <parameter name="format" transfer-ownership="none">
16573             <type name="Format" c:type="GstFormat*"/>
16574           </parameter>
16575         </parameters>
16576       </method>
16577       <method name="set_buffering_percent"
16578               c:identifier="gst_query_set_buffering_percent">
16579         <return-value transfer-ownership="none">
16580           <type name="none" c:type="void"/>
16581         </return-value>
16582         <parameters>
16583           <parameter name="busy" transfer-ownership="none">
16584             <type name="boolean" c:type="gboolean"/>
16585           </parameter>
16586           <parameter name="percent" transfer-ownership="none">
16587             <type name="int" c:type="gint"/>
16588           </parameter>
16589         </parameters>
16590       </method>
16591       <method name="parse_buffering_percent"
16592               c:identifier="gst_query_parse_buffering_percent">
16593         <return-value transfer-ownership="none">
16594           <type name="none" c:type="void"/>
16595         </return-value>
16596         <parameters>
16597           <parameter name="busy"
16598                      direction="out"
16599                      caller-allocates="0"
16600                      transfer-ownership="full">
16601             <type name="boolean" c:type="gboolean*"/>
16602           </parameter>
16603           <parameter name="percent"
16604                      direction="out"
16605                      caller-allocates="0"
16606                      transfer-ownership="full">
16607             <type name="int" c:type="gint*"/>
16608           </parameter>
16609         </parameters>
16610       </method>
16611       <method name="set_buffering_stats"
16612               c:identifier="gst_query_set_buffering_stats">
16613         <return-value transfer-ownership="none">
16614           <type name="none" c:type="void"/>
16615         </return-value>
16616         <parameters>
16617           <parameter name="mode" transfer-ownership="none">
16618             <type name="BufferingMode" c:type="GstBufferingMode"/>
16619           </parameter>
16620           <parameter name="avg_in" transfer-ownership="none">
16621             <type name="int" c:type="gint"/>
16622           </parameter>
16623           <parameter name="avg_out" transfer-ownership="none">
16624             <type name="int" c:type="gint"/>
16625           </parameter>
16626           <parameter name="buffering_left" transfer-ownership="none">
16627             <type name="int64" c:type="gint64"/>
16628           </parameter>
16629         </parameters>
16630       </method>
16631       <method name="parse_buffering_stats"
16632               c:identifier="gst_query_parse_buffering_stats">
16633         <return-value transfer-ownership="none">
16634           <type name="none" c:type="void"/>
16635         </return-value>
16636         <parameters>
16637           <parameter name="mode" transfer-ownership="none">
16638             <type name="BufferingMode" c:type="GstBufferingMode*"/>
16639           </parameter>
16640           <parameter name="avg_in"
16641                      direction="out"
16642                      caller-allocates="0"
16643                      transfer-ownership="full">
16644             <type name="int" c:type="gint*"/>
16645           </parameter>
16646           <parameter name="avg_out"
16647                      direction="out"
16648                      caller-allocates="0"
16649                      transfer-ownership="full">
16650             <type name="int" c:type="gint*"/>
16651           </parameter>
16652           <parameter name="buffering_left"
16653                      direction="out"
16654                      caller-allocates="0"
16655                      transfer-ownership="full">
16656             <type name="int64" c:type="gint64*"/>
16657           </parameter>
16658         </parameters>
16659       </method>
16660       <method name="set_buffering_range"
16661               c:identifier="gst_query_set_buffering_range">
16662         <return-value transfer-ownership="none">
16663           <type name="none" c:type="void"/>
16664         </return-value>
16665         <parameters>
16666           <parameter name="format" transfer-ownership="none">
16667             <type name="Format" c:type="GstFormat"/>
16668           </parameter>
16669           <parameter name="start" transfer-ownership="none">
16670             <type name="int64" c:type="gint64"/>
16671           </parameter>
16672           <parameter name="stop" transfer-ownership="none">
16673             <type name="int64" c:type="gint64"/>
16674           </parameter>
16675           <parameter name="estimated_total" transfer-ownership="none">
16676             <type name="int64" c:type="gint64"/>
16677           </parameter>
16678         </parameters>
16679       </method>
16680       <method name="parse_buffering_range"
16681               c:identifier="gst_query_parse_buffering_range">
16682         <return-value transfer-ownership="none">
16683           <type name="none" c:type="void"/>
16684         </return-value>
16685         <parameters>
16686           <parameter name="format" transfer-ownership="none">
16687             <type name="Format" c:type="GstFormat*"/>
16688           </parameter>
16689           <parameter name="start"
16690                      direction="out"
16691                      caller-allocates="0"
16692                      transfer-ownership="full">
16693             <type name="int64" c:type="gint64*"/>
16694           </parameter>
16695           <parameter name="stop"
16696                      direction="out"
16697                      caller-allocates="0"
16698                      transfer-ownership="full">
16699             <type name="int64" c:type="gint64*"/>
16700           </parameter>
16701           <parameter name="estimated_total"
16702                      direction="out"
16703                      caller-allocates="0"
16704                      transfer-ownership="full">
16705             <type name="int64" c:type="gint64*"/>
16706           </parameter>
16707         </parameters>
16708       </method>
16709       <method name="parse_uri" c:identifier="gst_query_parse_uri">
16710         <return-value transfer-ownership="none">
16711           <type name="none" c:type="void"/>
16712         </return-value>
16713         <parameters>
16714           <parameter name="uri" transfer-ownership="none">
16715             <array c:type="gchar**">
16716               <type name="utf8"/>
16717             </array>
16718           </parameter>
16719         </parameters>
16720       </method>
16721       <method name="set_uri" c:identifier="gst_query_set_uri">
16722         <return-value transfer-ownership="none">
16723           <type name="none" c:type="void"/>
16724         </return-value>
16725         <parameters>
16726           <parameter name="uri" transfer-ownership="none">
16727             <type name="utf8" c:type="gchar*"/>
16728           </parameter>
16729         </parameters>
16730       </method>
16731       <field name="mini_object">
16732         <type name="MiniObject" c:type="GstMiniObject"/>
16733       </field>
16734       <field name="type">
16735         <type name="QueryType" c:type="GstQueryType"/>
16736       </field>
16737       <field name="structure">
16738         <type name="Structure" c:type="GstStructure*"/>
16739       </field>
16740       <field name="_gst_reserved">
16741         <type name="any" c:type="gpointer"/>
16742       </field>
16743     </class>
16744     <record name="QueryClass"
16745             c:type="GstQueryClass"
16746             glib:is-gtype-struct-for="Query">
16747       <field name="mini_object_class">
16748         <type name="MiniObjectClass" c:type="GstMiniObjectClass"/>
16749       </field>
16750       <field name="_gst_reserved">
16751         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
16752           <type name="any"/>
16753         </array>
16754       </field>
16755     </record>
16756     <enumeration name="QueryType"
16757                  glib:type-name="GstQueryType"
16758                  glib:get-type="gst_query_type_get_type"
16759                  c:type="GstQueryType">
16760       <doc xml:whitespace="preserve">Standard predefined Query types</doc>
16761       <member name="none"
16762               value="0"
16763               c:identifier="GST_QUERY_NONE"
16764               glib:nick="none"/>
16765       <member name="position"
16766               value="1"
16767               c:identifier="GST_QUERY_POSITION"
16768               glib:nick="position"/>
16769       <member name="duration"
16770               value="2"
16771               c:identifier="GST_QUERY_DURATION"
16772               glib:nick="duration"/>
16773       <member name="latency"
16774               value="3"
16775               c:identifier="GST_QUERY_LATENCY"
16776               glib:nick="latency"/>
16777       <member name="jitter"
16778               value="4"
16779               c:identifier="GST_QUERY_JITTER"
16780               glib:nick="jitter"/>
16781       <member name="rate"
16782               value="5"
16783               c:identifier="GST_QUERY_RATE"
16784               glib:nick="rate"/>
16785       <member name="seeking"
16786               value="6"
16787               c:identifier="GST_QUERY_SEEKING"
16788               glib:nick="seeking"/>
16789       <member name="segment"
16790               value="7"
16791               c:identifier="GST_QUERY_SEGMENT"
16792               glib:nick="segment"/>
16793       <member name="convert"
16794               value="8"
16795               c:identifier="GST_QUERY_CONVERT"
16796               glib:nick="convert"/>
16797       <member name="formats"
16798               value="9"
16799               c:identifier="GST_QUERY_FORMATS"
16800               glib:nick="formats"/>
16801       <member name="buffering"
16802               value="10"
16803               c:identifier="GST_QUERY_BUFFERING"
16804               glib:nick="buffering"/>
16805       <member name="custom"
16806               value="11"
16807               c:identifier="GST_QUERY_CUSTOM"
16808               glib:nick="custom"/>
16809       <member name="uri"
16810               value="12"
16811               c:identifier="GST_QUERY_URI"
16812               glib:nick="uri"/>
16813     </enumeration>
16814     <record name="QueryTypeDefinition" c:type="GstQueryTypeDefinition">
16815       <doc xml:whitespace="preserve">A Query Type definition</doc>
16816       <field name="value" writable="1">
16817         <type name="QueryType" c:type="GstQueryType"/>
16818       </field>
16819       <field name="nick" writable="1">
16820         <type name="utf8" c:type="gchar*"/>
16821       </field>
16822       <field name="description" writable="1">
16823         <type name="utf8" c:type="gchar*"/>
16824       </field>
16825       <field name="quark" writable="1">
16826         <type name="GLib.Quark" c:type="GQuark"/>
16827       </field>
16828     </record>
16829     <enumeration name="Rank"
16830                  glib:type-name="GstRank"
16831                  glib:get-type="gst_rank_get_type"
16832                  c:type="GstRank">
16833       <doc xml:whitespace="preserve">Element priority ranks. Defines the order in which the autoplugger (or
16834 similar rank-picking mechanisms, such as e.g. gst_element_make_from_uri())
16835 will choose this element over an alternative one with the same function.
16836 These constants serve as a rough guidance for defining the rank of a
16837 #GstPluginFeature. Any value is valid, including values bigger than</doc>
16838       <member name="none"
16839               value="0"
16840               c:identifier="GST_RANK_NONE"
16841               glib:nick="none"/>
16842       <member name="marginal"
16843               value="64"
16844               c:identifier="GST_RANK_MARGINAL"
16845               glib:nick="marginal"/>
16846       <member name="secondary"
16847               value="128"
16848               c:identifier="GST_RANK_SECONDARY"
16849               glib:nick="secondary"/>
16850       <member name="primary"
16851               value="256"
16852               c:identifier="GST_RANK_PRIMARY"
16853               glib:nick="primary"/>
16854     </enumeration>
16855     <class name="Registry"
16856            c:type="GstRegistry"
16857            parent="Object"
16858            glib:type-name="GstRegistry"
16859            glib:get-type="gst_registry_get_type"
16860            glib:type-struct="RegistryClass">
16861       <doc xml:whitespace="preserve">Opaque #GstRegistry structure.</doc>
16862       <function name="get_default" c:identifier="gst_registry_get_default">
16863         <return-value transfer-ownership="full">
16864           <type name="Registry" c:type="GstRegistry*"/>
16865         </return-value>
16866       </function>
16867       <function name="fork_is_enabled"
16868                 c:identifier="gst_registry_fork_is_enabled">
16869         <return-value transfer-ownership="none">
16870           <type name="boolean" c:type="gboolean"/>
16871         </return-value>
16872       </function>
16873       <function name="fork_set_enabled"
16874                 c:identifier="gst_registry_fork_set_enabled">
16875         <return-value transfer-ownership="none">
16876           <type name="none" c:type="void"/>
16877         </return-value>
16878         <parameters>
16879           <parameter name="enabled" transfer-ownership="none">
16880             <type name="boolean" c:type="gboolean"/>
16881           </parameter>
16882         </parameters>
16883       </function>
16884       <method name="scan_path" c:identifier="gst_registry_scan_path">
16885         <return-value transfer-ownership="none">
16886           <type name="boolean" c:type="gboolean"/>
16887         </return-value>
16888         <parameters>
16889           <parameter name="path" transfer-ownership="none">
16890             <type name="utf8" c:type="gchar*"/>
16891           </parameter>
16892         </parameters>
16893       </method>
16894       <method name="add_path" c:identifier="gst_registry_add_path">
16895         <return-value transfer-ownership="none">
16896           <type name="none" c:type="void"/>
16897         </return-value>
16898         <parameters>
16899           <parameter name="path" transfer-ownership="none">
16900             <type name="utf8" c:type="gchar*"/>
16901           </parameter>
16902         </parameters>
16903       </method>
16904       <method name="get_path_list"
16905               c:identifier="gst_registry_get_path_list"
16906               introspectable="0">
16907         <return-value transfer-ownership="full">
16908           <type name="GLib.List" c:type="GList*">
16909             <type name="any" c:type="gpointer"/>
16910           </type>
16911         </return-value>
16912       </method>
16913       <method name="add_plugin" c:identifier="gst_registry_add_plugin">
16914         <return-value transfer-ownership="none">
16915           <type name="boolean" c:type="gboolean"/>
16916         </return-value>
16917         <parameters>
16918           <parameter name="plugin" transfer-ownership="none">
16919             <type name="Plugin" c:type="GstPlugin*"/>
16920           </parameter>
16921         </parameters>
16922       </method>
16923       <method name="remove_plugin" c:identifier="gst_registry_remove_plugin">
16924         <return-value transfer-ownership="none">
16925           <type name="none" c:type="void"/>
16926         </return-value>
16927         <parameters>
16928           <parameter name="plugin" transfer-ownership="none">
16929             <type name="Plugin" c:type="GstPlugin*"/>
16930           </parameter>
16931         </parameters>
16932       </method>
16933       <method name="add_feature" c:identifier="gst_registry_add_feature">
16934         <return-value transfer-ownership="none">
16935           <type name="boolean" c:type="gboolean"/>
16936         </return-value>
16937         <parameters>
16938           <parameter name="feature" transfer-ownership="none">
16939             <type name="PluginFeature" c:type="GstPluginFeature*"/>
16940           </parameter>
16941         </parameters>
16942       </method>
16943       <method name="remove_feature" c:identifier="gst_registry_remove_feature">
16944         <return-value transfer-ownership="none">
16945           <type name="none" c:type="void"/>
16946         </return-value>
16947         <parameters>
16948           <parameter name="feature" transfer-ownership="none">
16949             <type name="PluginFeature" c:type="GstPluginFeature*"/>
16950           </parameter>
16951         </parameters>
16952       </method>
16953       <method name="get_plugin_list"
16954               c:identifier="gst_registry_get_plugin_list"
16955               introspectable="0">
16956         <return-value transfer-ownership="full">
16957           <type name="GLib.List" c:type="GList*">
16958             <type name="any" c:type="gpointer"/>
16959           </type>
16960         </return-value>
16961       </method>
16962       <method name="plugin_filter"
16963               c:identifier="gst_registry_plugin_filter"
16964               introspectable="0">
16965         <return-value transfer-ownership="full">
16966           <type name="GLib.List" c:type="GList*">
16967             <type name="any" c:type="gpointer"/>
16968           </type>
16969         </return-value>
16970         <parameters>
16971           <parameter name="filter" transfer-ownership="none" scope="call">
16972             <type name="PluginFilter" c:type="GstPluginFilter"/>
16973           </parameter>
16974           <parameter name="first" transfer-ownership="none">
16975             <type name="boolean" c:type="gboolean"/>
16976           </parameter>
16977           <parameter name="user_data" transfer-ownership="none">
16978             <type name="any" c:type="gpointer"/>
16979           </parameter>
16980         </parameters>
16981       </method>
16982       <method name="feature_filter"
16983               c:identifier="gst_registry_feature_filter"
16984               introspectable="0">
16985         <return-value transfer-ownership="full">
16986           <type name="GLib.List" c:type="GList*">
16987             <type name="any" c:type="gpointer"/>
16988           </type>
16989         </return-value>
16990         <parameters>
16991           <parameter name="filter" transfer-ownership="none" scope="call">
16992             <type name="PluginFeatureFilter" c:type="GstPluginFeatureFilter"/>
16993           </parameter>
16994           <parameter name="first" transfer-ownership="none">
16995             <type name="boolean" c:type="gboolean"/>
16996           </parameter>
16997           <parameter name="user_data" transfer-ownership="none">
16998             <type name="any" c:type="gpointer"/>
16999           </parameter>
17000         </parameters>
17001       </method>
17002       <method name="get_feature_list"
17003               c:identifier="gst_registry_get_feature_list"
17004               introspectable="0">
17005         <return-value transfer-ownership="full">
17006           <type name="GLib.List" c:type="GList*">
17007             <type name="any" c:type="gpointer"/>
17008           </type>
17009         </return-value>
17010         <parameters>
17011           <parameter name="type" transfer-ownership="none">
17012             <type name="GType" c:type="GType"/>
17013           </parameter>
17014         </parameters>
17015       </method>
17016       <method name="get_feature_list_by_plugin"
17017               c:identifier="gst_registry_get_feature_list_by_plugin"
17018               introspectable="0">
17019         <return-value transfer-ownership="full">
17020           <type name="GLib.List" c:type="GList*">
17021             <type name="any" c:type="gpointer"/>
17022           </type>
17023         </return-value>
17024         <parameters>
17025           <parameter name="name" transfer-ownership="none">
17026             <type name="utf8" c:type="gchar*"/>
17027           </parameter>
17028         </parameters>
17029       </method>
17030       <method name="get_feature_list_cookie"
17031               c:identifier="gst_registry_get_feature_list_cookie">
17032         <return-value transfer-ownership="none">
17033           <type name="uint32" c:type="guint32"/>
17034         </return-value>
17035       </method>
17036       <method name="find_plugin" c:identifier="gst_registry_find_plugin">
17037         <return-value transfer-ownership="full">
17038           <type name="Plugin" c:type="GstPlugin*"/>
17039         </return-value>
17040         <parameters>
17041           <parameter name="name" transfer-ownership="none">
17042             <type name="utf8" c:type="gchar*"/>
17043           </parameter>
17044         </parameters>
17045       </method>
17046       <method name="find_feature" c:identifier="gst_registry_find_feature">
17047         <return-value transfer-ownership="full">
17048           <type name="PluginFeature" c:type="GstPluginFeature*"/>
17049         </return-value>
17050         <parameters>
17051           <parameter name="name" transfer-ownership="none">
17052             <type name="utf8" c:type="gchar*"/>
17053           </parameter>
17054           <parameter name="type" transfer-ownership="none">
17055             <type name="GType" c:type="GType"/>
17056           </parameter>
17057         </parameters>
17058       </method>
17059       <method name="lookup" c:identifier="gst_registry_lookup">
17060         <return-value transfer-ownership="full">
17061           <type name="Plugin" c:type="GstPlugin*"/>
17062         </return-value>
17063         <parameters>
17064           <parameter name="filename" transfer-ownership="none">
17065             <type name="utf8" c:type="char*"/>
17066           </parameter>
17067         </parameters>
17068       </method>
17069       <method name="lookup_feature" c:identifier="gst_registry_lookup_feature">
17070         <return-value transfer-ownership="full">
17071           <type name="PluginFeature" c:type="GstPluginFeature*"/>
17072         </return-value>
17073         <parameters>
17074           <parameter name="name" transfer-ownership="none">
17075             <type name="utf8" c:type="char*"/>
17076           </parameter>
17077         </parameters>
17078       </method>
17079       <method name="xml_read_cache" c:identifier="gst_registry_xml_read_cache">
17080         <return-value transfer-ownership="none">
17081           <type name="boolean" c:type="gboolean"/>
17082         </return-value>
17083         <parameters>
17084           <parameter name="location" transfer-ownership="none">
17085             <type name="utf8" c:type="char*"/>
17086           </parameter>
17087         </parameters>
17088       </method>
17089       <method name="xml_write_cache"
17090               c:identifier="gst_registry_xml_write_cache">
17091         <return-value transfer-ownership="none">
17092           <type name="boolean" c:type="gboolean"/>
17093         </return-value>
17094         <parameters>
17095           <parameter name="location" transfer-ownership="none">
17096             <type name="utf8" c:type="char*"/>
17097           </parameter>
17098         </parameters>
17099       </method>
17100       <field name="object">
17101         <type name="Object" c:type="GstObject"/>
17102       </field>
17103       <field name="plugins">
17104         <type name="GLib.List" c:type="GList*">
17105           <type name="any" c:type="gpointer"/>
17106         </type>
17107       </field>
17108       <field name="features">
17109         <type name="GLib.List" c:type="GList*">
17110           <type name="any" c:type="gpointer"/>
17111         </type>
17112       </field>
17113       <field name="paths">
17114         <type name="GLib.List" c:type="GList*">
17115           <type name="any" c:type="gpointer"/>
17116         </type>
17117       </field>
17118       <field name="cache_file">
17119         <type name="int" c:type="int"/>
17120       </field>
17121       <field name="feature_hash">
17122         <type name="GLib.HashTable" c:type="GHashTable*"/>
17123       </field>
17124       <field name="basename_hash">
17125         <type name="GLib.HashTable" c:type="GHashTable*"/>
17126       </field>
17127       <field name="priv">
17128         <type name="RegistryPrivate" c:type="GstRegistryPrivate*"/>
17129       </field>
17130       <field name="_gst_reserved">
17131         <array zero-terminated="0" c:type="gpointer" fixed-size="1">
17132           <type name="any"/>
17133         </array>
17134       </field>
17135       <glib:signal name="feature-added">
17136         <return-value transfer-ownership="full">
17137           <type name="none" c:type="void"/>
17138         </return-value>
17139         <parameters>
17140           <parameter name="object" transfer-ownership="none">
17141             <type name="any" c:type="gpointer"/>
17142           </parameter>
17143         </parameters>
17144       </glib:signal>
17145       <glib:signal name="plugin-added">
17146         <return-value transfer-ownership="full">
17147           <type name="none" c:type="void"/>
17148         </return-value>
17149         <parameters>
17150           <parameter name="object" transfer-ownership="none">
17151             <type name="any" c:type="gpointer"/>
17152           </parameter>
17153         </parameters>
17154       </glib:signal>
17155     </class>
17156     <record name="RegistryClass"
17157             c:type="GstRegistryClass"
17158             glib:is-gtype-struct-for="Registry">
17159       <field name="parent_class">
17160         <type name="ObjectClass" c:type="GstObjectClass"/>
17161       </field>
17162       <field name="plugin_added">
17163         <callback name="plugin_added" c:type="plugin_added">
17164           <return-value transfer-ownership="none">
17165             <type name="none" c:type="void"/>
17166           </return-value>
17167           <parameters>
17168             <parameter name="registry" transfer-ownership="none">
17169               <type name="Registry" c:type="GstRegistry*"/>
17170             </parameter>
17171             <parameter name="plugin" transfer-ownership="none">
17172               <type name="Plugin" c:type="GstPlugin*"/>
17173             </parameter>
17174           </parameters>
17175         </callback>
17176       </field>
17177       <field name="feature_added">
17178         <callback name="feature_added" c:type="feature_added">
17179           <return-value transfer-ownership="none">
17180             <type name="none" c:type="void"/>
17181           </return-value>
17182           <parameters>
17183             <parameter name="registry" transfer-ownership="none">
17184               <type name="Registry" c:type="GstRegistry*"/>
17185             </parameter>
17186             <parameter name="feature" transfer-ownership="none">
17187               <type name="PluginFeature" c:type="GstPluginFeature*"/>
17188             </parameter>
17189           </parameters>
17190         </callback>
17191       </field>
17192       <field name="_gst_reserved">
17193         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
17194           <type name="any"/>
17195         </array>
17196       </field>
17197     </record>
17198     <record name="RegistryPrivate" c:type="GstRegistryPrivate">
17199     </record>
17200     <enumeration name="ResourceError"
17201                  glib:type-name="GstResourceError"
17202                  glib:get-type="gst_resource_error_get_type"
17203                  c:type="GstResourceError"
17204                  glib:error-quark="gst_resource_error_quark">
17205       <doc xml:whitespace="preserve">Resource errors are for any resource used by an element:
17206 memory, files, network connections, process space, ...
17207 They're typically used by source and sink elements.</doc>
17208       <member name="failed"
17209               value="1"
17210               c:identifier="GST_RESOURCE_ERROR_FAILED"
17211               glib:nick="failed"/>
17212       <member name="too_lazy"
17213               value="2"
17214               c:identifier="GST_RESOURCE_ERROR_TOO_LAZY"
17215               glib:nick="too-lazy"/>
17216       <member name="not_found"
17217               value="3"
17218               c:identifier="GST_RESOURCE_ERROR_NOT_FOUND"
17219               glib:nick="not-found"/>
17220       <member name="busy"
17221               value="4"
17222               c:identifier="GST_RESOURCE_ERROR_BUSY"
17223               glib:nick="busy"/>
17224       <member name="open_read"
17225               value="5"
17226               c:identifier="GST_RESOURCE_ERROR_OPEN_READ"
17227               glib:nick="open-read"/>
17228       <member name="open_write"
17229               value="6"
17230               c:identifier="GST_RESOURCE_ERROR_OPEN_WRITE"
17231               glib:nick="open-write"/>
17232       <member name="open_read_write"
17233               value="7"
17234               c:identifier="GST_RESOURCE_ERROR_OPEN_READ_WRITE"
17235               glib:nick="open-read-write"/>
17236       <member name="close"
17237               value="8"
17238               c:identifier="GST_RESOURCE_ERROR_CLOSE"
17239               glib:nick="close"/>
17240       <member name="read"
17241               value="9"
17242               c:identifier="GST_RESOURCE_ERROR_READ"
17243               glib:nick="read"/>
17244       <member name="write"
17245               value="10"
17246               c:identifier="GST_RESOURCE_ERROR_WRITE"
17247               glib:nick="write"/>
17248       <member name="seek"
17249               value="11"
17250               c:identifier="GST_RESOURCE_ERROR_SEEK"
17251               glib:nick="seek"/>
17252       <member name="sync"
17253               value="12"
17254               c:identifier="GST_RESOURCE_ERROR_SYNC"
17255               glib:nick="sync"/>
17256       <member name="settings"
17257               value="13"
17258               c:identifier="GST_RESOURCE_ERROR_SETTINGS"
17259               glib:nick="settings"/>
17260       <member name="no_space_left"
17261               value="14"
17262               c:identifier="GST_RESOURCE_ERROR_NO_SPACE_LEFT"
17263               glib:nick="no-space-left"/>
17264       <member name="num_errors"
17265               value="15"
17266               c:identifier="GST_RESOURCE_ERROR_NUM_ERRORS"
17267               glib:nick="num-errors"/>
17268     </enumeration>
17269     <constant name="SECOND" value="0">
17270       <type name="int"/>
17271     </constant>
17272     <constant name="SEGMENT_FORMAT" value="Q">
17273       <type name="utf8"/>
17274     </constant>
17275     <enumeration name="SearchMode"
17276                  version="0.10.23"
17277                  glib:type-name="GstSearchMode"
17278                  glib:get-type="gst_search_mode_get_type"
17279                  c:type="GstSearchMode">
17280       <doc xml:whitespace="preserve">The different search modes.</doc>
17281       <member name="exact"
17282               value="0"
17283               c:identifier="GST_SEARCH_MODE_EXACT"
17284               glib:nick="exact"/>
17285       <member name="before"
17286               value="1"
17287               c:identifier="GST_SEARCH_MODE_BEFORE"
17288               glib:nick="before"/>
17289       <member name="after"
17290               value="2"
17291               c:identifier="GST_SEARCH_MODE_AFTER"
17292               glib:nick="after"/>
17293     </enumeration>
17294     <bitfield name="SeekFlags"
17295               glib:type-name="GstSeekFlags"
17296               glib:get-type="gst_seek_flags_get_type"
17297               c:type="GstSeekFlags">
17298       <doc xml:whitespace="preserve">Flags to be used with gst_element_seek() or gst_event_new_seek(). All flags
17299 can be used together.
17300 A non flushing seek might take some time to perform as the currently
17301 playing data in the pipeline will not be cleared.
17302 An accurate seek might be slower for formats that don't have any indexes
17303 or timestamp markers in the stream. Specifying this flag might require a
17304 complete scan of the file in those cases.
17305 no EOS will be emmited by the element that performed the seek, but a
17306 #GST_MESSAGE_SEGMENT_DONE message will be posted on the bus by the element.
17307 When this message is posted, it is possible to send a new seek event to
17308 continue playback. With this seek method it is possible to perform seemless
17309 looping or simple linear editing.
17310 When doing fast forward (rate &gt; 1.0) or fast reverse (rate &lt; -1.0) trickmode
17311 playback, the @GST_SEEK_FLAG_SKIP flag can be used to instruct decoders
17312 and demuxers to adjust the playback rate by skipping frames. This can improve
17313 performance and decrease CPU usage because not all frames need to be decoded.</doc>
17314       <member name="none"
17315               value="0"
17316               c:identifier="GST_SEEK_FLAG_NONE"
17317               glib:nick="none"/>
17318       <member name="flush"
17319               value="1"
17320               c:identifier="GST_SEEK_FLAG_FLUSH"
17321               glib:nick="flush"/>
17322       <member name="accurate"
17323               value="2"
17324               c:identifier="GST_SEEK_FLAG_ACCURATE"
17325               glib:nick="accurate"/>
17326       <member name="key_unit"
17327               value="4"
17328               c:identifier="GST_SEEK_FLAG_KEY_UNIT"
17329               glib:nick="key-unit"/>
17330       <member name="segment"
17331               value="8"
17332               c:identifier="GST_SEEK_FLAG_SEGMENT"
17333               glib:nick="segment"/>
17334       <member name="skip"
17335               value="16"
17336               c:identifier="GST_SEEK_FLAG_SKIP"
17337               glib:nick="skip"/>
17338     </bitfield>
17339     <enumeration name="SeekType"
17340                  glib:type-name="GstSeekType"
17341                  glib:get-type="gst_seek_type_get_type"
17342                  c:type="GstSeekType">
17343       <doc xml:whitespace="preserve">The different types of seek events. When constructing a seek event with
17344 gst_event_new_seek(), a format, a seek method and optional flags are to
17345 be provided. The seek event is then inserted into the graph with
17346 gst_pad_send_event() or gst_element_send_event().</doc>
17347       <member name="none"
17348               value="0"
17349               c:identifier="GST_SEEK_TYPE_NONE"
17350               glib:nick="none"/>
17351       <member name="cur"
17352               value="1"
17353               c:identifier="GST_SEEK_TYPE_CUR"
17354               glib:nick="cur"/>
17355       <member name="set"
17356               value="2"
17357               c:identifier="GST_SEEK_TYPE_SET"
17358               glib:nick="set"/>
17359       <member name="end"
17360               value="3"
17361               c:identifier="GST_SEEK_TYPE_END"
17362               glib:nick="end"/>
17363     </enumeration>
17364     <record name="Segment"
17365             c:type="GstSegment"
17366             glib:type-name="GstSegment"
17367             glib:get-type="gst_segment_get_type">
17368       <doc xml:whitespace="preserve">A helper structure that holds the configured region of
17369 interest in a media file.</doc>
17370       <field name="rate" writable="1">
17371         <type name="double" c:type="gdouble"/>
17372       </field>
17373       <field name="abs_rate" writable="1">
17374         <type name="double" c:type="gdouble"/>
17375       </field>
17376       <field name="format" writable="1">
17377         <type name="Format" c:type="GstFormat"/>
17378       </field>
17379       <field name="flags" writable="1">
17380         <type name="SeekFlags" c:type="GstSeekFlags"/>
17381       </field>
17382       <field name="start" writable="1">
17383         <type name="int64" c:type="gint64"/>
17384       </field>
17385       <field name="stop" writable="1">
17386         <type name="int64" c:type="gint64"/>
17387       </field>
17388       <field name="time" writable="1">
17389         <type name="int64" c:type="gint64"/>
17390       </field>
17391       <field name="accum" writable="1">
17392         <type name="int64" c:type="gint64"/>
17393       </field>
17394       <field name="last_stop" writable="1">
17395         <type name="int64" c:type="gint64"/>
17396       </field>
17397       <field name="duration" writable="1">
17398         <type name="int64" c:type="gint64"/>
17399       </field>
17400       <field name="applied_rate" writable="1">
17401         <type name="double" c:type="gdouble"/>
17402       </field>
17403       <field name="_gst_reserved" writable="1">
17404         <array zero-terminated="0" c:type="guint8" fixed-size="0">
17405           <type name="uint8"/>
17406         </array>
17407       </field>
17408       <constructor name="new" c:identifier="gst_segment_new">
17409         <return-value transfer-ownership="full">
17410           <type name="Segment" c:type="GstSegment*"/>
17411         </return-value>
17412       </constructor>
17413       <method name="copy" c:identifier="gst_segment_copy">
17414         <return-value transfer-ownership="full">
17415           <type name="Segment" c:type="GstSegment*"/>
17416         </return-value>
17417       </method>
17418       <method name="free" c:identifier="gst_segment_free">
17419         <return-value transfer-ownership="none">
17420           <type name="none" c:type="void"/>
17421         </return-value>
17422       </method>
17423       <method name="init" c:identifier="gst_segment_init">
17424         <return-value transfer-ownership="none">
17425           <type name="none" c:type="void"/>
17426         </return-value>
17427         <parameters>
17428           <parameter name="format" transfer-ownership="none">
17429             <type name="Format" c:type="GstFormat"/>
17430           </parameter>
17431         </parameters>
17432       </method>
17433       <method name="set_duration" c:identifier="gst_segment_set_duration">
17434         <return-value transfer-ownership="none">
17435           <type name="none" c:type="void"/>
17436         </return-value>
17437         <parameters>
17438           <parameter name="format" transfer-ownership="none">
17439             <type name="Format" c:type="GstFormat"/>
17440           </parameter>
17441           <parameter name="duration" transfer-ownership="none">
17442             <type name="int64" c:type="gint64"/>
17443           </parameter>
17444         </parameters>
17445       </method>
17446       <method name="set_last_stop" c:identifier="gst_segment_set_last_stop">
17447         <return-value transfer-ownership="none">
17448           <type name="none" c:type="void"/>
17449         </return-value>
17450         <parameters>
17451           <parameter name="format" transfer-ownership="none">
17452             <type name="Format" c:type="GstFormat"/>
17453           </parameter>
17454           <parameter name="position" transfer-ownership="none">
17455             <type name="int64" c:type="gint64"/>
17456           </parameter>
17457         </parameters>
17458       </method>
17459       <method name="set_seek" c:identifier="gst_segment_set_seek">
17460         <return-value transfer-ownership="none">
17461           <type name="none" c:type="void"/>
17462         </return-value>
17463         <parameters>
17464           <parameter name="rate" transfer-ownership="none">
17465             <type name="double" c:type="gdouble"/>
17466           </parameter>
17467           <parameter name="format" transfer-ownership="none">
17468             <type name="Format" c:type="GstFormat"/>
17469           </parameter>
17470           <parameter name="flags" transfer-ownership="none">
17471             <type name="SeekFlags" c:type="GstSeekFlags"/>
17472           </parameter>
17473           <parameter name="start_type" transfer-ownership="none">
17474             <type name="SeekType" c:type="GstSeekType"/>
17475           </parameter>
17476           <parameter name="start" transfer-ownership="none">
17477             <type name="int64" c:type="gint64"/>
17478           </parameter>
17479           <parameter name="stop_type" transfer-ownership="none">
17480             <type name="SeekType" c:type="GstSeekType"/>
17481           </parameter>
17482           <parameter name="stop" transfer-ownership="none">
17483             <type name="int64" c:type="gint64"/>
17484           </parameter>
17485           <parameter name="update"
17486                      direction="out"
17487                      caller-allocates="0"
17488                      transfer-ownership="full">
17489             <type name="boolean" c:type="gboolean*"/>
17490           </parameter>
17491         </parameters>
17492       </method>
17493       <method name="set_newsegment" c:identifier="gst_segment_set_newsegment">
17494         <return-value transfer-ownership="none">
17495           <type name="none" c:type="void"/>
17496         </return-value>
17497         <parameters>
17498           <parameter name="update" transfer-ownership="none">
17499             <type name="boolean" c:type="gboolean"/>
17500           </parameter>
17501           <parameter name="rate" transfer-ownership="none">
17502             <type name="double" c:type="gdouble"/>
17503           </parameter>
17504           <parameter name="format" transfer-ownership="none">
17505             <type name="Format" c:type="GstFormat"/>
17506           </parameter>
17507           <parameter name="start" transfer-ownership="none">
17508             <type name="int64" c:type="gint64"/>
17509           </parameter>
17510           <parameter name="stop" transfer-ownership="none">
17511             <type name="int64" c:type="gint64"/>
17512           </parameter>
17513           <parameter name="time" transfer-ownership="none">
17514             <type name="int64" c:type="gint64"/>
17515           </parameter>
17516         </parameters>
17517       </method>
17518       <method name="set_newsegment_full"
17519               c:identifier="gst_segment_set_newsegment_full">
17520         <return-value transfer-ownership="none">
17521           <type name="none" c:type="void"/>
17522         </return-value>
17523         <parameters>
17524           <parameter name="update" transfer-ownership="none">
17525             <type name="boolean" c:type="gboolean"/>
17526           </parameter>
17527           <parameter name="rate" transfer-ownership="none">
17528             <type name="double" c:type="gdouble"/>
17529           </parameter>
17530           <parameter name="applied_rate" transfer-ownership="none">
17531             <type name="double" c:type="gdouble"/>
17532           </parameter>
17533           <parameter name="format" transfer-ownership="none">
17534             <type name="Format" c:type="GstFormat"/>
17535           </parameter>
17536           <parameter name="start" transfer-ownership="none">
17537             <type name="int64" c:type="gint64"/>
17538           </parameter>
17539           <parameter name="stop" transfer-ownership="none">
17540             <type name="int64" c:type="gint64"/>
17541           </parameter>
17542           <parameter name="time" transfer-ownership="none">
17543             <type name="int64" c:type="gint64"/>
17544           </parameter>
17545         </parameters>
17546       </method>
17547       <method name="to_stream_time" c:identifier="gst_segment_to_stream_time">
17548         <return-value transfer-ownership="none">
17549           <type name="int64" c:type="gint64"/>
17550         </return-value>
17551         <parameters>
17552           <parameter name="format" transfer-ownership="none">
17553             <type name="Format" c:type="GstFormat"/>
17554           </parameter>
17555           <parameter name="position" transfer-ownership="none">
17556             <type name="int64" c:type="gint64"/>
17557           </parameter>
17558         </parameters>
17559       </method>
17560       <method name="to_running_time"
17561               c:identifier="gst_segment_to_running_time">
17562         <return-value transfer-ownership="none">
17563           <type name="int64" c:type="gint64"/>
17564         </return-value>
17565         <parameters>
17566           <parameter name="format" transfer-ownership="none">
17567             <type name="Format" c:type="GstFormat"/>
17568           </parameter>
17569           <parameter name="position" transfer-ownership="none">
17570             <type name="int64" c:type="gint64"/>
17571           </parameter>
17572         </parameters>
17573       </method>
17574       <method name="to_position" c:identifier="gst_segment_to_position">
17575         <return-value transfer-ownership="none">
17576           <type name="int64" c:type="gint64"/>
17577         </return-value>
17578         <parameters>
17579           <parameter name="format" transfer-ownership="none">
17580             <type name="Format" c:type="GstFormat"/>
17581           </parameter>
17582           <parameter name="running_time" transfer-ownership="none">
17583             <type name="int64" c:type="gint64"/>
17584           </parameter>
17585         </parameters>
17586       </method>
17587       <method name="clip" c:identifier="gst_segment_clip">
17588         <return-value transfer-ownership="none">
17589           <type name="boolean" c:type="gboolean"/>
17590         </return-value>
17591         <parameters>
17592           <parameter name="format" transfer-ownership="none">
17593             <type name="Format" c:type="GstFormat"/>
17594           </parameter>
17595           <parameter name="start" transfer-ownership="none">
17596             <type name="int64" c:type="gint64"/>
17597           </parameter>
17598           <parameter name="stop" transfer-ownership="none">
17599             <type name="int64" c:type="gint64"/>
17600           </parameter>
17601           <parameter name="clip_start"
17602                      direction="out"
17603                      caller-allocates="0"
17604                      transfer-ownership="full">
17605             <type name="int64" c:type="gint64*"/>
17606           </parameter>
17607           <parameter name="clip_stop"
17608                      direction="out"
17609                      caller-allocates="0"
17610                      transfer-ownership="full">
17611             <type name="int64" c:type="gint64*"/>
17612           </parameter>
17613         </parameters>
17614       </method>
17615       <method name="set_running_time"
17616               c:identifier="gst_segment_set_running_time">
17617         <return-value transfer-ownership="none">
17618           <type name="boolean" c:type="gboolean"/>
17619         </return-value>
17620         <parameters>
17621           <parameter name="format" transfer-ownership="none">
17622             <type name="Format" c:type="GstFormat"/>
17623           </parameter>
17624           <parameter name="running_time" transfer-ownership="none">
17625             <type name="int64" c:type="gint64"/>
17626           </parameter>
17627         </parameters>
17628       </method>
17629     </record>
17630     <enumeration name="State"
17631                  glib:type-name="GstState"
17632                  glib:get-type="gst_state_get_type"
17633                  c:type="GstState">
17634       <doc xml:whitespace="preserve">The possible states an element can be in. States can be changed using
17635 gst_element_set_state() and checked using gst_element_get_state().</doc>
17636       <member name="void_pending"
17637               value="0"
17638               c:identifier="GST_STATE_VOID_PENDING"
17639               glib:nick="void-pending"/>
17640       <member name="null"
17641               value="1"
17642               c:identifier="GST_STATE_NULL"
17643               glib:nick="null"/>
17644       <member name="ready"
17645               value="2"
17646               c:identifier="GST_STATE_READY"
17647               glib:nick="ready"/>
17648       <member name="paused"
17649               value="3"
17650               c:identifier="GST_STATE_PAUSED"
17651               glib:nick="paused"/>
17652       <member name="playing"
17653               value="4"
17654               c:identifier="GST_STATE_PLAYING"
17655               glib:nick="playing"/>
17656     </enumeration>
17657     <enumeration name="StateChange"
17658                  glib:type-name="GstStateChange"
17659                  glib:get-type="gst_state_change_get_type"
17660                  c:type="GstStateChange">
17661       <doc xml:whitespace="preserve">These are the different state changes an element goes through.
17662 %GST_STATE_NULL &amp;rArr; %GST_STATE_PLAYING is called an upwards state change
17663 and %GST_STATE_PLAYING &amp;rArr; %GST_STATE_NULL a downwards state change.</doc>
17664       <member name="null_to_ready"
17665               value="10"
17666               c:identifier="GST_STATE_CHANGE_NULL_TO_READY"
17667               glib:nick="null-to-ready"/>
17668       <member name="ready_to_paused"
17669               value="19"
17670               c:identifier="GST_STATE_CHANGE_READY_TO_PAUSED"
17671               glib:nick="ready-to-paused"/>
17672       <member name="paused_to_playing"
17673               value="28"
17674               c:identifier="GST_STATE_CHANGE_PAUSED_TO_PLAYING"
17675               glib:nick="paused-to-playing"/>
17676       <member name="playing_to_paused"
17677               value="35"
17678               c:identifier="GST_STATE_CHANGE_PLAYING_TO_PAUSED"
17679               glib:nick="playing-to-paused"/>
17680       <member name="paused_to_ready"
17681               value="26"
17682               c:identifier="GST_STATE_CHANGE_PAUSED_TO_READY"
17683               glib:nick="paused-to-ready"/>
17684       <member name="ready_to_null"
17685               value="17"
17686               c:identifier="GST_STATE_CHANGE_READY_TO_NULL"
17687               glib:nick="ready-to-null"/>
17688     </enumeration>
17689     <enumeration name="StateChangeReturn"
17690                  glib:type-name="GstStateChangeReturn"
17691                  glib:get-type="gst_state_change_return_get_type"
17692                  c:type="GstStateChangeReturn">
17693       <doc xml:whitespace="preserve">The possible return values from a state change function. Only</doc>
17694       <member name="failure"
17695               value="0"
17696               c:identifier="GST_STATE_CHANGE_FAILURE"
17697               glib:nick="failure"/>
17698       <member name="success"
17699               value="1"
17700               c:identifier="GST_STATE_CHANGE_SUCCESS"
17701               glib:nick="success"/>
17702       <member name="async"
17703               value="2"
17704               c:identifier="GST_STATE_CHANGE_ASYNC"
17705               glib:nick="async"/>
17706       <member name="no_preroll"
17707               value="3"
17708               c:identifier="GST_STATE_CHANGE_NO_PREROLL"
17709               glib:nick="no-preroll"/>
17710     </enumeration>
17711     <record name="StaticCaps" c:type="GstStaticCaps">
17712       <doc xml:whitespace="preserve">Datastructure to initialize #GstCaps from a string description usually
17713 used in conjunction with GST_STATIC_CAPS() and gst_static_caps_get() to
17714 instantiate a #GstCaps.</doc>
17715       <field name="caps" writable="1">
17716         <type name="Caps" c:type="GstCaps"/>
17717       </field>
17718       <field name="string" writable="1">
17719         <type name="utf8" c:type="char*"/>
17720       </field>
17721       <field name="_gst_reserved" writable="1">
17722         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
17723           <type name="any"/>
17724         </array>
17725       </field>
17726       <method name="get" c:identifier="gst_static_caps_get">
17727         <return-value transfer-ownership="full">
17728           <type name="Caps" c:type="GstCaps*"/>
17729         </return-value>
17730       </method>
17731     </record>
17732     <record name="StaticPadTemplate" c:type="GstStaticPadTemplate">
17733       <field name="name_template" writable="1">
17734         <type name="utf8" c:type="gchar*"/>
17735       </field>
17736       <field name="direction" writable="1">
17737         <type name="PadDirection" c:type="GstPadDirection"/>
17738       </field>
17739       <field name="presence" writable="1">
17740         <type name="PadPresence" c:type="GstPadPresence"/>
17741       </field>
17742       <field name="static_caps" writable="1">
17743         <type name="StaticCaps" c:type="GstStaticCaps"/>
17744       </field>
17745       <method name="get" c:identifier="gst_static_pad_template_get">
17746         <return-value transfer-ownership="full">
17747           <type name="PadTemplate" c:type="GstPadTemplate*"/>
17748         </return-value>
17749       </method>
17750       <method name="get_caps" c:identifier="gst_static_pad_template_get_caps">
17751         <return-value transfer-ownership="full">
17752           <type name="Caps" c:type="GstCaps*"/>
17753         </return-value>
17754       </method>
17755     </record>
17756     <enumeration name="StreamError"
17757                  glib:type-name="GstStreamError"
17758                  glib:get-type="gst_stream_error_get_type"
17759                  c:type="GstStreamError"
17760                  glib:error-quark="gst_stream_error_quark">
17761       <doc xml:whitespace="preserve">Stream errors are for anything related to the stream being processed:
17762 format errors, media type errors, ...
17763 They're typically used by decoders, demuxers, converters, ...</doc>
17764       <member name="failed"
17765               value="1"
17766               c:identifier="GST_STREAM_ERROR_FAILED"
17767               glib:nick="failed"/>
17768       <member name="too_lazy"
17769               value="2"
17770               c:identifier="GST_STREAM_ERROR_TOO_LAZY"
17771               glib:nick="too-lazy"/>
17772       <member name="not_implemented"
17773               value="3"
17774               c:identifier="GST_STREAM_ERROR_NOT_IMPLEMENTED"
17775               glib:nick="not-implemented"/>
17776       <member name="type_not_found"
17777               value="4"
17778               c:identifier="GST_STREAM_ERROR_TYPE_NOT_FOUND"
17779               glib:nick="type-not-found"/>
17780       <member name="wrong_type"
17781               value="5"
17782               c:identifier="GST_STREAM_ERROR_WRONG_TYPE"
17783               glib:nick="wrong-type"/>
17784       <member name="codec_not_found"
17785               value="6"
17786               c:identifier="GST_STREAM_ERROR_CODEC_NOT_FOUND"
17787               glib:nick="codec-not-found"/>
17788       <member name="decode"
17789               value="7"
17790               c:identifier="GST_STREAM_ERROR_DECODE"
17791               glib:nick="decode"/>
17792       <member name="encode"
17793               value="8"
17794               c:identifier="GST_STREAM_ERROR_ENCODE"
17795               glib:nick="encode"/>
17796       <member name="demux"
17797               value="9"
17798               c:identifier="GST_STREAM_ERROR_DEMUX"
17799               glib:nick="demux"/>
17800       <member name="mux"
17801               value="10"
17802               c:identifier="GST_STREAM_ERROR_MUX"
17803               glib:nick="mux"/>
17804       <member name="format"
17805               value="11"
17806               c:identifier="GST_STREAM_ERROR_FORMAT"
17807               glib:nick="format"/>
17808       <member name="decrypt"
17809               value="12"
17810               c:identifier="GST_STREAM_ERROR_DECRYPT"
17811               glib:nick="decrypt"/>
17812       <member name="decrypt_nokey"
17813               value="13"
17814               c:identifier="GST_STREAM_ERROR_DECRYPT_NOKEY"
17815               glib:nick="decrypt-nokey"/>
17816       <member name="num_errors"
17817               value="14"
17818               c:identifier="GST_STREAM_ERROR_NUM_ERRORS"
17819               glib:nick="num-errors"/>
17820     </enumeration>
17821     <enumeration name="StreamStatusType"
17822                  version="0.10.24"
17823                  glib:type-name="GstStreamStatusType"
17824                  glib:get-type="gst_stream_status_type_get_type"
17825                  c:type="GstStreamStatusType">
17826       <doc xml:whitespace="preserve">The type of a %GST_MESSAGE_STREAM_STATUS. The stream status messages inform the
17827 application of new streaming threads and their status.</doc>
17828       <member name="create"
17829               value="0"
17830               c:identifier="GST_STREAM_STATUS_TYPE_CREATE"
17831               glib:nick="create"/>
17832       <member name="enter"
17833               value="1"
17834               c:identifier="GST_STREAM_STATUS_TYPE_ENTER"
17835               glib:nick="enter"/>
17836       <member name="leave"
17837               value="2"
17838               c:identifier="GST_STREAM_STATUS_TYPE_LEAVE"
17839               glib:nick="leave"/>
17840       <member name="destroy"
17841               value="3"
17842               c:identifier="GST_STREAM_STATUS_TYPE_DESTROY"
17843               glib:nick="destroy"/>
17844       <member name="start"
17845               value="8"
17846               c:identifier="GST_STREAM_STATUS_TYPE_START"
17847               glib:nick="start"/>
17848       <member name="pause"
17849               value="9"
17850               c:identifier="GST_STREAM_STATUS_TYPE_PAUSE"
17851               glib:nick="pause"/>
17852       <member name="stop"
17853               value="10"
17854               c:identifier="GST_STREAM_STATUS_TYPE_STOP"
17855               glib:nick="stop"/>
17856     </enumeration>
17857     <record name="Structure"
17858             c:type="GstStructure"
17859             glib:type-name="GstStructure"
17860             glib:get-type="gst_structure_get_type">
17861       <doc xml:whitespace="preserve">The GstStructure object. Most fields are private.</doc>
17862       <field name="type" writable="1">
17863         <type name="GType" c:type="GType"/>
17864       </field>
17865       <field name="name" writable="1">
17866         <type name="GLib.Quark" c:type="GQuark"/>
17867       </field>
17868       <field name="parent_refcount" writable="1">
17869         <type name="any" c:type="gint*"/>
17870       </field>
17871       <field name="fields" writable="1">
17872         <type name="GLib.Array" c:type="GArray*"/>
17873       </field>
17874       <field name="_gst_reserved" writable="1">
17875         <type name="any" c:type="gpointer"/>
17876       </field>
17877       <constructor name="new"
17878                    c:identifier="gst_structure_new"
17879                    introspectable="0">
17880         <return-value transfer-ownership="full">
17881           <type name="Structure" c:type="GstStructure*"/>
17882         </return-value>
17883         <parameters>
17884           <parameter name="name" transfer-ownership="none">
17885             <type name="utf8" c:type="gchar*"/>
17886           </parameter>
17887           <parameter name="firstfield" transfer-ownership="none">
17888             <type name="utf8" c:type="gchar*"/>
17889           </parameter>
17890           <parameter transfer-ownership="none">
17891             <varargs>
17892             </varargs>
17893           </parameter>
17894         </parameters>
17895       </constructor>
17896       <method name="copy" c:identifier="gst_structure_copy">
17897         <return-value transfer-ownership="full">
17898           <type name="Structure" c:type="GstStructure*"/>
17899         </return-value>
17900       </method>
17901       <method name="set_parent_refcount"
17902               c:identifier="gst_structure_set_parent_refcount">
17903         <return-value transfer-ownership="none">
17904           <type name="none" c:type="void"/>
17905         </return-value>
17906         <parameters>
17907           <parameter name="refcount"
17908                      direction="out"
17909                      caller-allocates="0"
17910                      transfer-ownership="full">
17911             <type name="int" c:type="gint*"/>
17912           </parameter>
17913         </parameters>
17914       </method>
17915       <method name="free" c:identifier="gst_structure_free">
17916         <return-value transfer-ownership="none">
17917           <type name="none" c:type="void"/>
17918         </return-value>
17919       </method>
17920       <method name="get_name" c:identifier="gst_structure_get_name">
17921         <return-value transfer-ownership="none">
17922           <type name="utf8" c:type="gchar*"/>
17923         </return-value>
17924       </method>
17925       <method name="get_name_id" c:identifier="gst_structure_get_name_id">
17926         <return-value transfer-ownership="full">
17927           <type name="GLib.Quark" c:type="GQuark"/>
17928         </return-value>
17929       </method>
17930       <method name="has_name" c:identifier="gst_structure_has_name">
17931         <return-value transfer-ownership="none">
17932           <type name="boolean" c:type="gboolean"/>
17933         </return-value>
17934         <parameters>
17935           <parameter name="name" transfer-ownership="none">
17936             <type name="utf8" c:type="gchar*"/>
17937           </parameter>
17938         </parameters>
17939       </method>
17940       <method name="set_name" c:identifier="gst_structure_set_name">
17941         <return-value transfer-ownership="none">
17942           <type name="none" c:type="void"/>
17943         </return-value>
17944         <parameters>
17945           <parameter name="name" transfer-ownership="none">
17946             <type name="utf8" c:type="gchar*"/>
17947           </parameter>
17948         </parameters>
17949       </method>
17950       <method name="id_set_value" c:identifier="gst_structure_id_set_value">
17951         <return-value transfer-ownership="none">
17952           <type name="none" c:type="void"/>
17953         </return-value>
17954         <parameters>
17955           <parameter name="field" transfer-ownership="none">
17956             <type name="GLib.Quark" c:type="GQuark"/>
17957           </parameter>
17958           <parameter name="value" transfer-ownership="none">
17959             <type name="GObject.Value" c:type="GValue*"/>
17960           </parameter>
17961         </parameters>
17962       </method>
17963       <method name="set_value" c:identifier="gst_structure_set_value">
17964         <return-value transfer-ownership="none">
17965           <type name="none" c:type="void"/>
17966         </return-value>
17967         <parameters>
17968           <parameter name="fieldname" transfer-ownership="none">
17969             <type name="utf8" c:type="gchar*"/>
17970           </parameter>
17971           <parameter name="value" transfer-ownership="none">
17972             <type name="GObject.Value" c:type="GValue*"/>
17973           </parameter>
17974         </parameters>
17975       </method>
17976       <method name="set" c:identifier="gst_structure_set" introspectable="0">
17977         <return-value transfer-ownership="none">
17978           <type name="none" c:type="void"/>
17979         </return-value>
17980         <parameters>
17981           <parameter name="fieldname" transfer-ownership="none">
17982             <type name="utf8" c:type="gchar*"/>
17983           </parameter>
17984           <parameter transfer-ownership="none">
17985             <varargs>
17986             </varargs>
17987           </parameter>
17988         </parameters>
17989       </method>
17990       <method name="id_set"
17991               c:identifier="gst_structure_id_set"
17992               introspectable="0">
17993         <return-value transfer-ownership="none">
17994           <type name="none" c:type="void"/>
17995         </return-value>
17996         <parameters>
17997           <parameter name="fieldname" transfer-ownership="none">
17998             <type name="GLib.Quark" c:type="GQuark"/>
17999           </parameter>
18000           <parameter transfer-ownership="none">
18001             <varargs>
18002             </varargs>
18003           </parameter>
18004         </parameters>
18005       </method>
18006       <method name="get" c:identifier="gst_structure_get" introspectable="0">
18007         <return-value transfer-ownership="none">
18008           <type name="boolean" c:type="gboolean"/>
18009         </return-value>
18010         <parameters>
18011           <parameter name="first_fieldname" transfer-ownership="none">
18012             <type name="utf8" c:type="char*"/>
18013           </parameter>
18014           <parameter transfer-ownership="none">
18015             <varargs>
18016             </varargs>
18017           </parameter>
18018         </parameters>
18019       </method>
18020       <method name="id_get"
18021               c:identifier="gst_structure_id_get"
18022               introspectable="0">
18023         <return-value transfer-ownership="none">
18024           <type name="boolean" c:type="gboolean"/>
18025         </return-value>
18026         <parameters>
18027           <parameter name="first_field_id" transfer-ownership="none">
18028             <type name="GLib.Quark" c:type="GQuark"/>
18029           </parameter>
18030           <parameter transfer-ownership="none">
18031             <varargs>
18032             </varargs>
18033           </parameter>
18034         </parameters>
18035       </method>
18036       <method name="id_get_value" c:identifier="gst_structure_id_get_value">
18037         <return-value transfer-ownership="none">
18038           <type name="GObject.Value" c:type="GValue*"/>
18039         </return-value>
18040         <parameters>
18041           <parameter name="field" transfer-ownership="none">
18042             <type name="GLib.Quark" c:type="GQuark"/>
18043           </parameter>
18044         </parameters>
18045       </method>
18046       <method name="get_value" c:identifier="gst_structure_get_value">
18047         <return-value transfer-ownership="none">
18048           <type name="GObject.Value" c:type="GValue*"/>
18049         </return-value>
18050         <parameters>
18051           <parameter name="fieldname" transfer-ownership="none">
18052             <type name="utf8" c:type="gchar*"/>
18053           </parameter>
18054         </parameters>
18055       </method>
18056       <method name="remove_field" c:identifier="gst_structure_remove_field">
18057         <return-value transfer-ownership="none">
18058           <type name="none" c:type="void"/>
18059         </return-value>
18060         <parameters>
18061           <parameter name="fieldname" transfer-ownership="none">
18062             <type name="utf8" c:type="gchar*"/>
18063           </parameter>
18064         </parameters>
18065       </method>
18066       <method name="remove_fields"
18067               c:identifier="gst_structure_remove_fields"
18068               introspectable="0">
18069         <return-value transfer-ownership="none">
18070           <type name="none" c:type="void"/>
18071         </return-value>
18072         <parameters>
18073           <parameter name="fieldname" transfer-ownership="none">
18074             <type name="utf8" c:type="gchar*"/>
18075           </parameter>
18076           <parameter transfer-ownership="none">
18077             <varargs>
18078             </varargs>
18079           </parameter>
18080         </parameters>
18081       </method>
18082       <method name="remove_all_fields"
18083               c:identifier="gst_structure_remove_all_fields">
18084         <return-value transfer-ownership="none">
18085           <type name="none" c:type="void"/>
18086         </return-value>
18087       </method>
18088       <method name="get_field_type"
18089               c:identifier="gst_structure_get_field_type">
18090         <return-value transfer-ownership="none">
18091           <type name="GType" c:type="GType"/>
18092         </return-value>
18093         <parameters>
18094           <parameter name="fieldname" transfer-ownership="none">
18095             <type name="utf8" c:type="gchar*"/>
18096           </parameter>
18097         </parameters>
18098       </method>
18099       <method name="foreach" c:identifier="gst_structure_foreach">
18100         <return-value transfer-ownership="none">
18101           <type name="boolean" c:type="gboolean"/>
18102         </return-value>
18103         <parameters>
18104           <parameter name="func"
18105                      transfer-ownership="none"
18106                      scope="call"
18107                      closure="2">
18108             <type name="StructureForeachFunc"
18109                   c:type="GstStructureForeachFunc"/>
18110           </parameter>
18111           <parameter name="user_data" transfer-ownership="none">
18112             <type name="any" c:type="gpointer"/>
18113           </parameter>
18114         </parameters>
18115       </method>
18116       <method name="map_in_place" c:identifier="gst_structure_map_in_place">
18117         <return-value transfer-ownership="none">
18118           <type name="boolean" c:type="gboolean"/>
18119         </return-value>
18120         <parameters>
18121           <parameter name="func"
18122                      transfer-ownership="none"
18123                      scope="call"
18124                      closure="2">
18125             <type name="StructureMapFunc" c:type="GstStructureMapFunc"/>
18126           </parameter>
18127           <parameter name="user_data" transfer-ownership="none">
18128             <type name="any" c:type="gpointer"/>
18129           </parameter>
18130         </parameters>
18131       </method>
18132       <method name="n_fields" c:identifier="gst_structure_n_fields">
18133         <return-value transfer-ownership="none">
18134           <type name="int" c:type="gint"/>
18135         </return-value>
18136       </method>
18137       <method name="nth_field_name"
18138               c:identifier="gst_structure_nth_field_name">
18139         <return-value transfer-ownership="none">
18140           <type name="utf8" c:type="gchar*"/>
18141         </return-value>
18142         <parameters>
18143           <parameter name="index" transfer-ownership="none">
18144             <type name="uint" c:type="guint"/>
18145           </parameter>
18146         </parameters>
18147       </method>
18148       <method name="id_has_field" c:identifier="gst_structure_id_has_field">
18149         <return-value transfer-ownership="none">
18150           <type name="boolean" c:type="gboolean"/>
18151         </return-value>
18152         <parameters>
18153           <parameter name="field" transfer-ownership="none">
18154             <type name="GLib.Quark" c:type="GQuark"/>
18155           </parameter>
18156         </parameters>
18157       </method>
18158       <method name="id_has_field_typed"
18159               c:identifier="gst_structure_id_has_field_typed">
18160         <return-value transfer-ownership="none">
18161           <type name="boolean" c:type="gboolean"/>
18162         </return-value>
18163         <parameters>
18164           <parameter name="field" transfer-ownership="none">
18165             <type name="GLib.Quark" c:type="GQuark"/>
18166           </parameter>
18167           <parameter name="type" transfer-ownership="none">
18168             <type name="GType" c:type="GType"/>
18169           </parameter>
18170         </parameters>
18171       </method>
18172       <method name="has_field" c:identifier="gst_structure_has_field">
18173         <return-value transfer-ownership="none">
18174           <type name="boolean" c:type="gboolean"/>
18175         </return-value>
18176         <parameters>
18177           <parameter name="fieldname" transfer-ownership="none">
18178             <type name="utf8" c:type="gchar*"/>
18179           </parameter>
18180         </parameters>
18181       </method>
18182       <method name="has_field_typed"
18183               c:identifier="gst_structure_has_field_typed">
18184         <return-value transfer-ownership="none">
18185           <type name="boolean" c:type="gboolean"/>
18186         </return-value>
18187         <parameters>
18188           <parameter name="fieldname" transfer-ownership="none">
18189             <type name="utf8" c:type="gchar*"/>
18190           </parameter>
18191           <parameter name="type" transfer-ownership="none">
18192             <type name="GType" c:type="GType"/>
18193           </parameter>
18194         </parameters>
18195       </method>
18196       <method name="get_boolean" c:identifier="gst_structure_get_boolean">
18197         <return-value transfer-ownership="none">
18198           <type name="boolean" c:type="gboolean"/>
18199         </return-value>
18200         <parameters>
18201           <parameter name="fieldname" transfer-ownership="none">
18202             <type name="utf8" c:type="gchar*"/>
18203           </parameter>
18204           <parameter name="value"
18205                      direction="out"
18206                      caller-allocates="0"
18207                      transfer-ownership="full">
18208             <type name="boolean" c:type="gboolean*"/>
18209           </parameter>
18210         </parameters>
18211       </method>
18212       <method name="get_int" c:identifier="gst_structure_get_int">
18213         <return-value transfer-ownership="none">
18214           <type name="boolean" c:type="gboolean"/>
18215         </return-value>
18216         <parameters>
18217           <parameter name="fieldname" transfer-ownership="none">
18218             <type name="utf8" c:type="gchar*"/>
18219           </parameter>
18220           <parameter name="value"
18221                      direction="out"
18222                      caller-allocates="0"
18223                      transfer-ownership="full">
18224             <type name="int" c:type="gint*"/>
18225           </parameter>
18226         </parameters>
18227       </method>
18228       <method name="get_uint" c:identifier="gst_structure_get_uint">
18229         <return-value transfer-ownership="none">
18230           <type name="boolean" c:type="gboolean"/>
18231         </return-value>
18232         <parameters>
18233           <parameter name="fieldname" transfer-ownership="none">
18234             <type name="utf8" c:type="gchar*"/>
18235           </parameter>
18236           <parameter name="value"
18237                      direction="out"
18238                      caller-allocates="0"
18239                      transfer-ownership="full">
18240             <type name="uint" c:type="guint*"/>
18241           </parameter>
18242         </parameters>
18243       </method>
18244       <method name="get_fourcc" c:identifier="gst_structure_get_fourcc">
18245         <return-value transfer-ownership="none">
18246           <type name="boolean" c:type="gboolean"/>
18247         </return-value>
18248         <parameters>
18249           <parameter name="fieldname" transfer-ownership="none">
18250             <type name="utf8" c:type="gchar*"/>
18251           </parameter>
18252           <parameter name="value"
18253                      direction="out"
18254                      caller-allocates="0"
18255                      transfer-ownership="full">
18256             <type name="uint32" c:type="guint32*"/>
18257           </parameter>
18258         </parameters>
18259       </method>
18260       <method name="get_double" c:identifier="gst_structure_get_double">
18261         <return-value transfer-ownership="none">
18262           <type name="boolean" c:type="gboolean"/>
18263         </return-value>
18264         <parameters>
18265           <parameter name="fieldname" transfer-ownership="none">
18266             <type name="utf8" c:type="gchar*"/>
18267           </parameter>
18268           <parameter name="value"
18269                      direction="out"
18270                      caller-allocates="0"
18271                      transfer-ownership="full">
18272             <type name="double" c:type="gdouble*"/>
18273           </parameter>
18274         </parameters>
18275       </method>
18276       <method name="get_date" c:identifier="gst_structure_get_date">
18277         <return-value transfer-ownership="none">
18278           <type name="boolean" c:type="gboolean"/>
18279         </return-value>
18280         <parameters>
18281           <parameter name="fieldname" transfer-ownership="none">
18282             <type name="utf8" c:type="gchar*"/>
18283           </parameter>
18284           <parameter name="value" transfer-ownership="none">
18285             <type name="GLib.Date" c:type="GDate**"/>
18286           </parameter>
18287         </parameters>
18288       </method>
18289       <method name="get_clock_time"
18290               c:identifier="gst_structure_get_clock_time">
18291         <return-value transfer-ownership="none">
18292           <type name="boolean" c:type="gboolean"/>
18293         </return-value>
18294         <parameters>
18295           <parameter name="fieldname" transfer-ownership="none">
18296             <type name="utf8" c:type="gchar*"/>
18297           </parameter>
18298           <parameter name="value" transfer-ownership="none">
18299             <type name="ClockTime" c:type="GstClockTime*"/>
18300           </parameter>
18301         </parameters>
18302       </method>
18303       <method name="get_string" c:identifier="gst_structure_get_string">
18304         <return-value transfer-ownership="none">
18305           <type name="utf8" c:type="gchar*"/>
18306         </return-value>
18307         <parameters>
18308           <parameter name="fieldname" transfer-ownership="none">
18309             <type name="utf8" c:type="gchar*"/>
18310           </parameter>
18311         </parameters>
18312       </method>
18313       <method name="get_enum" c:identifier="gst_structure_get_enum">
18314         <return-value transfer-ownership="none">
18315           <type name="boolean" c:type="gboolean"/>
18316         </return-value>
18317         <parameters>
18318           <parameter name="fieldname" transfer-ownership="none">
18319             <type name="utf8" c:type="gchar*"/>
18320           </parameter>
18321           <parameter name="enumtype" transfer-ownership="none">
18322             <type name="GType" c:type="GType"/>
18323           </parameter>
18324           <parameter name="value"
18325                      direction="out"
18326                      caller-allocates="0"
18327                      transfer-ownership="full">
18328             <type name="int" c:type="gint*"/>
18329           </parameter>
18330         </parameters>
18331       </method>
18332       <method name="get_fraction" c:identifier="gst_structure_get_fraction">
18333         <return-value transfer-ownership="none">
18334           <type name="boolean" c:type="gboolean"/>
18335         </return-value>
18336         <parameters>
18337           <parameter name="fieldname" transfer-ownership="none">
18338             <type name="utf8" c:type="gchar*"/>
18339           </parameter>
18340           <parameter name="value_numerator"
18341                      direction="out"
18342                      caller-allocates="0"
18343                      transfer-ownership="full">
18344             <type name="int" c:type="gint*"/>
18345           </parameter>
18346           <parameter name="value_denominator"
18347                      direction="out"
18348                      caller-allocates="0"
18349                      transfer-ownership="full">
18350             <type name="int" c:type="gint*"/>
18351           </parameter>
18352         </parameters>
18353       </method>
18354       <method name="to_string" c:identifier="gst_structure_to_string">
18355         <return-value transfer-ownership="full">
18356           <type name="utf8" c:type="gchar*"/>
18357         </return-value>
18358       </method>
18359       <method name="fixate_field_nearest_int"
18360               c:identifier="gst_structure_fixate_field_nearest_int">
18361         <return-value transfer-ownership="none">
18362           <type name="boolean" c:type="gboolean"/>
18363         </return-value>
18364         <parameters>
18365           <parameter name="field_name" transfer-ownership="none">
18366             <type name="utf8" c:type="char*"/>
18367           </parameter>
18368           <parameter name="target" transfer-ownership="none">
18369             <type name="int" c:type="int"/>
18370           </parameter>
18371         </parameters>
18372       </method>
18373       <method name="fixate_field_nearest_double"
18374               c:identifier="gst_structure_fixate_field_nearest_double">
18375         <return-value transfer-ownership="none">
18376           <type name="boolean" c:type="gboolean"/>
18377         </return-value>
18378         <parameters>
18379           <parameter name="field_name" transfer-ownership="none">
18380             <type name="utf8" c:type="char*"/>
18381           </parameter>
18382           <parameter name="target" transfer-ownership="none">
18383             <type name="double" c:type="double"/>
18384           </parameter>
18385         </parameters>
18386       </method>
18387       <method name="fixate_field_boolean"
18388               c:identifier="gst_structure_fixate_field_boolean">
18389         <return-value transfer-ownership="none">
18390           <type name="boolean" c:type="gboolean"/>
18391         </return-value>
18392         <parameters>
18393           <parameter name="field_name" transfer-ownership="none">
18394             <type name="utf8" c:type="char*"/>
18395           </parameter>
18396           <parameter name="target" transfer-ownership="none">
18397             <type name="boolean" c:type="gboolean"/>
18398           </parameter>
18399         </parameters>
18400       </method>
18401       <method name="fixate_field_string"
18402               c:identifier="gst_structure_fixate_field_string">
18403         <return-value transfer-ownership="none">
18404           <type name="boolean" c:type="gboolean"/>
18405         </return-value>
18406         <parameters>
18407           <parameter name="field_name" transfer-ownership="none">
18408             <type name="utf8" c:type="char*"/>
18409           </parameter>
18410           <parameter name="target" transfer-ownership="none">
18411             <type name="utf8" c:type="gchar*"/>
18412           </parameter>
18413         </parameters>
18414       </method>
18415       <method name="fixate_field_nearest_fraction"
18416               c:identifier="gst_structure_fixate_field_nearest_fraction">
18417         <return-value transfer-ownership="none">
18418           <type name="boolean" c:type="gboolean"/>
18419         </return-value>
18420         <parameters>
18421           <parameter name="field_name" transfer-ownership="none">
18422             <type name="utf8" c:type="char*"/>
18423           </parameter>
18424           <parameter name="target_numerator" transfer-ownership="none">
18425             <type name="int" c:type="gint"/>
18426           </parameter>
18427           <parameter name="target_denominator" transfer-ownership="none">
18428             <type name="int" c:type="gint"/>
18429           </parameter>
18430         </parameters>
18431       </method>
18432     </record>
18433     <enumeration name="StructureChangeType"
18434                  version="0.10.22"
18435                  glib:type-name="GstStructureChangeType"
18436                  glib:get-type="gst_structure_change_type_get_type"
18437                  c:type="GstStructureChangeType">
18438       <doc xml:whitespace="preserve">The type of a %GST_MESSAGE_STRUCTURE_CHANGE.</doc>
18439       <member name="link"
18440               value="0"
18441               c:identifier="GST_STRUCTURE_CHANGE_TYPE_PAD_LINK"
18442               glib:nick="link"/>
18443       <member name="unlink"
18444               value="1"
18445               c:identifier="GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK"
18446               glib:nick="unlink"/>
18447     </enumeration>
18448     <callback name="StructureForeachFunc" c:type="GstStructureForeachFunc">
18449       <doc xml:whitespace="preserve">A function that will be called in gst_structure_foreach(). The function may
18450 not modify @value.
18451 the foreach operation should stop with FALSE.</doc>
18452       <return-value transfer-ownership="none">
18453         <doc xml:whitespace="preserve">TRUE if the foreach operation should continue, FALSE if</doc>
18454         <type name="boolean" c:type="gboolean"/>
18455       </return-value>
18456       <parameters>
18457         <parameter name="field_id" transfer-ownership="none">
18458           <doc xml:whitespace="preserve">the #GQuark of the field name</doc>
18459           <type name="GLib.Quark" c:type="GQuark"/>
18460         </parameter>
18461         <parameter name="value" transfer-ownership="none">
18462           <doc xml:whitespace="preserve">the #GValue of the field</doc>
18463           <type name="GObject.Value" c:type="GValue*"/>
18464         </parameter>
18465         <parameter name="user_data" transfer-ownership="none" closure="2">
18466           <doc xml:whitespace="preserve">user data</doc>
18467           <type name="any" c:type="gpointer"/>
18468         </parameter>
18469       </parameters>
18470     </callback>
18471     <callback name="StructureMapFunc" c:type="GstStructureMapFunc">
18472       <doc xml:whitespace="preserve">A function that will be called in gst_structure_map_in_place(). The function
18473 may modify @value.
18474 the map operation should stop with FALSE.</doc>
18475       <return-value transfer-ownership="none">
18476         <doc xml:whitespace="preserve">TRUE if the map operation should continue, FALSE if</doc>
18477         <type name="boolean" c:type="gboolean"/>
18478       </return-value>
18479       <parameters>
18480         <parameter name="field_id" transfer-ownership="none">
18481           <doc xml:whitespace="preserve">the #GQuark of the field name</doc>
18482           <type name="GLib.Quark" c:type="GQuark"/>
18483         </parameter>
18484         <parameter name="value" transfer-ownership="none">
18485           <doc xml:whitespace="preserve">the #GValue of the field</doc>
18486           <type name="GObject.Value" c:type="GValue*"/>
18487         </parameter>
18488         <parameter name="user_data" transfer-ownership="none" closure="2">
18489           <doc xml:whitespace="preserve">user data</doc>
18490           <type name="any" c:type="gpointer"/>
18491         </parameter>
18492       </parameters>
18493     </callback>
18494     <class name="SystemClock"
18495            c:type="GstSystemClock"
18496            parent="Clock"
18497            glib:type-name="GstSystemClock"
18498            glib:get-type="gst_system_clock_get_type"
18499            glib:type-struct="SystemClockClass">
18500       <doc xml:whitespace="preserve">The default implementation of a #GstClock that uses the system time.</doc>
18501       <function name="obtain" c:identifier="gst_system_clock_obtain">
18502         <return-value transfer-ownership="full">
18503           <type name="Clock" c:type="GstClock*"/>
18504         </return-value>
18505       </function>
18506       <property name="clock-type" writable="1" transfer-ownership="none">
18507         <type name="ClockType" c:type="GstClockType"/>
18508       </property>
18509       <field name="clock">
18510         <type name="Clock" c:type="GstClock"/>
18511       </field>
18512       <field name="thread">
18513         <type name="GLib.Thread" c:type="GThread*"/>
18514       </field>
18515       <field name="stopping">
18516         <type name="boolean" c:type="gboolean"/>
18517       </field>
18518       <field name="priv">
18519         <type name="SystemClockPrivate" c:type="GstSystemClockPrivate*"/>
18520       </field>
18521       <field name="_gst_reserved">
18522         <array zero-terminated="0" c:type="gpointer" fixed-size="3">
18523           <type name="any"/>
18524         </array>
18525       </field>
18526     </class>
18527     <record name="SystemClockClass"
18528             c:type="GstSystemClockClass"
18529             glib:is-gtype-struct-for="SystemClock">
18530       <field name="parent_class">
18531         <type name="ClockClass" c:type="GstClockClass"/>
18532       </field>
18533       <field name="_gst_reserved">
18534         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
18535           <type name="any"/>
18536         </array>
18537       </field>
18538     </record>
18539     <record name="SystemClockPrivate" c:type="GstSystemClockPrivate">
18540     </record>
18541     <constant name="TAG_ALBUM" value="album">
18542       <type name="utf8"/>
18543     </constant>
18544     <constant name="TAG_ALBUM_ARTIST" value="album-artist">
18545       <type name="utf8"/>
18546     </constant>
18547     <constant name="TAG_ALBUM_ARTIST_SORTNAME" value="album-artist-sortname">
18548       <type name="utf8"/>
18549     </constant>
18550     <constant name="TAG_ALBUM_GAIN" value="replaygain-album-gain">
18551       <type name="utf8"/>
18552     </constant>
18553     <constant name="TAG_ALBUM_PEAK" value="replaygain-album-peak">
18554       <type name="utf8"/>
18555     </constant>
18556     <constant name="TAG_ALBUM_SORTNAME" value="album-sortname">
18557       <type name="utf8"/>
18558     </constant>
18559     <constant name="TAG_ALBUM_VOLUME_COUNT" value="album-disc-count">
18560       <type name="utf8"/>
18561     </constant>
18562     <constant name="TAG_ALBUM_VOLUME_NUMBER" value="album-disc-number">
18563       <type name="utf8"/>
18564     </constant>
18565     <constant name="TAG_ARTIST" value="artist">
18566       <type name="utf8"/>
18567     </constant>
18568     <constant name="TAG_ARTIST_SORTNAME" value="musicbrainz-sortname">
18569       <type name="utf8"/>
18570     </constant>
18571     <constant name="TAG_ATTACHMENT" value="attachment">
18572       <type name="utf8"/>
18573     </constant>
18574     <constant name="TAG_AUDIO_CODEC" value="audio-codec">
18575       <type name="utf8"/>
18576     </constant>
18577     <constant name="TAG_BEATS_PER_MINUTE" value="beats-per-minute">
18578       <type name="utf8"/>
18579     </constant>
18580     <constant name="TAG_BITRATE" value="bitrate">
18581       <type name="utf8"/>
18582     </constant>
18583     <constant name="TAG_CODEC" value="codec">
18584       <type name="utf8"/>
18585     </constant>
18586     <constant name="TAG_COMMENT" value="comment">
18587       <type name="utf8"/>
18588     </constant>
18589     <constant name="TAG_COMPOSER" value="composer">
18590       <type name="utf8"/>
18591     </constant>
18592     <constant name="TAG_COMPOSER_SORTNAME" value="composer-sortname">
18593       <type name="utf8"/>
18594     </constant>
18595     <constant name="TAG_CONTACT" value="contact">
18596       <type name="utf8"/>
18597     </constant>
18598     <constant name="TAG_CONTAINER_FORMAT" value="container-format">
18599       <type name="utf8"/>
18600     </constant>
18601     <constant name="TAG_COPYRIGHT" value="copyright">
18602       <type name="utf8"/>
18603     </constant>
18604     <constant name="TAG_COPYRIGHT_URI" value="copyright-uri">
18605       <type name="utf8"/>
18606     </constant>
18607     <constant name="TAG_DATE" value="date">
18608       <type name="utf8"/>
18609     </constant>
18610     <constant name="TAG_DESCRIPTION" value="description">
18611       <type name="utf8"/>
18612     </constant>
18613     <constant name="TAG_DEVICE_MANUFACTURER" value="device-manufacturer">
18614       <type name="utf8"/>
18615     </constant>
18616     <constant name="TAG_DEVICE_MODEL" value="device-model">
18617       <type name="utf8"/>
18618     </constant>
18619     <constant name="TAG_DURATION" value="duration">
18620       <type name="utf8"/>
18621     </constant>
18622     <constant name="TAG_ENCODER" value="encoder">
18623       <type name="utf8"/>
18624     </constant>
18625     <constant name="TAG_ENCODER_VERSION" value="encoder-version">
18626       <type name="utf8"/>
18627     </constant>
18628     <constant name="TAG_EXTENDED_COMMENT" value="extended-comment">
18629       <type name="utf8"/>
18630     </constant>
18631     <constant name="TAG_GENRE" value="genre">
18632       <type name="utf8"/>
18633     </constant>
18634     <constant name="TAG_GEO_LOCATION_CAPTURE_DIRECTION"
18635               value="geo-location-capture-direction">
18636       <type name="utf8"/>
18637     </constant>
18638     <constant name="TAG_GEO_LOCATION_CITY" value="geo-location-city">
18639       <type name="utf8"/>
18640     </constant>
18641     <constant name="TAG_GEO_LOCATION_COUNTRY" value="geo-location-country">
18642       <type name="utf8"/>
18643     </constant>
18644     <constant name="TAG_GEO_LOCATION_ELEVATION" value="geo-location-elevation">
18645       <type name="utf8"/>
18646     </constant>
18647     <constant name="TAG_GEO_LOCATION_LATITUDE" value="geo-location-latitude">
18648       <type name="utf8"/>
18649     </constant>
18650     <constant name="TAG_GEO_LOCATION_LONGITUDE" value="geo-location-longitude">
18651       <type name="utf8"/>
18652     </constant>
18653     <constant name="TAG_GEO_LOCATION_MOVEMENT_DIRECTION"
18654               value="geo-location-movement-direction">
18655       <type name="utf8"/>
18656     </constant>
18657     <constant name="TAG_GEO_LOCATION_MOVEMENT_SPEED"
18658               value="geo-location-movement-speed">
18659       <type name="utf8"/>
18660     </constant>
18661     <constant name="TAG_GEO_LOCATION_NAME" value="geo-location-name">
18662       <type name="utf8"/>
18663     </constant>
18664     <constant name="TAG_GEO_LOCATION_SUBLOCATION"
18665               value="geo-location-sublocation">
18666       <type name="utf8"/>
18667     </constant>
18668     <constant name="TAG_GROUPING" value="grouping">
18669       <type name="utf8"/>
18670     </constant>
18671     <constant name="TAG_HOMEPAGE" value="homepage">
18672       <type name="utf8"/>
18673     </constant>
18674     <constant name="TAG_IMAGE" value="image">
18675       <type name="utf8"/>
18676     </constant>
18677     <constant name="TAG_IMAGE_ORIENTATION" value="image-orientation">
18678       <type name="utf8"/>
18679     </constant>
18680     <constant name="TAG_ISRC" value="isrc">
18681       <type name="utf8"/>
18682     </constant>
18683     <constant name="TAG_KEYWORDS" value="keywords">
18684       <type name="utf8"/>
18685     </constant>
18686     <constant name="TAG_LANGUAGE_CODE" value="language-code">
18687       <type name="utf8"/>
18688     </constant>
18689     <constant name="TAG_LICENSE" value="license">
18690       <type name="utf8"/>
18691     </constant>
18692     <constant name="TAG_LICENSE_URI" value="license-uri">
18693       <type name="utf8"/>
18694     </constant>
18695     <constant name="TAG_LOCATION" value="location">
18696       <type name="utf8"/>
18697     </constant>
18698     <constant name="TAG_LYRICS" value="lyrics">
18699       <type name="utf8"/>
18700     </constant>
18701     <constant name="TAG_MAXIMUM_BITRATE" value="maximum-bitrate">
18702       <type name="utf8"/>
18703     </constant>
18704     <constant name="TAG_MINIMUM_BITRATE" value="minimum-bitrate">
18705       <type name="utf8"/>
18706     </constant>
18707     <constant name="TAG_NOMINAL_BITRATE" value="nominal-bitrate">
18708       <type name="utf8"/>
18709     </constant>
18710     <constant name="TAG_ORGANIZATION" value="organization">
18711       <type name="utf8"/>
18712     </constant>
18713     <constant name="TAG_PERFORMER" value="performer">
18714       <type name="utf8"/>
18715     </constant>
18716     <constant name="TAG_PREVIEW_IMAGE" value="preview-image">
18717       <type name="utf8"/>
18718     </constant>
18719     <constant name="TAG_REFERENCE_LEVEL" value="replaygain-reference-level">
18720       <type name="utf8"/>
18721     </constant>
18722     <constant name="TAG_SERIAL" value="serial">
18723       <type name="utf8"/>
18724     </constant>
18725     <constant name="TAG_SHOW_EPISODE_NUMBER" value="show-episode-number">
18726       <type name="utf8"/>
18727     </constant>
18728     <constant name="TAG_SHOW_NAME" value="show-name">
18729       <type name="utf8"/>
18730     </constant>
18731     <constant name="TAG_SHOW_SEASON_NUMBER" value="show-season-number">
18732       <type name="utf8"/>
18733     </constant>
18734     <constant name="TAG_SHOW_SORTNAME" value="show-sortname">
18735       <type name="utf8"/>
18736     </constant>
18737     <constant name="TAG_SUBTITLE_CODEC" value="subtitle-codec">
18738       <type name="utf8"/>
18739     </constant>
18740     <constant name="TAG_TITLE" value="title">
18741       <type name="utf8"/>
18742     </constant>
18743     <constant name="TAG_TITLE_SORTNAME" value="title-sortname">
18744       <type name="utf8"/>
18745     </constant>
18746     <constant name="TAG_TRACK_COUNT" value="track-count">
18747       <type name="utf8"/>
18748     </constant>
18749     <constant name="TAG_TRACK_GAIN" value="replaygain-track-gain">
18750       <type name="utf8"/>
18751     </constant>
18752     <constant name="TAG_TRACK_NUMBER" value="track-number">
18753       <type name="utf8"/>
18754     </constant>
18755     <constant name="TAG_TRACK_PEAK" value="replaygain-track-peak">
18756       <type name="utf8"/>
18757     </constant>
18758     <constant name="TAG_USER_RATING" value="user-rating">
18759       <type name="utf8"/>
18760     </constant>
18761     <constant name="TAG_VERSION" value="version">
18762       <type name="utf8"/>
18763     </constant>
18764     <constant name="TAG_VIDEO_CODEC" value="video-codec">
18765       <type name="utf8"/>
18766     </constant>
18767     <constant name="TIME_FORMAT" value="u:%02u:%02u.%09u">
18768       <type name="utf8"/>
18769     </constant>
18770     <enumeration name="TagFlag"
18771                  glib:type-name="GstTagFlag"
18772                  glib:get-type="gst_tag_flag_get_type"
18773                  c:type="GstTagFlag">
18774       <doc xml:whitespace="preserve">Extra tag flags used when registering tags.</doc>
18775       <member name="undefined"
18776               value="0"
18777               c:identifier="GST_TAG_FLAG_UNDEFINED"
18778               glib:nick="undefined"/>
18779       <member name="meta"
18780               value="1"
18781               c:identifier="GST_TAG_FLAG_META"
18782               glib:nick="meta"/>
18783       <member name="encoded"
18784               value="2"
18785               c:identifier="GST_TAG_FLAG_ENCODED"
18786               glib:nick="encoded"/>
18787       <member name="decoded"
18788               value="3"
18789               c:identifier="GST_TAG_FLAG_DECODED"
18790               glib:nick="decoded"/>
18791       <member name="count"
18792               value="4"
18793               c:identifier="GST_TAG_FLAG_COUNT"
18794               glib:nick="count"/>
18795     </enumeration>
18796     <callback name="TagForeachFunc" c:type="GstTagForeachFunc">
18797       <doc xml:whitespace="preserve">A function that will be called in gst_tag_list_foreach(). The function may
18798 not modify the tag list.</doc>
18799       <return-value transfer-ownership="none">
18800         <type name="none" c:type="void"/>
18801       </return-value>
18802       <parameters>
18803         <parameter name="list" transfer-ownership="none">
18804           <doc xml:whitespace="preserve">the #GstTagList</doc>
18805           <type name="TagList" c:type="GstTagList*"/>
18806         </parameter>
18807         <parameter name="tag" transfer-ownership="none">
18808           <doc xml:whitespace="preserve">a name of a tag in @list</doc>
18809           <type name="utf8" c:type="gchar*"/>
18810         </parameter>
18811         <parameter name="user_data" transfer-ownership="none" closure="2">
18812           <doc xml:whitespace="preserve">user data</doc>
18813           <type name="any" c:type="gpointer"/>
18814         </parameter>
18815       </parameters>
18816     </callback>
18817     <glib:boxed c:type="GstTagList"
18818                 glib:name="TagList"
18819                 glib:type-name="GstTagList"
18820                 glib:get-type="gst_tag_list_get_type">
18821       <constructor name="new" c:identifier="gst_tag_list_new">
18822         <return-value transfer-ownership="full">
18823           <type name="TagList" c:type="GstTagList*"/>
18824         </return-value>
18825       </constructor>
18826       <constructor name="new_full"
18827                    c:identifier="gst_tag_list_new_full"
18828                    introspectable="0">
18829         <return-value transfer-ownership="full">
18830           <type name="TagList" c:type="GstTagList*"/>
18831         </return-value>
18832         <parameters>
18833           <parameter name="tag" transfer-ownership="none">
18834             <type name="utf8" c:type="gchar*"/>
18835           </parameter>
18836           <parameter transfer-ownership="none">
18837             <varargs>
18838             </varargs>
18839           </parameter>
18840         </parameters>
18841       </constructor>
18842       <method name="copy" c:identifier="gst_tag_list_copy">
18843         <return-value transfer-ownership="full">
18844           <type name="TagList" c:type="GstTagList*"/>
18845         </return-value>
18846       </method>
18847       <method name="is_empty" c:identifier="gst_tag_list_is_empty">
18848         <return-value transfer-ownership="none">
18849           <type name="boolean" c:type="gboolean"/>
18850         </return-value>
18851       </method>
18852       <method name="insert" c:identifier="gst_tag_list_insert">
18853         <return-value transfer-ownership="none">
18854           <type name="none" c:type="void"/>
18855         </return-value>
18856         <parameters>
18857           <parameter name="from" transfer-ownership="none">
18858             <type name="TagList" c:type="GstTagList*"/>
18859           </parameter>
18860           <parameter name="mode" transfer-ownership="none">
18861             <type name="TagMergeMode" c:type="GstTagMergeMode"/>
18862           </parameter>
18863         </parameters>
18864       </method>
18865       <method name="merge" c:identifier="gst_tag_list_merge">
18866         <return-value transfer-ownership="full">
18867           <type name="TagList" c:type="GstTagList*"/>
18868         </return-value>
18869         <parameters>
18870           <parameter name="list2" transfer-ownership="none">
18871             <type name="TagList" c:type="GstTagList*"/>
18872           </parameter>
18873           <parameter name="mode" transfer-ownership="none">
18874             <type name="TagMergeMode" c:type="GstTagMergeMode"/>
18875           </parameter>
18876         </parameters>
18877       </method>
18878       <method name="free" c:identifier="gst_tag_list_free">
18879         <return-value transfer-ownership="none">
18880           <type name="none" c:type="void"/>
18881         </return-value>
18882       </method>
18883       <method name="get_tag_size" c:identifier="gst_tag_list_get_tag_size">
18884         <return-value transfer-ownership="none">
18885           <type name="uint" c:type="guint"/>
18886         </return-value>
18887         <parameters>
18888           <parameter name="tag" transfer-ownership="none">
18889             <type name="utf8" c:type="gchar*"/>
18890           </parameter>
18891         </parameters>
18892       </method>
18893       <method name="add" c:identifier="gst_tag_list_add" introspectable="0">
18894         <return-value transfer-ownership="none">
18895           <type name="none" c:type="void"/>
18896         </return-value>
18897         <parameters>
18898           <parameter name="mode" transfer-ownership="none">
18899             <type name="TagMergeMode" c:type="GstTagMergeMode"/>
18900           </parameter>
18901           <parameter name="tag" transfer-ownership="none">
18902             <type name="utf8" c:type="gchar*"/>
18903           </parameter>
18904           <parameter transfer-ownership="none">
18905             <varargs>
18906             </varargs>
18907           </parameter>
18908         </parameters>
18909       </method>
18910       <method name="add_values"
18911               c:identifier="gst_tag_list_add_values"
18912               introspectable="0">
18913         <return-value transfer-ownership="none">
18914           <type name="none" c:type="void"/>
18915         </return-value>
18916         <parameters>
18917           <parameter name="mode" transfer-ownership="none">
18918             <type name="TagMergeMode" c:type="GstTagMergeMode"/>
18919           </parameter>
18920           <parameter name="tag" transfer-ownership="none">
18921             <type name="utf8" c:type="gchar*"/>
18922           </parameter>
18923           <parameter transfer-ownership="none">
18924             <varargs>
18925             </varargs>
18926           </parameter>
18927         </parameters>
18928       </method>
18929       <method name="add_value" c:identifier="gst_tag_list_add_value">
18930         <return-value transfer-ownership="none">
18931           <type name="none" c:type="void"/>
18932         </return-value>
18933         <parameters>
18934           <parameter name="mode" transfer-ownership="none">
18935             <type name="TagMergeMode" c:type="GstTagMergeMode"/>
18936           </parameter>
18937           <parameter name="tag" transfer-ownership="none">
18938             <type name="utf8" c:type="gchar*"/>
18939           </parameter>
18940           <parameter name="value" transfer-ownership="none">
18941             <type name="GObject.Value" c:type="GValue*"/>
18942           </parameter>
18943         </parameters>
18944       </method>
18945       <method name="remove_tag" c:identifier="gst_tag_list_remove_tag">
18946         <return-value transfer-ownership="none">
18947           <type name="none" c:type="void"/>
18948         </return-value>
18949         <parameters>
18950           <parameter name="tag" transfer-ownership="none">
18951             <type name="utf8" c:type="gchar*"/>
18952           </parameter>
18953         </parameters>
18954       </method>
18955       <method name="foreach" c:identifier="gst_tag_list_foreach">
18956         <return-value transfer-ownership="none">
18957           <type name="none" c:type="void"/>
18958         </return-value>
18959         <parameters>
18960           <parameter name="func"
18961                      transfer-ownership="none"
18962                      scope="call"
18963                      closure="2">
18964             <type name="TagForeachFunc" c:type="GstTagForeachFunc"/>
18965           </parameter>
18966           <parameter name="user_data" transfer-ownership="none">
18967             <type name="any" c:type="gpointer"/>
18968           </parameter>
18969         </parameters>
18970       </method>
18971       <method name="get_value_index"
18972               c:identifier="gst_tag_list_get_value_index">
18973         <return-value transfer-ownership="none">
18974           <type name="GObject.Value" c:type="GValue*"/>
18975         </return-value>
18976         <parameters>
18977           <parameter name="tag" transfer-ownership="none">
18978             <type name="utf8" c:type="gchar*"/>
18979           </parameter>
18980           <parameter name="index" transfer-ownership="none">
18981             <type name="uint" c:type="guint"/>
18982           </parameter>
18983         </parameters>
18984       </method>
18985       <method name="get_char" c:identifier="gst_tag_list_get_char">
18986         <return-value transfer-ownership="none">
18987           <type name="boolean" c:type="gboolean"/>
18988         </return-value>
18989         <parameters>
18990           <parameter name="tag" transfer-ownership="none">
18991             <type name="utf8" c:type="gchar*"/>
18992           </parameter>
18993           <parameter name="value" transfer-ownership="full">
18994             <type name="utf8" c:type="gchar*"/>
18995           </parameter>
18996         </parameters>
18997       </method>
18998       <method name="get_char_index" c:identifier="gst_tag_list_get_char_index">
18999         <return-value transfer-ownership="none">
19000           <type name="boolean" c:type="gboolean"/>
19001         </return-value>
19002         <parameters>
19003           <parameter name="tag" transfer-ownership="none">
19004             <type name="utf8" c:type="gchar*"/>
19005           </parameter>
19006           <parameter name="index" transfer-ownership="none">
19007             <type name="uint" c:type="guint"/>
19008           </parameter>
19009           <parameter name="value" transfer-ownership="full">
19010             <type name="utf8" c:type="gchar*"/>
19011           </parameter>
19012         </parameters>
19013       </method>
19014       <method name="get_uchar" c:identifier="gst_tag_list_get_uchar">
19015         <return-value transfer-ownership="none">
19016           <type name="boolean" c:type="gboolean"/>
19017         </return-value>
19018         <parameters>
19019           <parameter name="tag" transfer-ownership="none">
19020             <type name="utf8" c:type="gchar*"/>
19021           </parameter>
19022           <parameter name="value" transfer-ownership="none">
19023             <array c:type="guchar*">
19024               <type name="uint8"/>
19025             </array>
19026           </parameter>
19027         </parameters>
19028       </method>
19029       <method name="get_uchar_index"
19030               c:identifier="gst_tag_list_get_uchar_index">
19031         <return-value transfer-ownership="none">
19032           <type name="boolean" c:type="gboolean"/>
19033         </return-value>
19034         <parameters>
19035           <parameter name="tag" transfer-ownership="none">
19036             <type name="utf8" c:type="gchar*"/>
19037           </parameter>
19038           <parameter name="index" transfer-ownership="none">
19039             <type name="uint" c:type="guint"/>
19040           </parameter>
19041           <parameter name="value" transfer-ownership="none">
19042             <array c:type="guchar*">
19043               <type name="uint8"/>
19044             </array>
19045           </parameter>
19046         </parameters>
19047       </method>
19048       <method name="get_boolean" c:identifier="gst_tag_list_get_boolean">
19049         <return-value transfer-ownership="none">
19050           <type name="boolean" c:type="gboolean"/>
19051         </return-value>
19052         <parameters>
19053           <parameter name="tag" transfer-ownership="none">
19054             <type name="utf8" c:type="gchar*"/>
19055           </parameter>
19056           <parameter name="value"
19057                      direction="out"
19058                      caller-allocates="0"
19059                      transfer-ownership="full">
19060             <type name="boolean" c:type="gboolean*"/>
19061           </parameter>
19062         </parameters>
19063       </method>
19064       <method name="get_boolean_index"
19065               c:identifier="gst_tag_list_get_boolean_index">
19066         <return-value transfer-ownership="none">
19067           <type name="boolean" c:type="gboolean"/>
19068         </return-value>
19069         <parameters>
19070           <parameter name="tag" transfer-ownership="none">
19071             <type name="utf8" c:type="gchar*"/>
19072           </parameter>
19073           <parameter name="index" transfer-ownership="none">
19074             <type name="uint" c:type="guint"/>
19075           </parameter>
19076           <parameter name="value"
19077                      direction="out"
19078                      caller-allocates="0"
19079                      transfer-ownership="full">
19080             <type name="boolean" c:type="gboolean*"/>
19081           </parameter>
19082         </parameters>
19083       </method>
19084       <method name="get_int" c:identifier="gst_tag_list_get_int">
19085         <return-value transfer-ownership="none">
19086           <type name="boolean" c:type="gboolean"/>
19087         </return-value>
19088         <parameters>
19089           <parameter name="tag" transfer-ownership="none">
19090             <type name="utf8" c:type="gchar*"/>
19091           </parameter>
19092           <parameter name="value"
19093                      direction="out"
19094                      caller-allocates="0"
19095                      transfer-ownership="full">
19096             <type name="int" c:type="gint*"/>
19097           </parameter>
19098         </parameters>
19099       </method>
19100       <method name="get_int_index" c:identifier="gst_tag_list_get_int_index">
19101         <return-value transfer-ownership="none">
19102           <type name="boolean" c:type="gboolean"/>
19103         </return-value>
19104         <parameters>
19105           <parameter name="tag" transfer-ownership="none">
19106             <type name="utf8" c:type="gchar*"/>
19107           </parameter>
19108           <parameter name="index" transfer-ownership="none">
19109             <type name="uint" c:type="guint"/>
19110           </parameter>
19111           <parameter name="value"
19112                      direction="out"
19113                      caller-allocates="0"
19114                      transfer-ownership="full">
19115             <type name="int" c:type="gint*"/>
19116           </parameter>
19117         </parameters>
19118       </method>
19119       <method name="get_uint" c:identifier="gst_tag_list_get_uint">
19120         <return-value transfer-ownership="none">
19121           <type name="boolean" c:type="gboolean"/>
19122         </return-value>
19123         <parameters>
19124           <parameter name="tag" transfer-ownership="none">
19125             <type name="utf8" c:type="gchar*"/>
19126           </parameter>
19127           <parameter name="value"
19128                      direction="out"
19129                      caller-allocates="0"
19130                      transfer-ownership="full">
19131             <type name="uint" c:type="guint*"/>
19132           </parameter>
19133         </parameters>
19134       </method>
19135       <method name="get_uint_index" c:identifier="gst_tag_list_get_uint_index">
19136         <return-value transfer-ownership="none">
19137           <type name="boolean" c:type="gboolean"/>
19138         </return-value>
19139         <parameters>
19140           <parameter name="tag" transfer-ownership="none">
19141             <type name="utf8" c:type="gchar*"/>
19142           </parameter>
19143           <parameter name="index" transfer-ownership="none">
19144             <type name="uint" c:type="guint"/>
19145           </parameter>
19146           <parameter name="value"
19147                      direction="out"
19148                      caller-allocates="0"
19149                      transfer-ownership="full">
19150             <type name="uint" c:type="guint*"/>
19151           </parameter>
19152         </parameters>
19153       </method>
19154       <method name="get_long" c:identifier="gst_tag_list_get_long">
19155         <return-value transfer-ownership="none">
19156           <type name="boolean" c:type="gboolean"/>
19157         </return-value>
19158         <parameters>
19159           <parameter name="tag" transfer-ownership="none">
19160             <type name="utf8" c:type="gchar*"/>
19161           </parameter>
19162           <parameter name="value"
19163                      direction="out"
19164                      caller-allocates="0"
19165                      transfer-ownership="full">
19166             <type name="long" c:type="glong*"/>
19167           </parameter>
19168         </parameters>
19169       </method>
19170       <method name="get_long_index" c:identifier="gst_tag_list_get_long_index">
19171         <return-value transfer-ownership="none">
19172           <type name="boolean" c:type="gboolean"/>
19173         </return-value>
19174         <parameters>
19175           <parameter name="tag" transfer-ownership="none">
19176             <type name="utf8" c:type="gchar*"/>
19177           </parameter>
19178           <parameter name="index" transfer-ownership="none">
19179             <type name="uint" c:type="guint"/>
19180           </parameter>
19181           <parameter name="value"
19182                      direction="out"
19183                      caller-allocates="0"
19184                      transfer-ownership="full">
19185             <type name="long" c:type="glong*"/>
19186           </parameter>
19187         </parameters>
19188       </method>
19189       <method name="get_ulong" c:identifier="gst_tag_list_get_ulong">
19190         <return-value transfer-ownership="none">
19191           <type name="boolean" c:type="gboolean"/>
19192         </return-value>
19193         <parameters>
19194           <parameter name="tag" transfer-ownership="none">
19195             <type name="utf8" c:type="gchar*"/>
19196           </parameter>
19197           <parameter name="value"
19198                      direction="out"
19199                      caller-allocates="0"
19200                      transfer-ownership="full">
19201             <type name="ulong" c:type="gulong*"/>
19202           </parameter>
19203         </parameters>
19204       </method>
19205       <method name="get_ulong_index"
19206               c:identifier="gst_tag_list_get_ulong_index">
19207         <return-value transfer-ownership="none">
19208           <type name="boolean" c:type="gboolean"/>
19209         </return-value>
19210         <parameters>
19211           <parameter name="tag" transfer-ownership="none">
19212             <type name="utf8" c:type="gchar*"/>
19213           </parameter>
19214           <parameter name="index" transfer-ownership="none">
19215             <type name="uint" c:type="guint"/>
19216           </parameter>
19217           <parameter name="value"
19218                      direction="out"
19219                      caller-allocates="0"
19220                      transfer-ownership="full">
19221             <type name="ulong" c:type="gulong*"/>
19222           </parameter>
19223         </parameters>
19224       </method>
19225       <method name="get_int64" c:identifier="gst_tag_list_get_int64">
19226         <return-value transfer-ownership="none">
19227           <type name="boolean" c:type="gboolean"/>
19228         </return-value>
19229         <parameters>
19230           <parameter name="tag" transfer-ownership="none">
19231             <type name="utf8" c:type="gchar*"/>
19232           </parameter>
19233           <parameter name="value"
19234                      direction="out"
19235                      caller-allocates="0"
19236                      transfer-ownership="full">
19237             <type name="int64" c:type="gint64*"/>
19238           </parameter>
19239         </parameters>
19240       </method>
19241       <method name="get_int64_index"
19242               c:identifier="gst_tag_list_get_int64_index">
19243         <return-value transfer-ownership="none">
19244           <type name="boolean" c:type="gboolean"/>
19245         </return-value>
19246         <parameters>
19247           <parameter name="tag" transfer-ownership="none">
19248             <type name="utf8" c:type="gchar*"/>
19249           </parameter>
19250           <parameter name="index" transfer-ownership="none">
19251             <type name="uint" c:type="guint"/>
19252           </parameter>
19253           <parameter name="value"
19254                      direction="out"
19255                      caller-allocates="0"
19256                      transfer-ownership="full">
19257             <type name="int64" c:type="gint64*"/>
19258           </parameter>
19259         </parameters>
19260       </method>
19261       <method name="get_uint64" c:identifier="gst_tag_list_get_uint64">
19262         <return-value transfer-ownership="none">
19263           <type name="boolean" c:type="gboolean"/>
19264         </return-value>
19265         <parameters>
19266           <parameter name="tag" transfer-ownership="none">
19267             <type name="utf8" c:type="gchar*"/>
19268           </parameter>
19269           <parameter name="value"
19270                      direction="out"
19271                      caller-allocates="0"
19272                      transfer-ownership="full">
19273             <type name="uint64" c:type="guint64*"/>
19274           </parameter>
19275         </parameters>
19276       </method>
19277       <method name="get_uint64_index"
19278               c:identifier="gst_tag_list_get_uint64_index">
19279         <return-value transfer-ownership="none">
19280           <type name="boolean" c:type="gboolean"/>
19281         </return-value>
19282         <parameters>
19283           <parameter name="tag" transfer-ownership="none">
19284             <type name="utf8" c:type="gchar*"/>
19285           </parameter>
19286           <parameter name="index" transfer-ownership="none">
19287             <type name="uint" c:type="guint"/>
19288           </parameter>
19289           <parameter name="value"
19290                      direction="out"
19291                      caller-allocates="0"
19292                      transfer-ownership="full">
19293             <type name="uint64" c:type="guint64*"/>
19294           </parameter>
19295         </parameters>
19296       </method>
19297       <method name="get_float" c:identifier="gst_tag_list_get_float">
19298         <return-value transfer-ownership="none">
19299           <type name="boolean" c:type="gboolean"/>
19300         </return-value>
19301         <parameters>
19302           <parameter name="tag" transfer-ownership="none">
19303             <type name="utf8" c:type="gchar*"/>
19304           </parameter>
19305           <parameter name="value"
19306                      direction="out"
19307                      caller-allocates="0"
19308                      transfer-ownership="full">
19309             <type name="float" c:type="gfloat*"/>
19310           </parameter>
19311         </parameters>
19312       </method>
19313       <method name="get_float_index"
19314               c:identifier="gst_tag_list_get_float_index">
19315         <return-value transfer-ownership="none">
19316           <type name="boolean" c:type="gboolean"/>
19317         </return-value>
19318         <parameters>
19319           <parameter name="tag" transfer-ownership="none">
19320             <type name="utf8" c:type="gchar*"/>
19321           </parameter>
19322           <parameter name="index" transfer-ownership="none">
19323             <type name="uint" c:type="guint"/>
19324           </parameter>
19325           <parameter name="value"
19326                      direction="out"
19327                      caller-allocates="0"
19328                      transfer-ownership="full">
19329             <type name="float" c:type="gfloat*"/>
19330           </parameter>
19331         </parameters>
19332       </method>
19333       <method name="get_double" c:identifier="gst_tag_list_get_double">
19334         <return-value transfer-ownership="none">
19335           <type name="boolean" c:type="gboolean"/>
19336         </return-value>
19337         <parameters>
19338           <parameter name="tag" transfer-ownership="none">
19339             <type name="utf8" c:type="gchar*"/>
19340           </parameter>
19341           <parameter name="value"
19342                      direction="out"
19343                      caller-allocates="0"
19344                      transfer-ownership="full">
19345             <type name="double" c:type="gdouble*"/>
19346           </parameter>
19347         </parameters>
19348       </method>
19349       <method name="get_double_index"
19350               c:identifier="gst_tag_list_get_double_index">
19351         <return-value transfer-ownership="none">
19352           <type name="boolean" c:type="gboolean"/>
19353         </return-value>
19354         <parameters>
19355           <parameter name="tag" transfer-ownership="none">
19356             <type name="utf8" c:type="gchar*"/>
19357           </parameter>
19358           <parameter name="index" transfer-ownership="none">
19359             <type name="uint" c:type="guint"/>
19360           </parameter>
19361           <parameter name="value"
19362                      direction="out"
19363                      caller-allocates="0"
19364                      transfer-ownership="full">
19365             <type name="double" c:type="gdouble*"/>
19366           </parameter>
19367         </parameters>
19368       </method>
19369       <method name="get_string" c:identifier="gst_tag_list_get_string">
19370         <return-value transfer-ownership="none">
19371           <type name="boolean" c:type="gboolean"/>
19372         </return-value>
19373         <parameters>
19374           <parameter name="tag" transfer-ownership="none">
19375             <type name="utf8" c:type="gchar*"/>
19376           </parameter>
19377           <parameter name="value" transfer-ownership="none">
19378             <array c:type="gchar**">
19379               <type name="utf8"/>
19380             </array>
19381           </parameter>
19382         </parameters>
19383       </method>
19384       <method name="get_string_index"
19385               c:identifier="gst_tag_list_get_string_index">
19386         <return-value transfer-ownership="none">
19387           <type name="boolean" c:type="gboolean"/>
19388         </return-value>
19389         <parameters>
19390           <parameter name="tag" transfer-ownership="none">
19391             <type name="utf8" c:type="gchar*"/>
19392           </parameter>
19393           <parameter name="index" transfer-ownership="none">
19394             <type name="uint" c:type="guint"/>
19395           </parameter>
19396           <parameter name="value" transfer-ownership="none">
19397             <array c:type="gchar**">
19398               <type name="utf8"/>
19399             </array>
19400           </parameter>
19401         </parameters>
19402       </method>
19403       <method name="peek_string_index"
19404               c:identifier="gst_tag_list_peek_string_index">
19405         <return-value transfer-ownership="none">
19406           <type name="boolean" c:type="gboolean"/>
19407         </return-value>
19408         <parameters>
19409           <parameter name="tag" transfer-ownership="none">
19410             <type name="utf8" c:type="gchar*"/>
19411           </parameter>
19412           <parameter name="index" transfer-ownership="none">
19413             <type name="uint" c:type="guint"/>
19414           </parameter>
19415           <parameter name="value" transfer-ownership="none">
19416             <array c:type="gchar**">
19417               <type name="utf8"/>
19418             </array>
19419           </parameter>
19420         </parameters>
19421       </method>
19422       <method name="get_pointer" c:identifier="gst_tag_list_get_pointer">
19423         <return-value transfer-ownership="none">
19424           <type name="boolean" c:type="gboolean"/>
19425         </return-value>
19426         <parameters>
19427           <parameter name="tag" transfer-ownership="none">
19428             <type name="utf8" c:type="gchar*"/>
19429           </parameter>
19430           <parameter name="value" transfer-ownership="none">
19431             <type name="any" c:type="gpointer*"/>
19432           </parameter>
19433         </parameters>
19434       </method>
19435       <method name="get_pointer_index"
19436               c:identifier="gst_tag_list_get_pointer_index">
19437         <return-value transfer-ownership="none">
19438           <type name="boolean" c:type="gboolean"/>
19439         </return-value>
19440         <parameters>
19441           <parameter name="tag" transfer-ownership="none">
19442             <type name="utf8" c:type="gchar*"/>
19443           </parameter>
19444           <parameter name="index" transfer-ownership="none">
19445             <type name="uint" c:type="guint"/>
19446           </parameter>
19447           <parameter name="value" transfer-ownership="none">
19448             <type name="any" c:type="gpointer*"/>
19449           </parameter>
19450         </parameters>
19451       </method>
19452       <method name="get_date" c:identifier="gst_tag_list_get_date">
19453         <return-value transfer-ownership="none">
19454           <type name="boolean" c:type="gboolean"/>
19455         </return-value>
19456         <parameters>
19457           <parameter name="tag" transfer-ownership="none">
19458             <type name="utf8" c:type="gchar*"/>
19459           </parameter>
19460           <parameter name="value" transfer-ownership="none">
19461             <type name="GLib.Date" c:type="GDate**"/>
19462           </parameter>
19463         </parameters>
19464       </method>
19465       <method name="get_date_index" c:identifier="gst_tag_list_get_date_index">
19466         <return-value transfer-ownership="none">
19467           <type name="boolean" c:type="gboolean"/>
19468         </return-value>
19469         <parameters>
19470           <parameter name="tag" transfer-ownership="none">
19471             <type name="utf8" c:type="gchar*"/>
19472           </parameter>
19473           <parameter name="index" transfer-ownership="none">
19474             <type name="uint" c:type="guint"/>
19475           </parameter>
19476           <parameter name="value" transfer-ownership="none">
19477             <type name="GLib.Date" c:type="GDate**"/>
19478           </parameter>
19479         </parameters>
19480       </method>
19481       <method name="get_buffer" c:identifier="gst_tag_list_get_buffer">
19482         <return-value transfer-ownership="none">
19483           <type name="boolean" c:type="gboolean"/>
19484         </return-value>
19485         <parameters>
19486           <parameter name="tag" transfer-ownership="none">
19487             <type name="utf8" c:type="gchar*"/>
19488           </parameter>
19489           <parameter name="value" transfer-ownership="none">
19490             <type name="Buffer" c:type="GstBuffer**"/>
19491           </parameter>
19492         </parameters>
19493       </method>
19494       <method name="get_buffer_index"
19495               c:identifier="gst_tag_list_get_buffer_index">
19496         <return-value transfer-ownership="none">
19497           <type name="boolean" c:type="gboolean"/>
19498         </return-value>
19499         <parameters>
19500           <parameter name="tag" transfer-ownership="none">
19501             <type name="utf8" c:type="gchar*"/>
19502           </parameter>
19503           <parameter name="index" transfer-ownership="none">
19504             <type name="uint" c:type="guint"/>
19505           </parameter>
19506           <parameter name="value" transfer-ownership="none">
19507             <type name="Buffer" c:type="GstBuffer**"/>
19508           </parameter>
19509         </parameters>
19510       </method>
19511     </glib:boxed>
19512     <callback name="TagMergeFunc" c:type="GstTagMergeFunc">
19513       <doc xml:whitespace="preserve">A function for merging multiple values of a tag used when registering
19514 tags.</doc>
19515       <return-value transfer-ownership="none">
19516         <type name="none" c:type="void"/>
19517       </return-value>
19518       <parameters>
19519         <parameter name="dest" transfer-ownership="none">
19520           <doc xml:whitespace="preserve">the destination #GValue</doc>
19521           <type name="GObject.Value" c:type="GValue*"/>
19522         </parameter>
19523         <parameter name="src" transfer-ownership="none">
19524           <doc xml:whitespace="preserve">the source #GValue</doc>
19525           <type name="GObject.Value" c:type="GValue*"/>
19526         </parameter>
19527       </parameters>
19528     </callback>
19529     <enumeration name="TagMergeMode"
19530                  glib:type-name="GstTagMergeMode"
19531                  glib:get-type="gst_tag_merge_mode_get_type"
19532                  c:type="GstTagMergeMode">
19533       <doc xml:whitespace="preserve">The different tag merging modes are basically replace, overwrite and append,
19534 already in the element and (B) the ones that are supplied to the element (
19535 e.g. via gst_tag_setter_merge_tags() / gst_tag_setter_add_tags() or a
19536 %GST_EVENT_TAG), how are these tags merged?
19537 In the table below this is shown for the cases that a tag exists in the list
19538 (A) or does not exists (!A) and combinations thereof.
19539 &lt;table frame="all" colsep="1" rowsep="1"&gt;
19540 &lt;title&gt;merge mode&lt;/title&gt;
19541 &lt;tgroup cols='5' align='left'&gt;
19542 &lt;thead&gt;
19543 &lt;row&gt;
19544 &lt;entry&gt;merge mode&lt;/entry&gt;
19545 &lt;entry&gt;A + B&lt;/entry&gt;
19546 &lt;entry&gt;A + !B&lt;/entry&gt;
19547 &lt;entry&gt;!A + B&lt;/entry&gt;
19548 &lt;entry&gt;!A + !B&lt;/entry&gt;
19549 &lt;/row&gt;
19550 &lt;/thead&gt;
19551 &lt;tbody&gt;
19552 &lt;row&gt;
19553 &lt;entry&gt;REPLACE_ALL&lt;/entry&gt;
19554 &lt;entry&gt;B&lt;/entry&gt;
19555 &lt;entry&gt;-&lt;/entry&gt;
19556 &lt;entry&gt;B&lt;/entry&gt;
19557 &lt;entry&gt;-&lt;/entry&gt;
19558 &lt;/row&gt;
19559 &lt;row&gt;
19560 &lt;entry&gt;REPLACE&lt;/entry&gt;
19561 &lt;entry&gt;B&lt;/entry&gt;
19562 &lt;entry&gt;A&lt;/entry&gt;
19563 &lt;entry&gt;B&lt;/entry&gt;
19564 &lt;entry&gt;-&lt;/entry&gt;
19565 &lt;/row&gt;
19566 &lt;row&gt;
19567 &lt;entry&gt;APPEND&lt;/entry&gt;
19568 &lt;entry&gt;A, B&lt;/entry&gt;
19569 &lt;entry&gt;A&lt;/entry&gt;
19570 &lt;entry&gt;B&lt;/entry&gt;
19571 &lt;entry&gt;-&lt;/entry&gt;
19572 &lt;/row&gt;
19573 &lt;row&gt;
19574 &lt;entry&gt;PREPEND&lt;/entry&gt;
19575 &lt;entry&gt;B, A&lt;/entry&gt;
19576 &lt;entry&gt;A&lt;/entry&gt;
19577 &lt;entry&gt;B&lt;/entry&gt;
19578 &lt;entry&gt;-&lt;/entry&gt;
19579 &lt;/row&gt;
19580 &lt;row&gt;
19581 &lt;entry&gt;KEEP&lt;/entry&gt;
19582 &lt;entry&gt;A&lt;/entry&gt;
19583 &lt;entry&gt;A&lt;/entry&gt;
19584 &lt;entry&gt;B&lt;/entry&gt;
19585 &lt;entry&gt;-&lt;/entry&gt;
19586 &lt;/row&gt;
19587 &lt;row&gt;
19588 &lt;entry&gt;KEEP_ALL&lt;/entry&gt;
19589 &lt;entry&gt;A&lt;/entry&gt;
19590 &lt;entry&gt;A&lt;/entry&gt;
19591 &lt;entry&gt;-&lt;/entry&gt;
19592 &lt;entry&gt;-&lt;/entry&gt;
19593 &lt;/row&gt;
19594 &lt;/tbody&gt;
19595 &lt;/tgroup&gt;
19596 &lt;/table&gt;</doc>
19597       <member name="undefined"
19598               value="0"
19599               c:identifier="GST_TAG_MERGE_UNDEFINED"
19600               glib:nick="undefined"/>
19601       <member name="replace_all"
19602               value="1"
19603               c:identifier="GST_TAG_MERGE_REPLACE_ALL"
19604               glib:nick="replace-all"/>
19605       <member name="replace"
19606               value="2"
19607               c:identifier="GST_TAG_MERGE_REPLACE"
19608               glib:nick="replace"/>
19609       <member name="append"
19610               value="3"
19611               c:identifier="GST_TAG_MERGE_APPEND"
19612               glib:nick="append"/>
19613       <member name="prepend"
19614               value="4"
19615               c:identifier="GST_TAG_MERGE_PREPEND"
19616               glib:nick="prepend"/>
19617       <member name="keep"
19618               value="5"
19619               c:identifier="GST_TAG_MERGE_KEEP"
19620               glib:nick="keep"/>
19621       <member name="keep_all"
19622               value="6"
19623               c:identifier="GST_TAG_MERGE_KEEP_ALL"
19624               glib:nick="keep-all"/>
19625       <member name="count"
19626               value="7"
19627               c:identifier="GST_TAG_MERGE_COUNT"
19628               glib:nick="count"/>
19629     </enumeration>
19630     <interface name="TagSetter"
19631                c:type="GstTagSetter"
19632                glib:type-name="GstTagSetter"
19633                glib:get-type="gst_tag_setter_get_type">
19634       <doc xml:whitespace="preserve">Opaque #GstTagSetter data structure.</doc>
19635       <prerequisite name="Element"/>
19636       <method name="reset_tags" c:identifier="gst_tag_setter_reset_tags">
19637         <return-value transfer-ownership="none">
19638           <type name="none" c:type="void"/>
19639         </return-value>
19640       </method>
19641       <method name="merge_tags" c:identifier="gst_tag_setter_merge_tags">
19642         <return-value transfer-ownership="none">
19643           <type name="none" c:type="void"/>
19644         </return-value>
19645         <parameters>
19646           <parameter name="list" transfer-ownership="none">
19647             <type name="TagList" c:type="GstTagList*"/>
19648           </parameter>
19649           <parameter name="mode" transfer-ownership="none">
19650             <type name="TagMergeMode" c:type="GstTagMergeMode"/>
19651           </parameter>
19652         </parameters>
19653       </method>
19654       <method name="add_tags"
19655               c:identifier="gst_tag_setter_add_tags"
19656               introspectable="0">
19657         <return-value transfer-ownership="none">
19658           <type name="none" c:type="void"/>
19659         </return-value>
19660         <parameters>
19661           <parameter name="mode" transfer-ownership="none">
19662             <type name="TagMergeMode" c:type="GstTagMergeMode"/>
19663           </parameter>
19664           <parameter name="tag" transfer-ownership="none">
19665             <type name="utf8" c:type="gchar*"/>
19666           </parameter>
19667           <parameter transfer-ownership="none">
19668             <varargs>
19669             </varargs>
19670           </parameter>
19671         </parameters>
19672       </method>
19673       <method name="add_tag_values"
19674               c:identifier="gst_tag_setter_add_tag_values"
19675               introspectable="0">
19676         <return-value transfer-ownership="none">
19677           <type name="none" c:type="void"/>
19678         </return-value>
19679         <parameters>
19680           <parameter name="mode" transfer-ownership="none">
19681             <type name="TagMergeMode" c:type="GstTagMergeMode"/>
19682           </parameter>
19683           <parameter name="tag" transfer-ownership="none">
19684             <type name="utf8" c:type="gchar*"/>
19685           </parameter>
19686           <parameter transfer-ownership="none">
19687             <varargs>
19688             </varargs>
19689           </parameter>
19690         </parameters>
19691       </method>
19692       <method name="add_tag_value" c:identifier="gst_tag_setter_add_tag_value">
19693         <return-value transfer-ownership="none">
19694           <type name="none" c:type="void"/>
19695         </return-value>
19696         <parameters>
19697           <parameter name="mode" transfer-ownership="none">
19698             <type name="TagMergeMode" c:type="GstTagMergeMode"/>
19699           </parameter>
19700           <parameter name="tag" transfer-ownership="none">
19701             <type name="utf8" c:type="gchar*"/>
19702           </parameter>
19703           <parameter name="value" transfer-ownership="none">
19704             <type name="GObject.Value" c:type="GValue*"/>
19705           </parameter>
19706         </parameters>
19707       </method>
19708       <method name="get_tag_list" c:identifier="gst_tag_setter_get_tag_list">
19709         <return-value transfer-ownership="none">
19710           <type name="TagList" c:type="GstTagList*"/>
19711         </return-value>
19712       </method>
19713       <method name="set_tag_merge_mode"
19714               c:identifier="gst_tag_setter_set_tag_merge_mode">
19715         <return-value transfer-ownership="none">
19716           <type name="none" c:type="void"/>
19717         </return-value>
19718         <parameters>
19719           <parameter name="mode" transfer-ownership="none">
19720             <type name="TagMergeMode" c:type="GstTagMergeMode"/>
19721           </parameter>
19722         </parameters>
19723       </method>
19724       <method name="get_tag_merge_mode"
19725               c:identifier="gst_tag_setter_get_tag_merge_mode">
19726         <return-value transfer-ownership="full">
19727           <type name="TagMergeMode" c:type="GstTagMergeMode"/>
19728         </return-value>
19729       </method>
19730     </interface>
19731     <record name="TagSetterIFace" c:type="GstTagSetterIFace">
19732       <doc xml:whitespace="preserve">#GstTagSetterIFace interface.</doc>
19733       <field name="g_iface" writable="1">
19734         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
19735       </field>
19736     </record>
19737     <class name="Task"
19738            c:type="GstTask"
19739            parent="Object"
19740            glib:type-name="GstTask"
19741            glib:get-type="gst_task_get_type"
19742            glib:type-struct="TaskClass">
19743       <doc xml:whitespace="preserve">The #GstTask object.</doc>
19744       <function name="cleanup_all" c:identifier="gst_task_cleanup_all">
19745         <return-value transfer-ownership="none">
19746           <type name="none" c:type="void"/>
19747         </return-value>
19748       </function>
19749       <function name="create" c:identifier="gst_task_create">
19750         <return-value transfer-ownership="full">
19751           <type name="Task" c:type="GstTask*"/>
19752         </return-value>
19753         <parameters>
19754           <parameter name="func"
19755                      transfer-ownership="none"
19756                      scope="call"
19757                      closure="1">
19758             <type name="TaskFunction" c:type="GstTaskFunction"/>
19759           </parameter>
19760           <parameter name="data" transfer-ownership="none">
19761             <type name="any" c:type="gpointer"/>
19762           </parameter>
19763         </parameters>
19764       </function>
19765       <method name="set_lock" c:identifier="gst_task_set_lock">
19766         <return-value transfer-ownership="none">
19767           <type name="none" c:type="void"/>
19768         </return-value>
19769         <parameters>
19770           <parameter name="mutex" transfer-ownership="none">
19771             <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex*"/>
19772           </parameter>
19773         </parameters>
19774       </method>
19775       <method name="set_priority" c:identifier="gst_task_set_priority">
19776         <return-value transfer-ownership="none">
19777           <type name="none" c:type="void"/>
19778         </return-value>
19779         <parameters>
19780           <parameter name="priority" transfer-ownership="none">
19781             <type name="GLib.ThreadPriority" c:type="GThreadPriority"/>
19782           </parameter>
19783         </parameters>
19784       </method>
19785       <method name="get_pool" c:identifier="gst_task_get_pool">
19786         <return-value transfer-ownership="full">
19787           <type name="TaskPool" c:type="GstTaskPool*"/>
19788         </return-value>
19789       </method>
19790       <method name="set_pool" c:identifier="gst_task_set_pool">
19791         <return-value transfer-ownership="none">
19792           <type name="none" c:type="void"/>
19793         </return-value>
19794         <parameters>
19795           <parameter name="pool" transfer-ownership="none">
19796             <type name="TaskPool" c:type="GstTaskPool*"/>
19797           </parameter>
19798         </parameters>
19799       </method>
19800       <method name="set_thread_callbacks"
19801               c:identifier="gst_task_set_thread_callbacks">
19802         <return-value transfer-ownership="none">
19803           <type name="none" c:type="void"/>
19804         </return-value>
19805         <parameters>
19806           <parameter name="callbacks" transfer-ownership="none">
19807             <type name="TaskThreadCallbacks" c:type="GstTaskThreadCallbacks*"/>
19808           </parameter>
19809           <parameter name="user_data" transfer-ownership="none">
19810             <type name="any" c:type="gpointer"/>
19811           </parameter>
19812           <parameter name="notify" transfer-ownership="none" scope="call">
19813             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
19814           </parameter>
19815         </parameters>
19816       </method>
19817       <method name="get_state" c:identifier="gst_task_get_state">
19818         <return-value transfer-ownership="full">
19819           <type name="TaskState" c:type="GstTaskState"/>
19820         </return-value>
19821       </method>
19822       <method name="set_state" c:identifier="gst_task_set_state">
19823         <return-value transfer-ownership="none">
19824           <type name="boolean" c:type="gboolean"/>
19825         </return-value>
19826         <parameters>
19827           <parameter name="state" transfer-ownership="none">
19828             <type name="TaskState" c:type="GstTaskState"/>
19829           </parameter>
19830         </parameters>
19831       </method>
19832       <method name="start" c:identifier="gst_task_start">
19833         <return-value transfer-ownership="none">
19834           <type name="boolean" c:type="gboolean"/>
19835         </return-value>
19836       </method>
19837       <method name="stop" c:identifier="gst_task_stop">
19838         <return-value transfer-ownership="none">
19839           <type name="boolean" c:type="gboolean"/>
19840         </return-value>
19841       </method>
19842       <method name="pause" c:identifier="gst_task_pause">
19843         <return-value transfer-ownership="none">
19844           <type name="boolean" c:type="gboolean"/>
19845         </return-value>
19846       </method>
19847       <method name="join" c:identifier="gst_task_join">
19848         <return-value transfer-ownership="none">
19849           <type name="boolean" c:type="gboolean"/>
19850         </return-value>
19851       </method>
19852       <field name="object">
19853         <type name="Object" c:type="GstObject"/>
19854       </field>
19855       <field name="state">
19856         <type name="TaskState" c:type="GstTaskState"/>
19857       </field>
19858       <field name="cond">
19859         <type name="GLib.Cond" c:type="GCond*"/>
19860       </field>
19861       <field name="lock">
19862         <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex*"/>
19863       </field>
19864       <field name="func">
19865         <type name="TaskFunction" c:type="GstTaskFunction"/>
19866       </field>
19867       <field name="data">
19868         <type name="any" c:type="gpointer"/>
19869       </field>
19870       <field name="running">
19871         <type name="boolean" c:type="gboolean"/>
19872       </field>
19873       <union name="abidata" c:type="abidata">
19874         <record name="ABI" c:type="ABI">
19875           <field name="thread" writable="1">
19876             <type name="GLib.Thread" c:type="GThread*"/>
19877           </field>
19878         </record>
19879         <field name="_gst_reserved" writable="1">
19880           <array zero-terminated="0" c:type="gpointer" fixed-size="3">
19881             <type name="any"/>
19882           </array>
19883         </field>
19884       </union>
19885       <field name="priv">
19886         <type name="TaskPrivate" c:type="GstTaskPrivate*"/>
19887       </field>
19888     </class>
19889     <record name="TaskClass"
19890             c:type="GstTaskClass"
19891             glib:is-gtype-struct-for="Task">
19892       <field name="parent_class">
19893         <type name="ObjectClass" c:type="GstObjectClass"/>
19894       </field>
19895       <field name="pool">
19896         <type name="TaskPool" c:type="GstTaskPool*"/>
19897       </field>
19898       <field name="_gst_reserved">
19899         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
19900           <type name="any"/>
19901         </array>
19902       </field>
19903     </record>
19904     <callback name="TaskFunction" c:type="GstTaskFunction">
19905       <doc xml:whitespace="preserve">A function that will repeatedly be called in the thread created by
19906 a #GstTask.</doc>
19907       <return-value transfer-ownership="none">
19908         <type name="none" c:type="void"/>
19909       </return-value>
19910       <parameters>
19911         <parameter name="data" transfer-ownership="none">
19912           <doc xml:whitespace="preserve">user data passed to the function</doc>
19913           <type name="any" c:type="void*"/>
19914         </parameter>
19915       </parameters>
19916     </callback>
19917     <class name="TaskPool"
19918            c:type="GstTaskPool"
19919            parent="Object"
19920            glib:type-name="GstTaskPool"
19921            glib:get-type="gst_task_pool_get_type"
19922            glib:type-struct="TaskPoolClass">
19923       <doc xml:whitespace="preserve">The #GstTaskPool object.</doc>
19924       <constructor name="new" c:identifier="gst_task_pool_new">
19925         <return-value transfer-ownership="full">
19926           <type name="TaskPool" c:type="GstTaskPool*"/>
19927         </return-value>
19928       </constructor>
19929       <virtual-method name="prepare" invoker="prepare" throws="1">
19930         <return-value transfer-ownership="none">
19931           <type name="none" c:type="void"/>
19932         </return-value>
19933       </virtual-method>
19934       <virtual-method name="cleanup" invoker="cleanup">
19935         <return-value transfer-ownership="none">
19936           <type name="none" c:type="void"/>
19937         </return-value>
19938       </virtual-method>
19939       <virtual-method name="push" invoker="push" throws="1">
19940         <return-value transfer-ownership="none">
19941           <type name="any" c:type="gpointer"/>
19942         </return-value>
19943         <parameters>
19944           <parameter name="func" transfer-ownership="none">
19945             <type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
19946           </parameter>
19947           <parameter name="user_data" transfer-ownership="none" closure="2">
19948             <type name="any" c:type="gpointer"/>
19949           </parameter>
19950         </parameters>
19951       </virtual-method>
19952       <virtual-method name="join" invoker="join">
19953         <return-value transfer-ownership="none">
19954           <type name="none" c:type="void"/>
19955         </return-value>
19956         <parameters>
19957           <parameter name="id" transfer-ownership="none">
19958             <type name="any" c:type="gpointer"/>
19959           </parameter>
19960         </parameters>
19961       </virtual-method>
19962       <method name="prepare" c:identifier="gst_task_pool_prepare" throws="1">
19963         <return-value transfer-ownership="none">
19964           <type name="none" c:type="void"/>
19965         </return-value>
19966       </method>
19967       <method name="push" c:identifier="gst_task_pool_push" throws="1">
19968         <return-value transfer-ownership="none">
19969           <type name="any" c:type="gpointer"/>
19970         </return-value>
19971         <parameters>
19972           <parameter name="func"
19973                      transfer-ownership="none"
19974                      scope="call"
19975                      closure="2">
19976             <type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
19977           </parameter>
19978           <parameter name="user_data" transfer-ownership="none">
19979             <type name="any" c:type="gpointer"/>
19980           </parameter>
19981         </parameters>
19982       </method>
19983       <method name="join" c:identifier="gst_task_pool_join">
19984         <return-value transfer-ownership="none">
19985           <type name="none" c:type="void"/>
19986         </return-value>
19987         <parameters>
19988           <parameter name="id" transfer-ownership="none">
19989             <type name="any" c:type="gpointer"/>
19990           </parameter>
19991         </parameters>
19992       </method>
19993       <method name="cleanup" c:identifier="gst_task_pool_cleanup">
19994         <return-value transfer-ownership="none">
19995           <type name="none" c:type="void"/>
19996         </return-value>
19997       </method>
19998       <field name="object">
19999         <type name="Object" c:type="GstObject"/>
20000       </field>
20001       <field name="pool">
20002         <type name="GLib.ThreadPool" c:type="GThreadPool*"/>
20003       </field>
20004       <field name="_gst_reserved">
20005         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
20006           <type name="any"/>
20007         </array>
20008       </field>
20009     </class>
20010     <record name="TaskPoolClass"
20011             c:type="GstTaskPoolClass"
20012             glib:is-gtype-struct-for="TaskPool">
20013       <doc xml:whitespace="preserve">The #GstTaskPoolClass object.</doc>
20014       <field name="parent_class">
20015         <type name="ObjectClass" c:type="GstObjectClass"/>
20016       </field>
20017       <field name="prepare">
20018         <callback name="prepare" c:type="prepare" throws="1">
20019           <return-value transfer-ownership="none">
20020             <type name="none" c:type="void"/>
20021           </return-value>
20022           <parameters>
20023             <parameter name="pool" transfer-ownership="none">
20024               <type name="TaskPool" c:type="GstTaskPool*"/>
20025             </parameter>
20026           </parameters>
20027         </callback>
20028       </field>
20029       <field name="cleanup">
20030         <callback name="cleanup" c:type="cleanup">
20031           <return-value transfer-ownership="none">
20032             <type name="none" c:type="void"/>
20033           </return-value>
20034           <parameters>
20035             <parameter name="pool" transfer-ownership="none">
20036               <type name="TaskPool" c:type="GstTaskPool*"/>
20037             </parameter>
20038           </parameters>
20039         </callback>
20040       </field>
20041       <field name="push">
20042         <callback name="push" c:type="push" throws="1">
20043           <return-value transfer-ownership="none">
20044             <type name="any" c:type="gpointer"/>
20045           </return-value>
20046           <parameters>
20047             <parameter name="pool" transfer-ownership="none">
20048               <type name="TaskPool" c:type="GstTaskPool*"/>
20049             </parameter>
20050             <parameter name="func" transfer-ownership="none">
20051               <type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
20052             </parameter>
20053             <parameter name="user_data" transfer-ownership="none" closure="2">
20054               <type name="any" c:type="gpointer"/>
20055             </parameter>
20056           </parameters>
20057         </callback>
20058       </field>
20059       <field name="join">
20060         <callback name="join" c:type="join">
20061           <return-value transfer-ownership="none">
20062             <type name="none" c:type="void"/>
20063           </return-value>
20064           <parameters>
20065             <parameter name="pool" transfer-ownership="none">
20066               <type name="TaskPool" c:type="GstTaskPool*"/>
20067             </parameter>
20068             <parameter name="id" transfer-ownership="none">
20069               <type name="any" c:type="gpointer"/>
20070             </parameter>
20071           </parameters>
20072         </callback>
20073       </field>
20074       <field name="_gst_reserved">
20075         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
20076           <type name="any"/>
20077         </array>
20078       </field>
20079     </record>
20080     <callback name="TaskPoolFunction"
20081               c:type="GstTaskPoolFunction"
20082               version="0.10.24">
20083       <doc xml:whitespace="preserve">Task function, see gst_task_pool_push().</doc>
20084       <return-value transfer-ownership="none">
20085         <type name="none" c:type="void"/>
20086       </return-value>
20087       <parameters>
20088         <parameter name="data" transfer-ownership="none">
20089           <doc xml:whitespace="preserve">user data for the task function</doc>
20090           <type name="any" c:type="void*"/>
20091         </parameter>
20092       </parameters>
20093     </callback>
20094     <record name="TaskPrivate" c:type="GstTaskPrivate">
20095     </record>
20096     <enumeration name="TaskState"
20097                  glib:type-name="GstTaskState"
20098                  glib:get-type="gst_task_state_get_type"
20099                  c:type="GstTaskState">
20100       <doc xml:whitespace="preserve">The different states a task can be in</doc>
20101       <member name="started"
20102               value="0"
20103               c:identifier="GST_TASK_STARTED"
20104               glib:nick="started"/>
20105       <member name="stopped"
20106               value="1"
20107               c:identifier="GST_TASK_STOPPED"
20108               glib:nick="stopped"/>
20109       <member name="paused"
20110               value="2"
20111               c:identifier="GST_TASK_PAUSED"
20112               glib:nick="paused"/>
20113     </enumeration>
20114     <record name="TaskThreadCallbacks"
20115             c:type="GstTaskThreadCallbacks"
20116             version="0.10.24">
20117       <doc xml:whitespace="preserve">Custom GstTask thread callback functions that can be installed.</doc>
20118       <field name="enter_thread">
20119         <type name="any" c:type="pointer"/>
20120       </field>
20121       <field name="leave_thread">
20122         <type name="any" c:type="pointer"/>
20123       </field>
20124       <field name="_gst_reserved" writable="1">
20125         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
20126           <type name="any"/>
20127         </array>
20128       </field>
20129     </record>
20130     <record name="Trace" c:type="GstTrace">
20131       <doc xml:whitespace="preserve">Opaque #GstTrace structure.</doc>
20132       <field name="filename" writable="1">
20133         <type name="utf8" c:type="gchar*"/>
20134       </field>
20135       <field name="fd" writable="1">
20136         <type name="int" c:type="int"/>
20137       </field>
20138       <field name="buf" writable="1">
20139         <type name="TraceEntry" c:type="GstTraceEntry*"/>
20140       </field>
20141       <field name="bufsize" writable="1">
20142         <type name="int" c:type="gint"/>
20143       </field>
20144       <field name="bufoffset" writable="1">
20145         <type name="int" c:type="gint"/>
20146       </field>
20147       <constructor name="new" c:identifier="gst_trace_new">
20148         <return-value transfer-ownership="full">
20149           <type name="Trace" c:type="GstTrace*"/>
20150         </return-value>
20151         <parameters>
20152           <parameter name="filename" transfer-ownership="none">
20153             <type name="utf8" c:type="gchar*"/>
20154           </parameter>
20155           <parameter name="size" transfer-ownership="none">
20156             <type name="int" c:type="gint"/>
20157           </parameter>
20158         </parameters>
20159       </constructor>
20160       <method name="destroy" c:identifier="gst_trace_destroy">
20161         <return-value transfer-ownership="none">
20162           <type name="none" c:type="void"/>
20163         </return-value>
20164       </method>
20165       <method name="flush" c:identifier="gst_trace_flush">
20166         <return-value transfer-ownership="none">
20167           <type name="none" c:type="void"/>
20168         </return-value>
20169       </method>
20170       <method name="text_flush" c:identifier="gst_trace_text_flush">
20171         <return-value transfer-ownership="none">
20172           <type name="none" c:type="void"/>
20173         </return-value>
20174       </method>
20175       <method name="set_default" c:identifier="gst_trace_set_default">
20176         <return-value transfer-ownership="none">
20177           <type name="none" c:type="void"/>
20178         </return-value>
20179       </method>
20180     </record>
20181     <record name="TraceEntry" c:type="GstTraceEntry">
20182       <field name="timestamp" writable="1">
20183         <type name="int64" c:type="gint64"/>
20184       </field>
20185       <field name="sequence" writable="1">
20186         <type name="uint32" c:type="guint32"/>
20187       </field>
20188       <field name="data" writable="1">
20189         <type name="uint32" c:type="guint32"/>
20190       </field>
20191       <field name="message" writable="1">
20192         <array zero-terminated="0" c:type="gchar" fixed-size="112">
20193           <type name="int8"/>
20194         </array>
20195       </field>
20196     </record>
20197     <record name="TypeFind" c:type="GstTypeFind">
20198       <doc xml:whitespace="preserve">Object that stores typefind callbacks. To use with #GstTypeFindFactory.</doc>
20199       <field name="peek">
20200         <type name="any" c:type="pointer"/>
20201       </field>
20202       <field name="suggest">
20203         <type name="any" c:type="pointer"/>
20204       </field>
20205       <field name="data" writable="1">
20206         <type name="any" c:type="gpointer"/>
20207       </field>
20208       <field name="get_length">
20209         <type name="any" c:type="pointer"/>
20210       </field>
20211       <field name="_gst_reserved" writable="1">
20212         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
20213           <type name="any"/>
20214         </array>
20215       </field>
20216       <method name="peek" c:identifier="gst_type_find_peek">
20217         <return-value transfer-ownership="full">
20218           <array c:type="guint8*">
20219             <type name="uint8"/>
20220           </array>
20221         </return-value>
20222         <parameters>
20223           <parameter name="offset" transfer-ownership="none">
20224             <type name="int64" c:type="gint64"/>
20225           </parameter>
20226           <parameter name="size" transfer-ownership="none">
20227             <type name="uint" c:type="guint"/>
20228           </parameter>
20229         </parameters>
20230       </method>
20231       <method name="suggest" c:identifier="gst_type_find_suggest">
20232         <return-value transfer-ownership="none">
20233           <type name="none" c:type="void"/>
20234         </return-value>
20235         <parameters>
20236           <parameter name="probability" transfer-ownership="none">
20237             <type name="uint" c:type="guint"/>
20238           </parameter>
20239           <parameter name="caps" transfer-ownership="none">
20240             <type name="Caps" c:type="GstCaps*"/>
20241           </parameter>
20242         </parameters>
20243       </method>
20244       <method name="suggest_simple"
20245               c:identifier="gst_type_find_suggest_simple"
20246               introspectable="0">
20247         <return-value transfer-ownership="none">
20248           <type name="none" c:type="void"/>
20249         </return-value>
20250         <parameters>
20251           <parameter name="probability" transfer-ownership="none">
20252             <type name="uint" c:type="guint"/>
20253           </parameter>
20254           <parameter name="media_type" transfer-ownership="none">
20255             <type name="utf8" c:type="char*"/>
20256           </parameter>
20257           <parameter name="fieldname" transfer-ownership="none">
20258             <type name="utf8" c:type="char*"/>
20259           </parameter>
20260           <parameter transfer-ownership="none">
20261             <varargs>
20262             </varargs>
20263           </parameter>
20264         </parameters>
20265       </method>
20266       <method name="get_length" c:identifier="gst_type_find_get_length">
20267         <return-value transfer-ownership="none">
20268           <type name="uint64" c:type="guint64"/>
20269         </return-value>
20270       </method>
20271     </record>
20272     <class name="TypeFindFactory"
20273            c:type="GstTypeFindFactory"
20274            parent="PluginFeature"
20275            glib:type-name="GstTypeFindFactory"
20276            glib:get-type="gst_type_find_factory_get_type"
20277            glib:type-struct="TypeFindFactoryClass">
20278       <doc xml:whitespace="preserve">Object that stores information about a typefind function.</doc>
20279       <function name="get_list"
20280                 c:identifier="gst_type_find_factory_get_list"
20281                 introspectable="0">
20282         <return-value transfer-ownership="full">
20283           <type name="GLib.List" c:type="GList*">
20284             <type name="any" c:type="gpointer"/>
20285           </type>
20286         </return-value>
20287       </function>
20288       <method name="get_extensions"
20289               c:identifier="gst_type_find_factory_get_extensions">
20290         <return-value transfer-ownership="full">
20291           <array c:type="gchar**">
20292             <type name="utf8"/>
20293           </array>
20294         </return-value>
20295       </method>
20296       <method name="get_caps" c:identifier="gst_type_find_factory_get_caps">
20297         <return-value transfer-ownership="full">
20298           <type name="Caps" c:type="GstCaps*"/>
20299         </return-value>
20300       </method>
20301       <method name="call_function"
20302               c:identifier="gst_type_find_factory_call_function">
20303         <return-value transfer-ownership="none">
20304           <type name="none" c:type="void"/>
20305         </return-value>
20306         <parameters>
20307           <parameter name="find" transfer-ownership="none">
20308             <type name="TypeFind" c:type="GstTypeFind*"/>
20309           </parameter>
20310         </parameters>
20311       </method>
20312       <field name="feature">
20313         <type name="PluginFeature" c:type="GstPluginFeature"/>
20314       </field>
20315       <field name="function">
20316         <type name="TypeFindFunction" c:type="GstTypeFindFunction"/>
20317       </field>
20318       <field name="extensions">
20319         <type name="utf8" c:type="gchar**"/>
20320       </field>
20321       <field name="caps">
20322         <type name="Caps" c:type="GstCaps*"/>
20323       </field>
20324       <field name="user_data">
20325         <type name="any" c:type="gpointer"/>
20326       </field>
20327       <field name="user_data_notify">
20328         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
20329       </field>
20330       <field name="_gst_reserved">
20331         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
20332           <type name="any"/>
20333         </array>
20334       </field>
20335     </class>
20336     <record name="TypeFindFactoryClass"
20337             c:type="GstTypeFindFactoryClass"
20338             glib:is-gtype-struct-for="TypeFindFactory">
20339       <field name="parent">
20340         <type name="PluginFeatureClass" c:type="GstPluginFeatureClass"/>
20341       </field>
20342       <field name="_gst_reserved">
20343         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
20344           <type name="any"/>
20345         </array>
20346       </field>
20347     </record>
20348     <callback name="TypeFindFunction" c:type="GstTypeFindFunction">
20349       <doc xml:whitespace="preserve">A function that will be called by typefinding.</doc>
20350       <return-value transfer-ownership="none">
20351         <type name="none" c:type="void"/>
20352       </return-value>
20353       <parameters>
20354         <parameter name="find" transfer-ownership="none">
20355           <doc xml:whitespace="preserve">A #GstTypeFind structure</doc>
20356           <type name="TypeFind" c:type="GstTypeFind*"/>
20357         </parameter>
20358         <parameter name="data" transfer-ownership="none">
20359           <doc xml:whitespace="preserve">optionnal data to pass to the function</doc>
20360           <type name="any" c:type="gpointer"/>
20361         </parameter>
20362       </parameters>
20363     </callback>
20364     <callback name="TypeFindHelperGetRangeFunction"
20365               c:type="GstTypeFindHelperGetRangeFunction">
20366       <doc xml:whitespace="preserve">This function will be called by gst_type_find_helper_get_range() when
20367 typefinding functions request to peek at the data of a stream at certain
20368 offsets. If this function returns GST_FLOW_OK, the result buffer will be
20369 stored in @buffer. The  contents of @buffer is invalid for any other
20370 return value.
20371 This function is supposed to behave exactly like a #GstPadGetRangeFunction.</doc>
20372       <return-value transfer-ownership="full">
20373         <doc xml:whitespace="preserve">GST_FLOW_OK for success</doc>
20374         <type name="FlowReturn" c:type="GstFlowReturn"/>
20375       </return-value>
20376       <parameters>
20377         <parameter name="obj" transfer-ownership="none">
20378           <doc xml:whitespace="preserve">a #GstObject that will handle the getrange request</doc>
20379           <type name="Object" c:type="GstObject*"/>
20380         </parameter>
20381         <parameter name="offset" transfer-ownership="none">
20382           <doc xml:whitespace="preserve">the offset of the range</doc>
20383           <type name="uint64" c:type="guint64"/>
20384         </parameter>
20385         <parameter name="length" transfer-ownership="none">
20386           <doc xml:whitespace="preserve">the length of the range</doc>
20387           <type name="uint" c:type="guint"/>
20388         </parameter>
20389         <parameter name="buffer" transfer-ownership="none">
20390           <doc xml:whitespace="preserve">a memory location to hold the result buffer</doc>
20391           <type name="Buffer" c:type="GstBuffer**"/>
20392         </parameter>
20393       </parameters>
20394     </callback>
20395     <enumeration name="TypeFindProbability"
20396                  glib:type-name="GstTypeFindProbability"
20397                  glib:get-type="gst_type_find_probability_get_type"
20398                  c:type="GstTypeFindProbability">
20399       <doc xml:whitespace="preserve">The probability of the typefind function. Higher values have more certainty
20400 in doing a reliable typefind.</doc>
20401       <member name="minimum"
20402               value="1"
20403               c:identifier="GST_TYPE_FIND_MINIMUM"
20404               glib:nick="minimum"/>
20405       <member name="possible"
20406               value="50"
20407               c:identifier="GST_TYPE_FIND_POSSIBLE"
20408               glib:nick="possible"/>
20409       <member name="likely"
20410               value="80"
20411               c:identifier="GST_TYPE_FIND_LIKELY"
20412               glib:nick="likely"/>
20413       <member name="nearly_certain"
20414               value="99"
20415               c:identifier="GST_TYPE_FIND_NEARLY_CERTAIN"
20416               glib:nick="nearly-certain"/>
20417       <member name="maximum"
20418               value="100"
20419               c:identifier="GST_TYPE_FIND_MAXIMUM"
20420               glib:nick="maximum"/>
20421     </enumeration>
20422     <record name="TypeNameData" c:type="GstTypeNameData">
20423       <doc xml:whitespace="preserve">Structure used for filtering based on @name and @type.</doc>
20424       <field name="name" writable="1">
20425         <type name="utf8" c:type="gchar*"/>
20426       </field>
20427       <field name="type" writable="1">
20428         <type name="GType" c:type="GType"/>
20429       </field>
20430     </record>
20431     <interface name="URIHandler"
20432                c:type="GstURIHandler"
20433                glib:type-name="GstURIHandler"
20434                glib:get-type="gst_uri_handler_get_type"
20435                glib:type-struct="URIHandlerInterface">
20436       <doc xml:whitespace="preserve">Opaque #GstURIHandler structure.</doc>
20437       <virtual-method name="get_uri" invoker="get_uri">
20438         <return-value transfer-ownership="none">
20439           <type name="utf8" c:type="gchar*"/>
20440         </return-value>
20441       </virtual-method>
20442       <virtual-method name="set_uri" invoker="set_uri">
20443         <return-value transfer-ownership="none">
20444           <type name="boolean" c:type="gboolean"/>
20445         </return-value>
20446         <parameters>
20447           <parameter name="uri" transfer-ownership="none">
20448             <type name="utf8" c:type="gchar*"/>
20449           </parameter>
20450         </parameters>
20451       </virtual-method>
20452       <method name="get_uri_type" c:identifier="gst_uri_handler_get_uri_type">
20453         <return-value transfer-ownership="none">
20454           <type name="uint" c:type="guint"/>
20455         </return-value>
20456       </method>
20457       <method name="get_protocols"
20458               c:identifier="gst_uri_handler_get_protocols">
20459         <return-value transfer-ownership="full">
20460           <array c:type="gchar**">
20461             <type name="utf8"/>
20462           </array>
20463         </return-value>
20464       </method>
20465       <method name="get_uri" c:identifier="gst_uri_handler_get_uri">
20466         <return-value transfer-ownership="none">
20467           <type name="utf8" c:type="gchar*"/>
20468         </return-value>
20469       </method>
20470       <method name="set_uri" c:identifier="gst_uri_handler_set_uri">
20471         <return-value transfer-ownership="none">
20472           <type name="boolean" c:type="gboolean"/>
20473         </return-value>
20474         <parameters>
20475           <parameter name="uri" transfer-ownership="none">
20476             <type name="utf8" c:type="gchar*"/>
20477           </parameter>
20478         </parameters>
20479       </method>
20480       <method name="new_uri" c:identifier="gst_uri_handler_new_uri">
20481         <return-value transfer-ownership="none">
20482           <type name="none" c:type="void"/>
20483         </return-value>
20484         <parameters>
20485           <parameter name="uri" transfer-ownership="none">
20486             <type name="utf8" c:type="gchar*"/>
20487           </parameter>
20488         </parameters>
20489       </method>
20490       <glib:signal name="new-uri">
20491         <return-value transfer-ownership="full">
20492           <type name="none" c:type="void"/>
20493         </return-value>
20494         <parameters>
20495           <parameter name="object" transfer-ownership="none">
20496             <type name="utf8" c:type="gchararray"/>
20497           </parameter>
20498         </parameters>
20499       </glib:signal>
20500     </interface>
20501     <record name="URIHandlerInterface"
20502             c:type="GstURIHandlerInterface"
20503             glib:is-gtype-struct-for="URIHandler">
20504       <doc xml:whitespace="preserve">Any #GstElement using this interface should implement these methods.</doc>
20505       <field name="parent">
20506         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
20507       </field>
20508       <field name="new_uri">
20509         <callback name="new_uri" c:type="new_uri">
20510           <return-value transfer-ownership="none">
20511             <type name="none" c:type="void"/>
20512           </return-value>
20513           <parameters>
20514             <parameter name="handler" transfer-ownership="none">
20515               <type name="URIHandler" c:type="GstURIHandler*"/>
20516             </parameter>
20517             <parameter name="uri" transfer-ownership="none">
20518               <type name="utf8" c:type="gchar*"/>
20519             </parameter>
20520           </parameters>
20521         </callback>
20522       </field>
20523       <field name="get_type">
20524         <callback name="get_type" c:type="get_type">
20525           <return-value transfer-ownership="full">
20526             <type name="URIType" c:type="GstURIType"/>
20527           </return-value>
20528         </callback>
20529       </field>
20530       <field name="get_protocols">
20531         <callback name="get_protocols" c:type="get_protocols">
20532           <return-value transfer-ownership="full">
20533             <array c:type="gchar**">
20534               <type name="utf8"/>
20535             </array>
20536           </return-value>
20537         </callback>
20538       </field>
20539       <field name="get_uri">
20540         <callback name="get_uri" c:type="get_uri">
20541           <return-value transfer-ownership="none">
20542             <type name="utf8" c:type="gchar*"/>
20543           </return-value>
20544           <parameters>
20545             <parameter name="handler" transfer-ownership="none">
20546               <type name="URIHandler" c:type="GstURIHandler*"/>
20547             </parameter>
20548           </parameters>
20549         </callback>
20550       </field>
20551       <field name="set_uri">
20552         <callback name="set_uri" c:type="set_uri">
20553           <return-value transfer-ownership="none">
20554             <type name="boolean" c:type="gboolean"/>
20555           </return-value>
20556           <parameters>
20557             <parameter name="handler" transfer-ownership="none">
20558               <type name="URIHandler" c:type="GstURIHandler*"/>
20559             </parameter>
20560             <parameter name="uri" transfer-ownership="none">
20561               <type name="utf8" c:type="gchar*"/>
20562             </parameter>
20563           </parameters>
20564         </callback>
20565       </field>
20566       <field name="get_type_full">
20567         <callback name="get_type_full" c:type="get_type_full">
20568           <return-value transfer-ownership="full">
20569             <type name="URIType" c:type="GstURIType"/>
20570           </return-value>
20571           <parameters>
20572             <parameter name="type" transfer-ownership="none">
20573               <type name="GType" c:type="GType"/>
20574             </parameter>
20575           </parameters>
20576         </callback>
20577       </field>
20578       <field name="get_protocols_full">
20579         <callback name="get_protocols_full" c:type="get_protocols_full">
20580           <return-value transfer-ownership="full">
20581             <array c:type="gchar**">
20582               <type name="utf8"/>
20583             </array>
20584           </return-value>
20585           <parameters>
20586             <parameter name="type" transfer-ownership="none">
20587               <type name="GType" c:type="GType"/>
20588             </parameter>
20589           </parameters>
20590         </callback>
20591       </field>
20592       <field name="_gst_reserved">
20593         <array zero-terminated="0" c:type="gpointer" fixed-size="2">
20594           <type name="any"/>
20595         </array>
20596       </field>
20597     </record>
20598     <enumeration name="URIType"
20599                  glib:type-name="GstURIType"
20600                  glib:get-type="gst_uri_type_get_type"
20601                  c:type="GstURIType">
20602       <doc xml:whitespace="preserve">The different types of URI direction.</doc>
20603       <member name="unknown"
20604               value="0"
20605               c:identifier="GST_URI_UNKNOWN"
20606               glib:nick="unknown"/>
20607       <member name="sink"
20608               value="1"
20609               c:identifier="GST_URI_SINK"
20610               glib:nick="sink"/>
20611       <member name="src" value="2" c:identifier="GST_URI_SRC" glib:nick="src"/>
20612     </enumeration>
20613     <constant name="USECOND" value="0">
20614       <type name="int"/>
20615     </constant>
20616     <constant name="VALUE_EQUAL" value="0">
20617       <type name="int"/>
20618     </constant>
20619     <constant name="VALUE_GREATER_THAN" value="1">
20620       <type name="int"/>
20621     </constant>
20622     <constant name="VALUE_LESS_THAN" value="-1">
20623       <type name="int"/>
20624     </constant>
20625     <constant name="VALUE_UNORDERED" value="2">
20626       <type name="int"/>
20627     </constant>
20628     <constant name="VERSION_MAJOR" value="0">
20629       <type name="int"/>
20630     </constant>
20631     <constant name="VERSION_MICRO" value="29">
20632       <type name="int"/>
20633     </constant>
20634     <constant name="VERSION_MINOR" value="10">
20635       <type name="int"/>
20636     </constant>
20637     <constant name="VERSION_NANO" value="4">
20638       <type name="int"/>
20639     </constant>
20640     <callback name="ValueCompareFunc" c:type="GstValueCompareFunc">
20641       <doc xml:whitespace="preserve">Used together with gst_value_compare() to compare #GValue items.
20642 or GST_VALUE_UNORDERED</doc>
20643       <return-value transfer-ownership="none">
20644         <doc xml:whitespace="preserve">one of GST_VALUE_LESS_THAN, GST_VALUE_EQUAL, GST_VALUE_GREATER_THAN</doc>
20645         <type name="int" c:type="gint"/>
20646       </return-value>
20647       <parameters>
20648         <parameter name="value1" transfer-ownership="none">
20649           <doc xml:whitespace="preserve">first value for comparison</doc>
20650           <type name="GObject.Value" c:type="GValue*"/>
20651         </parameter>
20652         <parameter name="value2" transfer-ownership="none">
20653           <doc xml:whitespace="preserve">second value for comparison</doc>
20654           <type name="GObject.Value" c:type="GValue*"/>
20655         </parameter>
20656       </parameters>
20657     </callback>
20658     <callback name="ValueDeserializeFunc" c:type="GstValueDeserializeFunc">
20659       <doc xml:whitespace="preserve">Used by gst_value_deserialize() to parse a non-binary form into the #GValue.</doc>
20660       <return-value transfer-ownership="none">
20661         <doc xml:whitespace="preserve">%TRUE for success</doc>
20662         <type name="boolean" c:type="gboolean"/>
20663       </return-value>
20664       <parameters>
20665         <parameter name="dest" transfer-ownership="none">
20666           <doc xml:whitespace="preserve">a #GValue</doc>
20667           <type name="GObject.Value" c:type="GValue*"/>
20668         </parameter>
20669         <parameter name="s" transfer-ownership="none">
20670           <doc xml:whitespace="preserve">a string</doc>
20671           <type name="utf8" c:type="gchar*"/>
20672         </parameter>
20673       </parameters>
20674     </callback>
20675     <callback name="ValueIntersectFunc" c:type="GstValueIntersectFunc">
20676       <doc xml:whitespace="preserve">Used by gst_value_intersect() to perform intersection for a specific #GValue
20677 type. If the intersection is non-empty, the result is
20678 placed in @dest and TRUE is returned.  If the intersection is
20679 empty, @dest is unmodified and FALSE is returned.
20680 Register a new implementation with gst_value_register_intersect_func().</doc>
20681       <return-value transfer-ownership="none">
20682         <doc xml:whitespace="preserve">%TRUE if the values can intersect</doc>
20683         <type name="boolean" c:type="gboolean"/>
20684       </return-value>
20685       <parameters>
20686         <parameter name="dest" transfer-ownership="none">
20687           <doc xml:whitespace="preserve">a #GValue for the result</doc>
20688           <type name="GObject.Value" c:type="GValue*"/>
20689         </parameter>
20690         <parameter name="value1" transfer-ownership="none">
20691           <doc xml:whitespace="preserve">a #GValue operand</doc>
20692           <type name="GObject.Value" c:type="GValue*"/>
20693         </parameter>
20694         <parameter name="value2" transfer-ownership="none">
20695           <doc xml:whitespace="preserve">a #GValue operand</doc>
20696           <type name="GObject.Value" c:type="GValue*"/>
20697         </parameter>
20698       </parameters>
20699     </callback>
20700     <callback name="ValueSerializeFunc" c:type="GstValueSerializeFunc">
20701       <doc xml:whitespace="preserve">Used by gst_value_serialize() to obtain a non-binary form of the #GValue.</doc>
20702       <return-value transfer-ownership="full">
20703         <doc xml:whitespace="preserve">the string representation of the value</doc>
20704         <type name="utf8" c:type="gchar*"/>
20705       </return-value>
20706       <parameters>
20707         <parameter name="value1" transfer-ownership="none">
20708           <doc xml:whitespace="preserve">a #GValue</doc>
20709           <type name="GObject.Value" c:type="GValue*"/>
20710         </parameter>
20711       </parameters>
20712     </callback>
20713     <callback name="ValueSubtractFunc" c:type="GstValueSubtractFunc">
20714       <doc xml:whitespace="preserve">Used by gst_value_subtract() to perform subtraction for a specific #GValue
20715 type. Register a new implementation with gst_value_register_subtract_func().</doc>
20716       <return-value transfer-ownership="none">
20717         <doc xml:whitespace="preserve">%TRUE if the subtraction is not empty</doc>
20718         <type name="boolean" c:type="gboolean"/>
20719       </return-value>
20720       <parameters>
20721         <parameter name="dest" transfer-ownership="none">
20722           <doc xml:whitespace="preserve">a #GValue for the result</doc>
20723           <type name="GObject.Value" c:type="GValue*"/>
20724         </parameter>
20725         <parameter name="minuend" transfer-ownership="none">
20726           <doc xml:whitespace="preserve">a #GValue operand</doc>
20727           <type name="GObject.Value" c:type="GValue*"/>
20728         </parameter>
20729         <parameter name="subtrahend" transfer-ownership="none">
20730           <doc xml:whitespace="preserve">a #GValue operand</doc>
20731           <type name="GObject.Value" c:type="GValue*"/>
20732         </parameter>
20733       </parameters>
20734     </callback>
20735     <record name="ValueTable" c:type="GstValueTable">
20736       <doc xml:whitespace="preserve">VTable for the #GValue @type.</doc>
20737       <field name="type" writable="1">
20738         <type name="GType" c:type="GType"/>
20739       </field>
20740       <field name="compare" writable="1">
20741         <type name="ValueCompareFunc" c:type="GstValueCompareFunc"/>
20742       </field>
20743       <field name="serialize" writable="1">
20744         <type name="ValueSerializeFunc" c:type="GstValueSerializeFunc"/>
20745       </field>
20746       <field name="deserialize" writable="1">
20747         <type name="ValueDeserializeFunc" c:type="GstValueDeserializeFunc"/>
20748       </field>
20749       <field name="_gst_reserved" writable="1">
20750         <array zero-terminated="0" c:type="void*" fixed-size="4">
20751           <type name="any"/>
20752         </array>
20753       </field>
20754     </record>
20755     <callback name="ValueUnionFunc" c:type="GstValueUnionFunc">
20756       <doc xml:whitespace="preserve">Used by gst_value_union() to perform unification for a specific #GValue
20757 type. Register a new implementation with gst_value_register_union_func().</doc>
20758       <return-value transfer-ownership="none">
20759         <doc xml:whitespace="preserve">%TRUE if a union was successful</doc>
20760         <type name="boolean" c:type="gboolean"/>
20761       </return-value>
20762       <parameters>
20763         <parameter name="dest" transfer-ownership="none">
20764           <doc xml:whitespace="preserve">a #GValue for the result</doc>
20765           <type name="GObject.Value" c:type="GValue*"/>
20766         </parameter>
20767         <parameter name="value1" transfer-ownership="none">
20768           <doc xml:whitespace="preserve">a #GValue operand</doc>
20769           <type name="GObject.Value" c:type="GValue*"/>
20770         </parameter>
20771         <parameter name="value2" transfer-ownership="none">
20772           <doc xml:whitespace="preserve">a #GValue operand</doc>
20773           <type name="GObject.Value" c:type="GValue*"/>
20774         </parameter>
20775       </parameters>
20776     </callback>
20777     <class name="XML"
20778            c:type="GstXML"
20779            parent="Object"
20780            glib:type-name="GstXML"
20781            glib:get-type="gst_xml_get_type"
20782            glib:type-struct="XMLClass">
20783       <doc xml:whitespace="preserve">XML parser object</doc>
20784       <constructor name="new" c:identifier="gst_xml_new">
20785         <return-value transfer-ownership="full">
20786           <type name="XML" c:type="GstXML*"/>
20787         </return-value>
20788       </constructor>
20789       <function name="write" c:identifier="gst_xml_write">
20790         <return-value transfer-ownership="full">
20791           <type name="libxml2.DocPtr" c:type="xmlDocPtr"/>
20792         </return-value>
20793         <parameters>
20794           <parameter name="element" transfer-ownership="none">
20795             <type name="Element" c:type="GstElement*"/>
20796           </parameter>
20797         </parameters>
20798       </function>
20799       <function name="make_element" c:identifier="gst_xml_make_element">
20800         <return-value transfer-ownership="full">
20801           <type name="Element" c:type="GstElement*"/>
20802         </return-value>
20803         <parameters>
20804           <parameter name="cur" transfer-ownership="none">
20805             <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
20806           </parameter>
20807           <parameter name="parent" transfer-ownership="none">
20808             <type name="Object" c:type="GstObject*"/>
20809           </parameter>
20810         </parameters>
20811       </function>
20812       <virtual-method name="object_saved">
20813         <return-value transfer-ownership="none">
20814           <type name="none" c:type="void"/>
20815         </return-value>
20816         <parameters>
20817           <parameter name="object" transfer-ownership="none">
20818             <type name="Object" c:type="GstObject*"/>
20819           </parameter>
20820           <parameter name="self" transfer-ownership="none">
20821             <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
20822           </parameter>
20823         </parameters>
20824       </virtual-method>
20825       <method name="parse_doc" c:identifier="gst_xml_parse_doc">
20826         <return-value transfer-ownership="none">
20827           <type name="boolean" c:type="gboolean"/>
20828         </return-value>
20829         <parameters>
20830           <parameter name="doc" transfer-ownership="none">
20831             <type name="libxml2.DocPtr" c:type="xmlDocPtr"/>
20832           </parameter>
20833           <parameter name="root" transfer-ownership="none">
20834             <array c:type="guchar*">
20835               <type name="uint8"/>
20836             </array>
20837           </parameter>
20838         </parameters>
20839       </method>
20840       <method name="parse_file" c:identifier="gst_xml_parse_file">
20841         <return-value transfer-ownership="none">
20842           <type name="boolean" c:type="gboolean"/>
20843         </return-value>
20844         <parameters>
20845           <parameter name="fname" transfer-ownership="none">
20846             <array c:type="guchar*">
20847               <type name="uint8"/>
20848             </array>
20849           </parameter>
20850           <parameter name="root" transfer-ownership="none">
20851             <array c:type="guchar*">
20852               <type name="uint8"/>
20853             </array>
20854           </parameter>
20855         </parameters>
20856       </method>
20857       <method name="parse_memory" c:identifier="gst_xml_parse_memory">
20858         <return-value transfer-ownership="none">
20859           <type name="boolean" c:type="gboolean"/>
20860         </return-value>
20861         <parameters>
20862           <parameter name="buffer" transfer-ownership="none">
20863             <array c:type="guchar*">
20864               <type name="uint8"/>
20865             </array>
20866           </parameter>
20867           <parameter name="size" transfer-ownership="none">
20868             <type name="uint" c:type="guint"/>
20869           </parameter>
20870           <parameter name="root" transfer-ownership="none">
20871             <type name="utf8" c:type="gchar*"/>
20872           </parameter>
20873         </parameters>
20874       </method>
20875       <method name="get_element" c:identifier="gst_xml_get_element">
20876         <return-value transfer-ownership="full">
20877           <type name="Element" c:type="GstElement*"/>
20878         </return-value>
20879         <parameters>
20880           <parameter name="name" transfer-ownership="none">
20881             <array c:type="guchar*">
20882               <type name="uint8"/>
20883             </array>
20884           </parameter>
20885         </parameters>
20886       </method>
20887       <method name="get_topelements"
20888               c:identifier="gst_xml_get_topelements"
20889               introspectable="0">
20890         <return-value transfer-ownership="full">
20891           <type name="GLib.List" c:type="GList*">
20892             <type name="any" c:type="gpointer"/>
20893           </type>
20894         </return-value>
20895       </method>
20896       <field name="object">
20897         <type name="Object" c:type="GstObject"/>
20898       </field>
20899       <field name="topelements">
20900         <type name="GLib.List" c:type="GList*">
20901           <type name="any" c:type="gpointer"/>
20902         </type>
20903       </field>
20904       <field name="ns">
20905         <type name="libxml2.NsPtr" c:type="xmlNsPtr"/>
20906       </field>
20907       <field name="_gst_reserved">
20908         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
20909           <type name="any"/>
20910         </array>
20911       </field>
20912       <glib:signal name="object-loaded">
20913         <return-value transfer-ownership="full">
20914           <type name="none" c:type="void"/>
20915         </return-value>
20916         <parameters>
20917           <parameter name="object" transfer-ownership="none">
20918             <type name="Object" c:type="GstObject"/>
20919           </parameter>
20920           <parameter name="p0" transfer-ownership="none">
20921             <type name="any" c:type="gpointer"/>
20922           </parameter>
20923         </parameters>
20924       </glib:signal>
20925     </class>
20926     <record name="XMLClass"
20927             c:type="GstXMLClass"
20928             glib:is-gtype-struct-for="XML">
20929       <field name="parent_class">
20930         <type name="ObjectClass" c:type="GstObjectClass"/>
20931       </field>
20932       <field name="object_loaded">
20933         <callback name="object_loaded" c:type="object_loaded">
20934           <return-value transfer-ownership="none">
20935             <type name="none" c:type="void"/>
20936           </return-value>
20937           <parameters>
20938             <parameter name="xml" transfer-ownership="none">
20939               <type name="XML" c:type="GstXML*"/>
20940             </parameter>
20941             <parameter name="object" transfer-ownership="none">
20942               <type name="Object" c:type="GstObject*"/>
20943             </parameter>
20944             <parameter name="self" transfer-ownership="none">
20945               <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
20946             </parameter>
20947           </parameters>
20948         </callback>
20949       </field>
20950       <field name="object_saved">
20951         <callback name="object_saved" c:type="object_saved">
20952           <return-value transfer-ownership="none">
20953             <type name="none" c:type="void"/>
20954           </return-value>
20955           <parameters>
20956             <parameter name="xml" transfer-ownership="none">
20957               <type name="XML" c:type="GstXML*"/>
20958             </parameter>
20959             <parameter name="object" transfer-ownership="none">
20960               <type name="Object" c:type="GstObject*"/>
20961             </parameter>
20962             <parameter name="self" transfer-ownership="none">
20963               <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
20964             </parameter>
20965           </parameters>
20966         </callback>
20967       </field>
20968       <field name="_gst_reserved">
20969         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
20970           <type name="any"/>
20971         </array>
20972       </field>
20973     </record>
20974     <function name="alloc_trace_available"
20975               c:identifier="gst_alloc_trace_available">
20976       <return-value transfer-ownership="none">
20977         <type name="boolean" c:type="gboolean"/>
20978       </return-value>
20979     </function>
20980     <function name="alloc_trace_get" c:identifier="gst_alloc_trace_get">
20981       <return-value transfer-ownership="full">
20982         <type name="AllocTrace" c:type="GstAllocTrace*"/>
20983       </return-value>
20984       <parameters>
20985         <parameter name="name" transfer-ownership="none">
20986           <type name="utf8" c:type="gchar*"/>
20987         </parameter>
20988       </parameters>
20989     </function>
20990     <function name="alloc_trace_list"
20991               c:identifier="gst_alloc_trace_list"
20992               introspectable="0">
20993       <return-value transfer-ownership="none">
20994         <type name="GLib.List" c:type="GList*">
20995           <type name="any" c:type="gpointer"/>
20996         </type>
20997       </return-value>
20998     </function>
20999     <function name="alloc_trace_live_all"
21000               c:identifier="gst_alloc_trace_live_all">
21001       <return-value transfer-ownership="none">
21002         <type name="int" c:type="int"/>
21003       </return-value>
21004     </function>
21005     <function name="alloc_trace_print_all"
21006               c:identifier="gst_alloc_trace_print_all">
21007       <return-value transfer-ownership="none">
21008         <type name="none" c:type="void"/>
21009       </return-value>
21010     </function>
21011     <function name="alloc_trace_print_live"
21012               c:identifier="gst_alloc_trace_print_live">
21013       <return-value transfer-ownership="none">
21014         <type name="none" c:type="void"/>
21015       </return-value>
21016     </function>
21017     <function name="alloc_trace_set_flags_all"
21018               c:identifier="gst_alloc_trace_set_flags_all">
21019       <return-value transfer-ownership="none">
21020         <type name="none" c:type="void"/>
21021       </return-value>
21022       <parameters>
21023         <parameter name="flags" transfer-ownership="none">
21024           <type name="AllocTraceFlags" c:type="GstAllocTraceFlags"/>
21025         </parameter>
21026       </parameters>
21027     </function>
21028     <function name="atomic_int_set" c:identifier="gst_atomic_int_set">
21029       <return-value transfer-ownership="none">
21030         <type name="none" c:type="void"/>
21031       </return-value>
21032       <parameters>
21033         <parameter name="atomic_int"
21034                    direction="out"
21035                    caller-allocates="0"
21036                    transfer-ownership="full">
21037           <type name="int" c:type="gint*"/>
21038         </parameter>
21039         <parameter name="value" transfer-ownership="none">
21040           <type name="int" c:type="gint"/>
21041         </parameter>
21042       </parameters>
21043     </function>
21044     <function name="caps_from_string" c:identifier="gst_caps_from_string">
21045       <return-value transfer-ownership="full">
21046         <type name="Caps" c:type="GstCaps*"/>
21047       </return-value>
21048       <parameters>
21049         <parameter name="string" transfer-ownership="none">
21050           <type name="utf8" c:type="gchar*"/>
21051         </parameter>
21052       </parameters>
21053     </function>
21054     <function name="caps_load_thyself" c:identifier="gst_caps_load_thyself">
21055       <return-value transfer-ownership="full">
21056         <type name="Caps" c:type="GstCaps*"/>
21057       </return-value>
21058       <parameters>
21059         <parameter name="parent" transfer-ownership="none">
21060           <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
21061         </parameter>
21062       </parameters>
21063     </function>
21064     <function name="child_proxy_child_added"
21065               c:identifier="gst_child_proxy_child_added">
21066       <return-value transfer-ownership="none">
21067         <type name="none" c:type="void"/>
21068       </return-value>
21069       <parameters>
21070         <parameter name="object" transfer-ownership="none">
21071           <type name="Object" c:type="GstObject*"/>
21072         </parameter>
21073         <parameter name="child" transfer-ownership="none">
21074           <type name="Object" c:type="GstObject*"/>
21075         </parameter>
21076       </parameters>
21077     </function>
21078     <function name="child_proxy_child_removed"
21079               c:identifier="gst_child_proxy_child_removed">
21080       <return-value transfer-ownership="none">
21081         <type name="none" c:type="void"/>
21082       </return-value>
21083       <parameters>
21084         <parameter name="object" transfer-ownership="none">
21085           <type name="Object" c:type="GstObject*"/>
21086         </parameter>
21087         <parameter name="child" transfer-ownership="none">
21088           <type name="Object" c:type="GstObject*"/>
21089         </parameter>
21090       </parameters>
21091     </function>
21092     <function name="child_proxy_get"
21093               c:identifier="gst_child_proxy_get"
21094               introspectable="0">
21095       <return-value transfer-ownership="none">
21096         <type name="none" c:type="void"/>
21097       </return-value>
21098       <parameters>
21099         <parameter name="object" transfer-ownership="none">
21100           <type name="Object" c:type="GstObject*"/>
21101         </parameter>
21102         <parameter name="first_property_name" transfer-ownership="none">
21103           <type name="utf8" c:type="gchar*"/>
21104         </parameter>
21105         <parameter transfer-ownership="none">
21106           <varargs>
21107           </varargs>
21108         </parameter>
21109       </parameters>
21110     </function>
21111     <function name="child_proxy_get_property"
21112               c:identifier="gst_child_proxy_get_property">
21113       <return-value transfer-ownership="none">
21114         <type name="none" c:type="void"/>
21115       </return-value>
21116       <parameters>
21117         <parameter name="object" transfer-ownership="none">
21118           <type name="Object" c:type="GstObject*"/>
21119         </parameter>
21120         <parameter name="name" transfer-ownership="none">
21121           <type name="utf8" c:type="gchar*"/>
21122         </parameter>
21123         <parameter name="value" transfer-ownership="none">
21124           <type name="GObject.Value" c:type="GValue*"/>
21125         </parameter>
21126       </parameters>
21127     </function>
21128     <function name="child_proxy_lookup" c:identifier="gst_child_proxy_lookup">
21129       <return-value transfer-ownership="none">
21130         <type name="boolean" c:type="gboolean"/>
21131       </return-value>
21132       <parameters>
21133         <parameter name="object" transfer-ownership="none">
21134           <type name="Object" c:type="GstObject*"/>
21135         </parameter>
21136         <parameter name="name" transfer-ownership="none">
21137           <type name="utf8" c:type="gchar*"/>
21138         </parameter>
21139         <parameter name="target" transfer-ownership="none">
21140           <type name="Object" c:type="GstObject**"/>
21141         </parameter>
21142         <parameter name="pspec" transfer-ownership="none">
21143           <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
21144         </parameter>
21145       </parameters>
21146     </function>
21147     <function name="child_proxy_set"
21148               c:identifier="gst_child_proxy_set"
21149               introspectable="0">
21150       <return-value transfer-ownership="none">
21151         <type name="none" c:type="void"/>
21152       </return-value>
21153       <parameters>
21154         <parameter name="object" transfer-ownership="none">
21155           <type name="Object" c:type="GstObject*"/>
21156         </parameter>
21157         <parameter name="first_property_name" transfer-ownership="none">
21158           <type name="utf8" c:type="gchar*"/>
21159         </parameter>
21160         <parameter transfer-ownership="none">
21161           <varargs>
21162           </varargs>
21163         </parameter>
21164       </parameters>
21165     </function>
21166     <function name="child_proxy_set_property"
21167               c:identifier="gst_child_proxy_set_property">
21168       <return-value transfer-ownership="none">
21169         <type name="none" c:type="void"/>
21170       </return-value>
21171       <parameters>
21172         <parameter name="object" transfer-ownership="none">
21173           <type name="Object" c:type="GstObject*"/>
21174         </parameter>
21175         <parameter name="name" transfer-ownership="none">
21176           <type name="utf8" c:type="gchar*"/>
21177         </parameter>
21178         <parameter name="value" transfer-ownership="none">
21179           <type name="GObject.Value" c:type="GValue*"/>
21180         </parameter>
21181       </parameters>
21182     </function>
21183     <function name="class_signal_connect"
21184               c:identifier="gst_class_signal_connect">
21185       <return-value transfer-ownership="none">
21186         <type name="uint" c:type="guint"/>
21187       </return-value>
21188       <parameters>
21189         <parameter name="klass" transfer-ownership="none">
21190           <type name="ObjectClass" c:type="GstObjectClass*"/>
21191         </parameter>
21192         <parameter name="name" transfer-ownership="none">
21193           <type name="utf8" c:type="gchar*"/>
21194         </parameter>
21195         <parameter name="func" transfer-ownership="none">
21196           <type name="any" c:type="gpointer"/>
21197         </parameter>
21198         <parameter name="func_data" transfer-ownership="none">
21199           <type name="any" c:type="gpointer"/>
21200         </parameter>
21201       </parameters>
21202     </function>
21203     <function name="class_signal_emit_by_name"
21204               c:identifier="gst_class_signal_emit_by_name">
21205       <return-value transfer-ownership="none">
21206         <type name="none" c:type="void"/>
21207       </return-value>
21208       <parameters>
21209         <parameter name="object" transfer-ownership="none">
21210           <type name="Object" c:type="GstObject*"/>
21211         </parameter>
21212         <parameter name="name" transfer-ownership="none">
21213           <type name="utf8" c:type="gchar*"/>
21214         </parameter>
21215         <parameter name="self" transfer-ownership="none">
21216           <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
21217         </parameter>
21218       </parameters>
21219     </function>
21220     <function name="debug_add_log_function"
21221               c:identifier="gst_debug_add_log_function">
21222       <return-value transfer-ownership="none">
21223         <type name="none" c:type="void"/>
21224       </return-value>
21225       <parameters>
21226         <parameter name="func"
21227                    transfer-ownership="none"
21228                    scope="call"
21229                    closure="1">
21230           <type name="LogFunction" c:type="GstLogFunction"/>
21231         </parameter>
21232         <parameter name="data" transfer-ownership="none">
21233           <type name="any" c:type="gpointer"/>
21234         </parameter>
21235       </parameters>
21236     </function>
21237     <function name="debug_construct_term_color"
21238               c:identifier="gst_debug_construct_term_color">
21239       <return-value transfer-ownership="full">
21240         <type name="utf8" c:type="gchar*"/>
21241       </return-value>
21242       <parameters>
21243         <parameter name="colorinfo" transfer-ownership="none">
21244           <type name="uint" c:type="guint"/>
21245         </parameter>
21246       </parameters>
21247     </function>
21248     <function name="debug_construct_win_color"
21249               c:identifier="gst_debug_construct_win_color">
21250       <return-value transfer-ownership="none">
21251         <type name="int" c:type="gint"/>
21252       </return-value>
21253       <parameters>
21254         <parameter name="colorinfo" transfer-ownership="none">
21255           <type name="uint" c:type="guint"/>
21256         </parameter>
21257       </parameters>
21258     </function>
21259     <function name="debug_get_all_categories"
21260               c:identifier="gst_debug_get_all_categories">
21261       <return-value transfer-ownership="full">
21262         <type name="GLib.SList" c:type="GSList*">
21263           <type name="any" c:type="gpointer"/>
21264         </type>
21265       </return-value>
21266     </function>
21267     <function name="debug_get_default_threshold"
21268               c:identifier="gst_debug_get_default_threshold">
21269       <return-value transfer-ownership="full">
21270         <type name="DebugLevel" c:type="GstDebugLevel"/>
21271       </return-value>
21272     </function>
21273     <function name="debug_is_active" c:identifier="gst_debug_is_active">
21274       <return-value transfer-ownership="none">
21275         <type name="boolean" c:type="gboolean"/>
21276       </return-value>
21277     </function>
21278     <function name="debug_is_colored" c:identifier="gst_debug_is_colored">
21279       <return-value transfer-ownership="none">
21280         <type name="boolean" c:type="gboolean"/>
21281       </return-value>
21282     </function>
21283     <function name="debug_level_get_name"
21284               c:identifier="gst_debug_level_get_name">
21285       <return-value transfer-ownership="none">
21286         <type name="utf8" c:type="gchar*"/>
21287       </return-value>
21288       <parameters>
21289         <parameter name="level" transfer-ownership="none">
21290           <type name="DebugLevel" c:type="GstDebugLevel"/>
21291         </parameter>
21292       </parameters>
21293     </function>
21294     <function name="debug_log" c:identifier="gst_debug_log" introspectable="0">
21295       <return-value transfer-ownership="none">
21296         <type name="none" c:type="void"/>
21297       </return-value>
21298       <parameters>
21299         <parameter name="category" transfer-ownership="none">
21300           <type name="DebugCategory" c:type="GstDebugCategory*"/>
21301         </parameter>
21302         <parameter name="level" transfer-ownership="none">
21303           <type name="DebugLevel" c:type="GstDebugLevel"/>
21304         </parameter>
21305         <parameter name="file" transfer-ownership="none">
21306           <type name="utf8" c:type="gchar*"/>
21307         </parameter>
21308         <parameter name="function" transfer-ownership="none">
21309           <type name="utf8" c:type="gchar*"/>
21310         </parameter>
21311         <parameter name="line" transfer-ownership="none">
21312           <type name="int" c:type="gint"/>
21313         </parameter>
21314         <parameter name="object" transfer-ownership="none">
21315           <type name="GObject.Object" c:type="GObject*"/>
21316         </parameter>
21317         <parameter name="format" transfer-ownership="none">
21318           <type name="utf8" c:type="gchar*"/>
21319         </parameter>
21320         <parameter transfer-ownership="none">
21321           <varargs>
21322           </varargs>
21323         </parameter>
21324       </parameters>
21325     </function>
21326     <function name="debug_log_default" c:identifier="gst_debug_log_default">
21327       <return-value transfer-ownership="none">
21328         <type name="none" c:type="void"/>
21329       </return-value>
21330       <parameters>
21331         <parameter name="category" transfer-ownership="none">
21332           <type name="DebugCategory" c:type="GstDebugCategory*"/>
21333         </parameter>
21334         <parameter name="level" transfer-ownership="none">
21335           <type name="DebugLevel" c:type="GstDebugLevel"/>
21336         </parameter>
21337         <parameter name="file" transfer-ownership="none">
21338           <type name="utf8" c:type="gchar*"/>
21339         </parameter>
21340         <parameter name="function" transfer-ownership="none">
21341           <type name="utf8" c:type="gchar*"/>
21342         </parameter>
21343         <parameter name="line" transfer-ownership="none">
21344           <type name="int" c:type="gint"/>
21345         </parameter>
21346         <parameter name="object" transfer-ownership="none">
21347           <type name="GObject.Object" c:type="GObject*"/>
21348         </parameter>
21349         <parameter name="message" transfer-ownership="none">
21350           <type name="DebugMessage" c:type="GstDebugMessage*"/>
21351         </parameter>
21352         <parameter name="unused" transfer-ownership="none">
21353           <type name="any" c:type="gpointer"/>
21354         </parameter>
21355       </parameters>
21356     </function>
21357     <function name="debug_print_stack_trace"
21358               c:identifier="gst_debug_print_stack_trace">
21359       <return-value transfer-ownership="none">
21360         <type name="none" c:type="void"/>
21361       </return-value>
21362     </function>
21363     <function name="debug_remove_log_function"
21364               c:identifier="gst_debug_remove_log_function">
21365       <return-value transfer-ownership="none">
21366         <type name="uint" c:type="guint"/>
21367       </return-value>
21368       <parameters>
21369         <parameter name="func" transfer-ownership="none" scope="call">
21370           <type name="LogFunction" c:type="GstLogFunction"/>
21371         </parameter>
21372       </parameters>
21373     </function>
21374     <function name="debug_remove_log_function_by_data"
21375               c:identifier="gst_debug_remove_log_function_by_data">
21376       <return-value transfer-ownership="none">
21377         <type name="uint" c:type="guint"/>
21378       </return-value>
21379       <parameters>
21380         <parameter name="data" transfer-ownership="none">
21381           <type name="any" c:type="gpointer"/>
21382         </parameter>
21383       </parameters>
21384     </function>
21385     <function name="debug_set_active" c:identifier="gst_debug_set_active">
21386       <return-value transfer-ownership="none">
21387         <type name="none" c:type="void"/>
21388       </return-value>
21389       <parameters>
21390         <parameter name="active" transfer-ownership="none">
21391           <type name="boolean" c:type="gboolean"/>
21392         </parameter>
21393       </parameters>
21394     </function>
21395     <function name="debug_set_colored" c:identifier="gst_debug_set_colored">
21396       <return-value transfer-ownership="none">
21397         <type name="none" c:type="void"/>
21398       </return-value>
21399       <parameters>
21400         <parameter name="colored" transfer-ownership="none">
21401           <type name="boolean" c:type="gboolean"/>
21402         </parameter>
21403       </parameters>
21404     </function>
21405     <function name="debug_set_default_threshold"
21406               c:identifier="gst_debug_set_default_threshold">
21407       <return-value transfer-ownership="none">
21408         <type name="none" c:type="void"/>
21409       </return-value>
21410       <parameters>
21411         <parameter name="level" transfer-ownership="none">
21412           <type name="DebugLevel" c:type="GstDebugLevel"/>
21413         </parameter>
21414       </parameters>
21415     </function>
21416     <function name="debug_set_threshold_for_name"
21417               c:identifier="gst_debug_set_threshold_for_name">
21418       <return-value transfer-ownership="none">
21419         <type name="none" c:type="void"/>
21420       </return-value>
21421       <parameters>
21422         <parameter name="name" transfer-ownership="none">
21423           <type name="utf8" c:type="gchar*"/>
21424         </parameter>
21425         <parameter name="level" transfer-ownership="none">
21426           <type name="DebugLevel" c:type="GstDebugLevel"/>
21427         </parameter>
21428       </parameters>
21429     </function>
21430     <function name="debug_unset_threshold_for_name"
21431               c:identifier="gst_debug_unset_threshold_for_name">
21432       <return-value transfer-ownership="none">
21433         <type name="none" c:type="void"/>
21434       </return-value>
21435       <parameters>
21436         <parameter name="name" transfer-ownership="none">
21437           <type name="utf8" c:type="gchar*"/>
21438         </parameter>
21439       </parameters>
21440     </function>
21441     <function name="default_registry_check_feature_version"
21442               c:identifier="gst_default_registry_check_feature_version">
21443       <return-value transfer-ownership="none">
21444         <type name="boolean" c:type="gboolean"/>
21445       </return-value>
21446       <parameters>
21447         <parameter name="feature_name" transfer-ownership="none">
21448           <type name="utf8" c:type="gchar*"/>
21449         </parameter>
21450         <parameter name="min_major" transfer-ownership="none">
21451           <type name="uint" c:type="guint"/>
21452         </parameter>
21453         <parameter name="min_minor" transfer-ownership="none">
21454           <type name="uint" c:type="guint"/>
21455         </parameter>
21456         <parameter name="min_micro" transfer-ownership="none">
21457           <type name="uint" c:type="guint"/>
21458         </parameter>
21459       </parameters>
21460     </function>
21461     <function name="deinit" c:identifier="gst_deinit">
21462       <return-value transfer-ownership="none">
21463         <type name="none" c:type="void"/>
21464       </return-value>
21465     </function>
21466     <function name="error_get_message" c:identifier="gst_error_get_message">
21467       <return-value transfer-ownership="full">
21468         <type name="utf8" c:type="gchar*"/>
21469       </return-value>
21470       <parameters>
21471         <parameter name="domain" transfer-ownership="none">
21472           <type name="GLib.Quark" c:type="GQuark"/>
21473         </parameter>
21474         <parameter name="code" transfer-ownership="none">
21475           <type name="int" c:type="gint"/>
21476         </parameter>
21477       </parameters>
21478     </function>
21479     <function name="filter_run"
21480               c:identifier="gst_filter_run"
21481               introspectable="0">
21482       <return-value transfer-ownership="full">
21483         <type name="GLib.List" c:type="GList*">
21484           <type name="any" c:type="gpointer"/>
21485         </type>
21486       </return-value>
21487       <parameters>
21488         <parameter name="list" transfer-ownership="none">
21489           <type name="GLib.List" c:type="GList*">
21490             <type name="any" c:type="gpointer"/>
21491           </type>
21492         </parameter>
21493         <parameter name="func" transfer-ownership="none" scope="call">
21494           <type name="FilterFunc" c:type="GstFilterFunc"/>
21495         </parameter>
21496         <parameter name="first" transfer-ownership="none">
21497           <type name="boolean" c:type="gboolean"/>
21498         </parameter>
21499         <parameter name="user_data" transfer-ownership="none">
21500           <type name="any" c:type="gpointer"/>
21501         </parameter>
21502       </parameters>
21503     </function>
21504     <function name="flow_get_name" c:identifier="gst_flow_get_name">
21505       <return-value transfer-ownership="none">
21506         <type name="utf8" c:type="gchar*"/>
21507       </return-value>
21508       <parameters>
21509         <parameter name="ret" transfer-ownership="none">
21510           <type name="FlowReturn" c:type="GstFlowReturn"/>
21511         </parameter>
21512       </parameters>
21513     </function>
21514     <function name="flow_to_quark" c:identifier="gst_flow_to_quark">
21515       <return-value transfer-ownership="full">
21516         <type name="GLib.Quark" c:type="GQuark"/>
21517       </return-value>
21518       <parameters>
21519         <parameter name="ret" transfer-ownership="none">
21520           <type name="FlowReturn" c:type="GstFlowReturn"/>
21521         </parameter>
21522       </parameters>
21523     </function>
21524     <function name="format_get_by_nick" c:identifier="gst_format_get_by_nick">
21525       <return-value transfer-ownership="full">
21526         <type name="Format" c:type="GstFormat"/>
21527       </return-value>
21528       <parameters>
21529         <parameter name="nick" transfer-ownership="none">
21530           <type name="utf8" c:type="gchar*"/>
21531         </parameter>
21532       </parameters>
21533     </function>
21534     <function name="format_get_details" c:identifier="gst_format_get_details">
21535       <return-value transfer-ownership="none">
21536         <type name="FormatDefinition" c:type="GstFormatDefinition*"/>
21537       </return-value>
21538       <parameters>
21539         <parameter name="format" transfer-ownership="none">
21540           <type name="Format" c:type="GstFormat"/>
21541         </parameter>
21542       </parameters>
21543     </function>
21544     <function name="format_get_name" c:identifier="gst_format_get_name">
21545       <return-value transfer-ownership="none">
21546         <type name="utf8" c:type="gchar*"/>
21547       </return-value>
21548       <parameters>
21549         <parameter name="format" transfer-ownership="none">
21550           <type name="Format" c:type="GstFormat"/>
21551         </parameter>
21552       </parameters>
21553     </function>
21554     <function name="format_iterate_definitions"
21555               c:identifier="gst_format_iterate_definitions">
21556       <return-value transfer-ownership="full">
21557         <type name="Iterator" c:type="GstIterator*"/>
21558       </return-value>
21559     </function>
21560     <function name="format_register" c:identifier="gst_format_register">
21561       <return-value transfer-ownership="full">
21562         <type name="Format" c:type="GstFormat"/>
21563       </return-value>
21564       <parameters>
21565         <parameter name="nick" transfer-ownership="none">
21566           <type name="utf8" c:type="gchar*"/>
21567         </parameter>
21568         <parameter name="description" transfer-ownership="none">
21569           <type name="utf8" c:type="gchar*"/>
21570         </parameter>
21571       </parameters>
21572     </function>
21573     <function name="format_to_quark" c:identifier="gst_format_to_quark">
21574       <return-value transfer-ownership="full">
21575         <type name="GLib.Quark" c:type="GQuark"/>
21576       </return-value>
21577       <parameters>
21578         <parameter name="format" transfer-ownership="none">
21579           <type name="Format" c:type="GstFormat"/>
21580         </parameter>
21581       </parameters>
21582     </function>
21583     <function name="formats_contains" c:identifier="gst_formats_contains">
21584       <return-value transfer-ownership="none">
21585         <type name="boolean" c:type="gboolean"/>
21586       </return-value>
21587       <parameters>
21588         <parameter name="formats" transfer-ownership="none">
21589           <type name="Format" c:type="GstFormat*"/>
21590         </parameter>
21591         <parameter name="format" transfer-ownership="none">
21592           <type name="Format" c:type="GstFormat"/>
21593         </parameter>
21594       </parameters>
21595     </function>
21596     <function name="implements_interface_cast"
21597               c:identifier="gst_implements_interface_cast">
21598       <return-value transfer-ownership="none">
21599         <type name="any" c:type="gpointer"/>
21600       </return-value>
21601       <parameters>
21602         <parameter name="from" transfer-ownership="none">
21603           <type name="any" c:type="gpointer"/>
21604         </parameter>
21605         <parameter name="type" transfer-ownership="none">
21606           <type name="GType" c:type="GType"/>
21607         </parameter>
21608       </parameters>
21609     </function>
21610     <function name="implements_interface_check"
21611               c:identifier="gst_implements_interface_check">
21612       <return-value transfer-ownership="none">
21613         <type name="boolean" c:type="gboolean"/>
21614       </return-value>
21615       <parameters>
21616         <parameter name="from" transfer-ownership="none">
21617           <type name="any" c:type="gpointer"/>
21618         </parameter>
21619         <parameter name="type" transfer-ownership="none">
21620           <type name="GType" c:type="GType"/>
21621         </parameter>
21622       </parameters>
21623     </function>
21624     <function name="init" c:identifier="gst_init">
21625       <return-value transfer-ownership="none">
21626         <type name="none" c:type="void"/>
21627       </return-value>
21628       <parameters>
21629         <parameter name="argc"
21630                    direction="inout"
21631                    caller-allocates="0"
21632                    transfer-ownership="full">
21633           <doc xml:whitespace="preserve">argument count</doc>
21634           <type name="int" c:type="int*"/>
21635         </parameter>
21636         <parameter name="argv"
21637                    direction="inout"
21638                    caller-allocates="0"
21639                    transfer-ownership="full"
21640                    allow-none="1">
21641           <doc xml:whitespace="preserve">arguments</doc>
21642           <array length="0" c:type="char**">
21643             <type name="utf8"/>
21644           </array>
21645         </parameter>
21646       </parameters>
21647     </function>
21648     <function name="init_check" c:identifier="gst_init_check" throws="1">
21649       <return-value transfer-ownership="none">
21650         <type name="boolean" c:type="gboolean"/>
21651       </return-value>
21652       <parameters>
21653         <parameter name="argc"
21654                    direction="out"
21655                    caller-allocates="0"
21656                    transfer-ownership="full">
21657           <type name="int" c:type="int*"/>
21658         </parameter>
21659         <parameter name="argv" transfer-ownership="none">
21660           <array c:type="char**">
21661             <type name="utf8"/>
21662           </array>
21663         </parameter>
21664       </parameters>
21665     </function>
21666     <function name="init_get_option_group"
21667               c:identifier="gst_init_get_option_group">
21668       <return-value transfer-ownership="full">
21669         <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
21670       </return-value>
21671     </function>
21672     <function name="is_tag_list" c:identifier="gst_is_tag_list">
21673       <return-value transfer-ownership="none">
21674         <type name="boolean" c:type="gboolean"/>
21675       </return-value>
21676       <parameters>
21677         <parameter name="p" transfer-ownership="none">
21678           <type name="any" c:type="gconstpointer"/>
21679         </parameter>
21680       </parameters>
21681     </function>
21682     <function name="param_spec_fraction"
21683               c:identifier="gst_param_spec_fraction">
21684       <return-value transfer-ownership="full">
21685         <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
21686       </return-value>
21687       <parameters>
21688         <parameter name="name" transfer-ownership="none">
21689           <type name="utf8" c:type="gchar*"/>
21690         </parameter>
21691         <parameter name="nick" transfer-ownership="none">
21692           <type name="utf8" c:type="gchar*"/>
21693         </parameter>
21694         <parameter name="blurb" transfer-ownership="none">
21695           <type name="utf8" c:type="gchar*"/>
21696         </parameter>
21697         <parameter name="min_num" transfer-ownership="none">
21698           <type name="int" c:type="gint"/>
21699         </parameter>
21700         <parameter name="min_denom" transfer-ownership="none">
21701           <type name="int" c:type="gint"/>
21702         </parameter>
21703         <parameter name="max_num" transfer-ownership="none">
21704           <type name="int" c:type="gint"/>
21705         </parameter>
21706         <parameter name="max_denom" transfer-ownership="none">
21707           <type name="int" c:type="gint"/>
21708         </parameter>
21709         <parameter name="default_num" transfer-ownership="none">
21710           <type name="int" c:type="gint"/>
21711         </parameter>
21712         <parameter name="default_denom" transfer-ownership="none">
21713           <type name="int" c:type="gint"/>
21714         </parameter>
21715         <parameter name="flags" transfer-ownership="none">
21716           <type name="GObject.ParamFlags" c:type="GParamFlags"/>
21717         </parameter>
21718       </parameters>
21719     </function>
21720     <function name="param_spec_mini_object"
21721               c:identifier="gst_param_spec_mini_object">
21722       <return-value transfer-ownership="full">
21723         <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
21724       </return-value>
21725       <parameters>
21726         <parameter name="name" transfer-ownership="none">
21727           <type name="utf8" c:type="char*"/>
21728         </parameter>
21729         <parameter name="nick" transfer-ownership="none">
21730           <type name="utf8" c:type="char*"/>
21731         </parameter>
21732         <parameter name="blurb" transfer-ownership="none">
21733           <type name="utf8" c:type="char*"/>
21734         </parameter>
21735         <parameter name="object_type" transfer-ownership="none">
21736           <type name="GType" c:type="GType"/>
21737         </parameter>
21738         <parameter name="flags" transfer-ownership="none">
21739           <type name="GObject.ParamFlags" c:type="GParamFlags"/>
21740         </parameter>
21741       </parameters>
21742     </function>
21743     <function name="parse_bin_from_description"
21744               c:identifier="gst_parse_bin_from_description"
21745               throws="1">
21746       <return-value transfer-ownership="full">
21747         <type name="Element" c:type="GstElement*"/>
21748       </return-value>
21749       <parameters>
21750         <parameter name="bin_description" transfer-ownership="none">
21751           <type name="utf8" c:type="gchar*"/>
21752         </parameter>
21753         <parameter name="ghost_unlinked_pads" transfer-ownership="none">
21754           <type name="boolean" c:type="gboolean"/>
21755         </parameter>
21756       </parameters>
21757     </function>
21758     <function name="parse_bin_from_description_full"
21759               c:identifier="gst_parse_bin_from_description_full"
21760               throws="1">
21761       <return-value transfer-ownership="full">
21762         <type name="Element" c:type="GstElement*"/>
21763       </return-value>
21764       <parameters>
21765         <parameter name="bin_description" transfer-ownership="none">
21766           <type name="utf8" c:type="gchar*"/>
21767         </parameter>
21768         <parameter name="ghost_unlinked_pads" transfer-ownership="none">
21769           <type name="boolean" c:type="gboolean"/>
21770         </parameter>
21771         <parameter name="context" transfer-ownership="none">
21772           <type name="ParseContext" c:type="GstParseContext*"/>
21773         </parameter>
21774         <parameter name="flags" transfer-ownership="none">
21775           <type name="ParseFlags" c:type="GstParseFlags"/>
21776         </parameter>
21777       </parameters>
21778     </function>
21779     <function name="parse_launch" c:identifier="gst_parse_launch" throws="1">
21780       <return-value transfer-ownership="full">
21781         <type name="Element" c:type="GstElement*"/>
21782       </return-value>
21783       <parameters>
21784         <parameter name="pipeline_description" transfer-ownership="none">
21785           <type name="utf8" c:type="gchar*"/>
21786         </parameter>
21787       </parameters>
21788     </function>
21789     <function name="parse_launch_full"
21790               c:identifier="gst_parse_launch_full"
21791               throws="1">
21792       <return-value transfer-ownership="full">
21793         <type name="Element" c:type="GstElement*"/>
21794       </return-value>
21795       <parameters>
21796         <parameter name="pipeline_description" transfer-ownership="none">
21797           <type name="utf8" c:type="gchar*"/>
21798         </parameter>
21799         <parameter name="context" transfer-ownership="none">
21800           <type name="ParseContext" c:type="GstParseContext*"/>
21801         </parameter>
21802         <parameter name="flags" transfer-ownership="none">
21803           <type name="ParseFlags" c:type="GstParseFlags"/>
21804         </parameter>
21805       </parameters>
21806     </function>
21807     <function name="parse_launchv" c:identifier="gst_parse_launchv" throws="1">
21808       <return-value transfer-ownership="full">
21809         <type name="Element" c:type="GstElement*"/>
21810       </return-value>
21811       <parameters>
21812         <parameter name="argv" transfer-ownership="none">
21813           <array c:type="gchar**">
21814             <type name="utf8"/>
21815           </array>
21816         </parameter>
21817       </parameters>
21818     </function>
21819     <function name="parse_launchv_full"
21820               c:identifier="gst_parse_launchv_full"
21821               throws="1">
21822       <return-value transfer-ownership="full">
21823         <type name="Element" c:type="GstElement*"/>
21824       </return-value>
21825       <parameters>
21826         <parameter name="argv" transfer-ownership="none">
21827           <array c:type="gchar**">
21828             <type name="utf8"/>
21829           </array>
21830         </parameter>
21831         <parameter name="context" transfer-ownership="none">
21832           <type name="ParseContext" c:type="GstParseContext*"/>
21833         </parameter>
21834         <parameter name="flags" transfer-ownership="none">
21835           <type name="ParseFlags" c:type="GstParseFlags"/>
21836         </parameter>
21837       </parameters>
21838     </function>
21839     <function name="print_element_args" c:identifier="gst_print_element_args">
21840       <return-value transfer-ownership="none">
21841         <type name="none" c:type="void"/>
21842       </return-value>
21843       <parameters>
21844         <parameter name="buf" transfer-ownership="none">
21845           <type name="GLib.String" c:type="GString*"/>
21846         </parameter>
21847         <parameter name="indent" transfer-ownership="none">
21848           <type name="int" c:type="gint"/>
21849         </parameter>
21850         <parameter name="element" transfer-ownership="none">
21851           <type name="Element" c:type="GstElement*"/>
21852         </parameter>
21853       </parameters>
21854     </function>
21855     <function name="print_pad_caps" c:identifier="gst_print_pad_caps">
21856       <return-value transfer-ownership="none">
21857         <type name="none" c:type="void"/>
21858       </return-value>
21859       <parameters>
21860         <parameter name="buf" transfer-ownership="none">
21861           <type name="GLib.String" c:type="GString*"/>
21862         </parameter>
21863         <parameter name="indent" transfer-ownership="none">
21864           <type name="int" c:type="gint"/>
21865         </parameter>
21866         <parameter name="pad" transfer-ownership="none">
21867           <type name="Pad" c:type="GstPad*"/>
21868         </parameter>
21869       </parameters>
21870     </function>
21871     <function name="segtrap_is_enabled" c:identifier="gst_segtrap_is_enabled">
21872       <return-value transfer-ownership="none">
21873         <type name="boolean" c:type="gboolean"/>
21874       </return-value>
21875     </function>
21876     <function name="segtrap_set_enabled"
21877               c:identifier="gst_segtrap_set_enabled">
21878       <return-value transfer-ownership="none">
21879         <type name="none" c:type="void"/>
21880       </return-value>
21881       <parameters>
21882         <parameter name="enabled" transfer-ownership="none">
21883           <type name="boolean" c:type="gboolean"/>
21884         </parameter>
21885       </parameters>
21886     </function>
21887     <function name="structure_empty_new"
21888               c:identifier="gst_structure_empty_new">
21889       <return-value transfer-ownership="full">
21890         <type name="Structure" c:type="GstStructure*"/>
21891       </return-value>
21892       <parameters>
21893         <parameter name="name" transfer-ownership="none">
21894           <type name="utf8" c:type="gchar*"/>
21895         </parameter>
21896       </parameters>
21897     </function>
21898     <function name="structure_from_string"
21899               c:identifier="gst_structure_from_string">
21900       <return-value transfer-ownership="full">
21901         <type name="Structure" c:type="GstStructure*"/>
21902       </return-value>
21903       <parameters>
21904         <parameter name="string" transfer-ownership="none">
21905           <type name="utf8" c:type="gchar*"/>
21906         </parameter>
21907         <parameter name="end" transfer-ownership="none">
21908           <array c:type="gchar**">
21909             <type name="utf8"/>
21910           </array>
21911         </parameter>
21912       </parameters>
21913     </function>
21914     <function name="structure_id_empty_new"
21915               c:identifier="gst_structure_id_empty_new">
21916       <return-value transfer-ownership="full">
21917         <type name="Structure" c:type="GstStructure*"/>
21918       </return-value>
21919       <parameters>
21920         <parameter name="quark" transfer-ownership="none">
21921           <type name="GLib.Quark" c:type="GQuark"/>
21922         </parameter>
21923       </parameters>
21924     </function>
21925     <function name="structure_id_new"
21926               c:identifier="gst_structure_id_new"
21927               introspectable="0">
21928       <return-value transfer-ownership="full">
21929         <type name="Structure" c:type="GstStructure*"/>
21930       </return-value>
21931       <parameters>
21932         <parameter name="name_quark" transfer-ownership="none">
21933           <type name="GLib.Quark" c:type="GQuark"/>
21934         </parameter>
21935         <parameter name="field_quark" transfer-ownership="none">
21936           <type name="GLib.Quark" c:type="GQuark"/>
21937         </parameter>
21938         <parameter transfer-ownership="none">
21939           <varargs>
21940           </varargs>
21941         </parameter>
21942       </parameters>
21943     </function>
21944     <function name="tag_exists" c:identifier="gst_tag_exists">
21945       <return-value transfer-ownership="none">
21946         <type name="boolean" c:type="gboolean"/>
21947       </return-value>
21948       <parameters>
21949         <parameter name="tag" transfer-ownership="none">
21950           <type name="utf8" c:type="gchar*"/>
21951         </parameter>
21952       </parameters>
21953     </function>
21954     <function name="tag_get_description"
21955               c:identifier="gst_tag_get_description">
21956       <return-value transfer-ownership="none">
21957         <type name="utf8" c:type="gchar*"/>
21958       </return-value>
21959       <parameters>
21960         <parameter name="tag" transfer-ownership="none">
21961           <type name="utf8" c:type="gchar*"/>
21962         </parameter>
21963       </parameters>
21964     </function>
21965     <function name="tag_get_flag" c:identifier="gst_tag_get_flag">
21966       <return-value transfer-ownership="full">
21967         <type name="TagFlag" c:type="GstTagFlag"/>
21968       </return-value>
21969       <parameters>
21970         <parameter name="tag" transfer-ownership="none">
21971           <type name="utf8" c:type="gchar*"/>
21972         </parameter>
21973       </parameters>
21974     </function>
21975     <function name="tag_get_nick" c:identifier="gst_tag_get_nick">
21976       <return-value transfer-ownership="none">
21977         <type name="utf8" c:type="gchar*"/>
21978       </return-value>
21979       <parameters>
21980         <parameter name="tag" transfer-ownership="none">
21981           <type name="utf8" c:type="gchar*"/>
21982         </parameter>
21983       </parameters>
21984     </function>
21985     <function name="tag_get_type" c:identifier="gst_tag_get_type">
21986       <return-value transfer-ownership="none">
21987         <type name="GType" c:type="GType"/>
21988       </return-value>
21989       <parameters>
21990         <parameter name="tag" transfer-ownership="none">
21991           <type name="utf8" c:type="gchar*"/>
21992         </parameter>
21993       </parameters>
21994     </function>
21995     <function name="tag_is_fixed" c:identifier="gst_tag_is_fixed">
21996       <return-value transfer-ownership="none">
21997         <type name="boolean" c:type="gboolean"/>
21998       </return-value>
21999       <parameters>
22000         <parameter name="tag" transfer-ownership="none">
22001           <type name="utf8" c:type="gchar*"/>
22002         </parameter>
22003       </parameters>
22004     </function>
22005     <function name="tag_list_copy_value"
22006               c:identifier="gst_tag_list_copy_value">
22007       <return-value transfer-ownership="none">
22008         <type name="boolean" c:type="gboolean"/>
22009       </return-value>
22010       <parameters>
22011         <parameter name="dest" transfer-ownership="none">
22012           <type name="GObject.Value" c:type="GValue*"/>
22013         </parameter>
22014         <parameter name="list" transfer-ownership="none">
22015           <type name="TagList" c:type="GstTagList*"/>
22016         </parameter>
22017         <parameter name="tag" transfer-ownership="none">
22018           <type name="utf8" c:type="gchar*"/>
22019         </parameter>
22020       </parameters>
22021     </function>
22022     <function name="tag_merge_strings_with_comma"
22023               c:identifier="gst_tag_merge_strings_with_comma">
22024       <return-value transfer-ownership="none">
22025         <type name="none" c:type="void"/>
22026       </return-value>
22027       <parameters>
22028         <parameter name="dest" transfer-ownership="none">
22029           <type name="GObject.Value" c:type="GValue*"/>
22030         </parameter>
22031         <parameter name="src" transfer-ownership="none">
22032           <type name="GObject.Value" c:type="GValue*"/>
22033         </parameter>
22034       </parameters>
22035     </function>
22036     <function name="tag_merge_use_first"
22037               c:identifier="gst_tag_merge_use_first">
22038       <return-value transfer-ownership="none">
22039         <type name="none" c:type="void"/>
22040       </return-value>
22041       <parameters>
22042         <parameter name="dest" transfer-ownership="none">
22043           <type name="GObject.Value" c:type="GValue*"/>
22044         </parameter>
22045         <parameter name="src" transfer-ownership="none">
22046           <type name="GObject.Value" c:type="GValue*"/>
22047         </parameter>
22048       </parameters>
22049     </function>
22050     <function name="tag_register" c:identifier="gst_tag_register">
22051       <return-value transfer-ownership="none">
22052         <type name="none" c:type="void"/>
22053       </return-value>
22054       <parameters>
22055         <parameter name="name" transfer-ownership="none">
22056           <type name="utf8" c:type="gchar*"/>
22057         </parameter>
22058         <parameter name="flag" transfer-ownership="none">
22059           <type name="TagFlag" c:type="GstTagFlag"/>
22060         </parameter>
22061         <parameter name="type" transfer-ownership="none">
22062           <type name="GType" c:type="GType"/>
22063         </parameter>
22064         <parameter name="nick" transfer-ownership="none">
22065           <type name="utf8" c:type="gchar*"/>
22066         </parameter>
22067         <parameter name="blurb" transfer-ownership="none">
22068           <type name="utf8" c:type="gchar*"/>
22069         </parameter>
22070         <parameter name="func" transfer-ownership="none" scope="call">
22071           <type name="TagMergeFunc" c:type="GstTagMergeFunc"/>
22072         </parameter>
22073       </parameters>
22074     </function>
22075     <function name="trace_read_tsc" c:identifier="gst_trace_read_tsc">
22076       <return-value transfer-ownership="none">
22077         <type name="none" c:type="void"/>
22078       </return-value>
22079       <parameters>
22080         <parameter name="dst"
22081                    direction="out"
22082                    caller-allocates="0"
22083                    transfer-ownership="full">
22084           <type name="int64" c:type="gint64*"/>
22085         </parameter>
22086       </parameters>
22087     </function>
22088     <function name="type_find_helper" c:identifier="gst_type_find_helper">
22089       <return-value transfer-ownership="full">
22090         <type name="Caps" c:type="GstCaps*"/>
22091       </return-value>
22092       <parameters>
22093         <parameter name="src" transfer-ownership="none">
22094           <type name="Pad" c:type="GstPad*"/>
22095         </parameter>
22096         <parameter name="size" transfer-ownership="none">
22097           <type name="uint64" c:type="guint64"/>
22098         </parameter>
22099       </parameters>
22100     </function>
22101     <function name="type_find_helper_for_buffer"
22102               c:identifier="gst_type_find_helper_for_buffer">
22103       <return-value transfer-ownership="full">
22104         <type name="Caps" c:type="GstCaps*"/>
22105       </return-value>
22106       <parameters>
22107         <parameter name="obj" transfer-ownership="none">
22108           <type name="Object" c:type="GstObject*"/>
22109         </parameter>
22110         <parameter name="buf" transfer-ownership="none">
22111           <type name="Buffer" c:type="GstBuffer*"/>
22112         </parameter>
22113         <parameter name="prob" transfer-ownership="none">
22114           <type name="TypeFindProbability" c:type="GstTypeFindProbability*"/>
22115         </parameter>
22116       </parameters>
22117     </function>
22118     <function name="type_find_helper_for_extension"
22119               c:identifier="gst_type_find_helper_for_extension">
22120       <return-value transfer-ownership="full">
22121         <type name="Caps" c:type="GstCaps*"/>
22122       </return-value>
22123       <parameters>
22124         <parameter name="obj" transfer-ownership="none">
22125           <type name="Object" c:type="GstObject*"/>
22126         </parameter>
22127         <parameter name="extension" transfer-ownership="none">
22128           <type name="utf8" c:type="gchar*"/>
22129         </parameter>
22130       </parameters>
22131     </function>
22132     <function name="type_find_helper_get_range"
22133               c:identifier="gst_type_find_helper_get_range">
22134       <return-value transfer-ownership="full">
22135         <type name="Caps" c:type="GstCaps*"/>
22136       </return-value>
22137       <parameters>
22138         <parameter name="obj" transfer-ownership="none">
22139           <type name="Object" c:type="GstObject*"/>
22140         </parameter>
22141         <parameter name="func" transfer-ownership="none" scope="call">
22142           <type name="TypeFindHelperGetRangeFunction"
22143                 c:type="GstTypeFindHelperGetRangeFunction"/>
22144         </parameter>
22145         <parameter name="size" transfer-ownership="none">
22146           <type name="uint64" c:type="guint64"/>
22147         </parameter>
22148         <parameter name="prob" transfer-ownership="none">
22149           <type name="TypeFindProbability" c:type="GstTypeFindProbability*"/>
22150         </parameter>
22151       </parameters>
22152     </function>
22153     <function name="type_find_helper_get_range_ext"
22154               c:identifier="gst_type_find_helper_get_range_ext">
22155       <return-value transfer-ownership="full">
22156         <type name="Caps" c:type="GstCaps*"/>
22157       </return-value>
22158       <parameters>
22159         <parameter name="obj" transfer-ownership="none">
22160           <type name="Object" c:type="GstObject*"/>
22161         </parameter>
22162         <parameter name="func" transfer-ownership="none" scope="call">
22163           <type name="TypeFindHelperGetRangeFunction"
22164                 c:type="GstTypeFindHelperGetRangeFunction"/>
22165         </parameter>
22166         <parameter name="size" transfer-ownership="none">
22167           <type name="uint64" c:type="guint64"/>
22168         </parameter>
22169         <parameter name="extension" transfer-ownership="none">
22170           <type name="utf8" c:type="gchar*"/>
22171         </parameter>
22172         <parameter name="prob" transfer-ownership="none">
22173           <type name="TypeFindProbability" c:type="GstTypeFindProbability*"/>
22174         </parameter>
22175       </parameters>
22176     </function>
22177     <function name="type_find_register" c:identifier="gst_type_find_register">
22178       <return-value transfer-ownership="none">
22179         <type name="boolean" c:type="gboolean"/>
22180       </return-value>
22181       <parameters>
22182         <parameter name="plugin" transfer-ownership="none">
22183           <type name="Plugin" c:type="GstPlugin*"/>
22184         </parameter>
22185         <parameter name="name" transfer-ownership="none">
22186           <type name="utf8" c:type="gchar*"/>
22187         </parameter>
22188         <parameter name="rank" transfer-ownership="none">
22189           <type name="uint" c:type="guint"/>
22190         </parameter>
22191         <parameter name="func" transfer-ownership="none" scope="call">
22192           <type name="TypeFindFunction" c:type="GstTypeFindFunction"/>
22193         </parameter>
22194         <parameter name="extensions" transfer-ownership="none">
22195           <array c:type="gchar**">
22196             <type name="utf8"/>
22197           </array>
22198         </parameter>
22199         <parameter name="possible_caps" transfer-ownership="none">
22200           <type name="Caps" c:type="GstCaps*"/>
22201         </parameter>
22202         <parameter name="data" transfer-ownership="none">
22203           <type name="any" c:type="gpointer"/>
22204         </parameter>
22205         <parameter name="data_notify" transfer-ownership="none" scope="call">
22206           <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
22207         </parameter>
22208       </parameters>
22209     </function>
22210     <function name="type_register_static_full"
22211               c:identifier="gst_type_register_static_full">
22212       <return-value transfer-ownership="none">
22213         <type name="GType" c:type="GType"/>
22214       </return-value>
22215       <parameters>
22216         <parameter name="parent_type" transfer-ownership="none">
22217           <type name="GType" c:type="GType"/>
22218         </parameter>
22219         <parameter name="type_name" transfer-ownership="none">
22220           <type name="utf8" c:type="gchar*"/>
22221         </parameter>
22222         <parameter name="class_size" transfer-ownership="none">
22223           <type name="uint" c:type="guint"/>
22224         </parameter>
22225         <parameter name="base_init" transfer-ownership="none" scope="call">
22226           <type name="GObject.BaseInitFunc" c:type="GBaseInitFunc"/>
22227         </parameter>
22228         <parameter name="base_finalize" transfer-ownership="none" scope="call">
22229           <type name="GObject.BaseFinalizeFunc" c:type="GBaseFinalizeFunc"/>
22230         </parameter>
22231         <parameter name="class_init" transfer-ownership="none" scope="call">
22232           <type name="GObject.ClassInitFunc" c:type="GClassInitFunc"/>
22233         </parameter>
22234         <parameter name="class_finalize"
22235                    transfer-ownership="none"
22236                    scope="call"
22237                    closure="7">
22238           <type name="GObject.ClassFinalizeFunc" c:type="GClassFinalizeFunc"/>
22239         </parameter>
22240         <parameter name="class_data" transfer-ownership="none">
22241           <type name="any" c:type="gconstpointer"/>
22242         </parameter>
22243         <parameter name="instance_size" transfer-ownership="none">
22244           <type name="uint" c:type="guint"/>
22245         </parameter>
22246         <parameter name="n_preallocs" transfer-ownership="none">
22247           <type name="uint16" c:type="guint16"/>
22248         </parameter>
22249         <parameter name="instance_init" transfer-ownership="none" scope="call">
22250           <type name="GObject.InstanceInitFunc" c:type="GInstanceInitFunc"/>
22251         </parameter>
22252         <parameter name="value_table" transfer-ownership="none">
22253           <type name="GObject.TypeValueTable" c:type="GTypeValueTable*"/>
22254         </parameter>
22255         <parameter name="flags" transfer-ownership="none">
22256           <type name="GObject.TypeFlags" c:type="GTypeFlags"/>
22257         </parameter>
22258       </parameters>
22259     </function>
22260     <function name="update_registry" c:identifier="gst_update_registry">
22261       <return-value transfer-ownership="none">
22262         <type name="boolean" c:type="gboolean"/>
22263       </return-value>
22264     </function>
22265     <function name="uri_construct" c:identifier="gst_uri_construct">
22266       <return-value transfer-ownership="full">
22267         <type name="utf8" c:type="gchar*"/>
22268       </return-value>
22269       <parameters>
22270         <parameter name="protocol" transfer-ownership="none">
22271           <type name="utf8" c:type="gchar*"/>
22272         </parameter>
22273         <parameter name="location" transfer-ownership="none">
22274           <type name="utf8" c:type="gchar*"/>
22275         </parameter>
22276       </parameters>
22277     </function>
22278     <function name="uri_get_location" c:identifier="gst_uri_get_location">
22279       <return-value transfer-ownership="full">
22280         <type name="utf8" c:type="gchar*"/>
22281       </return-value>
22282       <parameters>
22283         <parameter name="uri" transfer-ownership="none">
22284           <type name="utf8" c:type="gchar*"/>
22285         </parameter>
22286       </parameters>
22287     </function>
22288     <function name="uri_get_protocol" c:identifier="gst_uri_get_protocol">
22289       <return-value transfer-ownership="full">
22290         <type name="utf8" c:type="gchar*"/>
22291       </return-value>
22292       <parameters>
22293         <parameter name="uri" transfer-ownership="none">
22294           <type name="utf8" c:type="gchar*"/>
22295         </parameter>
22296       </parameters>
22297     </function>
22298     <function name="uri_has_protocol" c:identifier="gst_uri_has_protocol">
22299       <return-value transfer-ownership="none">
22300         <type name="boolean" c:type="gboolean"/>
22301       </return-value>
22302       <parameters>
22303         <parameter name="uri" transfer-ownership="none">
22304           <type name="utf8" c:type="gchar*"/>
22305         </parameter>
22306         <parameter name="protocol" transfer-ownership="none">
22307           <type name="utf8" c:type="gchar*"/>
22308         </parameter>
22309       </parameters>
22310     </function>
22311     <function name="uri_is_valid" c:identifier="gst_uri_is_valid">
22312       <return-value transfer-ownership="none">
22313         <type name="boolean" c:type="gboolean"/>
22314       </return-value>
22315       <parameters>
22316         <parameter name="uri" transfer-ownership="none">
22317           <type name="utf8" c:type="gchar*"/>
22318         </parameter>
22319       </parameters>
22320     </function>
22321     <function name="uri_protocol_is_supported"
22322               c:identifier="gst_uri_protocol_is_supported">
22323       <return-value transfer-ownership="none">
22324         <type name="boolean" c:type="gboolean"/>
22325       </return-value>
22326       <parameters>
22327         <parameter name="type" transfer-ownership="none">
22328           <type name="URIType" c:type="GstURIType"/>
22329         </parameter>
22330         <parameter name="protocol" transfer-ownership="none">
22331           <type name="utf8" c:type="gchar*"/>
22332         </parameter>
22333       </parameters>
22334     </function>
22335     <function name="uri_protocol_is_valid"
22336               c:identifier="gst_uri_protocol_is_valid">
22337       <return-value transfer-ownership="none">
22338         <type name="boolean" c:type="gboolean"/>
22339       </return-value>
22340       <parameters>
22341         <parameter name="protocol" transfer-ownership="none">
22342           <type name="utf8" c:type="gchar*"/>
22343         </parameter>
22344       </parameters>
22345     </function>
22346     <function name="util_array_binary_search"
22347               c:identifier="gst_util_array_binary_search">
22348       <return-value transfer-ownership="none">
22349         <type name="any" c:type="gpointer"/>
22350       </return-value>
22351       <parameters>
22352         <parameter name="array" transfer-ownership="none">
22353           <type name="any" c:type="gpointer"/>
22354         </parameter>
22355         <parameter name="num_elements" transfer-ownership="none">
22356           <type name="uint" c:type="guint"/>
22357         </parameter>
22358         <parameter name="element_size" transfer-ownership="none">
22359           <type name="gsize" c:type="gsize"/>
22360         </parameter>
22361         <parameter name="search_func" transfer-ownership="none" scope="call">
22362           <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
22363         </parameter>
22364         <parameter name="mode" transfer-ownership="none">
22365           <type name="SearchMode" c:type="GstSearchMode"/>
22366         </parameter>
22367         <parameter name="search_data" transfer-ownership="none">
22368           <type name="any" c:type="gconstpointer"/>
22369         </parameter>
22370         <parameter name="user_data" transfer-ownership="none">
22371           <type name="any" c:type="gpointer"/>
22372         </parameter>
22373       </parameters>
22374     </function>
22375     <function name="util_double_to_fraction"
22376               c:identifier="gst_util_double_to_fraction">
22377       <return-value transfer-ownership="none">
22378         <type name="none" c:type="void"/>
22379       </return-value>
22380       <parameters>
22381         <parameter name="src" transfer-ownership="none">
22382           <type name="double" c:type="gdouble"/>
22383         </parameter>
22384         <parameter name="dest_n"
22385                    direction="out"
22386                    caller-allocates="0"
22387                    transfer-ownership="full">
22388           <type name="int" c:type="gint*"/>
22389         </parameter>
22390         <parameter name="dest_d"
22391                    direction="out"
22392                    caller-allocates="0"
22393                    transfer-ownership="full">
22394           <type name="int" c:type="gint*"/>
22395         </parameter>
22396       </parameters>
22397     </function>
22398     <function name="util_dump_mem" c:identifier="gst_util_dump_mem">
22399       <return-value transfer-ownership="none">
22400         <type name="none" c:type="void"/>
22401       </return-value>
22402       <parameters>
22403         <parameter name="mem" transfer-ownership="none">
22404           <array c:type="guchar*">
22405             <type name="uint8"/>
22406           </array>
22407         </parameter>
22408         <parameter name="size" transfer-ownership="none">
22409           <type name="uint" c:type="guint"/>
22410         </parameter>
22411       </parameters>
22412     </function>
22413     <function name="util_fraction_add" c:identifier="gst_util_fraction_add">
22414       <return-value transfer-ownership="none">
22415         <type name="boolean" c:type="gboolean"/>
22416       </return-value>
22417       <parameters>
22418         <parameter name="a_n" transfer-ownership="none">
22419           <type name="int" c:type="gint"/>
22420         </parameter>
22421         <parameter name="a_d" transfer-ownership="none">
22422           <type name="int" c:type="gint"/>
22423         </parameter>
22424         <parameter name="b_n" transfer-ownership="none">
22425           <type name="int" c:type="gint"/>
22426         </parameter>
22427         <parameter name="b_d" transfer-ownership="none">
22428           <type name="int" c:type="gint"/>
22429         </parameter>
22430         <parameter name="res_n"
22431                    direction="out"
22432                    caller-allocates="0"
22433                    transfer-ownership="full">
22434           <type name="int" c:type="gint*"/>
22435         </parameter>
22436         <parameter name="res_d"
22437                    direction="out"
22438                    caller-allocates="0"
22439                    transfer-ownership="full">
22440           <type name="int" c:type="gint*"/>
22441         </parameter>
22442       </parameters>
22443     </function>
22444     <function name="util_fraction_multiply"
22445               c:identifier="gst_util_fraction_multiply">
22446       <return-value transfer-ownership="none">
22447         <type name="boolean" c:type="gboolean"/>
22448       </return-value>
22449       <parameters>
22450         <parameter name="a_n" transfer-ownership="none">
22451           <type name="int" c:type="gint"/>
22452         </parameter>
22453         <parameter name="a_d" transfer-ownership="none">
22454           <type name="int" c:type="gint"/>
22455         </parameter>
22456         <parameter name="b_n" transfer-ownership="none">
22457           <type name="int" c:type="gint"/>
22458         </parameter>
22459         <parameter name="b_d" transfer-ownership="none">
22460           <type name="int" c:type="gint"/>
22461         </parameter>
22462         <parameter name="res_n"
22463                    direction="out"
22464                    caller-allocates="0"
22465                    transfer-ownership="full">
22466           <type name="int" c:type="gint*"/>
22467         </parameter>
22468         <parameter name="res_d"
22469                    direction="out"
22470                    caller-allocates="0"
22471                    transfer-ownership="full">
22472           <type name="int" c:type="gint*"/>
22473         </parameter>
22474       </parameters>
22475     </function>
22476     <function name="util_fraction_to_double"
22477               c:identifier="gst_util_fraction_to_double">
22478       <return-value transfer-ownership="none">
22479         <type name="none" c:type="void"/>
22480       </return-value>
22481       <parameters>
22482         <parameter name="src_n" transfer-ownership="none">
22483           <type name="int" c:type="gint"/>
22484         </parameter>
22485         <parameter name="src_d" transfer-ownership="none">
22486           <type name="int" c:type="gint"/>
22487         </parameter>
22488         <parameter name="dest"
22489                    direction="out"
22490                    caller-allocates="0"
22491                    transfer-ownership="full">
22492           <type name="double" c:type="gdouble*"/>
22493         </parameter>
22494       </parameters>
22495     </function>
22496     <function name="util_gdouble_to_guint64"
22497               c:identifier="gst_util_gdouble_to_guint64">
22498       <return-value transfer-ownership="none">
22499         <type name="uint64" c:type="guint64"/>
22500       </return-value>
22501       <parameters>
22502         <parameter name="value" transfer-ownership="none">
22503           <type name="double" c:type="gdouble"/>
22504         </parameter>
22505       </parameters>
22506     </function>
22507     <function name="util_get_timestamp" c:identifier="gst_util_get_timestamp">
22508       <return-value transfer-ownership="full">
22509         <type name="ClockTime" c:type="GstClockTime"/>
22510       </return-value>
22511     </function>
22512     <function name="util_greatest_common_divisor"
22513               c:identifier="gst_util_greatest_common_divisor">
22514       <return-value transfer-ownership="none">
22515         <type name="int" c:type="gint"/>
22516       </return-value>
22517       <parameters>
22518         <parameter name="a" transfer-ownership="none">
22519           <type name="int" c:type="gint"/>
22520         </parameter>
22521         <parameter name="b" transfer-ownership="none">
22522           <type name="int" c:type="gint"/>
22523         </parameter>
22524       </parameters>
22525     </function>
22526     <function name="util_guint64_to_gdouble"
22527               c:identifier="gst_util_guint64_to_gdouble">
22528       <return-value transfer-ownership="none">
22529         <type name="double" c:type="gdouble"/>
22530       </return-value>
22531       <parameters>
22532         <parameter name="value" transfer-ownership="none">
22533           <type name="uint64" c:type="guint64"/>
22534         </parameter>
22535       </parameters>
22536     </function>
22537     <function name="util_seqnum_compare"
22538               c:identifier="gst_util_seqnum_compare">
22539       <return-value transfer-ownership="none">
22540         <type name="int32" c:type="gint32"/>
22541       </return-value>
22542       <parameters>
22543         <parameter name="s1" transfer-ownership="none">
22544           <type name="uint32" c:type="guint32"/>
22545         </parameter>
22546         <parameter name="s2" transfer-ownership="none">
22547           <type name="uint32" c:type="guint32"/>
22548         </parameter>
22549       </parameters>
22550     </function>
22551     <function name="util_seqnum_next" c:identifier="gst_util_seqnum_next">
22552       <return-value transfer-ownership="none">
22553         <type name="uint32" c:type="guint32"/>
22554       </return-value>
22555     </function>
22556     <function name="util_set_object_arg"
22557               c:identifier="gst_util_set_object_arg">
22558       <return-value transfer-ownership="none">
22559         <type name="none" c:type="void"/>
22560       </return-value>
22561       <parameters>
22562         <parameter name="object" transfer-ownership="none">
22563           <type name="GObject.Object" c:type="GObject*"/>
22564         </parameter>
22565         <parameter name="name" transfer-ownership="none">
22566           <type name="utf8" c:type="gchar*"/>
22567         </parameter>
22568         <parameter name="value" transfer-ownership="none">
22569           <type name="utf8" c:type="gchar*"/>
22570         </parameter>
22571       </parameters>
22572     </function>
22573     <function name="util_set_value_from_string"
22574               c:identifier="gst_util_set_value_from_string">
22575       <return-value transfer-ownership="none">
22576         <type name="none" c:type="void"/>
22577       </return-value>
22578       <parameters>
22579         <parameter name="value" transfer-ownership="none">
22580           <type name="GObject.Value" c:type="GValue*"/>
22581         </parameter>
22582         <parameter name="value_str" transfer-ownership="none">
22583           <type name="utf8" c:type="gchar*"/>
22584         </parameter>
22585       </parameters>
22586     </function>
22587     <function name="util_uint64_scale" c:identifier="gst_util_uint64_scale">
22588       <return-value transfer-ownership="none">
22589         <type name="uint64" c:type="guint64"/>
22590       </return-value>
22591       <parameters>
22592         <parameter name="val" transfer-ownership="none">
22593           <type name="uint64" c:type="guint64"/>
22594         </parameter>
22595         <parameter name="num" transfer-ownership="none">
22596           <type name="uint64" c:type="guint64"/>
22597         </parameter>
22598         <parameter name="denom" transfer-ownership="none">
22599           <type name="uint64" c:type="guint64"/>
22600         </parameter>
22601       </parameters>
22602     </function>
22603     <function name="util_uint64_scale_ceil"
22604               c:identifier="gst_util_uint64_scale_ceil">
22605       <return-value transfer-ownership="none">
22606         <type name="uint64" c:type="guint64"/>
22607       </return-value>
22608       <parameters>
22609         <parameter name="val" transfer-ownership="none">
22610           <type name="uint64" c:type="guint64"/>
22611         </parameter>
22612         <parameter name="num" transfer-ownership="none">
22613           <type name="uint64" c:type="guint64"/>
22614         </parameter>
22615         <parameter name="denom" transfer-ownership="none">
22616           <type name="uint64" c:type="guint64"/>
22617         </parameter>
22618       </parameters>
22619     </function>
22620     <function name="util_uint64_scale_int"
22621               c:identifier="gst_util_uint64_scale_int">
22622       <return-value transfer-ownership="none">
22623         <type name="uint64" c:type="guint64"/>
22624       </return-value>
22625       <parameters>
22626         <parameter name="val" transfer-ownership="none">
22627           <type name="uint64" c:type="guint64"/>
22628         </parameter>
22629         <parameter name="num" transfer-ownership="none">
22630           <type name="int" c:type="gint"/>
22631         </parameter>
22632         <parameter name="denom" transfer-ownership="none">
22633           <type name="int" c:type="gint"/>
22634         </parameter>
22635       </parameters>
22636     </function>
22637     <function name="util_uint64_scale_int_ceil"
22638               c:identifier="gst_util_uint64_scale_int_ceil">
22639       <return-value transfer-ownership="none">
22640         <type name="uint64" c:type="guint64"/>
22641       </return-value>
22642       <parameters>
22643         <parameter name="val" transfer-ownership="none">
22644           <type name="uint64" c:type="guint64"/>
22645         </parameter>
22646         <parameter name="num" transfer-ownership="none">
22647           <type name="int" c:type="gint"/>
22648         </parameter>
22649         <parameter name="denom" transfer-ownership="none">
22650           <type name="int" c:type="gint"/>
22651         </parameter>
22652       </parameters>
22653     </function>
22654     <function name="util_uint64_scale_int_round"
22655               c:identifier="gst_util_uint64_scale_int_round">
22656       <return-value transfer-ownership="none">
22657         <type name="uint64" c:type="guint64"/>
22658       </return-value>
22659       <parameters>
22660         <parameter name="val" transfer-ownership="none">
22661           <type name="uint64" c:type="guint64"/>
22662         </parameter>
22663         <parameter name="num" transfer-ownership="none">
22664           <type name="int" c:type="gint"/>
22665         </parameter>
22666         <parameter name="denom" transfer-ownership="none">
22667           <type name="int" c:type="gint"/>
22668         </parameter>
22669       </parameters>
22670     </function>
22671     <function name="util_uint64_scale_round"
22672               c:identifier="gst_util_uint64_scale_round">
22673       <return-value transfer-ownership="none">
22674         <type name="uint64" c:type="guint64"/>
22675       </return-value>
22676       <parameters>
22677         <parameter name="val" transfer-ownership="none">
22678           <type name="uint64" c:type="guint64"/>
22679         </parameter>
22680         <parameter name="num" transfer-ownership="none">
22681           <type name="uint64" c:type="guint64"/>
22682         </parameter>
22683         <parameter name="denom" transfer-ownership="none">
22684           <type name="uint64" c:type="guint64"/>
22685         </parameter>
22686       </parameters>
22687     </function>
22688     <function name="value_array_append_value"
22689               c:identifier="gst_value_array_append_value">
22690       <return-value transfer-ownership="none">
22691         <type name="none" c:type="void"/>
22692       </return-value>
22693       <parameters>
22694         <parameter name="value" transfer-ownership="none">
22695           <type name="GObject.Value" c:type="GValue*"/>
22696         </parameter>
22697         <parameter name="append_value" transfer-ownership="none">
22698           <type name="GObject.Value" c:type="GValue*"/>
22699         </parameter>
22700       </parameters>
22701     </function>
22702     <function name="value_array_get_size"
22703               c:identifier="gst_value_array_get_size">
22704       <return-value transfer-ownership="none">
22705         <type name="uint" c:type="guint"/>
22706       </return-value>
22707       <parameters>
22708         <parameter name="value" transfer-ownership="none">
22709           <type name="GObject.Value" c:type="GValue*"/>
22710         </parameter>
22711       </parameters>
22712     </function>
22713     <function name="value_array_get_value"
22714               c:identifier="gst_value_array_get_value">
22715       <return-value transfer-ownership="none">
22716         <type name="GObject.Value" c:type="GValue*"/>
22717       </return-value>
22718       <parameters>
22719         <parameter name="value" transfer-ownership="none">
22720           <type name="GObject.Value" c:type="GValue*"/>
22721         </parameter>
22722         <parameter name="index" transfer-ownership="none">
22723           <type name="uint" c:type="guint"/>
22724         </parameter>
22725       </parameters>
22726     </function>
22727     <function name="value_array_prepend_value"
22728               c:identifier="gst_value_array_prepend_value">
22729       <return-value transfer-ownership="none">
22730         <type name="none" c:type="void"/>
22731       </return-value>
22732       <parameters>
22733         <parameter name="value" transfer-ownership="none">
22734           <type name="GObject.Value" c:type="GValue*"/>
22735         </parameter>
22736         <parameter name="prepend_value" transfer-ownership="none">
22737           <type name="GObject.Value" c:type="GValue*"/>
22738         </parameter>
22739       </parameters>
22740     </function>
22741     <function name="value_can_compare" c:identifier="gst_value_can_compare">
22742       <return-value transfer-ownership="none">
22743         <type name="boolean" c:type="gboolean"/>
22744       </return-value>
22745       <parameters>
22746         <parameter name="value1" transfer-ownership="none">
22747           <type name="GObject.Value" c:type="GValue*"/>
22748         </parameter>
22749         <parameter name="value2" transfer-ownership="none">
22750           <type name="GObject.Value" c:type="GValue*"/>
22751         </parameter>
22752       </parameters>
22753     </function>
22754     <function name="value_can_intersect"
22755               c:identifier="gst_value_can_intersect">
22756       <return-value transfer-ownership="none">
22757         <type name="boolean" c:type="gboolean"/>
22758       </return-value>
22759       <parameters>
22760         <parameter name="value1" transfer-ownership="none">
22761           <type name="GObject.Value" c:type="GValue*"/>
22762         </parameter>
22763         <parameter name="value2" transfer-ownership="none">
22764           <type name="GObject.Value" c:type="GValue*"/>
22765         </parameter>
22766       </parameters>
22767     </function>
22768     <function name="value_can_subtract" c:identifier="gst_value_can_subtract">
22769       <return-value transfer-ownership="none">
22770         <type name="boolean" c:type="gboolean"/>
22771       </return-value>
22772       <parameters>
22773         <parameter name="minuend" transfer-ownership="none">
22774           <type name="GObject.Value" c:type="GValue*"/>
22775         </parameter>
22776         <parameter name="subtrahend" transfer-ownership="none">
22777           <type name="GObject.Value" c:type="GValue*"/>
22778         </parameter>
22779       </parameters>
22780     </function>
22781     <function name="value_can_union" c:identifier="gst_value_can_union">
22782       <return-value transfer-ownership="none">
22783         <type name="boolean" c:type="gboolean"/>
22784       </return-value>
22785       <parameters>
22786         <parameter name="value1" transfer-ownership="none">
22787           <type name="GObject.Value" c:type="GValue*"/>
22788         </parameter>
22789         <parameter name="value2" transfer-ownership="none">
22790           <type name="GObject.Value" c:type="GValue*"/>
22791         </parameter>
22792       </parameters>
22793     </function>
22794     <function name="value_compare" c:identifier="gst_value_compare">
22795       <return-value transfer-ownership="none">
22796         <type name="int" c:type="gint"/>
22797       </return-value>
22798       <parameters>
22799         <parameter name="value1" transfer-ownership="none">
22800           <type name="GObject.Value" c:type="GValue*"/>
22801         </parameter>
22802         <parameter name="value2" transfer-ownership="none">
22803           <type name="GObject.Value" c:type="GValue*"/>
22804         </parameter>
22805       </parameters>
22806     </function>
22807     <function name="value_deserialize" c:identifier="gst_value_deserialize">
22808       <return-value transfer-ownership="none">
22809         <type name="boolean" c:type="gboolean"/>
22810       </return-value>
22811       <parameters>
22812         <parameter name="dest" transfer-ownership="none">
22813           <type name="GObject.Value" c:type="GValue*"/>
22814         </parameter>
22815         <parameter name="src" transfer-ownership="none">
22816           <type name="utf8" c:type="gchar*"/>
22817         </parameter>
22818       </parameters>
22819     </function>
22820     <function name="value_dup_mini_object"
22821               c:identifier="gst_value_dup_mini_object">
22822       <return-value transfer-ownership="full">
22823         <type name="MiniObject" c:type="GstMiniObject*"/>
22824       </return-value>
22825       <parameters>
22826         <parameter name="value" transfer-ownership="none">
22827           <type name="GObject.Value" c:type="GValue*"/>
22828         </parameter>
22829       </parameters>
22830     </function>
22831     <function name="value_fraction_multiply"
22832               c:identifier="gst_value_fraction_multiply">
22833       <return-value transfer-ownership="none">
22834         <type name="boolean" c:type="gboolean"/>
22835       </return-value>
22836       <parameters>
22837         <parameter name="product" transfer-ownership="none">
22838           <type name="GObject.Value" c:type="GValue*"/>
22839         </parameter>
22840         <parameter name="factor1" transfer-ownership="none">
22841           <type name="GObject.Value" c:type="GValue*"/>
22842         </parameter>
22843         <parameter name="factor2" transfer-ownership="none">
22844           <type name="GObject.Value" c:type="GValue*"/>
22845         </parameter>
22846       </parameters>
22847     </function>
22848     <function name="value_fraction_subtract"
22849               c:identifier="gst_value_fraction_subtract">
22850       <return-value transfer-ownership="none">
22851         <type name="boolean" c:type="gboolean"/>
22852       </return-value>
22853       <parameters>
22854         <parameter name="dest" transfer-ownership="none">
22855           <type name="GObject.Value" c:type="GValue*"/>
22856         </parameter>
22857         <parameter name="minuend" transfer-ownership="none">
22858           <type name="GObject.Value" c:type="GValue*"/>
22859         </parameter>
22860         <parameter name="subtrahend" transfer-ownership="none">
22861           <type name="GObject.Value" c:type="GValue*"/>
22862         </parameter>
22863       </parameters>
22864     </function>
22865     <function name="value_get_caps" c:identifier="gst_value_get_caps">
22866       <return-value transfer-ownership="none">
22867         <type name="Caps" c:type="GstCaps*"/>
22868       </return-value>
22869       <parameters>
22870         <parameter name="value" transfer-ownership="none">
22871           <type name="GObject.Value" c:type="GValue*"/>
22872         </parameter>
22873       </parameters>
22874     </function>
22875     <function name="value_get_date" c:identifier="gst_value_get_date">
22876       <return-value transfer-ownership="none">
22877         <type name="GLib.Date" c:type="GDate*"/>
22878       </return-value>
22879       <parameters>
22880         <parameter name="value" transfer-ownership="none">
22881           <type name="GObject.Value" c:type="GValue*"/>
22882         </parameter>
22883       </parameters>
22884     </function>
22885     <function name="value_get_double_range_max"
22886               c:identifier="gst_value_get_double_range_max">
22887       <return-value transfer-ownership="none">
22888         <type name="double" c:type="gdouble"/>
22889       </return-value>
22890       <parameters>
22891         <parameter name="value" transfer-ownership="none">
22892           <type name="GObject.Value" c:type="GValue*"/>
22893         </parameter>
22894       </parameters>
22895     </function>
22896     <function name="value_get_double_range_min"
22897               c:identifier="gst_value_get_double_range_min">
22898       <return-value transfer-ownership="none">
22899         <type name="double" c:type="gdouble"/>
22900       </return-value>
22901       <parameters>
22902         <parameter name="value" transfer-ownership="none">
22903           <type name="GObject.Value" c:type="GValue*"/>
22904         </parameter>
22905       </parameters>
22906     </function>
22907     <function name="value_get_fourcc" c:identifier="gst_value_get_fourcc">
22908       <return-value transfer-ownership="none">
22909         <type name="uint32" c:type="guint32"/>
22910       </return-value>
22911       <parameters>
22912         <parameter name="value" transfer-ownership="none">
22913           <type name="GObject.Value" c:type="GValue*"/>
22914         </parameter>
22915       </parameters>
22916     </function>
22917     <function name="value_get_fraction_denominator"
22918               c:identifier="gst_value_get_fraction_denominator">
22919       <return-value transfer-ownership="none">
22920         <type name="int" c:type="gint"/>
22921       </return-value>
22922       <parameters>
22923         <parameter name="value" transfer-ownership="none">
22924           <type name="GObject.Value" c:type="GValue*"/>
22925         </parameter>
22926       </parameters>
22927     </function>
22928     <function name="value_get_fraction_numerator"
22929               c:identifier="gst_value_get_fraction_numerator">
22930       <return-value transfer-ownership="none">
22931         <type name="int" c:type="gint"/>
22932       </return-value>
22933       <parameters>
22934         <parameter name="value" transfer-ownership="none">
22935           <type name="GObject.Value" c:type="GValue*"/>
22936         </parameter>
22937       </parameters>
22938     </function>
22939     <function name="value_get_fraction_range_max"
22940               c:identifier="gst_value_get_fraction_range_max">
22941       <return-value transfer-ownership="none">
22942         <type name="GObject.Value" c:type="GValue*"/>
22943       </return-value>
22944       <parameters>
22945         <parameter name="value" transfer-ownership="none">
22946           <type name="GObject.Value" c:type="GValue*"/>
22947         </parameter>
22948       </parameters>
22949     </function>
22950     <function name="value_get_fraction_range_min"
22951               c:identifier="gst_value_get_fraction_range_min">
22952       <return-value transfer-ownership="none">
22953         <type name="GObject.Value" c:type="GValue*"/>
22954       </return-value>
22955       <parameters>
22956         <parameter name="value" transfer-ownership="none">
22957           <type name="GObject.Value" c:type="GValue*"/>
22958         </parameter>
22959       </parameters>
22960     </function>
22961     <function name="value_get_int_range_max"
22962               c:identifier="gst_value_get_int_range_max">
22963       <return-value transfer-ownership="none">
22964         <type name="int" c:type="gint"/>
22965       </return-value>
22966       <parameters>
22967         <parameter name="value" transfer-ownership="none">
22968           <type name="GObject.Value" c:type="GValue*"/>
22969         </parameter>
22970       </parameters>
22971     </function>
22972     <function name="value_get_int_range_min"
22973               c:identifier="gst_value_get_int_range_min">
22974       <return-value transfer-ownership="none">
22975         <type name="int" c:type="gint"/>
22976       </return-value>
22977       <parameters>
22978         <parameter name="value" transfer-ownership="none">
22979           <type name="GObject.Value" c:type="GValue*"/>
22980         </parameter>
22981       </parameters>
22982     </function>
22983     <function name="value_get_mini_object"
22984               c:identifier="gst_value_get_mini_object">
22985       <return-value transfer-ownership="full">
22986         <type name="MiniObject" c:type="GstMiniObject*"/>
22987       </return-value>
22988       <parameters>
22989         <parameter name="value" transfer-ownership="none">
22990           <type name="GObject.Value" c:type="GValue*"/>
22991         </parameter>
22992       </parameters>
22993     </function>
22994     <function name="value_get_structure"
22995               c:identifier="gst_value_get_structure">
22996       <return-value transfer-ownership="none">
22997         <type name="Structure" c:type="GstStructure*"/>
22998       </return-value>
22999       <parameters>
23000         <parameter name="value" transfer-ownership="none">
23001           <type name="GObject.Value" c:type="GValue*"/>
23002         </parameter>
23003       </parameters>
23004     </function>
23005     <function name="value_init_and_copy"
23006               c:identifier="gst_value_init_and_copy">
23007       <return-value transfer-ownership="none">
23008         <type name="none" c:type="void"/>
23009       </return-value>
23010       <parameters>
23011         <parameter name="dest" transfer-ownership="none">
23012           <type name="GObject.Value" c:type="GValue*"/>
23013         </parameter>
23014         <parameter name="src" transfer-ownership="none">
23015           <type name="GObject.Value" c:type="GValue*"/>
23016         </parameter>
23017       </parameters>
23018     </function>
23019     <function name="value_intersect" c:identifier="gst_value_intersect">
23020       <return-value transfer-ownership="none">
23021         <type name="boolean" c:type="gboolean"/>
23022       </return-value>
23023       <parameters>
23024         <parameter name="dest" transfer-ownership="none">
23025           <type name="GObject.Value" c:type="GValue*"/>
23026         </parameter>
23027         <parameter name="value1" transfer-ownership="none">
23028           <type name="GObject.Value" c:type="GValue*"/>
23029         </parameter>
23030         <parameter name="value2" transfer-ownership="none">
23031           <type name="GObject.Value" c:type="GValue*"/>
23032         </parameter>
23033       </parameters>
23034     </function>
23035     <function name="value_is_fixed" c:identifier="gst_value_is_fixed">
23036       <return-value transfer-ownership="none">
23037         <type name="boolean" c:type="gboolean"/>
23038       </return-value>
23039       <parameters>
23040         <parameter name="value" transfer-ownership="none">
23041           <type name="GObject.Value" c:type="GValue*"/>
23042         </parameter>
23043       </parameters>
23044     </function>
23045     <function name="value_list_append_value"
23046               c:identifier="gst_value_list_append_value">
23047       <return-value transfer-ownership="none">
23048         <type name="none" c:type="void"/>
23049       </return-value>
23050       <parameters>
23051         <parameter name="value" transfer-ownership="none">
23052           <type name="GObject.Value" c:type="GValue*"/>
23053         </parameter>
23054         <parameter name="append_value" transfer-ownership="none">
23055           <type name="GObject.Value" c:type="GValue*"/>
23056         </parameter>
23057       </parameters>
23058     </function>
23059     <function name="value_list_concat" c:identifier="gst_value_list_concat">
23060       <return-value transfer-ownership="none">
23061         <type name="none" c:type="void"/>
23062       </return-value>
23063       <parameters>
23064         <parameter name="dest" transfer-ownership="none">
23065           <type name="GObject.Value" c:type="GValue*"/>
23066         </parameter>
23067         <parameter name="value1" transfer-ownership="none">
23068           <type name="GObject.Value" c:type="GValue*"/>
23069         </parameter>
23070         <parameter name="value2" transfer-ownership="none">
23071           <type name="GObject.Value" c:type="GValue*"/>
23072         </parameter>
23073       </parameters>
23074     </function>
23075     <function name="value_list_get_size"
23076               c:identifier="gst_value_list_get_size">
23077       <return-value transfer-ownership="none">
23078         <type name="uint" c:type="guint"/>
23079       </return-value>
23080       <parameters>
23081         <parameter name="value" transfer-ownership="none">
23082           <type name="GObject.Value" c:type="GValue*"/>
23083         </parameter>
23084       </parameters>
23085     </function>
23086     <function name="value_list_get_value"
23087               c:identifier="gst_value_list_get_value">
23088       <return-value transfer-ownership="none">
23089         <type name="GObject.Value" c:type="GValue*"/>
23090       </return-value>
23091       <parameters>
23092         <parameter name="value" transfer-ownership="none">
23093           <type name="GObject.Value" c:type="GValue*"/>
23094         </parameter>
23095         <parameter name="index" transfer-ownership="none">
23096           <type name="uint" c:type="guint"/>
23097         </parameter>
23098       </parameters>
23099     </function>
23100     <function name="value_list_prepend_value"
23101               c:identifier="gst_value_list_prepend_value">
23102       <return-value transfer-ownership="none">
23103         <type name="none" c:type="void"/>
23104       </return-value>
23105       <parameters>
23106         <parameter name="value" transfer-ownership="none">
23107           <type name="GObject.Value" c:type="GValue*"/>
23108         </parameter>
23109         <parameter name="prepend_value" transfer-ownership="none">
23110           <type name="GObject.Value" c:type="GValue*"/>
23111         </parameter>
23112       </parameters>
23113     </function>
23114     <function name="value_register" c:identifier="gst_value_register">
23115       <return-value transfer-ownership="none">
23116         <type name="none" c:type="void"/>
23117       </return-value>
23118       <parameters>
23119         <parameter name="table" transfer-ownership="none">
23120           <type name="ValueTable" c:type="GstValueTable*"/>
23121         </parameter>
23122       </parameters>
23123     </function>
23124     <function name="value_register_intersect_func"
23125               c:identifier="gst_value_register_intersect_func">
23126       <return-value transfer-ownership="none">
23127         <type name="none" c:type="void"/>
23128       </return-value>
23129       <parameters>
23130         <parameter name="type1" transfer-ownership="none">
23131           <type name="GType" c:type="GType"/>
23132         </parameter>
23133         <parameter name="type2" transfer-ownership="none">
23134           <type name="GType" c:type="GType"/>
23135         </parameter>
23136         <parameter name="func" transfer-ownership="none" scope="call">
23137           <type name="ValueIntersectFunc" c:type="GstValueIntersectFunc"/>
23138         </parameter>
23139       </parameters>
23140     </function>
23141     <function name="value_register_subtract_func"
23142               c:identifier="gst_value_register_subtract_func">
23143       <return-value transfer-ownership="none">
23144         <type name="none" c:type="void"/>
23145       </return-value>
23146       <parameters>
23147         <parameter name="minuend_type" transfer-ownership="none">
23148           <type name="GType" c:type="GType"/>
23149         </parameter>
23150         <parameter name="subtrahend_type" transfer-ownership="none">
23151           <type name="GType" c:type="GType"/>
23152         </parameter>
23153         <parameter name="func" transfer-ownership="none" scope="call">
23154           <type name="ValueSubtractFunc" c:type="GstValueSubtractFunc"/>
23155         </parameter>
23156       </parameters>
23157     </function>
23158     <function name="value_register_union_func"
23159               c:identifier="gst_value_register_union_func">
23160       <return-value transfer-ownership="none">
23161         <type name="none" c:type="void"/>
23162       </return-value>
23163       <parameters>
23164         <parameter name="type1" transfer-ownership="none">
23165           <type name="GType" c:type="GType"/>
23166         </parameter>
23167         <parameter name="type2" transfer-ownership="none">
23168           <type name="GType" c:type="GType"/>
23169         </parameter>
23170         <parameter name="func" transfer-ownership="none" scope="call">
23171           <type name="ValueUnionFunc" c:type="GstValueUnionFunc"/>
23172         </parameter>
23173       </parameters>
23174     </function>
23175     <function name="value_serialize" c:identifier="gst_value_serialize">
23176       <return-value transfer-ownership="full">
23177         <type name="utf8" c:type="gchar*"/>
23178       </return-value>
23179       <parameters>
23180         <parameter name="value" transfer-ownership="none">
23181           <type name="GObject.Value" c:type="GValue*"/>
23182         </parameter>
23183       </parameters>
23184     </function>
23185     <function name="value_set_caps" c:identifier="gst_value_set_caps">
23186       <return-value transfer-ownership="none">
23187         <type name="none" c:type="void"/>
23188       </return-value>
23189       <parameters>
23190         <parameter name="value" transfer-ownership="none">
23191           <type name="GObject.Value" c:type="GValue*"/>
23192         </parameter>
23193         <parameter name="caps" transfer-ownership="none">
23194           <type name="Caps" c:type="GstCaps*"/>
23195         </parameter>
23196       </parameters>
23197     </function>
23198     <function name="value_set_date" c:identifier="gst_value_set_date">
23199       <return-value transfer-ownership="none">
23200         <type name="none" c:type="void"/>
23201       </return-value>
23202       <parameters>
23203         <parameter name="value" transfer-ownership="none">
23204           <type name="GObject.Value" c:type="GValue*"/>
23205         </parameter>
23206         <parameter name="date" transfer-ownership="none">
23207           <type name="GLib.Date" c:type="GDate*"/>
23208         </parameter>
23209       </parameters>
23210     </function>
23211     <function name="value_set_double_range"
23212               c:identifier="gst_value_set_double_range">
23213       <return-value transfer-ownership="none">
23214         <type name="none" c:type="void"/>
23215       </return-value>
23216       <parameters>
23217         <parameter name="value" transfer-ownership="none">
23218           <type name="GObject.Value" c:type="GValue*"/>
23219         </parameter>
23220         <parameter name="start" transfer-ownership="none">
23221           <type name="double" c:type="gdouble"/>
23222         </parameter>
23223         <parameter name="end" transfer-ownership="none">
23224           <type name="double" c:type="gdouble"/>
23225         </parameter>
23226       </parameters>
23227     </function>
23228     <function name="value_set_fourcc" c:identifier="gst_value_set_fourcc">
23229       <return-value transfer-ownership="none">
23230         <type name="none" c:type="void"/>
23231       </return-value>
23232       <parameters>
23233         <parameter name="value" transfer-ownership="none">
23234           <type name="GObject.Value" c:type="GValue*"/>
23235         </parameter>
23236         <parameter name="fourcc" transfer-ownership="none">
23237           <type name="uint32" c:type="guint32"/>
23238         </parameter>
23239       </parameters>
23240     </function>
23241     <function name="value_set_fraction" c:identifier="gst_value_set_fraction">
23242       <return-value transfer-ownership="none">
23243         <type name="none" c:type="void"/>
23244       </return-value>
23245       <parameters>
23246         <parameter name="value" transfer-ownership="none">
23247           <type name="GObject.Value" c:type="GValue*"/>
23248         </parameter>
23249         <parameter name="numerator" transfer-ownership="none">
23250           <type name="int" c:type="gint"/>
23251         </parameter>
23252         <parameter name="denominator" transfer-ownership="none">
23253           <type name="int" c:type="gint"/>
23254         </parameter>
23255       </parameters>
23256     </function>
23257     <function name="value_set_fraction_range"
23258               c:identifier="gst_value_set_fraction_range">
23259       <return-value transfer-ownership="none">
23260         <type name="none" c:type="void"/>
23261       </return-value>
23262       <parameters>
23263         <parameter name="value" transfer-ownership="none">
23264           <type name="GObject.Value" c:type="GValue*"/>
23265         </parameter>
23266         <parameter name="start" transfer-ownership="none">
23267           <type name="GObject.Value" c:type="GValue*"/>
23268         </parameter>
23269         <parameter name="end" transfer-ownership="none">
23270           <type name="GObject.Value" c:type="GValue*"/>
23271         </parameter>
23272       </parameters>
23273     </function>
23274     <function name="value_set_fraction_range_full"
23275               c:identifier="gst_value_set_fraction_range_full">
23276       <return-value transfer-ownership="none">
23277         <type name="none" c:type="void"/>
23278       </return-value>
23279       <parameters>
23280         <parameter name="value" transfer-ownership="none">
23281           <type name="GObject.Value" c:type="GValue*"/>
23282         </parameter>
23283         <parameter name="numerator_start" transfer-ownership="none">
23284           <type name="int" c:type="gint"/>
23285         </parameter>
23286         <parameter name="denominator_start" transfer-ownership="none">
23287           <type name="int" c:type="gint"/>
23288         </parameter>
23289         <parameter name="numerator_end" transfer-ownership="none">
23290           <type name="int" c:type="gint"/>
23291         </parameter>
23292         <parameter name="denominator_end" transfer-ownership="none">
23293           <type name="int" c:type="gint"/>
23294         </parameter>
23295       </parameters>
23296     </function>
23297     <function name="value_set_int_range"
23298               c:identifier="gst_value_set_int_range">
23299       <return-value transfer-ownership="none">
23300         <type name="none" c:type="void"/>
23301       </return-value>
23302       <parameters>
23303         <parameter name="value" transfer-ownership="none">
23304           <type name="GObject.Value" c:type="GValue*"/>
23305         </parameter>
23306         <parameter name="start" transfer-ownership="none">
23307           <type name="int" c:type="gint"/>
23308         </parameter>
23309         <parameter name="end" transfer-ownership="none">
23310           <type name="int" c:type="gint"/>
23311         </parameter>
23312       </parameters>
23313     </function>
23314     <function name="value_set_mini_object"
23315               c:identifier="gst_value_set_mini_object">
23316       <return-value transfer-ownership="none">
23317         <type name="none" c:type="void"/>
23318       </return-value>
23319       <parameters>
23320         <parameter name="value" transfer-ownership="none">
23321           <type name="GObject.Value" c:type="GValue*"/>
23322         </parameter>
23323         <parameter name="mini_object" transfer-ownership="none">
23324           <type name="MiniObject" c:type="GstMiniObject*"/>
23325         </parameter>
23326       </parameters>
23327     </function>
23328     <function name="value_set_structure"
23329               c:identifier="gst_value_set_structure">
23330       <return-value transfer-ownership="none">
23331         <type name="none" c:type="void"/>
23332       </return-value>
23333       <parameters>
23334         <parameter name="value" transfer-ownership="none">
23335           <type name="GObject.Value" c:type="GValue*"/>
23336         </parameter>
23337         <parameter name="structure" transfer-ownership="none">
23338           <type name="Structure" c:type="GstStructure*"/>
23339         </parameter>
23340       </parameters>
23341     </function>
23342     <function name="value_subtract" c:identifier="gst_value_subtract">
23343       <return-value transfer-ownership="none">
23344         <type name="boolean" c:type="gboolean"/>
23345       </return-value>
23346       <parameters>
23347         <parameter name="dest" transfer-ownership="none">
23348           <type name="GObject.Value" c:type="GValue*"/>
23349         </parameter>
23350         <parameter name="minuend" transfer-ownership="none">
23351           <type name="GObject.Value" c:type="GValue*"/>
23352         </parameter>
23353         <parameter name="subtrahend" transfer-ownership="none">
23354           <type name="GObject.Value" c:type="GValue*"/>
23355         </parameter>
23356       </parameters>
23357     </function>
23358     <function name="value_take_mini_object"
23359               c:identifier="gst_value_take_mini_object">
23360       <return-value transfer-ownership="none">
23361         <type name="none" c:type="void"/>
23362       </return-value>
23363       <parameters>
23364         <parameter name="value" transfer-ownership="none">
23365           <type name="GObject.Value" c:type="GValue*"/>
23366         </parameter>
23367         <parameter name="mini_object" transfer-ownership="none">
23368           <type name="MiniObject" c:type="GstMiniObject*"/>
23369         </parameter>
23370       </parameters>
23371     </function>
23372     <function name="value_union" c:identifier="gst_value_union">
23373       <return-value transfer-ownership="none">
23374         <type name="boolean" c:type="gboolean"/>
23375       </return-value>
23376       <parameters>
23377         <parameter name="dest" transfer-ownership="none">
23378           <type name="GObject.Value" c:type="GValue*"/>
23379         </parameter>
23380         <parameter name="value1" transfer-ownership="none">
23381           <type name="GObject.Value" c:type="GValue*"/>
23382         </parameter>
23383         <parameter name="value2" transfer-ownership="none">
23384           <type name="GObject.Value" c:type="GValue*"/>
23385         </parameter>
23386       </parameters>
23387     </function>
23388     <function name="version" c:identifier="gst_version">
23389       <return-value transfer-ownership="none">
23390         <type name="none" c:type="void"/>
23391       </return-value>
23392       <parameters>
23393         <parameter name="major"
23394                    direction="out"
23395                    caller-allocates="0"
23396                    transfer-ownership="full">
23397           <type name="uint" c:type="guint*"/>
23398         </parameter>
23399         <parameter name="minor"
23400                    direction="out"
23401                    caller-allocates="0"
23402                    transfer-ownership="full">
23403           <type name="uint" c:type="guint*"/>
23404         </parameter>
23405         <parameter name="micro"
23406                    direction="out"
23407                    caller-allocates="0"
23408                    transfer-ownership="full">
23409           <type name="uint" c:type="guint*"/>
23410         </parameter>
23411         <parameter name="nano"
23412                    direction="out"
23413                    caller-allocates="0"
23414                    transfer-ownership="full">
23415           <type name="uint" c:type="guint*"/>
23416         </parameter>
23417       </parameters>
23418     </function>
23419     <function name="version_string" c:identifier="gst_version_string">
23420       <return-value transfer-ownership="full">
23421         <type name="utf8" c:type="gchar*"/>
23422       </return-value>
23423     </function>
23424   </namespace>
23425 </repository>