codegen: Fix floating reference regression with Variants
[vala-gnome.git] / vapi / gstreamer-1.0.vapi
blobdda2edd9665351ac1ebfda4ce83cebff62160a6b
1 /* gstreamer-1.0.vapi generated by vapigen, do not modify. */
3 [CCode (cprefix = "Gst", gir_namespace = "Gst", gir_version = "1.0", lower_case_cprefix = "gst_")]
4 namespace Gst {
5         namespace Debug {
6                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_DEBUG_BG_MASK")]
7                 public const int BG_MASK;
8                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_DEBUG_FG_MASK")]
9                 public const int FG_MASK;
10                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_DEBUG_FORMAT_MASK")]
11                 public const int FORMAT_MASK;
12                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_DEBUG_BIN_TO_DOT_FILE")]
13                 public static void BIN_TO_DOT_FILE (Gst.Bin bin, Gst.DebugGraphDetails details, string file_name);
14                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS")]
15                 public static void BIN_TO_DOT_FILE_WITH_TS (Gst.Bin bin, Gst.DebugGraphDetails details, string file_name);
16                 [CCode (cheader_filename = "gst/gst.h")]
17                 public static void add_log_function (owned Gst.LogFunction func);
18                 [CCode (cheader_filename = "gst/gst.h")]
19                 [Version (since = "1.14")]
20                 public static void add_ring_buffer_logger (uint max_size_per_thread, uint thread_timeout);
21                 [CCode (cheader_filename = "gst/gst.h")]
22                 public static string bin_to_dot_data (Gst.Bin bin, Gst.DebugGraphDetails details);
23                 [CCode (cheader_filename = "gst/gst.h")]
24                 public static void bin_to_dot_file (Gst.Bin bin, Gst.DebugGraphDetails details, string file_name);
25                 [CCode (cheader_filename = "gst/gst.h")]
26                 public static void bin_to_dot_file_with_ts (Gst.Bin bin, Gst.DebugGraphDetails details, string file_name);
27                 [CCode (cheader_filename = "gst/gst.h")]
28                 public static string construct_term_color (uint colorinfo);
29                 [CCode (cheader_filename = "gst/gst.h")]
30                 public static int construct_win_color (uint colorinfo);
31                 [CCode (cheader_filename = "gst/gst.h")]
32                 public static GLib.SList<weak Gst.DebugCategory?> get_all_categories ();
33                 [CCode (cheader_filename = "gst/gst.h")]
34                 [Version (since = "1.2")]
35                 public static Gst.DebugColorMode get_color_mode ();
36                 [CCode (cheader_filename = "gst/gst.h")]
37                 public static Gst.DebugLevel get_default_threshold ();
38                 [CCode (cheader_filename = "gst/gst.h")]
39                 [Version (since = "1.12")]
40                 public static string? get_stack_trace (Gst.StackTraceFlags flags);
41                 [CCode (cheader_filename = "gst/gst.h")]
42                 public static bool is_active ();
43                 [CCode (cheader_filename = "gst/gst.h")]
44                 public static bool is_colored ();
45                 [CCode (cheader_filename = "gst/gst.h")]
46                 public static unowned string level_get_name (Gst.DebugLevel level);
47                 [CCode (cheader_filename = "gst/gst.h")]
48                 [PrintfFormat]
49                 public static void log (Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object? object, string format, ...);
50                 [CCode (cheader_filename = "gst/gst.h")]
51                 public static void log_default (Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object? object, Gst.DebugMessage message, void* user_data = null);
52                 [CCode (cheader_filename = "gst/gst.h")]
53                 public static void log_valist (Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object? object, string format, va_list args);
54                 [CCode (cheader_filename = "gst/gst.h")]
55                 public static void print_stack_trace ();
56                 [CCode (cheader_filename = "gst/gst.h")]
57                 public static uint remove_log_function (Gst.LogFunction? func);
58                 [CCode (cheader_filename = "gst/gst.h")]
59                 public static uint remove_log_function_by_data (void* data);
60                 [CCode (cheader_filename = "gst/gst.h")]
61                 [Version (since = "1.14")]
62                 public static void remove_ring_buffer_logger ();
63                 [CCode (array_length = false, array_null_terminated = true, cheader_filename = "gst/gst.h")]
64                 [Version (since = "1.14")]
65                 public static string[] ring_buffer_logger_get_logs ();
66                 [CCode (cheader_filename = "gst/gst.h")]
67                 public static void set_active (bool active);
68                 [CCode (cheader_filename = "gst/gst.h")]
69                 [Version (since = "1.2")]
70                 public static void set_color_mode (Gst.DebugColorMode mode);
71                 [CCode (cheader_filename = "gst/gst.h")]
72                 [Version (since = "1.2")]
73                 public static void set_color_mode_from_string (string mode);
74                 [CCode (cheader_filename = "gst/gst.h")]
75                 public static void set_colored (bool colored);
76                 [CCode (cheader_filename = "gst/gst.h")]
77                 public static void set_default_threshold (Gst.DebugLevel level);
78                 [CCode (cheader_filename = "gst/gst.h")]
79                 public static void set_threshold_for_name (string name, Gst.DebugLevel level);
80                 [CCode (cheader_filename = "gst/gst.h")]
81                 [Version (since = "1.2")]
82                 public static void set_threshold_from_string (string list, bool reset);
83                 [CCode (cheader_filename = "gst/gst.h")]
84                 public static void unset_threshold_for_name (string name);
85         }
86         namespace ElementFactoryKlass {
87                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_DECODER")]
88                 public const string DECODER;
89                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_DECRYPTOR")]
90                 public const string DECRYPTOR;
91                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_DEMUXER")]
92                 public const string DEMUXER;
93                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_DEPAYLOADER")]
94                 public const string DEPAYLOADER;
95                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_ENCODER")]
96                 public const string ENCODER;
97                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_ENCRYPTOR")]
98                 public const string ENCRYPTOR;
99                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_FORMATTER")]
100                 public const string FORMATTER;
101                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_AUDIO")]
102                 public const string MEDIA_AUDIO;
103                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_IMAGE")]
104                 public const string MEDIA_IMAGE;
105                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA")]
106                 public const string MEDIA_METADATA;
107                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE")]
108                 public const string MEDIA_SUBTITLE;
109                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_VIDEO")]
110                 public const string MEDIA_VIDEO;
111                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MUXER")]
112                 public const string MUXER;
113                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_PARSER")]
114                 public const string PARSER;
115                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_PAYLOADER")]
116                 public const string PAYLOADER;
117                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_SINK")]
118                 public const string SINK;
119                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_SRC")]
120                 public const string SRC;
121         }
122         namespace ElementFactoryType {
123                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_ANY")]
124                 public const Gst.ElementFactoryListType ANY;
125                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS")]
126                 public const Gst.ElementFactoryListType AUDIOVIDEO_SINKS;
127                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER")]
128                 public const Gst.ElementFactoryListType AUDIO_ENCODER;
129                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DECODABLE")]
130                 public const Gst.ElementFactoryListType DECODABLE;
131                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DECODER")]
132                 public const Gst.ElementFactoryListType DECODER;
133                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DECRYPTOR")]
134                 public const Gst.ElementFactoryListType DECRYPTOR;
135                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DEMUXER")]
136                 public const Gst.ElementFactoryListType DEMUXER;
137                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER")]
138                 public const Gst.ElementFactoryListType DEPAYLOADER;
139                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_ENCODER")]
140                 public const Gst.ElementFactoryListType ENCODER;
141                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_ENCRYPTOR")]
142                 public const Gst.ElementFactoryListType ENCRYPTOR;
143                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_FORMATTER")]
144                 public const Gst.ElementFactoryListType FORMATTER;
145                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS")]
146                 public const Gst.ElementFactoryListType MAX_ELEMENTS;
147                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY")]
148                 public const Gst.ElementFactoryListType MEDIA_ANY;
149                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO")]
150                 public const Gst.ElementFactoryListType MEDIA_AUDIO;
151                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE")]
152                 public const Gst.ElementFactoryListType MEDIA_IMAGE;
153                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA")]
154                 public const Gst.ElementFactoryListType MEDIA_METADATA;
155                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE")]
156                 public const Gst.ElementFactoryListType MEDIA_SUBTITLE;
157                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO")]
158                 public const Gst.ElementFactoryListType MEDIA_VIDEO;
159                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MUXER")]
160                 public const Gst.ElementFactoryListType MUXER;
161                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_PARSER")]
162                 public const Gst.ElementFactoryListType PARSER;
163                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_PAYLOADER")]
164                 public const Gst.ElementFactoryListType PAYLOADER;
165                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_SINK")]
166                 public const Gst.ElementFactoryListType SINK;
167                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_SRC")]
168                 public const Gst.ElementFactoryListType SRC;
169                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER")]
170                 public const Gst.ElementFactoryListType VIDEO_ENCODER;
171         }
172         namespace Tags {
173                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM")]
174                 public const string ALBUM;
175                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_ARTIST")]
176                 public const string ALBUM_ARTIST;
177                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_ARTIST_SORTNAME")]
178                 public const string ALBUM_ARTIST_SORTNAME;
179                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_GAIN")]
180                 public const string ALBUM_GAIN;
181                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_PEAK")]
182                 public const string ALBUM_PEAK;
183                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_SORTNAME")]
184                 public const string ALBUM_SORTNAME;
185                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_VOLUME_COUNT")]
186                 public const string ALBUM_VOLUME_COUNT;
187                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_VOLUME_NUMBER")]
188                 public const string ALBUM_VOLUME_NUMBER;
189                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_APPLICATION_DATA")]
190                 public const string APPLICATION_DATA;
191                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_APPLICATION_NAME")]
192                 public const string APPLICATION_NAME;
193                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ARTIST")]
194                 public const string ARTIST;
195                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ARTIST_SORTNAME")]
196                 public const string ARTIST_SORTNAME;
197                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ATTACHMENT")]
198                 public const string ATTACHMENT;
199                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_AUDIO_CODEC")]
200                 public const string AUDIO_CODEC;
201                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_BEATS_PER_MINUTE")]
202                 public const string BEATS_PER_MINUTE;
203                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_BITRATE")]
204                 public const string BITRATE;
205                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_CODEC")]
206                 public const string CODEC;
207                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_COMMENT")]
208                 public const string COMMENT;
209                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_COMPOSER")]
210                 public const string COMPOSER;
211                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_COMPOSER_SORTNAME")]
212                 public const string COMPOSER_SORTNAME;
213                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_CONDUCTOR")]
214                 [Version (since = "1.8")]
215                 public const string CONDUCTOR;
216                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_CONTACT")]
217                 public const string CONTACT;
218                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_CONTAINER_FORMAT")]
219                 public const string CONTAINER_FORMAT;
220                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_COPYRIGHT")]
221                 public const string COPYRIGHT;
222                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_COPYRIGHT_URI")]
223                 public const string COPYRIGHT_URI;
224                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DATE")]
225                 public const string DATE;
226                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DATE_TIME")]
227                 public const string DATE_TIME;
228                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DESCRIPTION")]
229                 public const string DESCRIPTION;
230                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DEVICE_MANUFACTURER")]
231                 public const string DEVICE_MANUFACTURER;
232                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DEVICE_MODEL")]
233                 public const string DEVICE_MODEL;
234                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DURATION")]
235                 public const string DURATION;
236                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ENCODED_BY")]
237                 public const string ENCODED_BY;
238                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ENCODER")]
239                 public const string ENCODER;
240                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ENCODER_VERSION")]
241                 public const string ENCODER_VERSION;
242                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_EXTENDED_COMMENT")]
243                 public const string EXTENDED_COMMENT;
244                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GENRE")]
245                 public const string GENRE;
246                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION")]
247                 public const string GEO_LOCATION_CAPTURE_DIRECTION;
248                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_CITY")]
249                 public const string GEO_LOCATION_CITY;
250                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_COUNTRY")]
251                 public const string GEO_LOCATION_COUNTRY;
252                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_ELEVATION")]
253                 public const string GEO_LOCATION_ELEVATION;
254                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR")]
255                 public const string GEO_LOCATION_HORIZONTAL_ERROR;
256                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_LATITUDE")]
257                 public const string GEO_LOCATION_LATITUDE;
258                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_LONGITUDE")]
259                 public const string GEO_LOCATION_LONGITUDE;
260                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION")]
261                 public const string GEO_LOCATION_MOVEMENT_DIRECTION;
262                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_MOVEMENT_SPEED")]
263                 public const string GEO_LOCATION_MOVEMENT_SPEED;
264                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_NAME")]
265                 public const string GEO_LOCATION_NAME;
266                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_SUBLOCATION")]
267                 public const string GEO_LOCATION_SUBLOCATION;
268                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GROUPING")]
269                 public const string GROUPING;
270                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_HOMEPAGE")]
271                 public const string HOMEPAGE;
272                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_IMAGE")]
273                 public const string IMAGE;
274                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_IMAGE_ORIENTATION")]
275                 public const string IMAGE_ORIENTATION;
276                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_INTERPRETED_BY")]
277                 [Version (since = "1.2")]
278                 public const string INTERPRETED_BY;
279                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ISRC")]
280                 public const string ISRC;
281                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_KEYWORDS")]
282                 public const string KEYWORDS;
283                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LANGUAGE_CODE")]
284                 public const string LANGUAGE_CODE;
285                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LANGUAGE_NAME")]
286                 public const string LANGUAGE_NAME;
287                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LICENSE")]
288                 public const string LICENSE;
289                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LICENSE_URI")]
290                 public const string LICENSE_URI;
291                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LOCATION")]
292                 public const string LOCATION;
293                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LYRICS")]
294                 public const string LYRICS;
295                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_MAXIMUM_BITRATE")]
296                 public const string MAXIMUM_BITRATE;
297                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_MIDI_BASE_NOTE")]
298                 [Version (since = "1.4")]
299                 public const string MIDI_BASE_NOTE;
300                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_MINIMUM_BITRATE")]
301                 public const string MINIMUM_BITRATE;
302                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_NOMINAL_BITRATE")]
303                 public const string NOMINAL_BITRATE;
304                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ORGANIZATION")]
305                 public const string ORGANIZATION;
306                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_PERFORMER")]
307                 public const string PERFORMER;
308                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_PREVIEW_IMAGE")]
309                 public const string PREVIEW_IMAGE;
310                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_PRIVATE_DATA")]
311                 [Version (since = "1.8")]
312                 public const string PRIVATE_DATA;
313                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_PUBLISHER")]
314                 [Version (since = "1.2")]
315                 public const string PUBLISHER;
316                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_REFERENCE_LEVEL")]
317                 public const string REFERENCE_LEVEL;
318                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SERIAL")]
319                 public const string SERIAL;
320                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SHOW_EPISODE_NUMBER")]
321                 public const string SHOW_EPISODE_NUMBER;
322                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SHOW_NAME")]
323                 public const string SHOW_NAME;
324                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SHOW_SEASON_NUMBER")]
325                 public const string SHOW_SEASON_NUMBER;
326                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SHOW_SORTNAME")]
327                 public const string SHOW_SORTNAME;
328                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SUBTITLE_CODEC")]
329                 public const string SUBTITLE_CODEC;
330                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TITLE")]
331                 public const string TITLE;
332                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TITLE_SORTNAME")]
333                 public const string TITLE_SORTNAME;
334                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TRACK_COUNT")]
335                 public const string TRACK_COUNT;
336                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TRACK_GAIN")]
337                 public const string TRACK_GAIN;
338                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TRACK_NUMBER")]
339                 public const string TRACK_NUMBER;
340                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TRACK_PEAK")]
341                 public const string TRACK_PEAK;
342                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_USER_RATING")]
343                 public const string USER_RATING;
344                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_VERSION")]
345                 public const string VERSION;
346                 [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_VIDEO_CODEC")]
347                 public const string VIDEO_CODEC;
348                 [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_exists")]
349                 public static bool exists (string tag);
350                 [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_get_description")]
351                 public static unowned string? get_description (string tag);
352                 [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_get_flag")]
353                 public static Gst.TagFlag get_flag (string tag);
354                 [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_get_nick")]
355                 public static unowned string? get_nick (string tag);
356                 [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_get_type")]
357                 public static GLib.Type get_type (string tag);
358                 [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_is_fixed")]
359                 public static bool is_fixed (string tag);
360                 [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_list_copy_value")]
361                 public static bool list_copy_value (out GLib.Value dest, Gst.TagList list, string tag);
362                 [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_merge_strings_with_comma")]
363                 public static void merge_strings_with_comma (out GLib.Value dest, GLib.Value src);
364                 [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_merge_use_first")]
365                 public static void merge_use_first (out GLib.Value dest, GLib.Value src);
366                 [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_register")]
367                 public static void register (string name, Gst.TagFlag flag, GLib.Type type, string nick, string blurb, Gst.TagMergeFunc? func);
368                 [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_register_static")]
369                 public static void register_static (string name, Gst.TagFlag flag, GLib.Type type, string nick, string blurb, Gst.TagMergeFunc? func);
370         }
371         namespace URI {
372                 [CCode (cheader_filename = "gst/gst.h")]
373                 [Version (deprecated = true)]
374                 public static string @construct (string protocol, string location);
375                 [CCode (cheader_filename = "gst/gst.h")]
376                 public static GLib.Quark error_quark ();
377                 [CCode (cheader_filename = "gst/gst.h")]
378                 [Version (since = "1.6")]
379                 public static Gst.Uri? from_string (string uri);
380                 [CCode (cheader_filename = "gst/gst.h")]
381                 public static string? get_location (string uri);
382                 [CCode (cheader_filename = "gst/gst.h")]
383                 public static string? get_protocol (string uri);
384                 [CCode (cheader_filename = "gst/gst.h")]
385                 public static bool has_protocol (string uri, string protocol);
386                 [CCode (cheader_filename = "gst/gst.h")]
387                 public static bool is_valid (string uri);
388                 [CCode (cheader_filename = "gst/gst.h")]
389                 [Version (since = "1.6")]
390                 public static string join_strings (string base_uri, string ref_uri);
391                 [CCode (cheader_filename = "gst/gst.h")]
392                 public static bool protocol_is_supported (Gst.URIType type, string protocol);
393                 [CCode (cheader_filename = "gst/gst.h")]
394                 public static bool protocol_is_valid (string protocol);
395         }
396         namespace Util {
397                 [CCode (cheader_filename = "gst/gst.h")]
398                 public static void* array_binary_search (void* array, uint num_elements, size_t element_size, [CCode (delegate_target_pos = 6.1)] GLib.CompareDataFunc<void*> search_func, Gst.SearchMode mode, void* search_data);
399                 [CCode (cheader_filename = "gst/gst.h")]
400                 public static void double_to_fraction (double src, out int dest_n, out int dest_d);
401                 [CCode (cheader_filename = "gst/gst.h")]
402                 [Version (since = "1.14")]
403                 public static void dump_buffer (Gst.Buffer buf);
404                 [CCode (cheader_filename = "gst/gst.h")]
405                 public static void dump_mem ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "guint")] uint8[] mem);
406                 [CCode (cheader_filename = "gst/gst.h")]
407                 public static bool fraction_add (int a_n, int a_d, int b_n, int b_d, out int res_n, out int res_d);
408                 [CCode (cheader_filename = "gst/gst.h")]
409                 public static int fraction_compare (int a_n, int a_d, int b_n, int b_d);
410                 [CCode (cheader_filename = "gst/gst.h")]
411                 public static bool fraction_multiply (int a_n, int a_d, int b_n, int b_d, out int res_n, out int res_d);
412                 [CCode (cheader_filename = "gst/gst.h")]
413                 public static void fraction_to_double (int src_n, int src_d, out double dest);
414                 [CCode (cheader_filename = "gst/gst.h")]
415                 public static uint64 gdouble_to_guint64 (double value);
416                 [CCode (cheader_filename = "gst/gst.h")]
417                 [Version (since = "1.12")]
418                 public static bool get_object_array (GLib.Object object, string name, out GLib.ValueArray array);
419                 [CCode (cheader_filename = "gst/gst.h")]
420                 public static Gst.ClockTime get_timestamp ();
421                 [CCode (cheader_filename = "gst/gst.h")]
422                 public static int greatest_common_divisor (int a, int b);
423                 [CCode (cheader_filename = "gst/gst.h")]
424                 public static int64 greatest_common_divisor_int64 (int64 a, int64 b);
425                 [CCode (cheader_filename = "gst/gst.h")]
426                 public static uint group_id_next ();
427                 [CCode (cheader_filename = "gst/gst.h")]
428                 public static double guint64_to_gdouble (uint64 value);
429                 [CCode (cheader_filename = "gst/gst.h")]
430                 public static int32 seqnum_compare (uint32 s1, uint32 s2);
431                 [CCode (cheader_filename = "gst/gst.h")]
432                 public static uint32 seqnum_next ();
433                 [CCode (cheader_filename = "gst/gst.h")]
434                 public static void set_object_arg (GLib.Object object, string name, string value);
435                 [CCode (cheader_filename = "gst/gst.h")]
436                 [Version (since = "1.12")]
437                 public static bool set_object_array (GLib.Object object, string name, GLib.ValueArray array);
438                 [CCode (cheader_filename = "gst/gst.h")]
439                 public static void set_value_from_string (out GLib.Value value, string value_str);
440                 [CCode (cheader_filename = "gst/gst.h")]
441                 public static uint64 uint64_scale (uint64 val, uint64 num, uint64 denom);
442                 [CCode (cheader_filename = "gst/gst.h")]
443                 public static uint64 uint64_scale_ceil (uint64 val, uint64 num, uint64 denom);
444                 [CCode (cheader_filename = "gst/gst.h")]
445                 public static uint64 uint64_scale_int (uint64 val, int num, int denom);
446                 [CCode (cheader_filename = "gst/gst.h")]
447                 public static uint64 uint64_scale_int_ceil (uint64 val, int num, int denom);
448                 [CCode (cheader_filename = "gst/gst.h")]
449                 public static uint64 uint64_scale_int_round (uint64 val, int num, int denom);
450                 [CCode (cheader_filename = "gst/gst.h")]
451                 public static uint64 uint64_scale_round (uint64 val, uint64 num, uint64 denom);
452         }
453         namespace Value {
454                 [CCode (cheader_filename = "gst/gst.h")]
455                 public static bool can_compare (GLib.Value value1, GLib.Value value2);
456                 [CCode (cheader_filename = "gst/gst.h")]
457                 public static bool can_intersect (GLib.Value value1, GLib.Value value2);
458                 [CCode (cheader_filename = "gst/gst.h")]
459                 public static bool can_subtract (GLib.Value minuend, GLib.Value subtrahend);
460                 [CCode (cheader_filename = "gst/gst.h")]
461                 public static bool can_union (GLib.Value value1, GLib.Value value2);
462                 [CCode (cheader_filename = "gst/gst.h")]
463                 public static int compare (GLib.Value value1, GLib.Value value2);
464                 [CCode (cheader_filename = "gst/gst.h")]
465                 public static bool deserialize (out GLib.Value dest, string src);
466                 [CCode (cheader_filename = "gst/gst.h")]
467                 public static bool fixate (GLib.Value dest, GLib.Value src);
468                 [CCode (cheader_filename = "gst/gst.h")]
469                 public static bool fraction_multiply (GLib.Value product, GLib.Value factor1, GLib.Value factor2);
470                 [CCode (cheader_filename = "gst/gst.h")]
471                 public static bool fraction_subtract (GLib.Value dest, GLib.Value minuend, GLib.Value subtrahend);
472                 [CCode (cheader_filename = "gst/gst.h")]
473                 public static uint64 get_bitmask (GLib.Value value);
474                 [CCode (cheader_filename = "gst/gst.h")]
475                 public static unowned Gst.Caps get_caps (GLib.Value value);
476                 [CCode (cheader_filename = "gst/gst.h")]
477                 public static unowned Gst.CapsFeatures get_caps_features (GLib.Value value);
478                 [CCode (cheader_filename = "gst/gst.h")]
479                 public static double get_double_range_max (GLib.Value value);
480                 [CCode (cheader_filename = "gst/gst.h")]
481                 public static double get_double_range_min (GLib.Value value);
482                 [CCode (cheader_filename = "gst/gst.h")]
483                 [Version (since = "1.6")]
484                 public static uint get_flagset_flags (GLib.Value value);
485                 [CCode (cheader_filename = "gst/gst.h")]
486                 [Version (since = "1.6")]
487                 public static uint get_flagset_mask (GLib.Value value);
488                 [CCode (cheader_filename = "gst/gst.h")]
489                 public static int get_fraction_denominator (GLib.Value value);
490                 [CCode (cheader_filename = "gst/gst.h")]
491                 public static int get_fraction_numerator (GLib.Value value);
492                 [CCode (cheader_filename = "gst/gst.h")]
493                 public static unowned GLib.Value? get_fraction_range_max (GLib.Value value);
494                 [CCode (cheader_filename = "gst/gst.h")]
495                 public static unowned GLib.Value? get_fraction_range_min (GLib.Value value);
496                 [CCode (cheader_filename = "gst/gst.h")]
497                 public static int64 get_int64_range_max (GLib.Value value);
498                 [CCode (cheader_filename = "gst/gst.h")]
499                 public static int64 get_int64_range_min (GLib.Value value);
500                 [CCode (cheader_filename = "gst/gst.h")]
501                 public static int64 get_int64_range_step (GLib.Value value);
502                 [CCode (cheader_filename = "gst/gst.h")]
503                 public static int get_int_range_max (GLib.Value value);
504                 [CCode (cheader_filename = "gst/gst.h")]
505                 public static int get_int_range_min (GLib.Value value);
506                 [CCode (cheader_filename = "gst/gst.h")]
507                 public static int get_int_range_step (GLib.Value value);
508                 [CCode (cheader_filename = "gst/gst.h")]
509                 public static unowned Gst.Structure get_structure (GLib.Value value);
510                 [CCode (cheader_filename = "gst/gst.h")]
511                 public static void init_and_copy (out GLib.Value dest, GLib.Value src);
512                 [CCode (cheader_filename = "gst/gst.h")]
513                 public static bool intersect (out GLib.Value dest, GLib.Value value1, GLib.Value value2);
514                 [CCode (cheader_filename = "gst/gst.h")]
515                 public static bool is_fixed (GLib.Value value);
516                 [CCode (cheader_filename = "gst/gst.h")]
517                 public static bool is_subset (GLib.Value value1, GLib.Value value2);
518                 [CCode (cheader_filename = "gst/gst.h")]
519                 public static void register (Gst.ValueTable table);
520                 [CCode (cheader_filename = "gst/gst.h")]
521                 public static string? serialize (GLib.Value value);
522                 [CCode (cheader_filename = "gst/gst.h")]
523                 public static void set_bitmask (GLib.Value value, uint64 bitmask);
524                 [CCode (cheader_filename = "gst/gst.h")]
525                 public static void set_caps (GLib.Value value, Gst.Caps caps);
526                 [CCode (cheader_filename = "gst/gst.h")]
527                 public static void set_caps_features (GLib.Value value, Gst.CapsFeatures features);
528                 [CCode (cheader_filename = "gst/gst.h")]
529                 public static void set_double_range (GLib.Value value, double start, double end);
530                 [CCode (cheader_filename = "gst/gst.h")]
531                 [Version (since = "1.6")]
532                 public static void set_flagset (GLib.Value value, uint flags, uint mask);
533                 [CCode (cheader_filename = "gst/gst.h")]
534                 public static void set_fraction (GLib.Value value, int numerator, int denominator);
535                 [CCode (cheader_filename = "gst/gst.h")]
536                 public static void set_fraction_range (GLib.Value value, GLib.Value start, GLib.Value end);
537                 [CCode (cheader_filename = "gst/gst.h")]
538                 public static void set_fraction_range_full (GLib.Value value, int numerator_start, int denominator_start, int numerator_end, int denominator_end);
539                 [CCode (cheader_filename = "gst/gst.h")]
540                 public static void set_int64_range (GLib.Value value, int64 start, int64 end);
541                 [CCode (cheader_filename = "gst/gst.h")]
542                 public static void set_int64_range_step (GLib.Value value, int64 start, int64 end, int64 step);
543                 [CCode (cheader_filename = "gst/gst.h")]
544                 public static void set_int_range (GLib.Value value, int start, int end);
545                 [CCode (cheader_filename = "gst/gst.h")]
546                 public static void set_int_range_step (GLib.Value value, int start, int end, int step);
547                 [CCode (cheader_filename = "gst/gst.h")]
548                 public static void set_structure (GLib.Value value, Gst.Structure structure);
549                 [CCode (cheader_filename = "gst/gst.h")]
550                 public static bool subtract (out GLib.Value dest, GLib.Value minuend, GLib.Value subtrahend);
551                 [CCode (cheader_filename = "gst/gst.h")]
552                 public static bool union (out GLib.Value dest, GLib.Value value1, GLib.Value value2);
553         }
554         [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_allocation_params_copy", free_function = "gst_allocation_params_free", type_id = "gst_allocation_params_get_type ()")]
555         [Compact]
556         public class AllocationParams {
557                 public size_t align;
558                 public Gst.MemoryFlags flags;
559                 public size_t padding;
560                 public size_t prefix;
561                 public Gst.AllocationParams? copy ();
562                 public void free ();
563                 public void init ();
564         }
565         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_allocator_get_type ()")]
566         public abstract class Allocator : Gst.Object {
567                 public weak Gst.MemoryCopyFunction mem_copy;
568                 public weak Gst.MemoryIsSpanFunction mem_is_span;
569                 public weak Gst.MemoryMapFunction mem_map;
570                 public weak Gst.MemoryMapFullFunction mem_map_full;
571                 public weak Gst.MemoryShareFunction mem_share;
572                 public weak string mem_type;
573                 public weak Gst.MemoryUnmapFunction mem_unmap;
574                 public weak Gst.MemoryUnmapFullFunction mem_unmap_full;
575                 [CCode (has_construct_function = false)]
576                 protected Allocator ();
577                 public virtual Gst.Memory? alloc (size_t size, Gst.AllocationParams? @params);
578                 public static Gst.Allocator? find (string? name);
579                 public virtual void free (owned Gst.Memory memory);
580                 public static void register (string name, owned Gst.Allocator allocator);
581                 public void set_default ();
582         }
583         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_atomic_queue_ref", type_id = "gst_atomic_queue_get_type ()", unref_function = "gst_atomic_queue_unref")]
584         [Compact]
585         public class AtomicQueue<T> {
586                 [CCode (has_construct_function = false)]
587                 public AtomicQueue (uint initial_size);
588                 public uint length ();
589                 public unowned T peek<T> ();
590                 public T pop ();
591                 public void push (owned T data);
592                 public void @ref ();
593                 public void unref ();
594         }
595         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_bin_get_type ()")]
596         public class Bin : Gst.Element, Gst.ChildProxy {
597                 public Gst.Bus child_bus;
598                 public GLib.List<Gst.Element> children;
599                 public uint32 children_cookie;
600                 public bool clock_dirty;
601                 public Gst.Element clock_provider;
602                 public GLib.List<Gst.Message> messages;
603                 public int numchildren;
604                 public bool polling;
605                 public Gst.Clock provided_clock;
606                 public bool state_dirty;
607                 [CCode (has_construct_function = false, returns_floating_reference = true, type = "GstElement*")]
608                 public Bin (string? name);
609                 public bool add (Gst.Element element);
610                 [NoWrapper]
611                 public virtual bool add_element (Gst.Element element);
612                 public void add_many (params Gst.Element[] elements);
613                 public Gst.Pad? find_unlinked_pad (Gst.PadDirection direction);
614                 public Gst.Element? get_by_interface (GLib.Type iface);
615                 public Gst.Element? get_by_name (string name);
616                 public Gst.Element? get_by_name_recurse_up (string name);
617                 [Version (since = "1.10")]
618                 public Gst.ElementFlags get_suppressed_flags ();
619                 [NoWrapper]
620                 public virtual void handle_message (Gst.Message message);
621                 public Gst.Iterator? iterate_all_by_interface (GLib.Type iface);
622                 public Gst.Iterator? iterate_elements ();
623                 public Gst.Iterator? iterate_recurse ();
624                 public Gst.Iterator? iterate_sinks ();
625                 public Gst.Iterator? iterate_sorted ();
626                 public Gst.Iterator? iterate_sources ();
627                 public bool recalculate_latency ();
628                 public bool remove (Gst.Element element);
629                 [NoWrapper]
630                 public virtual bool remove_element (Gst.Element element);
631                 public void remove_many (params Gst.Element[] elements);
632                 [Version (since = "1.10")]
633                 public void set_suppressed_flags (Gst.ElementFlags flags);
634                 [Version (since = "1.6")]
635                 public bool sync_children_states ();
636                 [NoAccessorMethod]
637                 public bool async_handling { get; set; }
638                 [NoAccessorMethod]
639                 public bool message_forward { get; set; }
640                 [Version (since = "1.10")]
641                 public virtual signal void deep_element_added (Gst.Bin sub_bin, Gst.Element child);
642                 [Version (since = "1.10")]
643                 public virtual signal void deep_element_removed (Gst.Bin sub_bin, Gst.Element child);
644                 public virtual signal bool do_latency ();
645                 public virtual signal void element_added (Gst.Element child);
646                 public virtual signal void element_removed (Gst.Element child);
647         }
648         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_bitmask_get_type ()")]
649         public class Bitmask {
650                 [CCode (has_construct_function = false)]
651                 protected Bitmask ();
652         }
653         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_buffer_ref", type_id = "gst_buffer_get_type ()", unref_function = "gst_buffer_unref")]
654         [Compact]
655         public class Buffer : Gst.MiniObject {
656                 public Gst.ClockTime dts;
657                 public Gst.ClockTime duration;
658                 public uint64 offset;
659                 public uint64 offset_end;
660                 public weak Gst.BufferPool pool;
661                 public Gst.ClockTime pts;
662                 [CCode (has_construct_function = false)]
663                 public Buffer ();
664                 public unowned Gst.Meta? add_meta (Gst.MetaInfo info, void* @params);
665                 [Version (since = "1.6")]
666                 public unowned Gst.ParentBufferMeta? add_parent_buffer_meta (Gst.Buffer @ref);
667                 [Version (since = "1.6")]
668                 public unowned Gst.ProtectionMeta? add_protection_meta (owned Gst.Structure info);
669                 [Version (since = "1.14")]
670                 public unowned Gst.ReferenceTimestampMeta? add_reference_timestamp_meta (Gst.Caps reference, Gst.ClockTime timestamp, Gst.ClockTime duration);
671                 [CCode (has_construct_function = false)]
672                 public Buffer.allocate (Gst.Allocator? allocator, size_t size, Gst.AllocationParams? @params);
673                 public Gst.Buffer append (owned Gst.Buffer buf2);
674                 public void append_memory (owned Gst.Memory mem);
675                 public Gst.Buffer append_region (owned Gst.Buffer buf2, ssize_t offset, ssize_t size);
676                 [Version (since = "1.6")]
677                 public Gst.Buffer copy_deep ();
678                 [CCode (instance_pos = 1.9)]
679                 public bool copy_into (Gst.Buffer dst, Gst.BufferCopyFlags flags, size_t offset, size_t size);
680                 public Gst.Buffer copy_region (Gst.BufferCopyFlags flags, size_t offset, size_t size);
681                 public size_t extract (size_t offset, [CCode (array_length_cname = "size", array_length_pos = 2.1, array_length_type = "gsize")] out unowned uint8[] dest);
682                 [Version (since = "1.0.10")]
683                 public void extract_dup (size_t offset, size_t size, [CCode (array_length_cname = "dest_size", array_length_pos = 3.1, array_length_type = "gsize")] out uint8[] dest);
684                 public size_t fill (size_t offset, [CCode (array_length_cname = "size", array_length_pos = 2.1, array_length_type = "gsize")] uint8[] src);
685                 public bool find_memory (size_t offset, size_t size, out uint idx, out uint length, out size_t skip);
686                 public bool foreach_meta (Gst.BufferForeachMetaFunc func);
687                 public Gst.Memory? get_all_memory ();
688                 [Version (since = "1.10")]
689                 public Gst.BufferFlags get_flags ();
690                 [Version (since = "1.2")]
691                 public static uint get_max_memory ();
692                 public Gst.Memory? get_memory (uint idx);
693                 public Gst.Memory? get_memory_range (uint idx, int length);
694                 public unowned Gst.Meta? get_meta (GLib.Type api);
695                 [Version (since = "1.14")]
696                 public uint get_n_meta (GLib.Type api_type);
697                 [Version (since = "1.14")]
698                 public unowned Gst.ReferenceTimestampMeta? get_reference_timestamp_meta (Gst.Caps? reference);
699                 public size_t get_size ();
700                 public size_t get_sizes (out size_t offset, out size_t maxsize);
701                 public size_t get_sizes_range (uint idx, int length, out size_t offset, out size_t maxsize);
702                 public bool has_flags (Gst.BufferFlags flags);
703                 public void insert_memory (int idx, owned Gst.Memory mem);
704                 [Version (since = "1.4")]
705                 public bool is_all_memory_writable ();
706                 [Version (since = "1.4")]
707                 public bool is_memory_range_writable (uint idx, int length);
708                 public bool map (out Gst.MapInfo info, Gst.MapFlags flags);
709                 public bool map_range (uint idx, int length, out Gst.MapInfo info, Gst.MapFlags flags);
710                 public int memcmp (size_t offset, [CCode (array_length_cname = "size", array_length_pos = 2.1, array_length_type = "gsize")] uint8[] mem);
711                 public size_t memset (size_t offset, uint8 val, size_t size);
712                 public uint n_memory ();
713                 [CCode (has_construct_function = false, simple_generics = true)]
714                 public static Gst.Buffer new_wrapped_full<T> (Gst.MemoryFlags flags, [CCode (array_length_cname = "maxsize", array_length_pos = 2.5, array_length_type = "gsize")] uint8[] data, size_t offset, size_t size, owned T user_data);
715                 public unowned Gst.Memory? peek_memory (uint idx);
716                 public void prepend_memory (owned Gst.Memory mem);
717                 public void remove_all_memory ();
718                 public void remove_memory (uint idx);
719                 public void remove_memory_range (uint idx, int length);
720                 public bool remove_meta (Gst.Meta meta);
721                 public void replace_all_memory (owned Gst.Memory mem);
722                 public void replace_memory (uint idx, owned Gst.Memory mem);
723                 public void replace_memory_range (uint idx, int length, owned Gst.Memory mem);
724                 public void resize (ssize_t offset, ssize_t size);
725                 public bool resize_range (uint idx, int length, ssize_t offset, ssize_t size);
726                 [Version (since = "1.10")]
727                 public bool set_flags (Gst.BufferFlags flags);
728                 public void set_size (ssize_t size);
729                 public void unmap (Gst.MapInfo info);
730                 [Version (since = "1.10")]
731                 public bool unset_flags (Gst.BufferFlags flags);
732                 [CCode (has_construct_function = false)]
733                 public Buffer.wrapped ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "gsize")] owned uint8[] data);
734         }
735         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_buffer_list_ref", type_id = "gst_buffer_list_get_type ()", unref_function = "gst_buffer_list_unref")]
736         [Compact]
737         public class BufferList : Gst.MiniObject {
738                 [CCode (has_construct_function = false)]
739                 public BufferList ();
740                 [Version (since = "1.14")]
741                 public size_t calculate_size ();
742                 [Version (since = "1.6")]
743                 public Gst.BufferList copy_deep ();
744                 public bool @foreach (Gst.BufferListFunc func);
745                 public unowned Gst.Buffer? @get (uint idx);
746                 [Version (since = "1.14")]
747                 public unowned Gst.Buffer? get_writable (uint idx);
748                 public void insert (int idx, owned Gst.Buffer buffer);
749                 public uint length ();
750                 public void remove (uint idx, uint length);
751                 [CCode (has_construct_function = false)]
752                 public BufferList.sized (uint size);
753         }
754         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_buffer_pool_get_type ()")]
755         public class BufferPool : Gst.Object {
756                 public int flushing;
757                 [CCode (has_construct_function = false, returns_floating_reference = true)]
758                 public BufferPool ();
759                 public virtual Gst.FlowReturn acquire_buffer (out Gst.Buffer buffer, Gst.BufferPoolAcquireParams? @params);
760                 [NoWrapper]
761                 public virtual Gst.FlowReturn alloc_buffer (Gst.Buffer buffer, Gst.BufferPoolAcquireParams @params);
762                 public static void config_add_option (Gst.Structure config, string option);
763                 public static bool config_get_allocator (Gst.Structure config, out unowned Gst.Allocator allocator, out unowned Gst.AllocationParams @params);
764                 public static unowned string config_get_option (Gst.Structure config, uint index);
765                 public static bool config_get_params (Gst.Structure config, out unowned Gst.Caps caps, out uint size, out uint min_buffers, out uint max_buffers);
766                 public static bool config_has_option (Gst.Structure config, string option);
767                 public static uint config_n_options (Gst.Structure config);
768                 public static void config_set_allocator (Gst.Structure config, Gst.Allocator? allocator, Gst.AllocationParams? @params);
769                 public static void config_set_params (Gst.Structure config, Gst.Caps caps, uint size, uint min_buffers, uint max_buffers);
770                 [Version (since = "1.4")]
771                 public static bool config_validate_params (Gst.Structure config, Gst.Caps caps, uint size, uint min_buffers, uint max_buffers);
772                 [NoWrapper]
773                 public virtual void flush_start ();
774                 [NoWrapper]
775                 public virtual void flush_stop ();
776                 [NoWrapper]
777                 public virtual void free_buffer (Gst.Buffer buffer);
778                 public Gst.Structure get_config ();
779                 [CCode (array_length = false, array_null_terminated = true)]
780                 public virtual unowned string[] get_options ();
781                 public bool has_option (string option);
782                 public bool is_active ();
783                 public virtual void release_buffer (owned Gst.Buffer buffer);
784                 [NoWrapper]
785                 public virtual void reset_buffer (Gst.Buffer buffer);
786                 public bool set_active (bool active);
787                 public virtual bool set_config (owned Gst.Structure config);
788                 [Version (since = "1.4")]
789                 public void set_flushing (bool flushing);
790                 [NoWrapper]
791                 public virtual bool start ();
792                 [NoWrapper]
793                 public virtual bool stop ();
794         }
795         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_bus_get_type ()")]
796         public class Bus : Gst.Object {
797                 [CCode (has_construct_function = false)]
798                 public Bus ();
799                 [CCode (cname = "gst_bus_add_signal_watch_full")]
800                 public void add_signal_watch (int priority = GLib.Priority.DEFAULT);
801                 [CCode (cname = "gst_bus_add_watch_full")]
802                 public uint add_watch (int priority, owned Gst.BusFunc func);
803                 public bool async_signal_func (Gst.Message message, void* data);
804                 public GLib.Source? create_watch ();
805                 public void disable_sync_message_emission ();
806                 public void enable_sync_message_emission ();
807                 [Version (since = "1.14")]
808                 public GLib.PollFD get_pollfd ();
809                 public bool have_pending ();
810                 public Gst.Message? peek ();
811                 public Gst.Message? poll (Gst.MessageType events, Gst.ClockTime timeout);
812                 public Gst.Message? pop ();
813                 public Gst.Message? pop_filtered (Gst.MessageType types);
814                 public bool post (owned Gst.Message message);
815                 public void remove_signal_watch ();
816                 [Version (since = "1.6")]
817                 public bool remove_watch ();
818                 public void set_flushing (bool flushing);
819                 public void set_sync_handler (owned Gst.BusSyncHandler? func);
820                 public Gst.BusSyncReply sync_signal_handler (Gst.Message message, void* data);
821                 public Gst.Message? timed_pop (Gst.ClockTime timeout);
822                 public Gst.Message? timed_pop_filtered (Gst.ClockTime timeout, Gst.MessageType types);
823                 [NoAccessorMethod]
824                 public bool enable_async { construct; }
825                 public virtual signal void message (Gst.Message message);
826                 public virtual signal void sync_message (Gst.Message message);
827         }
828         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_caps_ref", type_id = "gst_caps_get_type ()", unref_function = "gst_caps_unref")]
829         [Compact]
830         public class Caps : Gst.MiniObject {
831                 [CCode (has_construct_function = false)]
832                 public Caps.any ();
833                 public void append (owned Gst.Caps caps2);
834                 public void append_structure (owned Gst.Structure structure);
835                 [Version (since = "1.2")]
836                 public void append_structure_full (owned Gst.Structure structure, owned Gst.CapsFeatures? features = null);
837                 public bool can_intersect (Gst.Caps caps2);
838                 public Gst.Caps copy ();
839                 public Gst.Caps copy_nth (uint nth);
840                 [CCode (has_construct_function = false)]
841                 public Caps.empty ();
842                 [CCode (has_construct_function = false)]
843                 public Caps.empty_simple (string media_type);
844                 [Version (since = "1.6")]
845                 public void filter_and_map_in_place (Gst.CapsFilterMapFunc func);
846                 public Gst.Caps fixate ();
847                 [Version (since = "1.6")]
848                 public bool @foreach (Gst.CapsForeachFunc func);
849                 public static Gst.Caps? from_string (string string);
850                 [CCode (has_construct_function = false)]
851                 public Caps.full (params Gst.Structure[] structure);
852                 [CCode (has_construct_function = false)]
853                 public Caps.full_valist (Gst.Structure structure, va_list var_args);
854                 [Version (since = "1.2")]
855                 public unowned Gst.CapsFeatures? get_features (uint index);
856                 public uint get_size ();
857                 public unowned Gst.Structure get_structure (uint index);
858                 [CCode (cname = "gst_caps_intersect_full")]
859                 public Gst.Caps intersect (Gst.Caps caps2, Gst.CapsIntersectMode mode = Gst.CapsIntersectMode.ZIG_ZAG);
860                 public bool is_always_compatible (Gst.Caps caps2);
861                 public bool is_any ();
862                 public bool is_empty ();
863                 public bool is_equal (Gst.Caps caps2);
864                 public bool is_equal_fixed (Gst.Caps caps2);
865                 public bool is_fixed ();
866                 public bool is_strictly_equal (Gst.Caps caps2);
867                 public bool is_subset (Gst.Caps superset);
868                 public bool is_subset_structure (Gst.Structure structure);
869                 [Version (since = "1.2")]
870                 public bool is_subset_structure_full (Gst.Structure structure, Gst.CapsFeatures? features);
871                 [Version (since = "1.6")]
872                 public bool map_in_place (Gst.CapsMapFunc func);
873                 public Gst.Caps merge (owned Gst.Caps caps2);
874                 public Gst.Caps merge_structure (owned Gst.Structure structure);
875                 [Version (since = "1.2")]
876                 public Gst.Caps merge_structure_full (owned Gst.Structure structure, owned Gst.CapsFeatures? features);
877                 public Gst.Caps normalize ();
878                 public void remove_structure (uint idx);
879                 [Version (since = "1.2")]
880                 public void set_features (uint index, owned Gst.CapsFeatures? features);
881                 public void set_simple (string field, ...);
882                 public void set_simple_valist (string field, va_list varargs);
883                 public void set_value (string field, GLib.Value value);
884                 [CCode (has_construct_function = false)]
885                 public Caps.simple (string media_type, string fieldname, ...);
886                 public Gst.Caps simplify ();
887                 public Gst.Structure? steal_structure (uint index);
888                 public Gst.Caps subtract (Gst.Caps subtrahend);
889                 public string to_string ();
890                 public Gst.Caps truncate ();
891         }
892         [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_caps_features_get_type ()")]
893         [Compact]
894         public class CapsFeatures {
895                 [CCode (has_construct_function = false)]
896                 [Version (since = "1.2")]
897                 public CapsFeatures (string feature1, ...);
898                 [Version (since = "1.2")]
899                 public void add (string feature);
900                 [Version (since = "1.2")]
901                 public void add_id (GLib.Quark feature);
902                 [CCode (has_construct_function = false)]
903                 [Version (since = "1.2")]
904                 public CapsFeatures.any ();
905                 [Version (since = "1.2")]
906                 public bool contains (string feature);
907                 [Version (since = "1.2")]
908                 public bool contains_id (GLib.Quark feature);
909                 [Version (since = "1.2")]
910                 public Gst.CapsFeatures copy ();
911                 [CCode (has_construct_function = false)]
912                 [Version (since = "1.2")]
913                 public CapsFeatures.empty ();
914                 [Version (since = "1.2")]
915                 public void free ();
916                 [Version (since = "1.2")]
917                 public static Gst.CapsFeatures? from_string (string features);
918                 [Version (since = "1.2")]
919                 public unowned string? get_nth (uint i);
920                 [Version (since = "1.2")]
921                 public GLib.Quark get_nth_id (uint i);
922                 [Version (since = "1.2")]
923                 public uint get_size ();
924                 [CCode (has_construct_function = false)]
925                 public CapsFeatures.id (params GLib.Quark[] features);
926                 [CCode (has_construct_function = false)]
927                 [Version (since = "1.2")]
928                 public CapsFeatures.id_valist (GLib.Quark feature1, va_list varargs);
929                 [Version (since = "1.2")]
930                 public bool is_any ();
931                 [Version (since = "1.2")]
932                 public bool is_equal (Gst.CapsFeatures features2);
933                 [Version (since = "1.2")]
934                 public void remove (string feature);
935                 [Version (since = "1.2")]
936                 public void remove_id (GLib.Quark feature);
937                 [Version (since = "1.2")]
938                 public bool set_parent_refcount (int refcount);
939                 [Version (since = "1.2")]
940                 public string to_string ();
941                 [CCode (has_construct_function = false)]
942                 [Version (since = "1.2")]
943                 public CapsFeatures.valist (string feature1, va_list varargs);
944         }
945         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_clock_get_type ()")]
946         public abstract class Clock : Gst.Object {
947                 [CCode (has_construct_function = false)]
948                 protected Clock ();
949                 public bool add_observation (Gst.ClockTime slave, Gst.ClockTime master, out double r_squared);
950                 [Version (since = "1.6")]
951                 public bool add_observation_unapplied (Gst.ClockTime slave, Gst.ClockTime master, out double r_squared, out Gst.ClockTime @internal, out Gst.ClockTime external, out Gst.ClockTime rate_num, out Gst.ClockTime rate_denom);
952                 public Gst.ClockTime adjust_unlocked (Gst.ClockTime @internal);
953                 [Version (since = "1.6")]
954                 public Gst.ClockTime adjust_with_calibration (Gst.ClockTime internal_target, Gst.ClockTime cinternal, Gst.ClockTime cexternal, Gst.ClockTime cnum, Gst.ClockTime cdenom);
955                 [NoWrapper]
956                 public virtual Gst.ClockTime change_resolution (Gst.ClockTime old_resolution, Gst.ClockTime new_resolution);
957                 public void get_calibration (out Gst.ClockTime @internal, out Gst.ClockTime external, out Gst.ClockTime rate_num, out Gst.ClockTime rate_denom);
958                 public virtual Gst.ClockTime get_internal_time ();
959                 public Gst.Clock? get_master ();
960                 public virtual Gst.ClockTime get_resolution ();
961                 public Gst.ClockTime get_time ();
962                 public Gst.ClockTime get_timeout ();
963                 public static int id_compare_func (void* id1, void* id2);
964                 public static Gst.ClockTime id_get_time (Gst.ClockID id);
965                 public static Gst.ClockID id_ref (Gst.ClockID id);
966                 public static void id_unref (owned Gst.ClockID id);
967                 public static void id_unschedule (Gst.ClockID id);
968                 public static Gst.ClockReturn id_wait (Gst.ClockID id, out Gst.ClockTimeDiff jitter);
969                 public static Gst.ClockReturn id_wait_async (Gst.ClockID id, owned Gst.ClockCallback func);
970                 [Version (since = "1.6")]
971                 public bool is_synced ();
972                 public Gst.ClockID new_periodic_id (Gst.ClockTime start_time, Gst.ClockTime interval);
973                 public Gst.ClockID new_single_shot_id (Gst.ClockTime time);
974                 public bool periodic_id_reinit (Gst.ClockID id, Gst.ClockTime start_time, Gst.ClockTime interval);
975                 public void set_calibration (Gst.ClockTime @internal, Gst.ClockTime external, Gst.ClockTime rate_num, Gst.ClockTime rate_denom);
976                 public bool set_master (Gst.Clock? master);
977                 public Gst.ClockTime set_resolution (Gst.ClockTime resolution);
978                 [Version (since = "1.6")]
979                 public void set_synced (bool synced);
980                 public void set_timeout (Gst.ClockTime timeout);
981                 public bool single_shot_id_reinit (Gst.ClockID id, Gst.ClockTime time);
982                 public Gst.ClockTime unadjust_unlocked (Gst.ClockTime external);
983                 [Version (since = "1.8")]
984                 public Gst.ClockTime unadjust_with_calibration (Gst.ClockTime external_target, Gst.ClockTime cinternal, Gst.ClockTime cexternal, Gst.ClockTime cnum, Gst.ClockTime cdenom);
985                 [NoWrapper]
986                 public virtual void unschedule (Gst.ClockEntry entry);
987                 [NoWrapper]
988                 public virtual Gst.ClockReturn wait (Gst.ClockEntry entry, Gst.ClockTimeDiff jitter);
989                 [NoWrapper]
990                 public virtual Gst.ClockReturn wait_async (Gst.ClockEntry entry);
991                 [Version (since = "1.6")]
992                 public bool wait_for_sync (Gst.ClockTime timeout);
993                 public uint64 timeout { get; set; }
994                 [NoAccessorMethod]
995                 public int window_size { get; set; }
996                 [NoAccessorMethod]
997                 public int window_threshold { get; set; }
998                 [Version (since = "1.6")]
999                 public signal void synced (bool synced);
1000         }
1001         [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_context_get_type ()")]
1002         [Compact]
1003         public class Context {
1004                 [CCode (has_construct_function = false)]
1005                 [Version (since = "1.2")]
1006                 public Context (string context_type, bool persistent);
1007                 [Version (since = "1.2")]
1008                 public unowned string get_context_type ();
1009                 [Version (since = "1.2")]
1010                 public unowned Gst.Structure get_structure ();
1011                 [Version (since = "1.2")]
1012                 public bool has_context_type (string context_type);
1013                 [Version (since = "1.2")]
1014                 public bool is_persistent ();
1015                 [Version (since = "1.2")]
1016                 public Gst.Structure writable_structure ();
1017         }
1018         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_control_binding_get_type ()")]
1019         public abstract class ControlBinding : Gst.Object {
1020                 public weak GLib.ParamSpec pspec;
1021                 [CCode (has_construct_function = false)]
1022                 protected ControlBinding ();
1023                 public virtual bool get_g_value_array (Gst.ClockTime timestamp, Gst.ClockTime interval, [CCode (array_length_cname = "n_values", array_length_pos = 2.5, array_length_type = "guint")] GLib.Value[] values);
1024                 public virtual GLib.Value? get_value (Gst.ClockTime timestamp);
1025                 public virtual bool get_value_array<T> (Gst.ClockTime timestamp, Gst.ClockTime interval, [CCode (array_length_pos = 2.5, array_length_type = "guint")] T[] values);
1026                 public bool is_disabled ();
1027                 public void set_disabled (bool disabled);
1028                 public virtual bool sync_values (Gst.Object object, Gst.ClockTime timestamp, Gst.ClockTime last_sync);
1029                 [NoAccessorMethod]
1030                 public string name { owned get; construct; }
1031                 [NoAccessorMethod]
1032                 public Gst.Object object { owned get; construct; }
1033         }
1034         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_control_source_get_type ()")]
1035         public abstract class ControlSource : Gst.Object {
1036                 [CCode (cname = "get_value_array")]
1037                 public weak Gst.ControlSourceGetValueArray get_value_array_func;
1038                 [CCode (cname = "get_value")]
1039                 public weak Gst.ControlSourceGetValue get_value_func;
1040                 [CCode (has_construct_function = false)]
1041                 protected ControlSource ();
1042                 public bool get_value (Gst.ClockTime timestamp, out double value);
1043                 public bool get_value_array (Gst.ClockTime timestamp, Gst.ClockTime interval, [CCode (array_length_cname = "n_values", array_length_pos = 2.5, array_length_type = "guint")] double[] values);
1044         }
1045         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_date_time_ref", type_id = "gst_date_time_get_type ()", unref_function = "gst_date_time_unref")]
1046         [Compact]
1047         public class DateTime {
1048                 [CCode (has_construct_function = false)]
1049                 public DateTime (float tzoffset, int year, int month, int day, int hour, int minute, double seconds);
1050                 [CCode (has_construct_function = false)]
1051                 public DateTime.from_g_date_time (owned GLib.DateTime dt);
1052                 [CCode (has_construct_function = false)]
1053                 public DateTime.from_iso8601_string (string string);
1054                 [CCode (has_construct_function = false)]
1055                 public DateTime.from_unix_epoch_local_time (int64 secs);
1056                 [CCode (has_construct_function = false)]
1057                 public DateTime.from_unix_epoch_utc (int64 secs);
1058                 public int get_day ();
1059                 public int get_hour ();
1060                 public int get_microsecond ();
1061                 public int get_minute ();
1062                 public int get_month ();
1063                 public int get_second ();
1064                 public float get_time_zone_offset ();
1065                 public int get_year ();
1066                 public bool has_day ();
1067                 public bool has_month ();
1068                 public bool has_second ();
1069                 public bool has_time ();
1070                 public bool has_year ();
1071                 [CCode (has_construct_function = false)]
1072                 public DateTime.local_time (int year, int month, int day, int hour, int minute, double seconds);
1073                 [CCode (has_construct_function = false)]
1074                 public DateTime.now_local_time ();
1075                 [CCode (has_construct_function = false)]
1076                 public DateTime.now_utc ();
1077                 public unowned Gst.DateTime @ref ();
1078                 public GLib.DateTime? to_g_date_time ();
1079                 public string? to_iso8601_string ();
1080                 public void unref ();
1081                 [CCode (has_construct_function = false)]
1082                 public DateTime.y (int year);
1083                 [CCode (has_construct_function = false)]
1084                 public DateTime.ym (int year, int month);
1085                 [CCode (has_construct_function = false)]
1086                 public DateTime.ymd (int year, int month, int day);
1087         }
1088         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
1089         [Compact]
1090         public class DebugMessage {
1091                 public unowned string? @get ();
1092         }
1093         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_get_type ()")]
1094         [Version (since = "1.4")]
1095         public abstract class Device : Gst.Object {
1096                 [CCode (has_construct_function = false)]
1097                 protected Device ();
1098                 public virtual Gst.Element? create_element (string? name);
1099                 public Gst.Caps? get_caps ();
1100                 public string get_device_class ();
1101                 public string get_display_name ();
1102                 [Version (since = "1.6")]
1103                 public Gst.Structure? get_properties ();
1104                 public bool has_classes (string classes);
1105                 public bool has_classesv ([CCode (array_length = false, array_null_terminated = true)] string[] classes);
1106                 public virtual bool reconfigure_element (Gst.Element element);
1107                 public Gst.Caps caps { owned get; construct; }
1108                 public string device_class { owned get; construct; }
1109                 public string display_name { owned get; construct; }
1110                 public Gst.Structure properties { owned get; construct; }
1111                 public signal void removed ();
1112         }
1113         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_monitor_get_type ()")]
1114         [Version (since = "1.4")]
1115         public class DeviceMonitor : Gst.Object {
1116                 [CCode (has_construct_function = false)]
1117                 public DeviceMonitor ();
1118                 public uint add_filter (string? classes, Gst.Caps? caps);
1119                 public Gst.Bus get_bus ();
1120                 public GLib.List<Gst.Device>? get_devices ();
1121                 [CCode (array_length = false, array_null_terminated = true)]
1122                 [Version (since = "1.6")]
1123                 public string[] get_providers ();
1124                 [Version (since = "1.6")]
1125                 public bool get_show_all_devices ();
1126                 public bool remove_filter (uint filter_id);
1127                 [Version (since = "1.6")]
1128                 public void set_show_all_devices (bool show_all);
1129                 public bool start ();
1130                 public void stop ();
1131                 [NoAccessorMethod]
1132                 public bool show_all { get; set; }
1133         }
1134         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_provider_get_type ()")]
1135         [Version (since = "1.4")]
1136         public abstract class DeviceProvider : Gst.Object {
1137                 public weak GLib.List<void*> devices;
1138                 [CCode (has_construct_function = false)]
1139                 protected DeviceProvider ();
1140                 [CCode (cname = "gst_device_provider_class_add_metadata")]
1141                 public class void add_metadata (string key, string value);
1142                 [CCode (cname = "gst_device_provider_class_add_static_metadata")]
1143                 public class void add_static_metadata (string key, owned string value);
1144                 public bool can_monitor ();
1145                 public class unowned string? class_get_metadata (string key);
1146                 public void device_add (Gst.Device device);
1147                 public void device_remove (Gst.Device device);
1148                 public Gst.Bus get_bus ();
1149                 public GLib.List<Gst.Device> get_devices ();
1150                 public unowned Gst.DeviceProviderFactory get_factory ();
1151                 [CCode (array_length = false, array_null_terminated = true)]
1152                 [Version (since = "1.6")]
1153                 public string[] get_hidden_providers ();
1154                 [Version (since = "1.14")]
1155                 public unowned string get_metadata (string key);
1156                 [Version (since = "1.6")]
1157                 public void hide_provider (string name);
1158                 public static bool register (Gst.Plugin? plugin, string name, uint rank, GLib.Type type);
1159                 [CCode (cname = "gst_device_provider_class_set_metadata")]
1160                 public class void set_metadata (string longname, string classification, string description, string author);
1161                 [CCode (cname = "gst_device_provider_class_set_static_metadata")]
1162                 public class void set_static_metadata (owned string longname, owned string classification, owned string description, owned string author);
1163                 public virtual bool start ();
1164                 public virtual void stop ();
1165                 [Version (since = "1.6")]
1166                 public void unhide_provider (string name);
1167                 public signal void provider_hidden (string object);
1168                 public signal void provider_unhidden (string object);
1169         }
1170         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_provider_factory_get_type ()")]
1171         [Version (since = "1.4")]
1172         public class DeviceProviderFactory : Gst.PluginFeature {
1173                 [CCode (has_construct_function = false)]
1174                 protected DeviceProviderFactory ();
1175                 public static Gst.DeviceProviderFactory? find (string name);
1176                 public Gst.DeviceProvider? @get ();
1177                 public static Gst.DeviceProvider? get_by_name (string factoryname);
1178                 public GLib.Type get_device_provider_type ();
1179                 public unowned string? get_metadata (string key);
1180                 [CCode (array_length = false, array_null_terminated = true)]
1181                 public string[]? get_metadata_keys ();
1182                 public bool has_classes (string? classes);
1183                 public bool has_classesv ([CCode (array_length = false, array_null_terminated = true)] string[]? classes);
1184                 public static GLib.List<Gst.DeviceProviderFactory> list_get_device_providers (Gst.Rank minrank);
1185         }
1186         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_double_range_get_type ()")]
1187         public class DoubleRange {
1188                 [CCode (has_construct_function = false)]
1189                 protected DoubleRange ();
1190         }
1191         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_dynamic_type_factory_get_type ()")]
1192         public class DynamicTypeFactory : Gst.PluginFeature {
1193                 [CCode (has_construct_function = false)]
1194                 protected DynamicTypeFactory ();
1195                 public static GLib.Type load (string factoryname);
1196         }
1197         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_element_get_type ()")]
1198         public abstract class Element : Gst.Object {
1199                 public Gst.ClockTimeDiff base_time;
1200                 public Gst.Bus bus;
1201                 public Gst.Clock clock;
1202                 public weak GLib.List<Gst.Context> contexts;
1203                 public Gst.State current_state;
1204                 public Gst.StateChangeReturn last_return;
1205                 public Gst.State next_state;
1206                 public uint16 numpads;
1207                 public uint16 numsinkpads;
1208                 public uint16 numsrcpads;
1209                 public GLib.List<Gst.Pad> pads;
1210                 public uint32 pads_cookie;
1211                 public Gst.State pending_state;
1212                 public GLib.List<weak Gst.Pad> sinkpads;
1213                 public GLib.List<weak Gst.Pad> srcpads;
1214                 public Gst.ClockTime start_time;
1215                 public GLib.Cond state_cond;
1216                 public uint32 state_cookie;
1217                 public GLib.RecMutex state_lock;
1218                 public Gst.State target_state;
1219                 [CCode (has_construct_function = false)]
1220                 protected Element ();
1221                 public void abort_state ();
1222                 [CCode (cname = "gst_element_class_add_metadata")]
1223                 public class void add_metadata (string key, string value);
1224                 public bool add_pad (Gst.Pad pad);
1225                 [CCode (cname = "gst_element_class_add_pad_template")]
1226                 public class void add_pad_template (Gst.PadTemplate templ);
1227                 [Version (since = "1.10")]
1228                 public ulong add_property_deep_notify_watch (string? property_name, bool include_value);
1229                 [Version (since = "1.10")]
1230                 public ulong add_property_notify_watch (string? property_name, bool include_value);
1231                 [CCode (cname = "gst_element_class_add_static_metadata")]
1232                 public class void add_static_metadata (string key, string value);
1233                 [CCode (cname = "gst_element_class_add_static_pad_template")]
1234                 [Version (since = "1.8")]
1235                 public class void add_static_pad_template (Gst.StaticPadTemplate static_templ);
1236                 [CCode (cname = "gst_element_class_add_static_pad_template_with_gtype")]
1237                 [Version (since = "1.14")]
1238                 public class void add_static_pad_template_with_gtype (Gst.StaticPadTemplate static_templ, GLib.Type pad_type);
1239                 [Version (since = "1.10")]
1240                 public void call_async (owned Gst.ElementCallAsyncFunc func);
1241                 public virtual Gst.StateChangeReturn change_state (Gst.StateChange transition);
1242                 public class unowned string class_get_metadata (string key);
1243                 public class unowned Gst.PadTemplate? class_get_pad_template (string name);
1244                 public class unowned GLib.List<Gst.PadTemplate> class_get_pad_template_list ();
1245                 public Gst.StateChangeReturn continue_state (Gst.StateChangeReturn ret);
1246                 public void create_all_pads ();
1247                 [Version (since = "1.14")]
1248                 public bool foreach_pad (Gst.ElementForeachPadFunc func);
1249                 [Version (since = "1.14")]
1250                 public bool foreach_sink_pad (Gst.ElementForeachPadFunc func);
1251                 [Version (since = "1.14")]
1252                 public bool foreach_src_pad (Gst.ElementForeachPadFunc func);
1253                 public Gst.ClockTime get_base_time ();
1254                 public Gst.Bus? get_bus ();
1255                 public Gst.Clock? get_clock ();
1256                 public Gst.Pad? get_compatible_pad (Gst.Pad pad, Gst.Caps? caps);
1257                 public unowned Gst.PadTemplate? get_compatible_pad_template (Gst.PadTemplate compattempl);
1258                 [Version (since = "1.8")]
1259                 public Gst.Context get_context (string context_type);
1260                 [Version (since = "1.8")]
1261                 public Gst.Context? get_context_unlocked (string context_type);
1262                 [Version (since = "1.8")]
1263                 public GLib.List<Gst.Context> get_contexts ();
1264                 public unowned Gst.ElementFactory get_factory ();
1265                 [Version (since = "1.14")]
1266                 public unowned string get_metadata (string key);
1267                 [Version (since = "1.14")]
1268                 public unowned Gst.PadTemplate? get_pad_template (string name);
1269                 [Version (since = "1.14")]
1270                 public unowned GLib.List<Gst.PadTemplate> get_pad_template_list ();
1271                 public Gst.Pad? get_request_pad (string name);
1272                 public Gst.ClockTime get_start_time ();
1273                 public virtual Gst.StateChangeReturn get_state (out Gst.State state, out Gst.State pending, Gst.ClockTime timeout);
1274                 public Gst.Pad? get_static_pad (string name);
1275                 public bool is_locked_state ();
1276                 public Gst.Iterator iterate_pads ();
1277                 public Gst.Iterator iterate_sink_pads ();
1278                 public Gst.Iterator iterate_src_pads ();
1279                 public bool link (Gst.Element dest);
1280                 public bool link_filtered (Gst.Element dest, Gst.Caps? filter);
1281                 public bool link_many (params Gst.Element[] elements);
1282                 [CCode (cname = "gst_element_link_pads_full")]
1283                 public bool link_pads (string? srcpadname, Gst.Element dest, string? destpadname, Gst.PadLinkCheck flags = Gst.PadLinkCheck.DEFAULT);
1284                 public bool link_pads_filtered (string? srcpadname, Gst.Element dest, string? destpadname, Gst.Caps? filter);
1285                 public void lost_state ();
1286                 [CCode (returns_floating_reference = true)]
1287                 public static Gst.Element? make_from_uri (Gst.URIType type, string uri, string? elementname) throws GLib.Error;
1288                 public void message_full (Gst.MessageType type, GLib.Quark domain, int code, owned string? text, owned string? debug, string file, string function, int line);
1289                 [Version (since = "1.10")]
1290                 public void message_full_with_details (Gst.MessageType type, GLib.Quark domain, int code, owned string? text, owned string? debug, string file, string function, int line, owned Gst.Structure structure);
1291                 public virtual bool post_message (owned Gst.Message message);
1292                 public virtual Gst.Clock? provide_clock ();
1293                 public virtual bool query (Gst.Query query);
1294                 public bool query_convert (Gst.Format src_format, int64 src_val, Gst.Format dest_format, out int64 dest_val);
1295                 public bool query_duration (Gst.Format format, out int64 duration);
1296                 public bool query_position (Gst.Format format, out int64 cur);
1297                 public static bool register (Gst.Plugin? plugin, string name, uint rank, GLib.Type type);
1298                 [NoWrapper]
1299                 public virtual void release_pad (Gst.Pad pad);
1300                 public void release_request_pad (Gst.Pad pad);
1301                 public bool remove_pad (Gst.Pad pad);
1302                 [Version (since = "1.10")]
1303                 public void remove_property_notify_watch (ulong watch_id);
1304                 [CCode (vfunc_name = "request_new_pad")]
1305                 public virtual Gst.Pad? request_pad (Gst.PadTemplate templ, string? name, Gst.Caps? caps);
1306                 public bool seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, int64 start, Gst.SeekType stop_type, int64 stop);
1307                 public bool seek_simple (Gst.Format format, Gst.SeekFlags seek_flags, int64 seek_pos);
1308                 public virtual bool send_event (owned Gst.Event event);
1309                 public void set_base_time (Gst.ClockTime time);
1310                 public virtual void set_bus (Gst.Bus? bus);
1311                 public virtual bool set_clock (Gst.Clock? clock);
1312                 public virtual void set_context (Gst.Context context);
1313                 public bool set_locked_state (bool locked_state);
1314                 [CCode (cname = "gst_element_class_set_metadata")]
1315                 public class void set_metadata (string longname, string classification, string description, string author);
1316                 public void set_start_time (Gst.ClockTime time);
1317                 public virtual Gst.StateChangeReturn set_state (Gst.State state);
1318                 [CCode (cname = "gst_element_class_set_static_metadata")]
1319                 public class void set_static_metadata (string longname, string classification, string description, string author);
1320                 public static unowned string state_change_return_get_name (Gst.StateChangeReturn state_ret);
1321                 [NoWrapper]
1322                 public virtual void state_changed (Gst.State oldstate, Gst.State newstate, Gst.State pending);
1323                 public static unowned string state_get_name (Gst.State state);
1324                 public bool sync_state_with_parent ();
1325                 public void unlink (Gst.Element dest);
1326                 public void unlink_many (params Gst.Element[] elements);
1327                 public void unlink_pads (string srcpadname, Gst.Element dest, string destpadname);
1328                 [HasEmitter]
1329                 public virtual signal void no_more_pads ();
1330                 public virtual signal void pad_added (Gst.Pad pad);
1331                 public virtual signal void pad_removed (Gst.Pad pad);
1332         }
1333         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_element_factory_get_type ()")]
1334         public class ElementFactory : Gst.PluginFeature {
1335                 [CCode (has_construct_function = false)]
1336                 protected ElementFactory ();
1337                 public bool can_sink_all_caps (Gst.Caps caps);
1338                 public bool can_sink_any_caps (Gst.Caps caps);
1339                 public bool can_src_all_caps (Gst.Caps caps);
1340                 public bool can_src_any_caps (Gst.Caps caps);
1341                 [CCode (returns_floating_reference = true)]
1342                 public Gst.Element? create (string? name);
1343                 public static Gst.ElementFactory? find (string name);
1344                 public GLib.Type get_element_type ();
1345                 public unowned string? get_metadata (string key);
1346                 [CCode (array_length = false, array_null_terminated = true)]
1347                 public string[]? get_metadata_keys ();
1348                 public uint get_num_pad_templates ();
1349                 public unowned GLib.List<Gst.StaticPadTemplate?> get_static_pad_templates ();
1350                 [CCode (array_length = false, array_null_terminated = true)]
1351                 public unowned string[] get_uri_protocols ();
1352                 public Gst.URIType get_uri_type ();
1353                 public bool has_interface (string interfacename);
1354                 public static GLib.List<Gst.ElementFactory> list_filter (GLib.List<Gst.ElementFactory> list, Gst.Caps caps, Gst.PadDirection direction, bool subsetonly);
1355                 public static GLib.List<Gst.ElementFactory> list_get_elements (Gst.ElementFactoryListType type, Gst.Rank minrank);
1356                 public bool list_is_type (Gst.ElementFactoryListType type);
1357                 [CCode (returns_floating_reference = true)]
1358                 public static Gst.Element? make (string factoryname, string? name);
1359         }
1360         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_event_ref", type_id = "gst_event_get_type ()", unref_function = "gst_event_unref")]
1361         [Compact]
1362         public class Event : Gst.MiniObject {
1363                 public uint32 seqnum;
1364                 public uint64 timestamp;
1365                 public Gst.EventType type;
1366                 [CCode (has_construct_function = false)]
1367                 public Event.buffer_size (Gst.Format format, int64 minsize, int64 maxsize, bool @async);
1368                 [CCode (has_construct_function = false)]
1369                 public Event.caps (Gst.Caps caps);
1370                 public void copy_segment (Gst.Segment segment);
1371                 [CCode (has_construct_function = false)]
1372                 public Event.custom (Gst.EventType type, owned Gst.Structure structure);
1373                 [CCode (has_construct_function = false)]
1374                 public Event.eos ();
1375                 [CCode (has_construct_function = false)]
1376                 public Event.flush_start ();
1377                 [CCode (has_construct_function = false)]
1378                 public Event.flush_stop (bool reset_time);
1379                 [CCode (has_construct_function = false)]
1380                 public Event.gap (Gst.ClockTime timestamp, Gst.ClockTime duration);
1381                 [Version (since = "1.4")]
1382                 public int64 get_running_time_offset ();
1383                 public uint32 get_seqnum ();
1384                 public unowned Gst.Structure? get_structure ();
1385                 public bool has_name (string name);
1386                 [CCode (has_construct_function = false)]
1387                 public Event.latency (Gst.ClockTime latency);
1388                 [CCode (has_construct_function = false)]
1389                 public Event.navigation (owned Gst.Structure structure);
1390                 public void parse_buffer_size (out Gst.Format format, out int64 minsize, out int64 maxsize, out bool @async);
1391                 public void parse_caps (out unowned Gst.Caps caps);
1392                 public void parse_flush_stop (out bool reset_time);
1393                 public void parse_gap (out Gst.ClockTime timestamp, out Gst.ClockTime duration);
1394                 [Version (since = "1.2")]
1395                 public bool parse_group_id (out uint group_id);
1396                 public void parse_latency (out Gst.ClockTime latency);
1397                 [Version (since = "1.6")]
1398                 public void parse_protection (out unowned string system_id, out unowned Gst.Buffer data, out unowned string origin);
1399                 public void parse_qos (out Gst.QOSType type, out double proportion, out Gst.ClockTimeDiff diff, out Gst.ClockTime timestamp);
1400                 public void parse_seek (out double rate, out Gst.Format format, out Gst.SeekFlags flags, out Gst.SeekType start_type, out int64 start, out Gst.SeekType stop_type, out int64 stop);
1401                 public void parse_segment (out unowned Gst.Segment segment);
1402                 public void parse_segment_done (out Gst.Format format, out int64 position);
1403                 [Version (since = "1.10")]
1404                 public void parse_select_streams (out GLib.List<string> streams);
1405                 public void parse_sink_message (out Gst.Message msg);
1406                 public void parse_step (out Gst.Format format, out uint64 amount, out double rate, out bool flush, out bool intermediate);
1407                 [Version (since = "1.10")]
1408                 public void parse_stream (out Gst.Stream stream);
1409                 [Version (since = "1.10")]
1410                 public void parse_stream_collection (out Gst.StreamCollection collection);
1411                 [Version (since = "1.2")]
1412                 public void parse_stream_flags (out Gst.StreamFlags flags);
1413                 [Version (since = "1.10")]
1414                 public void parse_stream_group_done (out uint group_id);
1415                 public void parse_stream_start (out unowned string stream_id);
1416                 public void parse_tag (out unowned Gst.TagList taglist);
1417                 public void parse_toc (out Gst.Toc toc, out bool updated);
1418                 public void parse_toc_select (out string uid);
1419                 [CCode (has_construct_function = false)]
1420                 [Version (since = "1.6")]
1421                 public Event.protection (string system_id, Gst.Buffer data, string origin);
1422                 [CCode (has_construct_function = false)]
1423                 public Event.qos (Gst.QOSType type, double proportion, Gst.ClockTimeDiff diff, Gst.ClockTime timestamp);
1424                 [CCode (has_construct_function = false)]
1425                 public Event.reconfigure ();
1426                 [CCode (has_construct_function = false)]
1427                 public Event.seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, int64 start, Gst.SeekType stop_type, int64 stop);
1428                 [CCode (has_construct_function = false)]
1429                 public Event.segment (Gst.Segment segment);
1430                 [CCode (has_construct_function = false)]
1431                 public Event.segment_done (Gst.Format format, int64 position);
1432                 [CCode (has_construct_function = false)]
1433                 [Version (since = "1.10")]
1434                 public Event.select_streams (GLib.List<string> streams);
1435                 [Version (since = "1.2")]
1436                 public void set_group_id (uint group_id);
1437                 [Version (since = "1.4")]
1438                 public void set_running_time_offset (int64 offset);
1439                 public void set_seqnum (uint32 seqnum);
1440                 [Version (since = "1.10")]
1441                 public void set_stream (Gst.Stream stream);
1442                 [Version (since = "1.2")]
1443                 public void set_stream_flags (Gst.StreamFlags flags);
1444                 [CCode (has_construct_function = false)]
1445                 public Event.sink_message (string name, Gst.Message msg);
1446                 [CCode (has_construct_function = false)]
1447                 public Event.step (Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate);
1448                 [CCode (has_construct_function = false)]
1449                 [Version (since = "1.10")]
1450                 public Event.stream_collection (Gst.StreamCollection collection);
1451                 [CCode (has_construct_function = false)]
1452                 [Version (since = "1.10")]
1453                 public Event.stream_group_done (uint group_id);
1454                 [CCode (has_construct_function = false)]
1455                 public Event.stream_start (string stream_id);
1456                 [CCode (has_construct_function = false)]
1457                 public Event.tag (owned Gst.TagList taglist);
1458                 [CCode (has_construct_function = false)]
1459                 public Event.toc (Gst.Toc toc, bool updated);
1460                 [CCode (has_construct_function = false)]
1461                 public Event.toc_select (string uid);
1462                 public unowned Gst.Structure writable_structure ();
1463         }
1464         [CCode (cheader_filename = "gst/gst.h", lower_case_csuffix = "flagset", type_id = "gst_flagset_get_type ()")]
1465         public class FlagSet {
1466                 [CCode (has_construct_function = false)]
1467                 protected FlagSet ();
1468                 [Version (since = "1.6")]
1469                 public static GLib.Type register (GLib.Type flags_type);
1470         }
1471         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_fraction_get_type ()")]
1472         public class Fraction {
1473                 [CCode (has_construct_function = false)]
1474                 protected Fraction ();
1475         }
1476         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_fraction_range_get_type ()")]
1477         public class FractionRange {
1478                 [CCode (has_construct_function = false)]
1479                 protected FractionRange ();
1480         }
1481         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_ghost_pad_get_type ()")]
1482         public class GhostPad : Gst.ProxyPad {
1483                 [CCode (has_construct_function = false, returns_floating_reference = true, type = "GstPad*")]
1484                 public GhostPad (string? name, Gst.Pad target);
1485                 public static bool activate_mode_default (Gst.Pad pad, Gst.Object? parent, Gst.PadMode mode, bool active);
1486                 public bool @construct ();
1487                 [CCode (has_construct_function = false, type = "GstPad*")]
1488                 public GhostPad.from_template (string? name, Gst.Pad target, Gst.PadTemplate templ);
1489                 public Gst.Pad? get_target ();
1490                 public static bool internal_activate_mode_default (Gst.Pad pad, Gst.Object? parent, Gst.PadMode mode, bool active);
1491                 [CCode (has_construct_function = false, type = "GstPad*")]
1492                 public GhostPad.no_target (string? name, Gst.PadDirection dir);
1493                 [CCode (has_construct_function = false, type = "GstPad*")]
1494                 public GhostPad.no_target_from_template (string? name, Gst.PadTemplate templ);
1495                 public bool set_target (Gst.Pad? newtarget);
1496         }
1497         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_int64_range_get_type ()")]
1498         public class Int64Range {
1499                 [CCode (has_construct_function = false)]
1500                 protected Int64Range ();
1501         }
1502         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_int_range_get_type ()")]
1503         public class IntRange {
1504                 [CCode (has_construct_function = false)]
1505                 protected IntRange ();
1506         }
1507         [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_iterator_copy", free_function = "gst_iterator_free", type_id = "gst_iterator_get_type ()")]
1508         [Compact]
1509         public class Iterator {
1510                 public uint32 cookie;
1511                 public weak Gst.IteratorItemFunction item;
1512                 public GLib.Mutex @lock;
1513                 public uint32 master_cookie;
1514                 public weak Gst.Iterator pushed;
1515                 public uint size;
1516                 public GLib.Type type;
1517                 [CCode (simple_generics = true)]
1518                 public Gst.Iterator filter<T> ([CCode (type = "GCompareFunc")] GLib.SearchFunc<GLib.Value?,T> func, T user_data);
1519                 [CCode (simple_generics = true)]
1520                 public bool find_custom<T> ([CCode (type = "GCompareFunc")] GLib.SearchFunc<GLib.Value?,T> func, out GLib.Value elem, T user_data);
1521                 public Gst.IteratorResult fold ([CCode (delegate_target_pos = 2.1)] Gst.IteratorFoldFunction func, GLib.Value ret);
1522                 public Gst.IteratorResult @foreach (Gst.IteratorForeachFunction func);
1523                 public void free ();
1524                 public Gst.IteratorResult next (out GLib.Value elem);
1525                 public void push (Gst.Iterator other);
1526                 public void resync ();
1527                 [CCode (has_construct_function = false)]
1528                 public Iterator.single (GLib.Type type, GLib.Value object);
1529         }
1530         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_memory_ref", type_id = "gst_memory_get_type ()", unref_function = "gst_memory_unref")]
1531         [Compact]
1532         public class Memory : Gst.MiniObject {
1533                 public size_t align;
1534                 public weak Gst.Allocator allocator;
1535                 public size_t maxsize;
1536                 public size_t offset;
1537                 public weak Gst.Memory parent;
1538                 public size_t size;
1539                 public Gst.Memory copy (ssize_t offset, ssize_t size);
1540                 public size_t get_sizes (out size_t offset, out size_t maxsize);
1541                 public bool is_span (Gst.Memory mem2, out size_t offset);
1542                 [Version (since = "1.2")]
1543                 public bool is_type (string mem_type);
1544                 public Gst.Memory? make_mapped (out Gst.MapInfo info, Gst.MapFlags flags);
1545                 public bool map (out Gst.MapInfo info, Gst.MapFlags flags);
1546                 [CCode (has_construct_function = false, simple_generics = true)]
1547                 public static Gst.Memory new_wrapped<T> (Gst.MemoryFlags flags, [CCode (array_length_cname = "maxsize", array_length_pos = 2.5, array_length_type = "gsize")] uint8[] data, size_t offset, size_t size, owned T user_data);
1548                 public void resize (ssize_t offset, size_t size);
1549                 public Gst.Memory share (ssize_t offset, ssize_t size);
1550                 public void unmap (Gst.MapInfo info);
1551         }
1552         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_message_ref", type_id = "gst_message_get_type ()", unref_function = "gst_message_unref")]
1553         [Compact]
1554         public class Message : Gst.MiniObject {
1555                 public uint32 seqnum;
1556                 public weak Gst.Object src;
1557                 public uint64 timestamp;
1558                 public Gst.MessageType type;
1559                 [Version (since = "1.10")]
1560                 public void add_redirect_entry (string location, owned Gst.TagList? tag_list, owned Gst.Structure? entry_struct);
1561                 [CCode (has_construct_function = false)]
1562                 public Message.application (Gst.Object? src, owned Gst.Structure structure);
1563                 [CCode (has_construct_function = false)]
1564                 public Message.async_done (Gst.Object? src, Gst.ClockTime running_time);
1565                 [CCode (has_construct_function = false)]
1566                 public Message.async_start (Gst.Object? src);
1567                 [CCode (has_construct_function = false)]
1568                 public Message.buffering (Gst.Object? src, int percent);
1569                 [CCode (has_construct_function = false)]
1570                 public Message.clock_lost (Gst.Object? src, Gst.Clock clock);
1571                 [CCode (has_construct_function = false)]
1572                 public Message.clock_provide (Gst.Object? src, Gst.Clock clock, bool ready);
1573                 [CCode (has_construct_function = false)]
1574                 public Message.custom (Gst.MessageType type, Gst.Object? src, owned Gst.Structure? structure);
1575                 [CCode (has_construct_function = false)]
1576                 [Version (since = "1.4")]
1577                 public Message.device_added (Gst.Object src, Gst.Device device);
1578                 [CCode (has_construct_function = false)]
1579                 [Version (since = "1.4")]
1580                 public Message.device_removed (Gst.Object src, Gst.Device device);
1581                 [CCode (has_construct_function = false)]
1582                 public Message.duration_changed (Gst.Object? src);
1583                 [CCode (has_construct_function = false)]
1584                 public Message.element (Gst.Object? src, owned Gst.Structure structure);
1585                 [CCode (has_construct_function = false)]
1586                 public Message.eos (Gst.Object? src);
1587                 [CCode (has_construct_function = false)]
1588                 public Message.error (Gst.Object? src, GLib.Error error, string debug);
1589                 [CCode (has_construct_function = false)]
1590                 [Version (since = "1.10")]
1591                 public Message.error_with_details (Gst.Object? src, GLib.Error error, string debug, owned Gst.Structure details);
1592                 [Version (since = "1.10")]
1593                 public size_t get_num_redirect_entries ();
1594                 public uint32 get_seqnum ();
1595                 public unowned GLib.Value? get_stream_status_object ();
1596                 public unowned Gst.Structure? get_structure ();
1597                 public bool has_name (string name);
1598                 [CCode (has_construct_function = false)]
1599                 [Version (since = "1.2")]
1600                 public Message.have_context (Gst.Object? src, owned Gst.Context context);
1601                 [CCode (has_construct_function = false)]
1602                 public Message.info (Gst.Object? src, GLib.Error error, string debug);
1603                 [CCode (has_construct_function = false)]
1604                 [Version (since = "1.10")]
1605                 public Message.info_with_details (Gst.Object? src, GLib.Error error, string debug, owned Gst.Structure details);
1606                 [CCode (has_construct_function = false)]
1607                 public Message.latency (Gst.Object? src);
1608                 [CCode (has_construct_function = false)]
1609                 [Version (since = "1.2")]
1610                 public Message.need_context (Gst.Object? src, string context_type);
1611                 [CCode (has_construct_function = false)]
1612                 public Message.new_clock (Gst.Object? src, Gst.Clock clock);
1613                 public void parse_async_done (out Gst.ClockTime running_time);
1614                 public void parse_buffering (out int percent);
1615                 public void parse_buffering_stats (out Gst.BufferingMode mode, out int avg_in, out int avg_out, out int64 buffering_left);
1616                 public void parse_clock_lost (out unowned Gst.Clock clock);
1617                 public void parse_clock_provide (out unowned Gst.Clock clock, out bool ready);
1618                 [Version (since = "1.2")]
1619                 public bool parse_context_type (out unowned string context_type);
1620                 [Version (since = "1.4")]
1621                 public void parse_device_added (out Gst.Device device);
1622                 [Version (since = "1.4")]
1623                 public void parse_device_removed (out Gst.Device device);
1624                 public void parse_error (out GLib.Error gerror, out string debug);
1625                 [Version (since = "1.10")]
1626                 public void parse_error_details (out unowned Gst.Structure structure);
1627                 [Version (since = "1.2")]
1628                 public bool parse_group_id (out uint group_id);
1629                 [Version (since = "1.2")]
1630                 public void parse_have_context (out Gst.Context context);
1631                 public void parse_info (out GLib.Error gerror, out string debug);
1632                 [Version (since = "1.10")]
1633                 public void parse_info_details (out unowned Gst.Structure structure);
1634                 public void parse_new_clock (out unowned Gst.Clock clock);
1635                 public void parse_progress (out Gst.ProgressType type, out string code, out string text);
1636                 [Version (since = "1.10")]
1637                 public void parse_property_notify (out unowned Gst.Object object, out unowned string property_name, out GLib.Value property_value);
1638                 public void parse_qos (out bool live, out uint64 running_time, out uint64 stream_time, out uint64 timestamp, out uint64 duration);
1639                 public void parse_qos_stats (out Gst.Format format, out uint64 processed, out uint64 dropped);
1640                 public void parse_qos_values (out int64 jitter, out double proportion, out int quality);
1641                 [Version (since = "1.10")]
1642                 public void parse_redirect_entry (size_t entry_index, out unowned string location, out unowned Gst.TagList tag_list, out unowned Gst.Structure entry_struct);
1643                 public void parse_request_state (out Gst.State state);
1644                 public void parse_reset_time (out Gst.ClockTime running_time);
1645                 public void parse_segment_done (out Gst.Format format, out int64 position);
1646                 public void parse_segment_start (out Gst.Format format, out int64 position);
1647                 public void parse_state_changed (out Gst.State oldstate, out Gst.State newstate, out Gst.State pending);
1648                 public void parse_step_done (out Gst.Format format, out uint64 amount, out double rate, out bool flush, out bool intermediate, out uint64 duration, out bool eos);
1649                 public void parse_step_start (out bool active, out Gst.Format format, out uint64 amount, out double rate, out bool flush, out bool intermediate);
1650                 [Version (since = "1.10")]
1651                 public void parse_stream_collection (out Gst.StreamCollection collection);
1652                 public void parse_stream_status (out Gst.StreamStatusType type, out unowned Gst.Element owner);
1653                 [Version (since = "1.10")]
1654                 public void parse_streams_selected (out Gst.StreamCollection collection);
1655                 public void parse_structure_change (out Gst.StructureChangeType type, out unowned Gst.Element owner, out bool busy);
1656                 public void parse_tag (out Gst.TagList tag_list);
1657                 public void parse_toc (out Gst.Toc toc, out bool updated);
1658                 public void parse_warning (out GLib.Error gerror, out string debug);
1659                 [Version (since = "1.10")]
1660                 public void parse_warning_details (out unowned Gst.Structure structure);
1661                 [CCode (has_construct_function = false)]
1662                 public Message.progress (Gst.Object src, Gst.ProgressType type, string code, string text);
1663                 [CCode (has_construct_function = false)]
1664                 [Version (since = "1.10")]
1665                 public Message.property_notify (Gst.Object src, string property_name, owned GLib.Value? val);
1666                 [CCode (has_construct_function = false)]
1667                 public Message.qos (Gst.Object src, bool live, uint64 running_time, uint64 stream_time, uint64 timestamp, uint64 duration);
1668                 [CCode (has_construct_function = false)]
1669                 [Version (since = "1.10")]
1670                 public Message.redirect (Gst.Object src, string location, owned Gst.TagList? tag_list, owned Gst.Structure? entry_struct);
1671                 [CCode (has_construct_function = false)]
1672                 public Message.request_state (Gst.Object? src, Gst.State state);
1673                 [CCode (has_construct_function = false)]
1674                 public Message.reset_time (Gst.Object? src, Gst.ClockTime running_time);
1675                 [CCode (has_construct_function = false)]
1676                 public Message.segment_done (Gst.Object? src, Gst.Format format, int64 position);
1677                 [CCode (has_construct_function = false)]
1678                 public Message.segment_start (Gst.Object? src, Gst.Format format, int64 position);
1679                 public void set_buffering_stats (Gst.BufferingMode mode, int avg_in, int avg_out, int64 buffering_left);
1680                 [Version (since = "1.2")]
1681                 public void set_group_id (uint group_id);
1682                 public void set_qos_stats (Gst.Format format, uint64 processed, uint64 dropped);
1683                 public void set_qos_values (int64 jitter, double proportion, int quality);
1684                 public void set_seqnum (uint32 seqnum);
1685                 public void set_stream_status_object (GLib.Value object);
1686                 [CCode (has_construct_function = false)]
1687                 public Message.state_changed (Gst.Object? src, Gst.State oldstate, Gst.State newstate, Gst.State pending);
1688                 [CCode (has_construct_function = false)]
1689                 public Message.state_dirty (Gst.Object? src);
1690                 [CCode (has_construct_function = false)]
1691                 public Message.step_done (Gst.Object src, Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate, uint64 duration, bool eos);
1692                 [CCode (has_construct_function = false)]
1693                 public Message.step_start (Gst.Object src, bool active, Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate);
1694                 [CCode (has_construct_function = false)]
1695                 [Version (since = "1.10")]
1696                 public Message.stream_collection (Gst.Object src, Gst.StreamCollection collection);
1697                 [CCode (has_construct_function = false)]
1698                 public Message.stream_start (Gst.Object? src);
1699                 [CCode (has_construct_function = false)]
1700                 public Message.stream_status (Gst.Object src, Gst.StreamStatusType type, Gst.Element owner);
1701                 [CCode (has_construct_function = false)]
1702                 [Version (since = "1.10")]
1703                 public Message.streams_selected (Gst.Object src, Gst.StreamCollection collection);
1704                 [Version (since = "1.10")]
1705                 public void streams_selected_add (Gst.Stream stream);
1706                 [Version (since = "1.10")]
1707                 public uint streams_selected_get_size ();
1708                 [Version (since = "1.10")]
1709                 public Gst.Stream? streams_selected_get_stream (uint idx);
1710                 [CCode (has_construct_function = false)]
1711                 public Message.structure_change (Gst.Object? src, Gst.StructureChangeType type, Gst.Element owner, bool busy);
1712                 [CCode (has_construct_function = false)]
1713                 public Message.tag (Gst.Object? src, owned Gst.TagList tag_list);
1714                 [CCode (has_construct_function = false)]
1715                 public Message.toc (Gst.Object src, Gst.Toc toc, bool updated);
1716                 [CCode (has_construct_function = false)]
1717                 public Message.warning (Gst.Object? src, GLib.Error error, string debug);
1718                 [CCode (has_construct_function = false)]
1719                 [Version (since = "1.10")]
1720                 public Message.warning_with_details (Gst.Object? src, GLib.Error error, string debug, owned Gst.Structure details);
1721                 [Version (since = "1.14")]
1722                 public unowned Gst.Structure writable_structure ();
1723         }
1724         [CCode (cheader_filename = "gst/gst.h", get_value_function = "g_value_get_boxed", has_type_id = false, ref_function = "gst_mini_object_ref", set_value_function = "g_value_set_boxed", take_value_function = "g_value_take_boxed", unref_function = "gst_mini_object_unref")]
1725         [Compact]
1726         public abstract class MiniObject {
1727                 public weak Gst.MiniObjectDisposeFunction dispose;
1728                 public uint flags;
1729                 public weak Gst.MiniObjectFreeFunction free;
1730                 public int lockstate;
1731                 public int refcount;
1732                 public GLib.Type type;
1733                 [Version (since = "1.16")]
1734                 public void add_parent (Gst.MiniObject parent);
1735                 [CCode (simple_generics = true)]
1736                 public T get_qdata<T> (GLib.Quark quark);
1737                 public bool is_writable ();
1738                 public bool @lock (Gst.LockFlags flags);
1739                 [ReturnsModifiedPointer]
1740                 public Gst.MiniObject make_writable ();
1741                 public unowned Gst.MiniObject @ref ();
1742                 [Version (since = "1.16")]
1743                 public void remove_parent (Gst.MiniObject parent);
1744                 public static bool replace (ref Gst.MiniObject? olddata, Gst.MiniObject? newdata);
1745                 [CCode (simple_generics = true)]
1746                 public void set_qdata<T> (GLib.Quark quark, owned T data);
1747                 public void* steal_qdata (GLib.Quark quark);
1748                 public static bool take (ref Gst.MiniObject olddata, Gst.MiniObject newdata);
1749                 public void @unlock (Gst.LockFlags flags);
1750                 public void unref ();
1751                 public void weak_ref (Gst.MiniObjectNotify notify);
1752                 public void weak_unref (Gst.MiniObjectNotify notify);
1753         }
1754         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_object_get_type ()")]
1755         public abstract class Object : GLib.InitiallyUnowned {
1756                 public uint32 flags;
1757                 public GLib.Mutex @lock;
1758                 [CCode (has_construct_function = false)]
1759                 protected Object ();
1760                 public bool add_control_binding (Gst.ControlBinding binding);
1761                 public static bool check_uniqueness (GLib.List<Gst.Object> list, string name);
1762                 public static void default_deep_notify (GLib.Object object, Gst.Object orig, GLib.ParamSpec pspec, [CCode (array_length = false, array_null_terminated = true)] string[]? excluded_props);
1763                 public void default_error (GLib.Error error, string? debug);
1764                 public Gst.ControlBinding? get_control_binding (string property_name);
1765                 public Gst.ClockTime get_control_rate ();
1766                 public bool get_g_value_array (string property_name, Gst.ClockTime timestamp, Gst.ClockTime interval, [CCode (array_length_cname = "n_values", array_length_pos = 3.5, array_length_type = "guint")] GLib.Value[] values);
1767                 public string? get_name ();
1768                 public Gst.Object? get_parent ();
1769                 public string get_path_string ();
1770                 public GLib.Value? get_value (string property_name, Gst.ClockTime timestamp);
1771                 public bool has_active_control_bindings ();
1772                 [Version (deprecated = true)]
1773                 public bool has_ancestor (Gst.Object ancestor);
1774                 public bool has_as_ancestor (Gst.Object ancestor);
1775                 [Version (since = "1.6")]
1776                 public bool has_as_parent (Gst.Object parent);
1777                 public unowned Gst.Object @ref ();
1778                 public bool remove_control_binding (Gst.ControlBinding binding);
1779                 public static bool replace (ref Gst.Object? oldobj, Gst.Object? newobj);
1780                 public void set_control_binding_disabled (string property_name, bool disabled);
1781                 public void set_control_bindings_disabled (bool disabled);
1782                 public void set_control_rate (Gst.ClockTime control_rate);
1783                 public bool set_name (string? name);
1784                 public bool set_parent (Gst.Object parent);
1785                 public Gst.ClockTime suggest_next_sync ();
1786                 public bool sync_values (Gst.ClockTime timestamp);
1787                 public void unparent ();
1788                 public void unref ();
1789                 public string name { owned get; set construct; }
1790                 public Gst.Object parent { owned get; set; }
1791                 public virtual signal void deep_notify (Gst.Object orig, GLib.ParamSpec pspec);
1792         }
1793         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_pad_get_type ()")]
1794         public class Pad : Gst.Object {
1795                 public void* element_private;
1796                 public weak Gst.PadTemplate padtemplate;
1797                 [CCode (has_construct_function = false, returns_floating_reference = true)]
1798                 public Pad (string? name, Gst.PadDirection direction);
1799                 public bool activate_mode (Gst.PadMode mode, bool active);
1800                 public ulong add_probe (Gst.PadProbeType mask, owned Gst.PadProbeCallback callback);
1801                 public bool can_link (Gst.Pad sinkpad);
1802                 public Gst.FlowReturn chain (owned Gst.Buffer buffer);
1803                 public Gst.FlowReturn chain_list (owned Gst.BufferList list);
1804                 public bool check_reconfigure ();
1805                 public string create_stream_id (Gst.Element parent, string? stream_id);
1806                 [PrintfFormat]
1807                 public string create_stream_id_printf (Gst.Element parent, string? stream_id, ...);
1808                 public string create_stream_id_printf_valist (Gst.Element parent, string? stream_id, va_list var_args);
1809                 public bool event_default (Gst.Object? parent, owned Gst.Event event);
1810                 public bool forward (Gst.PadForwardFunction forward);
1811                 [CCode (has_construct_function = false)]
1812                 public Pad.from_static_template (Gst.StaticPadTemplate templ, string name);
1813                 [CCode (has_construct_function = false, returns_floating_reference = true)]
1814                 public Pad.from_template (Gst.PadTemplate templ, string? name);
1815                 public Gst.Caps? get_allowed_caps ();
1816                 public Gst.Caps? get_current_caps ();
1817                 public Gst.PadDirection get_direction ();
1818                 public void* get_element_private ();
1819                 [Version (since = "1.4")]
1820                 public Gst.FlowReturn get_last_flow_return ();
1821                 public int64 get_offset ();
1822                 public Gst.PadTemplate? get_pad_template ();
1823                 public Gst.Caps get_pad_template_caps ();
1824                 public Gst.Element? get_parent_element ();
1825                 public Gst.Pad? get_peer ();
1826                 public Gst.FlowReturn get_range (uint64 offset, uint size, out Gst.Buffer buffer);
1827                 public Gst.Event? get_sticky_event (Gst.EventType event_type, uint idx);
1828                 [Version (since = "1.10")]
1829                 public Gst.Stream? get_stream ();
1830                 [Version (since = "1.2")]
1831                 public string? get_stream_id ();
1832                 [Version (since = "1.12")]
1833                 public Gst.TaskState get_task_state ();
1834                 public bool has_current_caps ();
1835                 public bool is_active ();
1836                 public bool is_blocked ();
1837                 public bool is_blocking ();
1838                 public bool is_linked ();
1839                 public Gst.Iterator? iterate_internal_links ();
1840                 public Gst.Iterator? iterate_internal_links_default (Gst.Object? parent);
1841                 [CCode (cname = "gst_pad_link_full")]
1842                 public Gst.PadLinkReturn link (Gst.Pad sinkpad, Gst.PadLinkCheck flags = Gst.PadLinkCheck.DEFAULT);
1843                 [Version (since = "1.4")]
1844                 public static unowned string link_get_name (Gst.PadLinkReturn ret);
1845                 [Version (since = "1.10")]
1846                 public bool link_maybe_ghosting (Gst.Pad sink);
1847                 [Version (since = "1.10")]
1848                 public bool link_maybe_ghosting_full (Gst.Pad sink, Gst.PadLinkCheck flags);
1849                 public void mark_reconfigure ();
1850                 public bool needs_reconfigure ();
1851                 public bool pause_task ();
1852                 public bool peer_query (Gst.Query query);
1853                 public bool peer_query_accept_caps (Gst.Caps caps);
1854                 public Gst.Caps peer_query_caps (Gst.Caps? filter);
1855                 public bool peer_query_convert (Gst.Format src_format, int64 src_val, Gst.Format dest_format, out int64 dest_val);
1856                 public bool peer_query_duration (Gst.Format format, out int64 duration);
1857                 public bool peer_query_position (Gst.Format format, out int64 cur);
1858                 public bool proxy_query_accept_caps (Gst.Query query);
1859                 public bool proxy_query_caps (Gst.Query query);
1860                 public Gst.FlowReturn pull_range (uint64 offset, uint size, out Gst.Buffer buffer);
1861                 public Gst.FlowReturn push (owned Gst.Buffer buffer);
1862                 public bool push_event (owned Gst.Event event);
1863                 public Gst.FlowReturn push_list (owned Gst.BufferList list);
1864                 public bool query (Gst.Query query);
1865                 public bool query_accept_caps (Gst.Caps caps);
1866                 public Gst.Caps query_caps (Gst.Caps? filter);
1867                 public bool query_convert (Gst.Format src_format, int64 src_val, Gst.Format dest_format, out int64 dest_val);
1868                 public bool query_default (Gst.Object? parent, Gst.Query query);
1869                 public bool query_duration (Gst.Format format, out int64 duration);
1870                 public bool query_position (Gst.Format format, out int64 cur);
1871                 public void remove_probe (ulong id);
1872                 public bool send_event (owned Gst.Event event);
1873                 [CCode (cname = "gst_pad_set_activate_function_full")]
1874                 public void set_activate_function (Gst.PadActivateFunction activate, void* user_data = null, GLib.DestroyNotify? notify = null);
1875                 [CCode (cname = "gst_pad_set_activatemode_function_full")]
1876                 public void set_activatemode_function (Gst.PadActivateModeFunction activatemode, void* user_data = null, GLib.DestroyNotify? notify = null);
1877                 public bool set_active (bool active);
1878                 [CCode (cname = "gst_pad_set_chain_function_full")]
1879                 public void set_chain_function (Gst.PadChainFunction chain, void* user_data = null, GLib.DestroyNotify? notify = null);
1880                 [CCode (cname = "gst_pad_set_chain_list_function_full")]
1881                 public void set_chain_list_function (Gst.PadChainListFunction chainlist, void* user_data = null, GLib.DestroyNotify? notify = null);
1882                 public void set_element_private (void* priv);
1883                 [Version (since = "1.8")]
1884                 public void set_event_full_function_full (owned Gst.PadEventFullFunction event);
1885                 [CCode (cname = "gst_pad_set_event_function_full")]
1886                 public void set_event_function (Gst.PadEventFunction event, void* user_data = null, GLib.DestroyNotify? notify = null);
1887                 [CCode (cname = "gst_pad_set_getrange_function_full")]
1888                 public void set_getrange_function (Gst.PadGetRangeFunction @get, void* user_data = null, GLib.DestroyNotify? notify = null);
1889                 [CCode (cname = "gst_pad_set_iterate_internal_links_function_full")]
1890                 public void set_iterate_internal_links_function (Gst.PadIterIntLinkFunction iterintlink, void* user_data = null, GLib.DestroyNotify? notify = null);
1891                 [CCode (cname = "gst_pad_set_link_function_full")]
1892                 public void set_link_function (Gst.PadLinkFunction link, void* user_data = null, GLib.DestroyNotify? notify = null);
1893                 public void set_offset (int64 offset);
1894                 [CCode (cname = "gst_pad_set_query_function_full")]
1895                 public void set_query_function (Gst.PadQueryFunction query, void* user_data = null, GLib.DestroyNotify? notify = null);
1896                 [CCode (cname = "gst_pad_set_unlink_function_full")]
1897                 public void set_unlink_function (Gst.PadUnlinkFunction unlink, void* user_data = null, GLib.DestroyNotify? notify = null);
1898                 public bool start_task (owned Gst.TaskFunction func);
1899                 public void sticky_events_foreach (Gst.PadStickyEventsForeachFunction foreach_func);
1900                 public bool stop_task ();
1901                 [Version (since = "1.2")]
1902                 public Gst.FlowReturn store_sticky_event (Gst.Event event);
1903                 public bool unlink (Gst.Pad sinkpad);
1904                 public void use_fixed_caps ();
1905                 [NoAccessorMethod]
1906                 public Gst.Caps caps { owned get; }
1907                 public Gst.PadDirection direction { get; construct; }
1908                 [Version (since = "1.6")]
1909                 public int64 offset { get; set; }
1910                 [NoAccessorMethod]
1911                 public Gst.PadTemplate template { owned get; set; }
1912                 public virtual signal void linked (Gst.Pad peer);
1913                 public virtual signal void unlinked (Gst.Pad peer);
1914         }
1915         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_pad_template_get_type ()")]
1916         public class PadTemplate : Gst.Object {
1917                 [CCode (has_construct_function = false, returns_floating_reference = true)]
1918                 public PadTemplate (string name_template, Gst.PadDirection direction, Gst.PadPresence presence, Gst.Caps caps);
1919                 [CCode (has_construct_function = false)]
1920                 [Version (since = "1.14")]
1921                 public PadTemplate.from_static_pad_template_with_gtype (Gst.StaticPadTemplate pad_template, GLib.Type pad_type);
1922                 public Gst.Caps get_caps ();
1923                 [CCode (has_construct_function = false)]
1924                 [Version (since = "1.14")]
1925                 public PadTemplate.with_gtype (string name_template, Gst.PadDirection direction, Gst.PadPresence presence, Gst.Caps caps, GLib.Type pad_type);
1926                 public Gst.Caps caps { owned get; construct; }
1927                 [NoAccessorMethod]
1928                 public Gst.PadDirection direction { get; construct; }
1929                 [NoAccessorMethod]
1930                 [Version (since = "1.14")]
1931                 public GLib.Type gtype { get; construct; }
1932                 [NoAccessorMethod]
1933                 public string name_template { owned get; construct; }
1934                 [NoAccessorMethod]
1935                 public Gst.PadPresence presence { get; construct; }
1936                 [HasEmitter]
1937                 public virtual signal void pad_created (Gst.Pad pad);
1938         }
1939         [CCode (cheader_filename = "gst/gst.h", lower_case_csuffix = "param_spec_array", type_id = "gst_param_spec_array_get_type ()")]
1940         public class ParamArray : GLib.ParamSpec {
1941                 [CCode (has_construct_function = false)]
1942                 protected ParamArray ();
1943         }
1944         [CCode (cheader_filename = "gst/gst.h", lower_case_csuffix = "param_spec_fraction", type_id = "gst_param_spec_fraction_get_type ()")]
1945         public class ParamFraction : GLib.ParamSpec {
1946                 [CCode (has_construct_function = false)]
1947                 protected ParamFraction ();
1948         }
1949         [CCode (cheader_filename = "gst/gst.h", free_function = "gst_parse_context_free", type_id = "gst_parse_context_get_type ()")]
1950         [Compact]
1951         public class ParseContext {
1952                 [CCode (has_construct_function = false)]
1953                 public ParseContext ();
1954                 public Gst.ParseContext? copy ();
1955                 public void free ();
1956                 [CCode (array_length = false, array_null_terminated = true)]
1957                 public string[]? get_missing_elements ();
1958         }
1959         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_pipeline_get_type ()")]
1960         public class Pipeline : Gst.Bin, Gst.ChildProxy {
1961                 public weak Gst.Clock fixed_clock;
1962                 public Gst.ClockTime stream_time;
1963                 [CCode (has_construct_function = false, returns_floating_reference = true, type = "GstElement*")]
1964                 public Pipeline (string? name);
1965                 public void auto_clock ();
1966                 public bool get_auto_flush_bus ();
1967                 public Gst.Bus get_bus ();
1968                 public Gst.Clock get_clock ();
1969                 public Gst.ClockTime get_delay ();
1970                 [Version (since = "1.6")]
1971                 public Gst.ClockTime get_latency ();
1972                 [Version (since = "1.6")]
1973                 public Gst.Clock get_pipeline_clock ();
1974                 public void set_auto_flush_bus (bool auto_flush);
1975                 public bool set_clock (Gst.Clock clock);
1976                 public void set_delay (Gst.ClockTime delay);
1977                 [Version (since = "1.6")]
1978                 public void set_latency (Gst.ClockTime latency);
1979                 public void use_clock (Gst.Clock? clock);
1980                 public bool auto_flush_bus { get; set; }
1981                 public uint64 delay { get; set; }
1982                 [Version (since = "1.6")]
1983                 public uint64 latency { get; set; }
1984         }
1985         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_plugin_get_type ()")]
1986         public class Plugin : Gst.Object {
1987                 [CCode (has_construct_function = false)]
1988                 protected Plugin ();
1989                 public void add_dependency ([CCode (array_length = false, array_null_terminated = true)] string[]? env_vars, [CCode (array_length = false, array_null_terminated = true)] string[]? paths, [CCode (array_length = false, array_null_terminated = true)] string[]? names, Gst.PluginDependencyFlags flags);
1990                 public void add_dependency_simple (string? env_vars, string? paths, string? names, Gst.PluginDependencyFlags flags);
1991                 public unowned Gst.Structure? get_cache_data ();
1992                 public unowned string get_description ();
1993                 public unowned string get_filename ();
1994                 public unowned string get_license ();
1995                 public unowned string get_name ();
1996                 public unowned string get_origin ();
1997                 public unowned string get_package ();
1998                 public unowned string? get_release_date_string ();
1999                 public unowned string get_source ();
2000                 public unowned string get_version ();
2001                 public bool is_loaded ();
2002                 public static void list_free (owned GLib.List<Gst.Plugin> list);
2003                 public Gst.Plugin? load ();
2004                 public static Gst.Plugin? load_by_name (string name);
2005                 public static Gst.Plugin load_file (string filename) throws GLib.Error;
2006                 public static bool register_static (int major_version, int minor_version, string name, string description, Gst.PluginInitFunc init_func, string version, string license, string source, string package, string origin);
2007                 public static bool register_static_full (int major_version, int minor_version, string name, string description, [CCode (delegate_target_pos = 10.1)] Gst.PluginInitFullFunc init_full_func, string version, string license, string source, string package, string origin);
2008                 public void set_cache_data (owned Gst.Structure cache_data);
2009         }
2010         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_plugin_feature_get_type ()")]
2011         public abstract class PluginFeature : Gst.Object {
2012                 [CCode (has_construct_function = false)]
2013                 protected PluginFeature ();
2014                 public bool check_version (uint min_major, uint min_minor, uint min_micro);
2015                 public Gst.Plugin? get_plugin ();
2016                 [Version (since = "1.2")]
2017                 public unowned string? get_plugin_name ();
2018                 public uint get_rank ();
2019                 public static GLib.List<Gst.PluginFeature> list_copy (GLib.List<Gst.PluginFeature> list);
2020                 public static void list_debug (GLib.List<Gst.PluginFeature> list);
2021                 public static void list_free (owned GLib.List<Gst.PluginFeature> list);
2022                 public Gst.PluginFeature? load ();
2023                 public static int rank_compare_func (void* p1, void* p2);
2024                 public void set_rank (uint rank);
2025         }
2026         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2027         [Compact]
2028         public class Poll {
2029                 [CCode (has_construct_function = false)]
2030                 public Poll (bool controllable);
2031                 public bool add_fd (Gst.PollFD fd);
2032                 public bool fd_can_read (Gst.PollFD fd);
2033                 public bool fd_can_write (Gst.PollFD fd);
2034                 [Version (since = "1.16")]
2035                 public bool fd_ctl_pri (Gst.PollFD fd, bool active);
2036                 public bool fd_ctl_read (Gst.PollFD fd, bool active);
2037                 public bool fd_ctl_write (Gst.PollFD fd, bool active);
2038                 public bool fd_has_closed (Gst.PollFD fd);
2039                 public bool fd_has_error (Gst.PollFD fd);
2040                 [Version (since = "1.16")]
2041                 public bool fd_has_pri (Gst.PollFD fd);
2042                 public void fd_ignored (Gst.PollFD fd);
2043                 public void free ();
2044                 public void get_read_gpollfd (GLib.PollFD fd);
2045                 public bool read_control ();
2046                 public bool remove_fd (Gst.PollFD fd);
2047                 public void restart ();
2048                 public bool set_controllable (bool controllable);
2049                 public void set_flushing (bool flushing);
2050                 [CCode (has_construct_function = false)]
2051                 public Poll.timer ();
2052                 public int wait (Gst.ClockTime timeout);
2053                 public bool write_control ();
2054         }
2055         [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_promise_get_type ()")]
2056         [Compact]
2057         [Version (since = "1.14")]
2058         public class Promise {
2059                 public weak Gst.MiniObject parent;
2060                 [CCode (has_construct_function = false)]
2061                 public Promise ();
2062                 public void expire ();
2063                 public unowned Gst.Structure get_reply ();
2064                 public void interrupt ();
2065                 public void reply (owned Gst.Structure s);
2066                 public Gst.PromiseResult wait ();
2067                 [CCode (has_construct_function = false)]
2068                 public Promise.with_change_func (owned Gst.PromiseChangeFunc func);
2069         }
2070         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_proxy_pad_get_type ()")]
2071         public class ProxyPad : Gst.Pad {
2072                 [CCode (has_construct_function = false)]
2073                 protected ProxyPad ();
2074                 public static Gst.FlowReturn chain_default (Gst.Pad pad, Gst.Object? parent, owned Gst.Buffer buffer);
2075                 public static Gst.FlowReturn chain_list_default (Gst.Pad pad, Gst.Object? parent, owned Gst.BufferList list);
2076                 public Gst.ProxyPad? get_internal ();
2077                 public static Gst.FlowReturn getrange_default (Gst.Pad pad, Gst.Object parent, uint64 offset, uint size, out Gst.Buffer buffer);
2078                 public static Gst.Iterator? iterate_internal_links_default (Gst.Pad pad, Gst.Object? parent);
2079         }
2080         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_query_ref", type_id = "gst_query_get_type ()", unref_function = "gst_query_unref")]
2081         [Compact]
2082         public class Query : Gst.MiniObject {
2083                 public Gst.QueryType type;
2084                 [CCode (has_construct_function = false)]
2085                 public Query.accept_caps (Gst.Caps caps);
2086                 public void add_allocation_meta (GLib.Type api, Gst.Structure? @params);
2087                 public void add_allocation_param (Gst.Allocator? allocator, Gst.AllocationParams? @params);
2088                 public void add_allocation_pool (Gst.BufferPool? pool, uint size, uint min_buffers, uint max_buffers);
2089                 public bool add_buffering_range (int64 start, int64 stop);
2090                 public void add_scheduling_mode (Gst.PadMode mode);
2091                 [CCode (has_construct_function = false)]
2092                 public Query.allocation (Gst.Caps caps, bool need_pool);
2093                 [CCode (has_construct_function = false)]
2094                 public Query.buffering (Gst.Format format);
2095                 [CCode (has_construct_function = false)]
2096                 public Query.caps (Gst.Caps filter);
2097                 [CCode (has_construct_function = false)]
2098                 [Version (since = "1.2")]
2099                 public Query.context (string context_type);
2100                 [CCode (has_construct_function = false)]
2101                 public Query.convert (Gst.Format src_format, int64 value, Gst.Format dest_format);
2102                 [CCode (has_construct_function = false)]
2103                 public Query.custom (Gst.QueryType type, owned Gst.Structure? structure);
2104                 [CCode (has_construct_function = false)]
2105                 public Query.drain ();
2106                 [CCode (has_construct_function = false)]
2107                 public Query.duration (Gst.Format format);
2108                 public bool find_allocation_meta (GLib.Type api, out uint index);
2109                 [CCode (has_construct_function = false)]
2110                 public Query.formats ();
2111                 public uint get_n_allocation_metas ();
2112                 public uint get_n_allocation_params ();
2113                 public uint get_n_allocation_pools ();
2114                 public uint get_n_buffering_ranges ();
2115                 public uint get_n_scheduling_modes ();
2116                 public unowned Gst.Structure? get_structure ();
2117                 public bool has_scheduling_mode (Gst.PadMode mode);
2118                 public bool has_scheduling_mode_with_flags (Gst.PadMode mode, Gst.SchedulingFlags flags);
2119                 [CCode (has_construct_function = false)]
2120                 public Query.latency ();
2121                 public void parse_accept_caps (out unowned Gst.Caps caps);
2122                 public void parse_accept_caps_result (out bool result);
2123                 public void parse_allocation (out unowned Gst.Caps caps, out bool need_pool);
2124                 public void parse_buffering_percent (out bool busy, out int percent);
2125                 public void parse_buffering_range (out Gst.Format format, out int64 start, out int64 stop, out int64 estimated_total);
2126                 public void parse_buffering_stats (out Gst.BufferingMode mode, out int avg_in, out int avg_out, out int64 buffering_left);
2127                 public void parse_caps (out unowned Gst.Caps filter);
2128                 public void parse_caps_result (out unowned Gst.Caps caps);
2129                 [Version (since = "1.2")]
2130                 public void parse_context (out unowned Gst.Context context);
2131                 [Version (since = "1.2")]
2132                 public bool parse_context_type (out unowned string context_type);
2133                 public void parse_convert (out Gst.Format src_format, out int64 src_value, out Gst.Format dest_format, out int64 dest_value);
2134                 public void parse_duration (out Gst.Format format, out int64 duration);
2135                 public void parse_latency (out bool live, out Gst.ClockTime min_latency, out Gst.ClockTime max_latency);
2136                 public void parse_n_formats (out uint n_formats);
2137                 public GLib.Type parse_nth_allocation_meta (uint index, out unowned Gst.Structure @params);
2138                 public void parse_nth_allocation_param (uint index, out Gst.Allocator allocator, out unowned Gst.AllocationParams @params);
2139                 public void parse_nth_allocation_pool (uint index, out Gst.BufferPool pool, out uint size, out uint min_buffers, out uint max_buffers);
2140                 public bool parse_nth_buffering_range (uint index, out int64 start, out int64 stop);
2141                 public void parse_nth_format (uint nth, out Gst.Format format);
2142                 public Gst.PadMode parse_nth_scheduling_mode (uint index);
2143                 public void parse_position (out Gst.Format format, out int64 cur);
2144                 public void parse_scheduling (out Gst.SchedulingFlags flags, out int minsize, out int maxsize, out int align);
2145                 public void parse_seeking (out Gst.Format format, out bool seekable, out int64 segment_start, out int64 segment_end);
2146                 public void parse_segment (out double rate, out Gst.Format format, out int64 start_value, out int64 stop_value);
2147                 public void parse_uri (out string uri);
2148                 [Version (since = "1.2")]
2149                 public void parse_uri_redirection (out string uri);
2150                 [Version (since = "1.4")]
2151                 public void parse_uri_redirection_permanent (out bool permanent);
2152                 [CCode (has_construct_function = false)]
2153                 public Query.position (Gst.Format format);
2154                 public void remove_nth_allocation_meta (uint index);
2155                 [Version (since = "1.2")]
2156                 public void remove_nth_allocation_param (uint index);
2157                 [Version (since = "1.2")]
2158                 public void remove_nth_allocation_pool (uint index);
2159                 [CCode (has_construct_function = false)]
2160                 public Query.scheduling ();
2161                 [CCode (has_construct_function = false)]
2162                 public Query.seeking (Gst.Format format);
2163                 [CCode (has_construct_function = false)]
2164                 public Query.segment (Gst.Format format);
2165                 public void set_accept_caps_result (bool result);
2166                 public void set_buffering_percent (bool busy, int percent);
2167                 public void set_buffering_range (Gst.Format format, int64 start, int64 stop, int64 estimated_total);
2168                 public void set_buffering_stats (Gst.BufferingMode mode, int avg_in, int avg_out, int64 buffering_left);
2169                 public void set_caps_result (Gst.Caps caps);
2170                 [Version (since = "1.2")]
2171                 public void set_context (Gst.Context context);
2172                 public void set_convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value);
2173                 public void set_duration (Gst.Format format, int64 duration);
2174                 [CCode (sentinel = "")]
2175                 public void set_formats (int n_formats, params Gst.Format[] formats);
2176                 public void set_formatsv ([CCode (array_length_cname = "n_formats", array_length_pos = 0.5)] Gst.Format[] formats);
2177                 public void set_latency (bool live, Gst.ClockTime min_latency, Gst.ClockTime max_latency);
2178                 public void set_nth_allocation_param (uint index, Gst.Allocator? allocator, Gst.AllocationParams? @params);
2179                 public void set_nth_allocation_pool (uint index, Gst.BufferPool? pool, uint size, uint min_buffers, uint max_buffers);
2180                 public void set_position (Gst.Format format, int64 cur);
2181                 public void set_scheduling (Gst.SchedulingFlags flags, int minsize, int maxsize, int align);
2182                 public void set_seeking (Gst.Format format, bool seekable, int64 segment_start, int64 segment_end);
2183                 public void set_segment (double rate, Gst.Format format, int64 start_value, int64 stop_value);
2184                 public void set_uri (string uri);
2185                 [Version (since = "1.2")]
2186                 public void set_uri_redirection (string uri);
2187                 [Version (since = "1.4")]
2188                 public void set_uri_redirection_permanent (bool permanent);
2189                 [CCode (has_construct_function = false)]
2190                 public Query.uri ();
2191                 public unowned Gst.Structure writable_structure ();
2192         }
2193         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_registry_get_type ()")]
2194         public class Registry : Gst.Object {
2195                 [CCode (has_construct_function = false)]
2196                 protected Registry ();
2197                 public bool add_feature (Gst.PluginFeature feature);
2198                 public bool add_plugin (Gst.Plugin plugin);
2199                 public bool check_feature_version (string feature_name, uint min_major, uint min_minor, uint min_micro);
2200                 public GLib.List<Gst.PluginFeature> feature_filter ([CCode (delegate_target_pos = 2.1)] Gst.PluginFeatureFilter filter, bool first);
2201                 public Gst.PluginFeature? find_feature (string name, GLib.Type type);
2202                 public Gst.Plugin? find_plugin (string name);
2203                 public static bool fork_is_enabled ();
2204                 public static void fork_set_enabled (bool enabled);
2205                 public static unowned Gst.Registry @get ();
2206                 public GLib.List<Gst.PluginFeature> get_feature_list (GLib.Type type);
2207                 public GLib.List<Gst.PluginFeature> get_feature_list_by_plugin (string name);
2208                 public uint32 get_feature_list_cookie ();
2209                 public GLib.List<Gst.Plugin> get_plugin_list ();
2210                 public Gst.Plugin? lookup (string filename);
2211                 public Gst.PluginFeature lookup_feature (string name);
2212                 public GLib.List<Gst.Plugin> plugin_filter ([CCode (delegate_target_pos = 2.1)] Gst.PluginFilter filter, bool first);
2213                 public void remove_feature (Gst.PluginFeature feature);
2214                 public void remove_plugin (Gst.Plugin plugin);
2215                 public bool scan_path (string path);
2216                 public signal void feature_added (Gst.PluginFeature feature);
2217                 public signal void plugin_added (Gst.Plugin plugin);
2218         }
2219         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_sample_ref", type_id = "gst_sample_get_type ()", unref_function = "gst_sample_unref")]
2220         [Compact]
2221         public class Sample : Gst.MiniObject {
2222                 [CCode (has_construct_function = false)]
2223                 public Sample (Gst.Buffer? buffer, Gst.Caps? caps, Gst.Segment? segment, owned Gst.Structure? info);
2224                 public unowned Gst.Buffer? get_buffer ();
2225                 [Version (since = "1.6")]
2226                 public unowned Gst.BufferList? get_buffer_list ();
2227                 public unowned Gst.Caps? get_caps ();
2228                 public unowned Gst.Structure? get_info ();
2229                 public unowned Gst.Segment get_segment ();
2230                 [Version (since = "1.16")]
2231                 public void set_buffer (Gst.Buffer buffer);
2232                 [Version (since = "1.6")]
2233                 public void set_buffer_list (Gst.BufferList buffer_list);
2234                 [Version (since = "1.16")]
2235                 public void set_caps (Gst.Caps caps);
2236                 [Version (since = "1.16")]
2237                 public bool set_info (owned Gst.Structure info);
2238                 [Version (since = "1.16")]
2239                 public void set_segment (Gst.Segment segment);
2240         }
2241         [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_segment_copy", free_function = "gst_segment_free", type_id = "gst_segment_get_type ()")]
2242         [Compact]
2243         public class Segment {
2244                 public double applied_rate;
2245                 public uint64 @base;
2246                 public uint64 duration;
2247                 public Gst.SegmentFlags flags;
2248                 public Gst.Format format;
2249                 public uint64 offset;
2250                 public uint64 position;
2251                 public double rate;
2252                 public uint64 start;
2253                 public uint64 stop;
2254                 public uint64 time;
2255                 [CCode (has_construct_function = false)]
2256                 public Segment ();
2257                 public bool clip (Gst.Format format, uint64 start, uint64 stop, out uint64 clip_start, out uint64 clip_stop);
2258                 public Gst.Segment copy ();
2259                 public void copy_into (Gst.Segment dest);
2260                 public bool do_seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, uint64 start, Gst.SeekType stop_type, uint64 stop, out bool update);
2261                 public void free ();
2262                 public void init (Gst.Format format);
2263                 [Version (since = "1.6")]
2264                 public bool is_equal (Gst.Segment s1);
2265                 [Version (since = "1.2.3")]
2266                 public bool offset_running_time (Gst.Format format, int64 offset);
2267                 [Version (since = "1.8")]
2268                 public uint64 position_from_running_time (Gst.Format format, uint64 running_time);
2269                 [Version (since = "1.8")]
2270                 public int position_from_running_time_full (Gst.Format format, uint64 running_time, out uint64 position);
2271                 [Version (since = "1.8")]
2272                 public uint64 position_from_stream_time (Gst.Format format, uint64 stream_time);
2273                 [Version (since = "1.8")]
2274                 public int position_from_stream_time_full (Gst.Format format, uint64 stream_time, out uint64 position);
2275                 public bool set_running_time (Gst.Format format, uint64 running_time);
2276                 [Version (deprecated = true)]
2277                 public uint64 to_position (Gst.Format format, uint64 running_time);
2278                 public uint64 to_running_time (Gst.Format format, uint64 position);
2279                 [Version (since = "1.6")]
2280                 public int to_running_time_full (Gst.Format format, uint64 position, out uint64 running_time);
2281                 [Version (since = "1.8")]
2282                 public uint64 to_stream_time (Gst.Format format, uint64 position);
2283                 [Version (since = "1.8")]
2284                 public int to_stream_time_full (Gst.Format format, uint64 position, out uint64 stream_time);
2285         }
2286         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_stream_get_type ()")]
2287         [Version (since = "1.10")]
2288         public class Stream : Gst.Object {
2289                 [CCode (has_construct_function = false)]
2290                 public Stream (string? stream_id, Gst.Caps? caps, Gst.StreamType type, Gst.StreamFlags flags);
2291                 public Gst.Caps? get_caps ();
2292                 public Gst.StreamFlags get_stream_flags ();
2293                 public unowned string? get_stream_id ();
2294                 public Gst.StreamType get_stream_type ();
2295                 public Gst.TagList? get_tags ();
2296                 public void set_caps (Gst.Caps? caps);
2297                 public void set_stream_flags (Gst.StreamFlags flags);
2298                 public void set_stream_type (Gst.StreamType stream_type);
2299                 public void set_tags (Gst.TagList? tags);
2300                 public Gst.Caps caps { owned get; set; }
2301                 public Gst.StreamFlags stream_flags { get; set construct; }
2302                 public string stream_id { get; construct; }
2303                 public Gst.StreamType stream_type { get; set construct; }
2304                 public Gst.TagList tags { owned get; set; }
2305         }
2306         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_stream_collection_get_type ()")]
2307         [Version (since = "1.10")]
2308         public class StreamCollection : Gst.Object {
2309                 [CCode (has_construct_function = false)]
2310                 public StreamCollection (string? upstream_id);
2311                 public bool add_stream (owned Gst.Stream stream);
2312                 public uint get_size ();
2313                 public unowned Gst.Stream? get_stream (uint index);
2314                 public unowned string get_upstream_id ();
2315                 [NoAccessorMethod]
2316                 public string upstream_id { owned get; set construct; }
2317                 public virtual signal void stream_notify (Gst.Stream stream, GLib.ParamSpec pspec);
2318         }
2319         [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_structure_copy", free_function = "gst_structure_free", type_id = "gst_structure_get_type ()")]
2320         [Compact]
2321         public class Structure {
2322                 public GLib.Type type;
2323                 [CCode (has_construct_function = false)]
2324                 public Structure (string name, string firstfield, ...);
2325                 public bool can_intersect (Gst.Structure struct2);
2326                 public Gst.Structure copy ();
2327                 [CCode (has_construct_function = false)]
2328                 public Structure.empty (string name);
2329                 [Version (since = "1.6")]
2330                 public void filter_and_map_in_place (Gst.StructureFilterMapFunc func);
2331                 public void fixate ();
2332                 public bool fixate_field (string field_name);
2333                 public bool fixate_field_boolean (string field_name, bool target);
2334                 public bool fixate_field_nearest_double (string field_name, double target);
2335                 public bool fixate_field_nearest_fraction (string field_name, int target_numerator, int target_denominator);
2336                 public bool fixate_field_nearest_int (string field_name, int target);
2337                 public bool fixate_field_string (string field_name, string target);
2338                 public bool @foreach (Gst.StructureForeachFunc func);
2339                 public void free ();
2340                 public static Gst.Structure? from_string (string string, out unowned string end);
2341                 public bool @get (...);
2342                 public bool get_array (string fieldname, out GLib.ValueArray array);
2343                 public bool get_boolean (string fieldname, out bool value);
2344                 public bool get_clock_time (string fieldname, out Gst.ClockTime value);
2345                 public bool get_date (string fieldname, out GLib.Date value);
2346                 public bool get_date_time (string fieldname, out Gst.DateTime value);
2347                 public bool get_double (string fieldname, out double value);
2348                 public bool get_enum (string fieldname, GLib.Type enumtype, out int value);
2349                 public GLib.Type get_field_type (string fieldname);
2350                 [Version (since = "1.6")]
2351                 public bool get_flagset (string fieldname, out uint value_flags, out uint value_mask);
2352                 public bool get_fraction (string fieldname, out int value_numerator, out int value_denominator);
2353                 public bool get_int (string fieldname, out int value);
2354                 [Version (since = "1.4")]
2355                 public bool get_int64 (string fieldname, out int64 value);
2356                 public bool get_list (string fieldname, out GLib.ValueArray array);
2357                 public unowned string get_name ();
2358                 public GLib.Quark get_name_id ();
2359                 public unowned string? get_string (string fieldname);
2360                 public bool get_uint (string fieldname, out uint value);
2361                 [Version (since = "1.4")]
2362                 public bool get_uint64 (string fieldname, out uint64 value);
2363                 public bool get_valist (string first_fieldname, va_list args);
2364                 public unowned GLib.Value? get_value (string fieldname);
2365                 public bool has_field (string fieldname);
2366                 public bool has_field_typed (string fieldname, GLib.Type type);
2367                 public bool has_name (string name);
2368                 [CCode (has_construct_function = false)]
2369                 public Structure.id_empty (GLib.Quark quark);
2370                 public bool id_get (...);
2371                 public bool id_get_valist (GLib.Quark first_field_id, va_list args);
2372                 public unowned GLib.Value? id_get_value (GLib.Quark field);
2373                 public bool id_has_field (GLib.Quark field);
2374                 public bool id_has_field_typed (GLib.Quark field, GLib.Type type);
2375                 public void id_set (GLib.Quark fieldname, ...);
2376                 public void id_set_valist (GLib.Quark fieldname, va_list varargs);
2377                 public void id_set_value (GLib.Quark field, GLib.Value value);
2378                 public void id_take_value (GLib.Quark field, owned GLib.Value value);
2379                 public Gst.Structure? intersect (Gst.Structure struct2);
2380                 public bool is_equal (Gst.Structure structure2);
2381                 public bool is_subset (Gst.Structure superset);
2382                 public bool map_in_place (Gst.StructureMapFunc func);
2383                 public int n_fields ();
2384                 public unowned string nth_field_name (uint index);
2385                 public void remove_all_fields ();
2386                 public void remove_field (string fieldname);
2387                 public void remove_fields (params string[] field_names);
2388                 public void remove_fields_valist (string fieldname, va_list varargs);
2389                 public void @set (string fieldname, ...);
2390                 public void set_array (string fieldname, GLib.ValueArray array);
2391                 public void set_list (string fieldname, GLib.ValueArray array);
2392                 public void set_name (string name);
2393                 public bool set_parent_refcount (int refcount);
2394                 public void set_valist (string fieldname, va_list varargs);
2395                 public void set_value (string fieldname, GLib.Value value);
2396                 public void take_value (string fieldname, owned GLib.Value value);
2397                 public string to_string ();
2398                 [CCode (has_construct_function = false)]
2399                 public Structure.valist (string name, string firstfield, va_list varargs);
2400         }
2401         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_system_clock_get_type ()")]
2402         public class SystemClock : Gst.Clock {
2403                 [CCode (has_construct_function = false)]
2404                 protected SystemClock ();
2405                 public static Gst.Clock obtain ();
2406                 [Version (since = "1.4")]
2407                 public static void set_default (Gst.Clock? new_clock);
2408                 [NoAccessorMethod]
2409                 public Gst.ClockType clock_type { get; set; }
2410         }
2411         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_tag_list_ref", type_id = "gst_tag_list_get_type ()", unref_function = "gst_tag_list_unref")]
2412         [Compact]
2413         public class TagList : Gst.MiniObject {
2414                 public void add (Gst.TagMergeMode mode, string tag, ...);
2415                 public void add_valist (Gst.TagMergeMode mode, string tag, va_list var_args);
2416                 public void add_valist_values (Gst.TagMergeMode mode, string tag, va_list var_args);
2417                 public void add_value (Gst.TagMergeMode mode, string tag, GLib.Value value);
2418                 public void add_values (Gst.TagMergeMode mode, string tag, ...);
2419                 [CCode (has_construct_function = false)]
2420                 public TagList.empty ();
2421                 public void @foreach (Gst.TagForeachFunc func);
2422                 [CCode (has_construct_function = false)]
2423                 public TagList.from_string (string str);
2424                 public bool get_boolean (string tag, out bool value);
2425                 public bool get_boolean_index (string tag, uint index, out bool value);
2426                 public bool get_date (string tag, out GLib.Date value);
2427                 public bool get_date_index (string tag, uint index, out GLib.Date value);
2428                 public bool get_date_time (string tag, out Gst.DateTime value);
2429                 public bool get_date_time_index (string tag, uint index, out Gst.DateTime value);
2430                 public bool get_double (string tag, out double value);
2431                 public bool get_double_index (string tag, uint index, out double value);
2432                 public bool get_float (string tag, out float value);
2433                 public bool get_float_index (string tag, uint index, out float value);
2434                 public bool get_int (string tag, out int value);
2435                 public bool get_int64 (string tag, out int64 value);
2436                 public bool get_int64_index (string tag, uint index, out int64 value);
2437                 public bool get_int_index (string tag, uint index, out int value);
2438                 public bool get_pointer (string tag, out void* value);
2439                 public bool get_pointer_index (string tag, uint index, out void* value);
2440                 public bool get_sample (string tag, out Gst.Sample sample);
2441                 public bool get_sample_index (string tag, uint index, out Gst.Sample sample);
2442                 public Gst.TagScope get_scope ();
2443                 public bool get_string (string tag, out string value);
2444                 public bool get_string_index (string tag, uint index, out string value);
2445                 public uint get_tag_size (string tag);
2446                 public bool get_uint (string tag, out uint value);
2447                 public bool get_uint64 (string tag, out uint64 value);
2448                 public bool get_uint64_index (string tag, uint index, out uint64 value);
2449                 public bool get_uint_index (string tag, uint index, out uint value);
2450                 public unowned GLib.Value? get_value_index (string tag, uint index);
2451                 public void insert (Gst.TagList from, Gst.TagMergeMode mode);
2452                 public bool is_empty ();
2453                 public bool is_equal (Gst.TagList list2);
2454                 public Gst.TagList? merge (Gst.TagList? list2, Gst.TagMergeMode mode);
2455                 public int n_tags ();
2456                 public unowned string nth_tag_name (uint index);
2457                 public bool peek_string_index (string tag, uint index, out unowned string value);
2458                 public void remove_tag (string tag);
2459                 public void set_scope (Gst.TagScope scope);
2460                 public string? to_string ();
2461                 [CCode (has_construct_function = false)]
2462                 public TagList.valist (va_list var_args);
2463         }
2464         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_task_get_type ()")]
2465         public class Task : Gst.Object {
2466                 public GLib.Cond cond;
2467                 public weak Gst.TaskFunction func;
2468                 public GLib.RecMutex @lock;
2469                 public weak GLib.DestroyNotify notify;
2470                 public bool running;
2471                 public Gst.TaskState state;
2472                 public void* user_data;
2473                 [CCode (has_construct_function = false)]
2474                 public Task (owned Gst.TaskFunction func);
2475                 public static void cleanup_all ();
2476                 public Gst.TaskPool get_pool ();
2477                 public Gst.TaskState get_state ();
2478                 public bool join ();
2479                 public bool pause ();
2480                 public void set_enter_callback (owned Gst.TaskThreadFunc enter_func);
2481                 public void set_leave_callback (owned Gst.TaskThreadFunc leave_func);
2482                 public void set_lock (GLib.RecMutex mutex);
2483                 public void set_pool (Gst.TaskPool pool);
2484                 public bool set_state (Gst.TaskState state);
2485                 public bool start ();
2486                 public bool stop ();
2487         }
2488         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_task_pool_get_type ()")]
2489         public class TaskPool : Gst.Object {
2490                 [CCode (has_construct_function = false)]
2491                 public TaskPool ();
2492                 public virtual void cleanup ();
2493                 public virtual void join (void* id);
2494                 public virtual void prepare () throws GLib.Error;
2495                 public virtual void* push ([CCode (scope = "async")] Gst.TaskPoolFunction func) throws GLib.Error;
2496         }
2497         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_toc_ref", type_id = "gst_toc_get_type ()", unref_function = "gst_toc_unref")]
2498         [Compact]
2499         public class Toc : Gst.MiniObject {
2500                 [CCode (has_construct_function = false)]
2501                 public Toc (Gst.TocScope scope);
2502                 public void append_entry (owned Gst.TocEntry entry);
2503                 public void dump ();
2504                 public unowned Gst.TocEntry? find_entry (string uid);
2505                 public unowned GLib.List<Gst.TocEntry> get_entries ();
2506                 public Gst.TocScope get_scope ();
2507                 public unowned Gst.TagList get_tags ();
2508                 public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
2509                 public void set_tags (owned Gst.TagList? tags);
2510         }
2511         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_toc_entry_ref", type_id = "gst_toc_entry_get_type ()", unref_function = "gst_toc_entry_unref")]
2512         [Compact]
2513         public class TocEntry : Gst.MiniObject {
2514                 [CCode (has_construct_function = false)]
2515                 public TocEntry (Gst.TocEntryType type, string uid);
2516                 public void append_sub_entry (owned Gst.TocEntry subentry);
2517                 public Gst.TocEntryType get_entry_type ();
2518                 [Version (since = "1.4")]
2519                 public bool get_loop (out Gst.TocLoopType loop_type, out int repeat_count);
2520                 public unowned Gst.TocEntry? get_parent ();
2521                 public bool get_start_stop_times (out int64 start, out int64 stop);
2522                 public unowned GLib.List<Gst.TocEntry> get_sub_entries ();
2523                 public unowned Gst.TagList get_tags ();
2524                 public unowned Gst.Toc get_toc ();
2525                 public unowned string get_uid ();
2526                 public bool is_alternative ();
2527                 public bool is_sequence ();
2528                 public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
2529                 [Version (since = "1.4")]
2530                 public void set_loop (Gst.TocLoopType loop_type, int repeat_count);
2531                 public void set_start_stop_times (int64 start, int64 stop);
2532                 public void set_tags (owned Gst.TagList? tags);
2533         }
2534         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_tracer_get_type ()")]
2535         public abstract class Tracer : Gst.Object {
2536                 [CCode (has_construct_function = false)]
2537                 protected Tracer ();
2538                 [NoAccessorMethod]
2539                 public string @params { owned get; set construct; }
2540         }
2541         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_tracer_factory_get_type ()")]
2542         [Version (since = "1.8")]
2543         public class TracerFactory : Gst.PluginFeature {
2544                 [CCode (has_construct_function = false)]
2545                 protected TracerFactory ();
2546                 public static GLib.List<Gst.TracerFactory> get_list ();
2547                 public GLib.Type get_tracer_type ();
2548         }
2549         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_tracer_record_get_type ()")]
2550         public class TracerRecord : Gst.Object {
2551                 [CCode (has_construct_function = false)]
2552                 protected TracerRecord ();
2553         }
2554         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_type_find_factory_get_type ()")]
2555         public class TypeFindFactory : Gst.PluginFeature {
2556                 [CCode (has_construct_function = false)]
2557                 protected TypeFindFactory ();
2558                 public void call_function (Gst.TypeFind find);
2559                 public unowned Gst.Caps get_caps ();
2560                 [CCode (array_length = false, array_null_terminated = true)]
2561                 public unowned string[]? get_extensions ();
2562                 public static GLib.List<Gst.TypeFindFactory> get_list ();
2563                 public bool has_function ();
2564         }
2565         [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_uri_get_type ()")]
2566         [Compact]
2567         public class Uri {
2568                 [CCode (has_construct_function = false)]
2569                 [Version (since = "1.6")]
2570                 public Uri (string? scheme, string? userinfo, string? host, uint port, string? path, string? query, string? fragment);
2571                 [Version (since = "1.6")]
2572                 public bool append_path (string relative_path);
2573                 [Version (since = "1.6")]
2574                 public bool append_path_segment (string path_segment);
2575                 [Version (since = "1.6")]
2576                 public bool equal (Gst.Uri second);
2577                 [Version (since = "1.6")]
2578                 public Gst.Uri from_string_with_base (string uri);
2579                 [Version (since = "1.6")]
2580                 public unowned string? get_fragment ();
2581                 [Version (since = "1.6")]
2582                 public unowned string? get_host ();
2583                 [Version (since = "1.12")]
2584                 public GLib.HashTable<string,string>? get_media_fragment_table ();
2585                 [Version (since = "1.6")]
2586                 public string get_path ();
2587                 [Version (since = "1.6")]
2588                 public GLib.List<string> get_path_segments ();
2589                 [Version (since = "1.6")]
2590                 public string? get_path_string ();
2591                 [Version (since = "1.6")]
2592                 public uint get_port ();
2593                 [Version (since = "1.6")]
2594                 public GLib.List<weak string> get_query_keys ();
2595                 [Version (since = "1.6")]
2596                 public string? get_query_string ();
2597                 [Version (since = "1.6")]
2598                 public GLib.HashTable<string,string>? get_query_table ();
2599                 [Version (since = "1.6")]
2600                 public unowned string? get_query_value (string query_key);
2601                 public unowned string? get_scheme ();
2602                 [Version (since = "1.6")]
2603                 public unowned string? get_userinfo ();
2604                 [Version (since = "1.6")]
2605                 public bool is_normalized ();
2606                 [Version (since = "1.6")]
2607                 public bool is_writable ();
2608                 [Version (since = "1.6")]
2609                 public Gst.Uri? join (Gst.Uri? ref_uri);
2610                 [ReturnsModifiedPointer]
2611                 [Version (since = "1.6")]
2612                 public Gst.Uri make_writable ();
2613                 [Version (since = "1.6")]
2614                 public Gst.Uri new_with_base (string? scheme, string? userinfo, string? host, uint port, string? path, string? query, string? fragment);
2615                 [Version (since = "1.6")]
2616                 public bool normalize ();
2617                 [Version (since = "1.6")]
2618                 public bool query_has_key (string query_key);
2619                 [Version (since = "1.6")]
2620                 public bool remove_query_key (string query_key);
2621                 [Version (since = "1.6")]
2622                 public bool set_fragment (string? fragment);
2623                 [Version (since = "1.6")]
2624                 public bool set_host (string host);
2625                 [Version (since = "1.6")]
2626                 public bool set_path (string path);
2627                 [Version (since = "1.6")]
2628                 public bool set_path_segments (owned GLib.List<string>? path_segments);
2629                 [Version (since = "1.6")]
2630                 public bool set_path_string (string path);
2631                 [Version (since = "1.6")]
2632                 public bool set_port (uint port);
2633                 [Version (since = "1.6")]
2634                 public bool set_query_string (string query);
2635                 [Version (since = "1.6")]
2636                 public bool set_query_table (GLib.HashTable<string,string>? query_table);
2637                 [Version (since = "1.6")]
2638                 public bool set_query_value (string query_key, string? query_value);
2639                 [Version (since = "1.6")]
2640                 public bool set_scheme (string scheme);
2641                 [Version (since = "1.6")]
2642                 public bool set_userinfo (string userinfo);
2643                 [Version (since = "1.6")]
2644                 public string to_string ();
2645         }
2646         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_value_array_get_type ()")]
2647         public class ValueArray {
2648                 [CCode (has_construct_function = false)]
2649                 protected ValueArray ();
2650                 [Version (since = "1.2")]
2651                 public static void append_and_take_value (GLib.Value value, owned GLib.Value append_value);
2652                 public static void append_value (GLib.Value value, GLib.Value append_value);
2653                 public static uint get_size (GLib.Value value);
2654                 public static unowned GLib.Value? get_value (GLib.Value value, uint index);
2655                 public static void prepend_value (GLib.Value value, GLib.Value prepend_value);
2656         }
2657         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_value_list_get_type ()")]
2658         public class ValueList {
2659                 [CCode (has_construct_function = false)]
2660                 protected ValueList ();
2661                 [Version (since = "1.2")]
2662                 public static void append_and_take_value (GLib.Value value, owned GLib.Value append_value);
2663                 public static void append_value (GLib.Value value, GLib.Value append_value);
2664                 public static void concat (out GLib.Value dest, GLib.Value value1, GLib.Value value2);
2665                 public static uint get_size (GLib.Value value);
2666                 public static unowned GLib.Value? get_value (GLib.Value value, uint index);
2667                 public static void merge (out GLib.Value dest, GLib.Value value1, GLib.Value value2);
2668                 public static void prepend_value (GLib.Value value, GLib.Value prepend_value);
2669         }
2670         [CCode (cheader_filename = "gst/gst.h", type_cname = "GstChildProxyInterface", type_id = "gst_child_proxy_get_type ()")]
2671         public interface ChildProxy : GLib.Object {
2672                 public void @get (...);
2673                 public abstract GLib.Object? get_child_by_index (uint index);
2674                 public abstract GLib.Object? get_child_by_name (string name);
2675                 public abstract uint get_children_count ();
2676                 public GLib.Value get_property (string name);
2677                 public void get_valist (string first_property_name, va_list var_args);
2678                 public bool lookup (string name, out GLib.Object target, out unowned GLib.ParamSpec pspec);
2679                 public void @set (...);
2680                 public void set_property (string name, GLib.Value value);
2681                 public void set_valist (string first_property_name, va_list var_args);
2682                 [HasEmitter]
2683                 public virtual signal void child_added (GLib.Object child, string name);
2684                 [HasEmitter]
2685                 public virtual signal void child_removed (GLib.Object child, string name);
2686         }
2687         [CCode (cheader_filename = "gst/gst.h", type_cname = "GstPresetInterface", type_id = "gst_preset_get_type ()")]
2688         public interface Preset : GLib.Object {
2689                 public abstract bool delete_preset (string name);
2690                 public static unowned string? get_app_dir ();
2691                 public abstract bool get_meta (string name, string tag, out string value);
2692                 [CCode (array_length = false, array_null_terminated = true)]
2693                 public abstract string[] get_preset_names ();
2694                 [CCode (array_length = false, array_null_terminated = true)]
2695                 public abstract string[] get_property_names ();
2696                 [Version (since = "1.6")]
2697                 public bool is_editable ();
2698                 public abstract bool load_preset (string name);
2699                 public abstract bool rename_preset (string old_name, string new_name);
2700                 public abstract bool save_preset (string name);
2701                 public static bool set_app_dir (string app_dir);
2702                 public abstract bool set_meta (string name, string tag, string? value);
2703         }
2704         [CCode (cheader_filename = "gst/gst.h", type_cname = "GstTagSetterInterface", type_id = "gst_tag_setter_get_type ()")]
2705         public interface TagSetter : Gst.Element {
2706                 public void add_tag_valist (Gst.TagMergeMode mode, string tag, va_list var_args);
2707                 public void add_tag_valist_values (Gst.TagMergeMode mode, string tag, va_list var_args);
2708                 public void add_tag_value (Gst.TagMergeMode mode, string tag, GLib.Value value);
2709                 public void add_tag_values (Gst.TagMergeMode mode, string tag, ...);
2710                 public void add_tags (Gst.TagMergeMode mode, string tag, ...);
2711                 public unowned Gst.TagList? get_tag_list ();
2712                 public Gst.TagMergeMode get_tag_merge_mode ();
2713                 public void merge_tags (Gst.TagList list, Gst.TagMergeMode mode);
2714                 public void reset_tags ();
2715                 public void set_tag_merge_mode (Gst.TagMergeMode mode);
2716         }
2717         [CCode (cheader_filename = "gst/gst.h", type_cname = "GstTocSetterInterface", type_id = "gst_toc_setter_get_type ()")]
2718         public interface TocSetter : Gst.Element {
2719                 public Gst.Toc? get_toc ();
2720                 public void reset ();
2721                 public void set_toc (Gst.Toc? toc);
2722         }
2723         [CCode (cheader_filename = "gst/gst.h", type_cname = "GstURIHandlerInterface", type_id = "gst_uri_handler_get_type ()")]
2724         public interface URIHandler : GLib.Object {
2725                 [CCode (array_length = false, array_null_terminated = true)]
2726                 public abstract unowned string[]? get_protocols ();
2727                 public abstract string? get_uri ();
2728                 [CCode (vfunc_name = "get_type")]
2729                 public abstract Gst.URIType get_uri_type ();
2730                 public abstract bool set_uri (string uri) throws GLib.Error;
2731         }
2732         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2733         public struct BufferPoolAcquireParams {
2734                 public Gst.Format format;
2735                 public int64 start;
2736                 public int64 stop;
2737                 public Gst.BufferPoolAcquireFlags flags;
2738         }
2739         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2740         public struct ClockEntry {
2741                 public int refcount;
2742                 public weak Gst.Clock clock;
2743                 public Gst.ClockEntryType type;
2744                 public Gst.ClockTime time;
2745                 public Gst.ClockTime interval;
2746                 public Gst.ClockReturn status;
2747                 public weak Gst.ClockCallback func;
2748                 public void* user_data;
2749                 public weak GLib.DestroyNotify destroy_data;
2750                 public bool unscheduled;
2751                 public bool woken_up;
2752         }
2753         [CCode (cheader_filename = "gst/gst.h")]
2754         [SimpleType]
2755         public struct ClockID {
2756         }
2757         [CCode (cheader_filename = "gst/gst.h")]
2758         [SimpleType]
2759         public struct ClockTime : uint64 {
2760         }
2761         [CCode (cheader_filename = "gst/gst.h")]
2762         [SimpleType]
2763         public struct ClockTimeDiff : int64 {
2764         }
2765         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2766         public struct DebugCategory {
2767                 public void free ();
2768                 public uint get_color ();
2769                 public unowned string get_description ();
2770                 public unowned string get_name ();
2771                 public Gst.DebugLevel get_threshold ();
2772                 public void reset_threshold ();
2773                 public void set_threshold (Gst.DebugLevel level);
2774         }
2775         [CCode (cheader_filename = "gst/gst.h")]
2776         [SimpleType]
2777         public struct ElementFactoryListType : uint64 {
2778         }
2779         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2780         public struct FormatDefinition {
2781                 public Gst.Format value;
2782                 public weak string nick;
2783                 public weak string description;
2784                 public GLib.Quark quark;
2785         }
2786         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2787         public struct MapInfo {
2788                 public weak Gst.Memory memory;
2789                 public Gst.MapFlags flags;
2790                 [CCode (array_length_cname = "size", array_length_type = "gsize")]
2791                 public weak uint8[] data;
2792                 public size_t size;
2793                 public size_t maxsize;
2794                 [CCode (array_length = false)]
2795                 public weak void* user_data[4];
2796         }
2797         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2798         public struct Meta {
2799                 public Gst.MetaFlags flags;
2800                 public Gst.MetaInfo info;
2801                 [CCode (array_length = false, array_null_terminated = true)]
2802                 [Version (since = "1.2")]
2803                 public static unowned string[] api_type_get_tags (GLib.Type api);
2804                 public static bool api_type_has_tag (GLib.Type api, GLib.Quark tag);
2805                 public static GLib.Type api_type_register (string api, [CCode (array_length = false, array_null_terminated = true)] string[] tags);
2806                 public static unowned Gst.MetaInfo? get_info (string impl);
2807                 public static unowned Gst.MetaInfo? register (GLib.Type api, string impl, size_t size, [CCode (scope = "async")] Gst.MetaInitFunction init_func, [CCode (scope = "async")] Gst.MetaFreeFunction free_func, [CCode (scope = "async")] Gst.MetaTransformFunction transform_func);
2808         }
2809         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2810         public struct MetaInfo {
2811                 public GLib.Type api;
2812                 public GLib.Type type;
2813                 public size_t size;
2814                 public weak Gst.MetaInitFunction init_func;
2815                 public weak Gst.MetaFreeFunction free_func;
2816                 public weak Gst.MetaTransformFunction transform_func;
2817         }
2818         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2819         public struct MetaTransformCopy {
2820                 public bool region;
2821                 public size_t offset;
2822                 public size_t size;
2823         }
2824         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2825         public struct PadProbeInfo {
2826                 public Gst.PadProbeType type;
2827                 public ulong id;
2828                 public void* data;
2829                 public uint64 offset;
2830                 public uint size;
2831                 public unowned Gst.Buffer? get_buffer ();
2832                 public unowned Gst.BufferList? get_buffer_list ();
2833                 public unowned Gst.Event? get_event ();
2834                 public unowned Gst.Query? get_query ();
2835         }
2836         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2837         public struct ParamSpecArray {
2838                 public weak GLib.ParamSpec parent_instance;
2839                 public weak GLib.ParamSpec element_spec;
2840         }
2841         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2842         public struct ParamSpecFraction {
2843                 public weak GLib.ParamSpec parent_instance;
2844                 public int min_num;
2845                 public int min_den;
2846                 public int max_num;
2847                 public int max_den;
2848                 public int def_num;
2849                 public int def_den;
2850         }
2851         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2852         [Version (since = "1.6")]
2853         public struct ParentBufferMeta {
2854                 public Gst.Meta parent;
2855                 public weak Gst.Buffer buffer;
2856                 public static GLib.Type api_get_type ();
2857                 public static unowned Gst.MetaInfo? get_info ();
2858         }
2859         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2860         public struct PluginDesc {
2861                 public int major_version;
2862                 public int minor_version;
2863                 public weak string name;
2864                 public weak string description;
2865                 public weak Gst.PluginInitFunc plugin_init;
2866                 public weak string version;
2867                 public weak string license;
2868                 public weak string source;
2869                 public weak string package;
2870                 public weak string origin;
2871                 public weak string release_datetime;
2872         }
2873         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2874         public struct PollFD {
2875                 public int fd;
2876                 public void init ();
2877         }
2878         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2879         [Version (since = "1.6")]
2880         public struct ProtectionMeta {
2881                 public Gst.Meta meta;
2882                 public weak Gst.Structure info;
2883                 public static GLib.Type api_get_type ();
2884                 public static unowned Gst.MetaInfo? get_info ();
2885         }
2886         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2887         [Version (since = "1.14")]
2888         public struct ReferenceTimestampMeta {
2889                 public Gst.Meta parent;
2890                 public weak Gst.Caps reference;
2891                 public Gst.ClockTime timestamp;
2892                 public Gst.ClockTime duration;
2893                 public static GLib.Type api_get_type ();
2894                 public static unowned Gst.MetaInfo? get_info ();
2895         }
2896         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2897         public struct StaticCaps {
2898                 public weak Gst.Caps caps;
2899                 public weak global::string string;
2900                 public void cleanup ();
2901                 public Gst.Caps? @get ();
2902                 public static GLib.Type get_type ();
2903         }
2904         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2905         public struct StaticPadTemplate {
2906                 public weak string name_template;
2907                 public Gst.PadDirection direction;
2908                 public Gst.PadPresence presence;
2909                 public Gst.StaticCaps static_caps;
2910                 public unowned Gst.PadTemplate? @get ();
2911                 public Gst.Caps get_caps ();
2912                 public static GLib.Type get_type ();
2913         }
2914         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2915         public struct TimedValue {
2916                 public Gst.ClockTime timestamp;
2917                 public double value;
2918         }
2919         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2920         public struct TypeFind {
2921                 public void* data;
2922                 public static GLib.Type get_type ();
2923                 [CCode (array_length_pos = 1.1, array_length_type = "guint")]
2924                 public unowned uint8[]? peek (int64 offset);
2925                 public static bool register (Gst.Plugin? plugin, string name, uint rank, [CCode (delegate_target_pos = 6.1, destroy_notify_pos = 6.2)] owned Gst.TypeFindFunction func, string? extensions, Gst.Caps possible_caps);
2926                 public void suggest (uint probability, Gst.Caps caps);
2927                 public void suggest_simple (uint probability, string media_type, string? fieldname, ...);
2928         }
2929         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2930         public struct ValueTable {
2931                 public GLib.Type type;
2932                 public weak Gst.ValueCompareFunc compare;
2933                 public weak Gst.ValueSerializeFunc serialize;
2934                 public weak Gst.ValueDeserializeFunc deserialize;
2935         }
2936         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ALLOCATOR_FLAG_", type_id = "gst_allocator_flags_get_type ()")]
2937         [Flags]
2938         public enum AllocatorFlags {
2939                 CUSTOM_ALLOC,
2940                 LAST
2941         }
2942         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BIN_FLAG_", type_id = "gst_bin_flags_get_type ()")]
2943         [Flags]
2944         public enum BinFlags {
2945                 NO_RESYNC,
2946                 STREAMS_AWARE,
2947                 LAST
2948         }
2949         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_COPY_", type_id = "gst_buffer_copy_flags_get_type ()")]
2950         [Flags]
2951         public enum BufferCopyFlags {
2952                 NONE,
2953                 FLAGS,
2954                 TIMESTAMPS,
2955                 META,
2956                 MEMORY,
2957                 MERGE,
2958                 DEEP
2959         }
2960         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_FLAG_", type_id = "gst_buffer_flags_get_type ()")]
2961         [Flags]
2962         public enum BufferFlags {
2963                 LIVE,
2964                 DECODE_ONLY,
2965                 DISCONT,
2966                 RESYNC,
2967                 CORRUPTED,
2968                 MARKER,
2969                 HEADER,
2970                 GAP,
2971                 DROPPABLE,
2972                 DELTA_UNIT,
2973                 TAG_MEMORY,
2974                 SYNC_AFTER,
2975                 NON_DROPPABLE,
2976                 LAST
2977         }
2978         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_POOL_ACQUIRE_FLAG_", type_id = "gst_buffer_pool_acquire_flags_get_type ()")]
2979         [Flags]
2980         public enum BufferPoolAcquireFlags {
2981                 NONE,
2982                 KEY_UNIT,
2983                 DONTWAIT,
2984                 DISCONT,
2985                 LAST
2986         }
2987         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFERING_", type_id = "gst_buffering_mode_get_type ()")]
2988         public enum BufferingMode {
2989                 STREAM,
2990                 DOWNLOAD,
2991                 TIMESHIFT,
2992                 LIVE
2993         }
2994         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUS_", type_id = "gst_bus_flags_get_type ()")]
2995         [Flags]
2996         public enum BusFlags {
2997                 FLUSHING,
2998                 FLAG_LAST
2999         }
3000         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUS_", type_id = "gst_bus_sync_reply_get_type ()")]
3001         public enum BusSyncReply {
3002                 DROP,
3003                 PASS,
3004                 ASYNC
3005         }
3006         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CAPS_FLAG_", type_id = "gst_caps_flags_get_type ()")]
3007         [Flags]
3008         public enum CapsFlags {
3009                 ANY
3010         }
3011         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CAPS_INTERSECT_", type_id = "gst_caps_intersect_mode_get_type ()")]
3012         public enum CapsIntersectMode {
3013                 ZIG_ZAG,
3014                 FIRST
3015         }
3016         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_ENTRY_", type_id = "gst_clock_entry_type_get_type ()")]
3017         public enum ClockEntryType {
3018                 SINGLE,
3019                 PERIODIC
3020         }
3021         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_FLAG_", type_id = "gst_clock_flags_get_type ()")]
3022         [Flags]
3023         public enum ClockFlags {
3024                 CAN_DO_SINGLE_SYNC,
3025                 CAN_DO_SINGLE_ASYNC,
3026                 CAN_DO_PERIODIC_SYNC,
3027                 CAN_DO_PERIODIC_ASYNC,
3028                 CAN_SET_RESOLUTION,
3029                 CAN_SET_MASTER,
3030                 NEEDS_STARTUP_SYNC,
3031                 LAST
3032         }
3033         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_", type_id = "gst_clock_return_get_type ()")]
3034         public enum ClockReturn {
3035                 OK,
3036                 EARLY,
3037                 UNSCHEDULED,
3038                 BUSY,
3039                 BADTIME,
3040                 ERROR,
3041                 UNSUPPORTED,
3042                 DONE
3043         }
3044         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_TYPE_", type_id = "gst_clock_type_get_type ()")]
3045         public enum ClockType {
3046                 REALTIME,
3047                 MONOTONIC,
3048                 OTHER
3049         }
3050         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_DEBUG_", type_id = "gst_debug_color_flags_get_type ()")]
3051         [Flags]
3052         public enum DebugColorFlags {
3053                 FG_BLACK,
3054                 FG_RED,
3055                 FG_GREEN,
3056                 FG_YELLOW,
3057                 FG_BLUE,
3058                 FG_MAGENTA,
3059                 FG_CYAN,
3060                 FG_WHITE,
3061                 BG_BLACK,
3062                 BG_RED,
3063                 BG_GREEN,
3064                 BG_YELLOW,
3065                 BG_BLUE,
3066                 BG_MAGENTA,
3067                 BG_CYAN,
3068                 BG_WHITE,
3069                 BOLD,
3070                 UNDERLINE
3071         }
3072         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_DEBUG_COLOR_MODE_", type_id = "gst_debug_color_mode_get_type ()")]
3073         public enum DebugColorMode {
3074                 OFF,
3075                 ON,
3076                 UNIX
3077         }
3078         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_DEBUG_GRAPH_SHOW_", type_id = "gst_debug_graph_details_get_type ()")]
3079         [Flags]
3080         public enum DebugGraphDetails {
3081                 MEDIA_TYPE,
3082                 CAPS_DETAILS,
3083                 NON_DEFAULT_PARAMS,
3084                 STATES,
3085                 FULL_PARAMS,
3086                 ALL,
3087                 VERBOSE
3088         }
3089         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LEVEL_", type_id = "gst_debug_level_get_type ()")]
3090         public enum DebugLevel {
3091                 NONE,
3092                 ERROR,
3093                 WARNING,
3094                 FIXME,
3095                 INFO,
3096                 DEBUG,
3097                 LOG,
3098                 TRACE,
3099                 MEMDUMP,
3100                 COUNT
3101         }
3102         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ELEMENT_FLAG_", type_id = "gst_element_flags_get_type ()")]
3103         [Flags]
3104         public enum ElementFlags {
3105                 LOCKED_STATE,
3106                 SINK,
3107                 SOURCE,
3108                 PROVIDE_CLOCK,
3109                 REQUIRE_CLOCK,
3110                 INDEXABLE,
3111                 LAST
3112         }
3113         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_EVENT_", type_id = "gst_event_type_get_type ()")]
3114         public enum EventType {
3115                 UNKNOWN,
3116                 FLUSH_START,
3117                 FLUSH_STOP,
3118                 STREAM_START,
3119                 CAPS,
3120                 SEGMENT,
3121                 STREAM_COLLECTION,
3122                 TAG,
3123                 BUFFERSIZE,
3124                 SINK_MESSAGE,
3125                 STREAM_GROUP_DONE,
3126                 EOS,
3127                 TOC,
3128                 PROTECTION,
3129                 SEGMENT_DONE,
3130                 GAP,
3131                 QOS,
3132                 SEEK,
3133                 NAVIGATION,
3134                 LATENCY,
3135                 STEP,
3136                 RECONFIGURE,
3137                 TOC_SELECT,
3138                 SELECT_STREAMS,
3139                 CUSTOM_UPSTREAM,
3140                 CUSTOM_DOWNSTREAM,
3141                 CUSTOM_DOWNSTREAM_OOB,
3142                 CUSTOM_DOWNSTREAM_STICKY,
3143                 CUSTOM_BOTH,
3144                 CUSTOM_BOTH_OOB;
3145                 public Gst.EventTypeFlags get_flags ();
3146                 public unowned string get_name ();
3147                 public GLib.Quark to_quark ();
3148         }
3149         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_EVENT_TYPE_", type_id = "gst_event_type_flags_get_type ()")]
3150         [Flags]
3151         public enum EventTypeFlags {
3152                 UPSTREAM,
3153                 DOWNSTREAM,
3154                 SERIALIZED,
3155                 STICKY,
3156                 STICKY_MULTI
3157         }
3158         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_FLOW_", type_id = "gst_flow_return_get_type ()")]
3159         public enum FlowReturn {
3160                 CUSTOM_SUCCESS_2,
3161                 CUSTOM_SUCCESS_1,
3162                 CUSTOM_SUCCESS,
3163                 OK,
3164                 NOT_LINKED,
3165                 FLUSHING,
3166                 EOS,
3167                 NOT_NEGOTIATED,
3168                 ERROR,
3169                 NOT_SUPPORTED,
3170                 CUSTOM_ERROR,
3171                 CUSTOM_ERROR_1,
3172                 CUSTOM_ERROR_2;
3173                 [CCode (cname = "gst_flow_get_name")]
3174                 public unowned string get_name ();
3175         }
3176         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_FORMAT_", type_id = "gst_format_get_type ()")]
3177         public enum Format {
3178                 UNDEFINED,
3179                 DEFAULT,
3180                 BYTES,
3181                 TIME,
3182                 BUFFERS,
3183                 PERCENT;
3184                 [CCode (cname = "gst_formats_contains")]
3185                 public static bool contains ([CCode (array_length = false, array_null_terminated = true)] Gst.Format[] formats, Gst.Format format);
3186                 public static Gst.Format get_by_nick (string nick);
3187                 public unowned Gst.FormatDefinition? get_details ();
3188                 public unowned string? get_name ();
3189                 public static Gst.Iterator iterate_definitions ();
3190                 public static Gst.Format register (string nick, string description);
3191                 public GLib.Quark to_quark ();
3192         }
3193         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ITERATOR_ITEM_", type_id = "gst_iterator_item_get_type ()")]
3194         public enum IteratorItem {
3195                 SKIP,
3196                 PASS,
3197                 END
3198         }
3199         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ITERATOR_", type_id = "gst_iterator_result_get_type ()")]
3200         public enum IteratorResult {
3201                 DONE,
3202                 OK,
3203                 RESYNC,
3204                 ERROR
3205         }
3206         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LOCK_FLAG_", type_id = "gst_lock_flags_get_type ()")]
3207         [Flags]
3208         public enum LockFlags {
3209                 READ,
3210                 WRITE,
3211                 EXCLUSIVE,
3212                 LAST
3213         }
3214         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MAP_", type_id = "gst_map_flags_get_type ()")]
3215         [Flags]
3216         public enum MapFlags {
3217                 READ,
3218                 WRITE,
3219                 FLAG_LAST
3220         }
3221         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MEMORY_FLAG_", type_id = "gst_memory_flags_get_type ()")]
3222         [Flags]
3223         public enum MemoryFlags {
3224                 READONLY,
3225                 NO_SHARE,
3226                 ZERO_PREFIXED,
3227                 ZERO_PADDED,
3228                 PHYSICALLY_CONTIGUOUS,
3229                 NOT_MAPPABLE,
3230                 LAST
3231         }
3232         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MESSAGE_", type_id = "gst_message_type_get_type ()")]
3233         [Flags]
3234         public enum MessageType {
3235                 UNKNOWN,
3236                 EOS,
3237                 ERROR,
3238                 WARNING,
3239                 INFO,
3240                 TAG,
3241                 BUFFERING,
3242                 STATE_CHANGED,
3243                 STATE_DIRTY,
3244                 STEP_DONE,
3245                 CLOCK_PROVIDE,
3246                 CLOCK_LOST,
3247                 NEW_CLOCK,
3248                 STRUCTURE_CHANGE,
3249                 STREAM_STATUS,
3250                 APPLICATION,
3251                 ELEMENT,
3252                 SEGMENT_START,
3253                 SEGMENT_DONE,
3254                 DURATION_CHANGED,
3255                 LATENCY,
3256                 ASYNC_START,
3257                 ASYNC_DONE,
3258                 REQUEST_STATE,
3259                 STEP_START,
3260                 QOS,
3261                 PROGRESS,
3262                 TOC,
3263                 RESET_TIME,
3264                 STREAM_START,
3265                 NEED_CONTEXT,
3266                 HAVE_CONTEXT,
3267                 EXTENDED,
3268                 DEVICE_ADDED,
3269                 DEVICE_REMOVED,
3270                 PROPERTY_NOTIFY,
3271                 STREAM_COLLECTION,
3272                 STREAMS_SELECTED,
3273                 REDIRECT,
3274                 ANY;
3275                 public unowned string get_name ();
3276                 public GLib.Quark to_quark ();
3277         }
3278         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_META_FLAG_", type_id = "gst_meta_flags_get_type ()")]
3279         [Flags]
3280         public enum MetaFlags {
3281                 NONE,
3282                 READONLY,
3283                 POOLED,
3284                 LOCKED,
3285                 LAST
3286         }
3287         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MINI_OBJECT_FLAG_", type_id = "gst_mini_object_flags_get_type ()")]
3288         [Flags]
3289         public enum MiniObjectFlags {
3290                 LOCKABLE,
3291                 LOCK_READONLY,
3292                 MAY_BE_LEAKED,
3293                 LAST
3294         }
3295         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_OBJECT_FLAG_", type_id = "gst_object_flags_get_type ()")]
3296         [Flags]
3297         public enum ObjectFlags {
3298                 MAY_BE_LEAKED,
3299                 LAST
3300         }
3301         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_", type_id = "gst_pad_direction_get_type ()")]
3302         public enum PadDirection {
3303                 UNKNOWN,
3304                 SRC,
3305                 SINK
3306         }
3307         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_FLAG_", type_id = "gst_pad_flags_get_type ()")]
3308         [Flags]
3309         public enum PadFlags {
3310                 BLOCKED,
3311                 FLUSHING,
3312                 EOS,
3313                 BLOCKING,
3314                 NEED_PARENT,
3315                 NEED_RECONFIGURE,
3316                 PENDING_EVENTS,
3317                 FIXED_CAPS,
3318                 PROXY_CAPS,
3319                 PROXY_ALLOCATION,
3320                 PROXY_SCHEDULING,
3321                 ACCEPT_INTERSECT,
3322                 ACCEPT_TEMPLATE,
3323                 LAST
3324         }
3325         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_LINK_CHECK_", type_id = "gst_pad_link_check_get_type ()")]
3326         [Flags]
3327         public enum PadLinkCheck {
3328                 NOTHING,
3329                 HIERARCHY,
3330                 TEMPLATE_CAPS,
3331                 CAPS,
3332                 NO_RECONFIGURE,
3333                 DEFAULT
3334         }
3335         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_LINK_", type_id = "gst_pad_link_return_get_type ()")]
3336         public enum PadLinkReturn {
3337                 OK,
3338                 WRONG_HIERARCHY,
3339                 WAS_LINKED,
3340                 WRONG_DIRECTION,
3341                 NOFORMAT,
3342                 NOSCHED,
3343                 REFUSED
3344         }
3345         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_MODE_", type_id = "gst_pad_mode_get_type ()")]
3346         public enum PadMode {
3347                 NONE,
3348                 PUSH,
3349                 PULL;
3350                 public unowned string get_name ();
3351         }
3352         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_", type_id = "gst_pad_presence_get_type ()")]
3353         public enum PadPresence {
3354                 ALWAYS,
3355                 SOMETIMES,
3356                 REQUEST
3357         }
3358         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_PROBE_", type_id = "gst_pad_probe_return_get_type ()")]
3359         public enum PadProbeReturn {
3360                 DROP,
3361                 OK,
3362                 REMOVE,
3363                 PASS,
3364                 HANDLED
3365         }
3366         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_PROBE_TYPE_", type_id = "gst_pad_probe_type_get_type ()")]
3367         [Flags]
3368         public enum PadProbeType {
3369                 INVALID,
3370                 IDLE,
3371                 BLOCK,
3372                 BUFFER,
3373                 BUFFER_LIST,
3374                 EVENT_DOWNSTREAM,
3375                 EVENT_UPSTREAM,
3376                 EVENT_FLUSH,
3377                 QUERY_DOWNSTREAM,
3378                 QUERY_UPSTREAM,
3379                 PUSH,
3380                 PULL,
3381                 BLOCKING,
3382                 DATA_DOWNSTREAM,
3383                 DATA_UPSTREAM,
3384                 DATA_BOTH,
3385                 BLOCK_DOWNSTREAM,
3386                 BLOCK_UPSTREAM,
3387                 EVENT_BOTH,
3388                 QUERY_BOTH,
3389                 ALL_BOTH,
3390                 SCHEDULING
3391         }
3392         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_TEMPLATE_FLAG_", type_id = "gst_pad_template_flags_get_type ()")]
3393         [Flags]
3394         public enum PadTemplateFlags {
3395                 LAST
3396         }
3397         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PARSE_FLAG_", type_id = "gst_parse_flags_get_type ()")]
3398         [Flags]
3399         public enum ParseFlags {
3400                 NONE,
3401                 FATAL_ERRORS,
3402                 NO_SINGLE_ELEMENT_BINS,
3403                 PLACE_IN_BIN
3404         }
3405         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PIPELINE_FLAG_", type_id = "gst_pipeline_flags_get_type ()")]
3406         [Flags]
3407         public enum PipelineFlags {
3408                 FIXED_CLOCK,
3409                 LAST
3410         }
3411         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PLUGIN_DEPENDENCY_FLAG_", type_id = "gst_plugin_dependency_flags_get_type ()")]
3412         [Flags]
3413         public enum PluginDependencyFlags {
3414                 NONE,
3415                 RECURSE,
3416                 PATHS_ARE_DEFAULT_ONLY,
3417                 FILE_NAME_IS_SUFFIX,
3418                 FILE_NAME_IS_PREFIX,
3419                 PATHS_ARE_RELATIVE_TO_EXE
3420         }
3421         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PLUGIN_FLAG_", type_id = "gst_plugin_flags_get_type ()")]
3422         [Flags]
3423         public enum PluginFlags {
3424                 CACHED,
3425                 BLACKLISTED
3426         }
3427         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PROGRESS_TYPE_", type_id = "gst_progress_type_get_type ()")]
3428         public enum ProgressType {
3429                 START,
3430                 CONTINUE,
3431                 COMPLETE,
3432                 CANCELED,
3433                 ERROR
3434         }
3435         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PROMISE_RESULT_", type_id = "gst_promise_result_get_type ()")]
3436         [Version (since = "1.14")]
3437         public enum PromiseResult {
3438                 PENDING,
3439                 INTERRUPTED,
3440                 REPLIED,
3441                 EXPIRED
3442         }
3443         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_QOS_TYPE_", type_id = "gst_qos_type_get_type ()")]
3444         public enum QOSType {
3445                 OVERFLOW,
3446                 UNDERFLOW,
3447                 THROTTLE
3448         }
3449         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_QUERY_", type_id = "gst_query_type_get_type ()")]
3450         public enum QueryType {
3451                 UNKNOWN,
3452                 POSITION,
3453                 DURATION,
3454                 LATENCY,
3455                 JITTER,
3456                 RATE,
3457                 SEEKING,
3458                 SEGMENT,
3459                 CONVERT,
3460                 FORMATS,
3461                 BUFFERING,
3462                 CUSTOM,
3463                 URI,
3464                 ALLOCATION,
3465                 SCHEDULING,
3466                 ACCEPT_CAPS,
3467                 CAPS,
3468                 DRAIN,
3469                 CONTEXT;
3470                 public Gst.QueryTypeFlags get_flags ();
3471                 public unowned string get_name ();
3472                 public GLib.Quark to_quark ();
3473         }
3474         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_QUERY_TYPE_", type_id = "gst_query_type_flags_get_type ()")]
3475         [Flags]
3476         public enum QueryTypeFlags {
3477                 UPSTREAM,
3478                 DOWNSTREAM,
3479                 SERIALIZED
3480         }
3481         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_RANK_", type_id = "gst_rank_get_type ()")]
3482         public enum Rank {
3483                 NONE,
3484                 MARGINAL,
3485                 SECONDARY,
3486                 PRIMARY
3487         }
3488         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SCHEDULING_FLAG_", type_id = "gst_scheduling_flags_get_type ()")]
3489         [Flags]
3490         public enum SchedulingFlags {
3491                 SEEKABLE,
3492                 SEQUENTIAL,
3493                 BANDWIDTH_LIMITED
3494         }
3495         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEARCH_MODE_", type_id = "gst_search_mode_get_type ()")]
3496         public enum SearchMode {
3497                 EXACT,
3498                 BEFORE,
3499                 AFTER
3500         }
3501         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEEK_FLAG_", type_id = "gst_seek_flags_get_type ()")]
3502         [Flags]
3503         public enum SeekFlags {
3504                 NONE,
3505                 FLUSH,
3506                 ACCURATE,
3507                 KEY_UNIT,
3508                 SEGMENT,
3509                 TRICKMODE,
3510                 SKIP,
3511                 SNAP_BEFORE,
3512                 SNAP_AFTER,
3513                 SNAP_NEAREST,
3514                 TRICKMODE_KEY_UNITS,
3515                 TRICKMODE_NO_AUDIO
3516         }
3517         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEEK_TYPE_", type_id = "gst_seek_type_get_type ()")]
3518         public enum SeekType {
3519                 NONE,
3520                 SET,
3521                 END
3522         }
3523         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEGMENT_FLAG_", type_id = "gst_segment_flags_get_type ()")]
3524         [Flags]
3525         public enum SegmentFlags {
3526                 NONE,
3527                 RESET,
3528                 TRICKMODE,
3529                 SKIP,
3530                 SEGMENT,
3531                 TRICKMODE_KEY_UNITS,
3532                 TRICKMODE_NO_AUDIO
3533         }
3534         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STACK_TRACE_SHOW_", type_id = "gst_stack_trace_flags_get_type ()")]
3535         [Flags]
3536         [Version (since = "1.12")]
3537         public enum StackTraceFlags {
3538                 FULL
3539         }
3540         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_", type_id = "gst_state_get_type ()")]
3541         public enum State {
3542                 VOID_PENDING,
3543                 NULL,
3544                 READY,
3545                 PAUSED,
3546                 PLAYING
3547         }
3548         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_CHANGE_", type_id = "gst_state_change_get_type ()")]
3549         public enum StateChange {
3550                 NULL_TO_READY,
3551                 READY_TO_PAUSED,
3552                 PAUSED_TO_PLAYING,
3553                 PLAYING_TO_PAUSED,
3554                 PAUSED_TO_READY,
3555                 READY_TO_NULL,
3556                 NULL_TO_NULL,
3557                 READY_TO_READY,
3558                 PAUSED_TO_PAUSED,
3559                 PLAYING_TO_PLAYING;
3560                 [Version (since = "1.14")]
3561                 public unowned string get_name ();
3562         }
3563         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_CHANGE_", type_id = "gst_state_change_return_get_type ()")]
3564         public enum StateChangeReturn {
3565                 FAILURE,
3566                 SUCCESS,
3567                 ASYNC,
3568                 NO_PREROLL
3569         }
3570         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_FLAG_", type_id = "gst_stream_flags_get_type ()")]
3571         [Flags]
3572         [Version (since = "1.2")]
3573         public enum StreamFlags {
3574                 NONE,
3575                 SPARSE,
3576                 SELECT,
3577                 UNSELECT
3578         }
3579         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_STATUS_TYPE_", type_id = "gst_stream_status_type_get_type ()")]
3580         public enum StreamStatusType {
3581                 CREATE,
3582                 ENTER,
3583                 LEAVE,
3584                 DESTROY,
3585                 START,
3586                 PAUSE,
3587                 STOP
3588         }
3589         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_TYPE_", type_id = "gst_stream_type_get_type ()")]
3590         [Flags]
3591         [Version (since = "1.10")]
3592         public enum StreamType {
3593                 UNKNOWN,
3594                 AUDIO,
3595                 VIDEO,
3596                 CONTAINER,
3597                 TEXT;
3598                 public unowned string? get_name ();
3599         }
3600         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STRUCTURE_CHANGE_TYPE_PAD_", type_id = "gst_structure_change_type_get_type ()")]
3601         public enum StructureChangeType {
3602                 LINK,
3603                 UNLINK
3604         }
3605         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TAG_FLAG_", type_id = "gst_tag_flag_get_type ()")]
3606         public enum TagFlag {
3607                 UNDEFINED,
3608                 META,
3609                 ENCODED,
3610                 DECODED,
3611                 COUNT
3612         }
3613         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TAG_MERGE_", type_id = "gst_tag_merge_mode_get_type ()")]
3614         public enum TagMergeMode {
3615                 UNDEFINED,
3616                 REPLACE_ALL,
3617                 REPLACE,
3618                 APPEND,
3619                 PREPEND,
3620                 KEEP,
3621                 KEEP_ALL,
3622                 COUNT
3623         }
3624         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TAG_SCOPE_", type_id = "gst_tag_scope_get_type ()")]
3625         public enum TagScope {
3626                 STREAM,
3627                 GLOBAL
3628         }
3629         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TASK_", type_id = "gst_task_state_get_type ()")]
3630         public enum TaskState {
3631                 STARTED,
3632                 STOPPED,
3633                 PAUSED
3634         }
3635         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TOC_ENTRY_TYPE_", type_id = "gst_toc_entry_type_get_type ()")]
3636         public enum TocEntryType {
3637                 ANGLE,
3638                 VERSION,
3639                 EDITION,
3640                 INVALID,
3641                 TITLE,
3642                 TRACK,
3643                 CHAPTER;
3644                 public unowned string get_nick ();
3645         }
3646         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TOC_LOOP_", type_id = "gst_toc_loop_type_get_type ()")]
3647         [Version (since = "1.4")]
3648         public enum TocLoopType {
3649                 NONE,
3650                 FORWARD,
3651                 REVERSE,
3652                 PING_PONG
3653         }
3654         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TOC_SCOPE_", type_id = "gst_toc_scope_get_type ()")]
3655         public enum TocScope {
3656                 GLOBAL,
3657                 CURRENT
3658         }
3659         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TRACER_VALUE_FLAGS_", type_id = "gst_tracer_value_flags_get_type ()")]
3660         [Flags]
3661         public enum TracerValueFlags {
3662                 NONE,
3663                 OPTIONAL,
3664                 AGGREGATED
3665         }
3666         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TRACER_VALUE_SCOPE_", type_id = "gst_tracer_value_scope_get_type ()")]
3667         [Version (since = "1.8")]
3668         public enum TracerValueScope {
3669                 PROCESS,
3670                 THREAD,
3671                 ELEMENT,
3672                 PAD
3673         }
3674         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TYPE_FIND_", type_id = "gst_type_find_probability_get_type ()")]
3675         public enum TypeFindProbability {
3676                 NONE,
3677                 MINIMUM,
3678                 POSSIBLE,
3679                 LIKELY,
3680                 NEARLY_CERTAIN,
3681                 MAXIMUM
3682         }
3683         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_URI_", type_id = "gst_uri_type_get_type ()")]
3684         public enum URIType {
3685                 UNKNOWN,
3686                 SINK,
3687                 SRC
3688         }
3689         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CORE_ERROR_")]
3690         public errordomain CoreError {
3691                 FAILED,
3692                 TOO_LAZY,
3693                 NOT_IMPLEMENTED,
3694                 STATE_CHANGE,
3695                 PAD,
3696                 THREAD,
3697                 NEGOTIATION,
3698                 EVENT,
3699                 SEEK,
3700                 CAPS,
3701                 TAG,
3702                 MISSING_PLUGIN,
3703                 CLOCK,
3704                 DISABLED,
3705                 NUM_ERRORS;
3706                 public static GLib.Quark quark ();
3707         }
3708         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LIBRARY_ERROR_")]
3709         public errordomain LibraryError {
3710                 FAILED,
3711                 TOO_LAZY,
3712                 INIT,
3713                 SHUTDOWN,
3714                 SETTINGS,
3715                 ENCODE,
3716                 NUM_ERRORS;
3717                 public static GLib.Quark quark ();
3718         }
3719         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PARSE_ERROR_")]
3720         public errordomain ParseError {
3721                 SYNTAX,
3722                 NO_SUCH_ELEMENT,
3723                 NO_SUCH_PROPERTY,
3724                 LINK,
3725                 COULD_NOT_SET_PROPERTY,
3726                 EMPTY_BIN,
3727                 EMPTY,
3728                 DELAYED_LINK;
3729                 public static GLib.Quark quark ();
3730         }
3731         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PLUGIN_ERROR_")]
3732         public errordomain PluginError {
3733                 MODULE,
3734                 DEPENDENCIES,
3735                 NAME_MISMATCH;
3736                 public static GLib.Quark quark ();
3737         }
3738         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_RESOURCE_ERROR_")]
3739         public errordomain ResourceError {
3740                 FAILED,
3741                 TOO_LAZY,
3742                 NOT_FOUND,
3743                 BUSY,
3744                 OPEN_READ,
3745                 OPEN_WRITE,
3746                 OPEN_READ_WRITE,
3747                 CLOSE,
3748                 READ,
3749                 WRITE,
3750                 SEEK,
3751                 SYNC,
3752                 SETTINGS,
3753                 NO_SPACE_LEFT,
3754                 NOT_AUTHORIZED,
3755                 NUM_ERRORS;
3756                 public static GLib.Quark quark ();
3757         }
3758         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_ERROR_")]
3759         public errordomain StreamError {
3760                 FAILED,
3761                 TOO_LAZY,
3762                 NOT_IMPLEMENTED,
3763                 TYPE_NOT_FOUND,
3764                 WRONG_TYPE,
3765                 CODEC_NOT_FOUND,
3766                 DECODE,
3767                 ENCODE,
3768                 DEMUX,
3769                 MUX,
3770                 FORMAT,
3771                 DECRYPT,
3772                 DECRYPT_NOKEY,
3773                 NUM_ERRORS;
3774                 public static GLib.Quark quark ();
3775         }
3776         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_URI_ERROR_")]
3777         public errordomain URIError {
3778                 UNSUPPORTED_PROTOCOL,
3779                 BAD_URI,
3780                 BAD_STATE,
3781                 BAD_REFERENCE
3782         }
3783         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3784         public delegate bool BufferForeachMetaFunc (Gst.Buffer buffer, out Gst.Meta? meta);
3785         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3786         public delegate bool BufferListFunc (out Gst.Buffer? buffer, uint idx);
3787         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3788         public delegate bool BusFunc (Gst.Bus bus, Gst.Message message);
3789         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3790         public delegate Gst.BusSyncReply BusSyncHandler (Gst.Bus bus, Gst.Message message);
3791         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3792         public delegate bool CapsFilterMapFunc (Gst.CapsFeatures features, Gst.Structure structure);
3793         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3794         [Version (since = "1.6")]
3795         public delegate bool CapsForeachFunc (Gst.CapsFeatures features, Gst.Structure structure);
3796         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3797         public delegate bool CapsMapFunc (Gst.CapsFeatures features, Gst.Structure structure);
3798         [CCode (cheader_filename = "gst/gst.h", instance_pos = 3.9)]
3799         public delegate bool ClockCallback (Gst.Clock clock, Gst.ClockTime time, Gst.ClockID id);
3800         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3801         public delegate void ControlBindingConvert (Gst.ControlBinding binding, double src_value, GLib.Value dest_value);
3802         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3803         public delegate bool ControlSourceGetValue (Gst.ControlSource self, Gst.ClockTime timestamp, double value);
3804         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3805         public delegate bool ControlSourceGetValueArray (Gst.ControlSource self, Gst.ClockTime timestamp, Gst.ClockTime interval, uint n_values, double values);
3806         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3807         public delegate void DebugFuncPtr ();
3808         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3809         public delegate void ElementCallAsyncFunc (Gst.Element element);
3810         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3811         [Version (since = "1.14")]
3812         public delegate bool ElementForeachPadFunc (Gst.Element element, Gst.Pad pad);
3813         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3814         public delegate void IteratorCopyFunction (Gst.Iterator it, Gst.Iterator copy);
3815         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3816         public delegate bool IteratorFoldFunction (GLib.Value item, GLib.Value ret);
3817         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3818         public delegate void IteratorForeachFunction (GLib.Value item);
3819         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3820         public delegate void IteratorFreeFunction (Gst.Iterator it);
3821         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3822         public delegate Gst.IteratorItem IteratorItemFunction (Gst.Iterator it, GLib.Value item);
3823         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3824         public delegate Gst.IteratorResult IteratorNextFunction (Gst.Iterator it, GLib.Value result);
3825         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3826         public delegate void IteratorResyncFunction (Gst.Iterator it);
3827         [CCode (cheader_filename = "gst/gst.h", instance_pos = 7.9)]
3828         public delegate void LogFunction (Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object object, Gst.DebugMessage message);
3829         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3830         public delegate Gst.Memory MemoryCopyFunction (Gst.Memory mem, ssize_t offset, ssize_t size);
3831         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3832         public delegate bool MemoryIsSpanFunction (Gst.Memory mem1, Gst.Memory mem2, size_t offset);
3833         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3834         public delegate void* MemoryMapFullFunction (Gst.Memory mem, Gst.MapInfo info, size_t maxsize);
3835         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3836         public delegate void* MemoryMapFunction (Gst.Memory mem, size_t maxsize, Gst.MapFlags flags);
3837         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3838         public delegate Gst.Memory MemoryShareFunction (Gst.Memory mem, ssize_t offset, ssize_t size);
3839         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3840         public delegate void MemoryUnmapFullFunction (Gst.Memory mem, Gst.MapInfo info);
3841         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3842         public delegate void MemoryUnmapFunction (Gst.Memory mem);
3843         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3844         public delegate void MetaFreeFunction (Gst.Meta meta, Gst.Buffer buffer);
3845         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3846         public delegate bool MetaInitFunction (Gst.Meta meta, void* @params, Gst.Buffer buffer);
3847         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3848         public delegate bool MetaTransformFunction (Gst.Buffer transbuf, Gst.Meta meta, Gst.Buffer buffer, GLib.Quark type, void* data);
3849         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3850         public delegate bool MiniObjectDisposeFunction (Gst.MiniObject obj);
3851         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3852         public delegate void MiniObjectFreeFunction (Gst.MiniObject obj);
3853         [CCode (cheader_filename = "gst/gst.h", instance_pos = 0.9)]
3854         public delegate void MiniObjectNotify (Gst.MiniObject obj);
3855         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3856         public delegate bool PadActivateFunction (Gst.Pad pad, Gst.Object parent);
3857         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3858         public delegate bool PadActivateModeFunction (Gst.Pad pad, Gst.Object parent, Gst.PadMode mode, bool active);
3859         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3860         public delegate Gst.FlowReturn PadChainFunction (Gst.Pad pad, Gst.Object? parent, owned Gst.Buffer buffer);
3861         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3862         public delegate Gst.FlowReturn PadChainListFunction (Gst.Pad pad, Gst.Object? parent, owned Gst.BufferList list);
3863         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3864         [Version (since = "1.8")]
3865         public delegate Gst.FlowReturn PadEventFullFunction (Gst.Pad pad, Gst.Object? parent, owned Gst.Event event);
3866         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3867         public delegate bool PadEventFunction (Gst.Pad pad, Gst.Object? parent, owned Gst.Event event);
3868         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3869         public delegate bool PadForwardFunction (Gst.Pad pad);
3870         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3871         public delegate Gst.FlowReturn PadGetRangeFunction (Gst.Pad pad, Gst.Object? parent, uint64 offset, uint length, Gst.Buffer buffer);
3872         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3873         public delegate Gst.Iterator PadIterIntLinkFunction (Gst.Pad pad, Gst.Object? parent);
3874         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3875         public delegate Gst.PadLinkReturn PadLinkFunction (Gst.Pad pad, Gst.Object? parent, Gst.Pad peer);
3876         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3877         public delegate Gst.PadProbeReturn PadProbeCallback (Gst.Pad pad, Gst.PadProbeInfo info);
3878         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3879         public delegate bool PadQueryFunction (Gst.Pad pad, Gst.Object? parent, Gst.Query query);
3880         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3881         public delegate bool PadStickyEventsForeachFunction (Gst.Pad pad, Gst.Event? event);
3882         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3883         public delegate void PadUnlinkFunction (Gst.Pad pad, Gst.Object? parent);
3884         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3885         public delegate bool PluginFeatureFilter (Gst.PluginFeature feature);
3886         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3887         public delegate bool PluginFilter (Gst.Plugin plugin);
3888         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3889         public delegate bool PluginInitFullFunc (Gst.Plugin plugin);
3890         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3891         public delegate bool PluginInitFunc (Gst.Plugin plugin);
3892         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3893         [Version (since = "1.14")]
3894         public delegate void PromiseChangeFunc (Gst.Promise promise);
3895         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3896         public delegate bool StructureFilterMapFunc (GLib.Quark field_id, GLib.Value value);
3897         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3898         public delegate bool StructureForeachFunc (GLib.Quark field_id, GLib.Value value);
3899         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3900         public delegate bool StructureMapFunc (GLib.Quark field_id, GLib.Value value);
3901         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3902         public delegate void TagForeachFunc (Gst.TagList list, string tag);
3903         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3904         public delegate void TagMergeFunc (GLib.Value dest, GLib.Value src);
3905         [CCode (cheader_filename = "gst/gst.h", instance_pos = 0.9)]
3906         public delegate void TaskFunction ();
3907         [CCode (cheader_filename = "gst/gst.h", instance_pos = 0.9)]
3908         public delegate void TaskPoolFunction ();
3909         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3910         public delegate void TaskThreadFunc (Gst.Task task, GLib.Thread thread);
3911         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3912         public delegate void TypeFindFunction (Gst.TypeFind find);
3913         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3914         public delegate int ValueCompareFunc (GLib.Value value1, GLib.Value value2);
3915         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3916         public delegate bool ValueDeserializeFunc (GLib.Value dest, string s);
3917         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3918         public delegate string ValueSerializeFunc (GLib.Value value1);
3919         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ALLOCATOR_SYSMEM")]
3920         public const string ALLOCATOR_SYSMEM;
3921         [CCode (cheader_filename = "gst/gst.h", cname = "GST_BUFFER_COPY_ALL")]
3922         public const Gst.BufferCopyFlags BUFFER_COPY_ALL;
3923         [CCode (cheader_filename = "gst/gst.h", cname = "GST_BUFFER_COPY_METADATA")]
3924         public const Gst.BufferCopyFlags BUFFER_COPY_METADATA;
3925         [CCode (cheader_filename = "gst/gst.h", cname = "GST_BUFFER_OFFSET_NONE")]
3926         public const uint64 BUFFER_OFFSET_NONE;
3927         [CCode (cheader_filename = "gst/gst.h", cname = "GST_CAN_INLINE")]
3928         public const int CAN_INLINE;
3929         [CCode (cheader_filename = "gst/gst.h", cname = "GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY")]
3930         public const string CAPS_FEATURE_MEMORY_SYSTEM_MEMORY;
3931         [CCode (cheader_filename = "gst/gst.h", cname = "GST_CLOCK_TIME_NONE")]
3932         public const Gst.ClockTime CLOCK_TIME_NONE;
3933         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_AUTHOR")]
3934         public const string ELEMENT_METADATA_AUTHOR;
3935         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_DESCRIPTION")]
3936         public const string ELEMENT_METADATA_DESCRIPTION;
3937         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_DOC_URI")]
3938         public const string ELEMENT_METADATA_DOC_URI;
3939         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_ICON_NAME")]
3940         public const string ELEMENT_METADATA_ICON_NAME;
3941         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_KLASS")]
3942         public const string ELEMENT_METADATA_KLASS;
3943         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_LONGNAME")]
3944         public const string ELEMENT_METADATA_LONGNAME;
3945         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ERROR_SYSTEM")]
3946         public const string ERROR_SYSTEM;
3947         [CCode (cheader_filename = "gst/gst.h", cname = "GST_EVENT_NUM_SHIFT")]
3948         public const int EVENT_NUM_SHIFT;
3949         [CCode (cheader_filename = "gst/gst.h", cname = "GST_EVENT_TYPE_BOTH")]
3950         public const Gst.EventTypeFlags EVENT_TYPE_BOTH;
3951         [CCode (cheader_filename = "gst/gst.h", cname = "GST_FLAG_SET_MASK_EXACT")]
3952         [Version (since = "1.6")]
3953         public const uint FLAG_SET_MASK_EXACT;
3954         [CCode (cheader_filename = "gst/gst.h", cname = "GST_FORMAT_PERCENT_MAX")]
3955         public const int64 FORMAT_PERCENT_MAX;
3956         [CCode (cheader_filename = "gst/gst.h", cname = "GST_FORMAT_PERCENT_SCALE")]
3957         public const int64 FORMAT_PERCENT_SCALE;
3958         [CCode (cheader_filename = "gst/gst.h", cname = "GST_FOURCC_FORMAT")]
3959         public const string FOURCC_FORMAT;
3960         [CCode (cheader_filename = "gst/gst.h", cname = "GST_GROUP_ID_INVALID")]
3961         [Version (since = "1.14")]
3962         public const int GROUP_ID_INVALID;
3963         [CCode (cheader_filename = "gst/gst.h", cname = "GST_LICENSE_UNKNOWN")]
3964         public const string LICENSE_UNKNOWN;
3965         [CCode (cheader_filename = "gst/gst.h", cname = "GST_LOCK_FLAG_READWRITE")]
3966         public const Gst.LockFlags LOCK_FLAG_READWRITE;
3967         [CCode (cheader_filename = "gst/gst.h", cname = "GST_MAP_READWRITE")]
3968         public const Gst.MapFlags MAP_READWRITE;
3969         [CCode (cheader_filename = "gst/gst.h", cname = "GST_META_TAG_MEMORY_STR")]
3970         [Version (since = "1.2")]
3971         public const string META_TAG_MEMORY_STR;
3972         [CCode (cheader_filename = "gst/gst.h", cname = "GST_MSECOND")]
3973         public const Gst.ClockTimeDiff MSECOND;
3974         [CCode (cheader_filename = "gst/gst.h", cname = "GST_NSECOND")]
3975         public const Gst.ClockTimeDiff NSECOND;
3976         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_CONTROLLABLE")]
3977         public const int PARAM_CONTROLLABLE;
3978         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_PAUSED")]
3979         public const int PARAM_MUTABLE_PAUSED;
3980         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_PLAYING")]
3981         public const int PARAM_MUTABLE_PLAYING;
3982         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_READY")]
3983         public const int PARAM_MUTABLE_READY;
3984         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_USER_SHIFT")]
3985         public const int PARAM_USER_SHIFT;
3986         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PROTECTION_SYSTEM_ID_CAPS_FIELD")]
3987         [Version (since = "1.6")]
3988         public const string PROTECTION_SYSTEM_ID_CAPS_FIELD;
3989         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PTR_FORMAT")]
3990         public const string PTR_FORMAT;
3991         [CCode (cheader_filename = "gst/gst.h", cname = "GST_QUERY_NUM_SHIFT")]
3992         public const int QUERY_NUM_SHIFT;
3993         [CCode (cheader_filename = "gst/gst.h", cname = "GST_QUERY_TYPE_BOTH")]
3994         public const Gst.QueryTypeFlags QUERY_TYPE_BOTH;
3995         [CCode (cheader_filename = "gst/gst.h", cname = "GST_SECOND")]
3996         public const Gst.ClockTimeDiff SECOND;
3997         [CCode (cheader_filename = "gst/gst.h", cname = "GST_SEGMENT_FORMAT")]
3998         public const string SEGMENT_FORMAT;
3999         [CCode (cheader_filename = "gst/gst.h", cname = "GST_SEQNUM_INVALID")]
4000         [Version (since = "1.14")]
4001         public const int SEQNUM_INVALID;
4002         [CCode (cheader_filename = "gst/gst.h", cname = "GST_STIME_FORMAT")]
4003         [Version (since = "1.6")]
4004         public const string STIME_FORMAT;
4005         [CCode (cheader_filename = "gst/gst.h", cname = "GST_TIME_FORMAT")]
4006         public const string TIME_FORMAT;
4007         [CCode (cheader_filename = "gst/gst.h", cname = "GST_TOC_REPEAT_COUNT_INFINITE")]
4008         [Version (since = "1.4")]
4009         public const int TOC_REPEAT_COUNT_INFINITE;
4010         [CCode (cheader_filename = "gst/gst.h", cname = "GST_URI_NO_PORT")]
4011         public const int URI_NO_PORT;
4012         [CCode (cheader_filename = "gst/gst.h", cname = "GST_USECOND")]
4013         public const Gst.ClockTimeDiff USECOND;
4014         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_EQUAL")]
4015         public const int VALUE_EQUAL;
4016         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_GREATER_THAN")]
4017         public const int VALUE_GREATER_THAN;
4018         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_LESS_THAN")]
4019         public const int VALUE_LESS_THAN;
4020         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_UNORDERED")]
4021         public const int VALUE_UNORDERED;
4022         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_MAJOR")]
4023         public const int VERSION_MAJOR;
4024         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_MICRO")]
4025         public const int VERSION_MICRO;
4026         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_MINOR")]
4027         public const int VERSION_MINOR;
4028         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_NANO")]
4029         public const int VERSION_NANO;
4030         [CCode (cheader_filename = "gst/gst.h", cname = "GST_STIME_ARGS", use_inplace = true)]
4031         public static uint STIME_ARGS (Gst.ClockTimeDiff t);
4032         [CCode (cheader_filename = "gst/gst.h", cname = "GST_TIME_ARGS", use_inplace = true)]
4033         public static uint TIME_ARGS (Gst.ClockTime t);
4034         [CCode (cheader_filename = "gst/gst.h")]
4035         public static void deinit ();
4036         [CCode (cheader_filename = "gst/gst.h")]
4037         public static bool dynamic_type_register (Gst.Plugin plugin, GLib.Type type);
4038         [CCode (cheader_filename = "gst/gst.h")]
4039         public static string error_get_message (GLib.Quark domain, int code);
4040         [CCode (cheader_filename = "gst/gst.h")]
4041         public static string filename_to_uri (string filename) throws GLib.Error;
4042         [CCode (cheader_filename = "gst/gst.h")]
4043         public static GLib.Quark flow_to_quark (Gst.FlowReturn ret);
4044         [CCode (cheader_filename = "gst/gst.h")]
4045         [Version (since = "1.14")]
4046         public static unowned string? get_main_executable_path ();
4047         [CCode (cheader_filename = "gst/gst.h")]
4048         public static void init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv);
4049         [CCode (cheader_filename = "gst/gst.h")]
4050         public static bool init_check ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv) throws GLib.Error;
4051         [CCode (cheader_filename = "gst/gst.h")]
4052         public static GLib.OptionGroup? init_get_option_group ();
4053         [CCode (cheader_filename = "gst/gst.h")]
4054         public static bool is_caps_features (void* obj);
4055         [CCode (cheader_filename = "gst/gst.h")]
4056         public static bool is_initialized ();
4057         [CCode (cheader_filename = "gst/gst.h")]
4058         [Version (since = "1.14")]
4059         public static GLib.ParamSpec param_spec_array (string name, string nick, string blurb, GLib.ParamSpec element_spec, GLib.ParamFlags flags);
4060         [CCode (cheader_filename = "gst/gst.h")]
4061         public static GLib.ParamSpec? param_spec_fraction (string name, string nick, string blurb, int min_num, int min_denom, int max_num, int max_denom, int default_num, int default_denom, GLib.ParamFlags flags);
4062         [CCode (cheader_filename = "gst/gst.h", cname = "gst_parse_bin_from_description_full", returns_floating_reference = true)]
4063         public static Gst.Element? parse_bin_from_description (string bin_description, bool ghost_unlinked_pads, Gst.ParseContext? context = null, Gst.ParseFlags flags = Gst.ParseFlags.NONE) throws GLib.Error;
4064         [CCode (cheader_filename = "gst/gst.h", cname = "gst_parse_launch_full", returns_floating_reference = true)]
4065         public static Gst.Element? parse_launch (string pipeline_description, Gst.ParseContext? context = null, Gst.ParseFlags flags = Gst.ParseFlags.NONE) throws GLib.Error;
4066         [CCode (cheader_filename = "gst/gst.h", cname = "gst_parse_launchv_full", returns_floating_reference = true)]
4067         public static Gst.Element? parse_launchv ([CCode (array_length = false, array_null_terminated = true)] string[] argv, Gst.ParseContext? context = null, Gst.ParseFlags flags = Gst.ParseFlags.NONE) throws GLib.Error;
4068         [CCode (cheader_filename = "gst/gst.h")]
4069         public static unowned string? preset_get_app_dir ();
4070         [CCode (cheader_filename = "gst/gst.h")]
4071         public static bool preset_set_app_dir (string app_dir);
4072         [CCode (array_length = false, array_null_terminated = true, cheader_filename = "gst/gst.h")]
4073         [Version (since = "1.14")]
4074         public static string[]? protection_filter_systems_by_available_decryptors ([CCode (array_length = false, array_null_terminated = true)] string[] system_identifiers);
4075         [CCode (cheader_filename = "gst/gst.h")]
4076         [Version (since = "1.6")]
4077         public static unowned string? protection_select_system ([CCode (array_length = false, array_null_terminated = true)] string[] system_identifiers);
4078         [CCode (cheader_filename = "gst/gst.h")]
4079         public static bool segtrap_is_enabled ();
4080         [CCode (cheader_filename = "gst/gst.h")]
4081         public static void segtrap_set_enabled (bool enabled);
4082         [CCode (cheader_filename = "gst/gst.h")]
4083         public static bool update_registry ();
4084         [CCode (cheader_filename = "gst/gst.h")]
4085         public static void version (out uint major, out uint minor, out uint micro, out uint nano);
4086         [CCode (cheader_filename = "gst/gst.h")]
4087         public static string version_string ();