gstreamer: Cherry-pick some fixes from 0.42
[vala-gnome.git] / vapi / gstreamer-1.0.vapi
blobc60222009290af4382ff3ad3ad0cc8d9cdcb0744
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 void get_pollfd (GLib.PollFD fd);
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_nth (uint nth);
839                 [CCode (has_construct_function = false)]
840                 public Caps.empty ();
841                 [CCode (has_construct_function = false)]
842                 public Caps.empty_simple (string media_type);
843                 [Version (since = "1.6")]
844                 public void filter_and_map_in_place (Gst.CapsFilterMapFunc func);
845                 public Gst.Caps fixate ();
846                 [Version (since = "1.6")]
847                 public bool @foreach (Gst.CapsForeachFunc func);
848                 public static Gst.Caps? from_string (string string);
849                 [CCode (has_construct_function = false)]
850                 public Caps.full (params Gst.Structure[] structure);
851                 [CCode (has_construct_function = false)]
852                 public Caps.full_valist (Gst.Structure structure, va_list var_args);
853                 [Version (since = "1.2")]
854                 public unowned Gst.CapsFeatures? get_features (uint index);
855                 public uint get_size ();
856                 public unowned Gst.Structure get_structure (uint index);
857                 [CCode (cname = "gst_caps_intersect_full")]
858                 public Gst.Caps intersect (Gst.Caps caps2, Gst.CapsIntersectMode mode = Gst.CapsIntersectMode.ZIG_ZAG);
859                 public bool is_always_compatible (Gst.Caps caps2);
860                 public bool is_any ();
861                 public bool is_empty ();
862                 public bool is_equal (Gst.Caps caps2);
863                 public bool is_equal_fixed (Gst.Caps caps2);
864                 public bool is_fixed ();
865                 public bool is_strictly_equal (Gst.Caps caps2);
866                 public bool is_subset (Gst.Caps superset);
867                 public bool is_subset_structure (Gst.Structure structure);
868                 [Version (since = "1.2")]
869                 public bool is_subset_structure_full (Gst.Structure structure, Gst.CapsFeatures? features);
870                 [Version (since = "1.6")]
871                 public bool map_in_place (Gst.CapsMapFunc func);
872                 public Gst.Caps merge (owned Gst.Caps caps2);
873                 public Gst.Caps merge_structure (owned Gst.Structure structure);
874                 [Version (since = "1.2")]
875                 public Gst.Caps merge_structure_full (owned Gst.Structure structure, owned Gst.CapsFeatures? features);
876                 public Gst.Caps normalize ();
877                 public void remove_structure (uint idx);
878                 [Version (since = "1.2")]
879                 public void set_features (uint index, owned Gst.CapsFeatures? features);
880                 public void set_simple (string field, ...);
881                 public void set_simple_valist (string field, va_list varargs);
882                 public void set_value (string field, GLib.Value value);
883                 [CCode (has_construct_function = false)]
884                 public Caps.simple (string media_type, string fieldname, ...);
885                 public Gst.Caps simplify ();
886                 public Gst.Structure? steal_structure (uint index);
887                 public Gst.Caps subtract (Gst.Caps subtrahend);
888                 public string to_string ();
889                 public Gst.Caps truncate ();
890         }
891         [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_caps_features_get_type ()")]
892         [Compact]
893         public class CapsFeatures {
894                 [CCode (has_construct_function = false)]
895                 [Version (since = "1.2")]
896                 public CapsFeatures (string feature1, ...);
897                 [Version (since = "1.2")]
898                 public void add (string feature);
899                 [Version (since = "1.2")]
900                 public void add_id (GLib.Quark feature);
901                 [CCode (has_construct_function = false)]
902                 [Version (since = "1.2")]
903                 public CapsFeatures.any ();
904                 [Version (since = "1.2")]
905                 public bool contains (string feature);
906                 [Version (since = "1.2")]
907                 public bool contains_id (GLib.Quark feature);
908                 [Version (since = "1.2")]
909                 public Gst.CapsFeatures copy ();
910                 [CCode (has_construct_function = false)]
911                 [Version (since = "1.2")]
912                 public CapsFeatures.empty ();
913                 [Version (since = "1.2")]
914                 public void free ();
915                 [Version (since = "1.2")]
916                 public static Gst.CapsFeatures? from_string (string features);
917                 [Version (since = "1.2")]
918                 public unowned string? get_nth (uint i);
919                 [Version (since = "1.2")]
920                 public GLib.Quark get_nth_id (uint i);
921                 [Version (since = "1.2")]
922                 public uint get_size ();
923                 [CCode (has_construct_function = false)]
924                 public CapsFeatures.id (params GLib.Quark[] features);
925                 [CCode (has_construct_function = false)]
926                 [Version (since = "1.2")]
927                 public CapsFeatures.id_valist (GLib.Quark feature1, va_list varargs);
928                 [Version (since = "1.2")]
929                 public bool is_any ();
930                 [Version (since = "1.2")]
931                 public bool is_equal (Gst.CapsFeatures features2);
932                 [Version (since = "1.2")]
933                 public void remove (string feature);
934                 [Version (since = "1.2")]
935                 public void remove_id (GLib.Quark feature);
936                 [Version (since = "1.2")]
937                 public bool set_parent_refcount (int refcount);
938                 [Version (since = "1.2")]
939                 public string to_string ();
940                 [CCode (has_construct_function = false)]
941                 [Version (since = "1.2")]
942                 public CapsFeatures.valist (string feature1, va_list varargs);
943         }
944         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_clock_get_type ()")]
945         public abstract class Clock : Gst.Object {
946                 [CCode (has_construct_function = false)]
947                 protected Clock ();
948                 public bool add_observation (Gst.ClockTime slave, Gst.ClockTime master, out double r_squared);
949                 [Version (since = "1.6")]
950                 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);
951                 public Gst.ClockTime adjust_unlocked (Gst.ClockTime @internal);
952                 [Version (since = "1.6")]
953                 public Gst.ClockTime adjust_with_calibration (Gst.ClockTime internal_target, Gst.ClockTime cinternal, Gst.ClockTime cexternal, Gst.ClockTime cnum, Gst.ClockTime cdenom);
954                 [NoWrapper]
955                 public virtual Gst.ClockTime change_resolution (Gst.ClockTime old_resolution, Gst.ClockTime new_resolution);
956                 public void get_calibration (out Gst.ClockTime @internal, out Gst.ClockTime external, out Gst.ClockTime rate_num, out Gst.ClockTime rate_denom);
957                 public virtual Gst.ClockTime get_internal_time ();
958                 public Gst.Clock? get_master ();
959                 public virtual Gst.ClockTime get_resolution ();
960                 public Gst.ClockTime get_time ();
961                 public Gst.ClockTime get_timeout ();
962                 public static int id_compare_func (void* id1, void* id2);
963                 public static Gst.ClockTime id_get_time (Gst.ClockID id);
964                 public static Gst.ClockID id_ref (Gst.ClockID id);
965                 public static void id_unref (owned Gst.ClockID id);
966                 public static void id_unschedule (Gst.ClockID id);
967                 public static Gst.ClockReturn id_wait (Gst.ClockID id, out Gst.ClockTimeDiff jitter);
968                 public static Gst.ClockReturn id_wait_async (Gst.ClockID id, owned Gst.ClockCallback func);
969                 [Version (since = "1.6")]
970                 public bool is_synced ();
971                 public Gst.ClockID new_periodic_id (Gst.ClockTime start_time, Gst.ClockTime interval);
972                 public Gst.ClockID new_single_shot_id (Gst.ClockTime time);
973                 public bool periodic_id_reinit (Gst.ClockID id, Gst.ClockTime start_time, Gst.ClockTime interval);
974                 public void set_calibration (Gst.ClockTime @internal, Gst.ClockTime external, Gst.ClockTime rate_num, Gst.ClockTime rate_denom);
975                 public bool set_master (Gst.Clock? master);
976                 public Gst.ClockTime set_resolution (Gst.ClockTime resolution);
977                 [Version (since = "1.6")]
978                 public void set_synced (bool synced);
979                 public void set_timeout (Gst.ClockTime timeout);
980                 public bool single_shot_id_reinit (Gst.ClockID id, Gst.ClockTime time);
981                 public Gst.ClockTime unadjust_unlocked (Gst.ClockTime external);
982                 [Version (since = "1.8")]
983                 public Gst.ClockTime unadjust_with_calibration (Gst.ClockTime external_target, Gst.ClockTime cinternal, Gst.ClockTime cexternal, Gst.ClockTime cnum, Gst.ClockTime cdenom);
984                 [NoWrapper]
985                 public virtual void unschedule (Gst.ClockEntry entry);
986                 [NoWrapper]
987                 public virtual Gst.ClockReturn wait (Gst.ClockEntry entry, Gst.ClockTimeDiff jitter);
988                 [NoWrapper]
989                 public virtual Gst.ClockReturn wait_async (Gst.ClockEntry entry);
990                 [Version (since = "1.6")]
991                 public bool wait_for_sync (Gst.ClockTime timeout);
992                 public uint64 timeout { get; set; }
993                 [NoAccessorMethod]
994                 public int window_size { get; set; }
995                 [NoAccessorMethod]
996                 public int window_threshold { get; set; }
997                 [Version (since = "1.6")]
998                 public signal void synced (bool synced);
999         }
1000         [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_context_get_type ()")]
1001         [Compact]
1002         public class Context {
1003                 [CCode (has_construct_function = false)]
1004                 [Version (since = "1.2")]
1005                 public Context (string context_type, bool persistent);
1006                 [Version (since = "1.2")]
1007                 public unowned string get_context_type ();
1008                 [Version (since = "1.2")]
1009                 public unowned Gst.Structure get_structure ();
1010                 [Version (since = "1.2")]
1011                 public bool has_context_type (string context_type);
1012                 [Version (since = "1.2")]
1013                 public bool is_persistent ();
1014                 [Version (since = "1.2")]
1015                 public Gst.Structure writable_structure ();
1016         }
1017         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_control_binding_get_type ()")]
1018         public abstract class ControlBinding : Gst.Object {
1019                 public weak GLib.ParamSpec pspec;
1020                 [CCode (has_construct_function = false)]
1021                 protected ControlBinding ();
1022                 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);
1023                 public virtual GLib.Value? get_value (Gst.ClockTime timestamp);
1024                 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);
1025                 public bool is_disabled ();
1026                 public void set_disabled (bool disabled);
1027                 public virtual bool sync_values (Gst.Object object, Gst.ClockTime timestamp, Gst.ClockTime last_sync);
1028                 [NoAccessorMethod]
1029                 public string name { owned get; construct; }
1030                 [NoAccessorMethod]
1031                 public Gst.Object object { owned get; construct; }
1032         }
1033         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_control_source_get_type ()")]
1034         public abstract class ControlSource : Gst.Object {
1035                 [CCode (cname = "get_value_array")]
1036                 public weak Gst.ControlSourceGetValueArray get_value_array_func;
1037                 [CCode (cname = "get_value")]
1038                 public weak Gst.ControlSourceGetValue get_value_func;
1039                 [CCode (has_construct_function = false)]
1040                 protected ControlSource ();
1041                 public bool get_value (Gst.ClockTime timestamp, out double value);
1042                 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);
1043         }
1044         [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")]
1045         [Compact]
1046         public class DateTime {
1047                 [CCode (has_construct_function = false)]
1048                 public DateTime (float tzoffset, int year, int month, int day, int hour, int minute, double seconds);
1049                 [CCode (has_construct_function = false)]
1050                 public DateTime.from_g_date_time (owned GLib.DateTime dt);
1051                 [CCode (has_construct_function = false)]
1052                 public DateTime.from_iso8601_string (string string);
1053                 [CCode (has_construct_function = false)]
1054                 public DateTime.from_unix_epoch_local_time (int64 secs);
1055                 [CCode (has_construct_function = false)]
1056                 public DateTime.from_unix_epoch_utc (int64 secs);
1057                 public int get_day ();
1058                 public int get_hour ();
1059                 public int get_microsecond ();
1060                 public int get_minute ();
1061                 public int get_month ();
1062                 public int get_second ();
1063                 public float get_time_zone_offset ();
1064                 public int get_year ();
1065                 public bool has_day ();
1066                 public bool has_month ();
1067                 public bool has_second ();
1068                 public bool has_time ();
1069                 public bool has_year ();
1070                 [CCode (has_construct_function = false)]
1071                 public DateTime.local_time (int year, int month, int day, int hour, int minute, double seconds);
1072                 [CCode (has_construct_function = false)]
1073                 public DateTime.now_local_time ();
1074                 [CCode (has_construct_function = false)]
1075                 public DateTime.now_utc ();
1076                 public unowned Gst.DateTime @ref ();
1077                 public GLib.DateTime? to_g_date_time ();
1078                 public string? to_iso8601_string ();
1079                 public void unref ();
1080                 [CCode (has_construct_function = false)]
1081                 public DateTime.y (int year);
1082                 [CCode (has_construct_function = false)]
1083                 public DateTime.ym (int year, int month);
1084                 [CCode (has_construct_function = false)]
1085                 public DateTime.ymd (int year, int month, int day);
1086         }
1087         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
1088         [Compact]
1089         public class DebugMessage {
1090                 public unowned string? @get ();
1091         }
1092         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_get_type ()")]
1093         [Version (since = "1.4")]
1094         public abstract class Device : Gst.Object {
1095                 [CCode (has_construct_function = false)]
1096                 protected Device ();
1097                 public virtual Gst.Element? create_element (string? name);
1098                 public Gst.Caps? get_caps ();
1099                 public string get_device_class ();
1100                 public string get_display_name ();
1101                 [Version (since = "1.6")]
1102                 public Gst.Structure? get_properties ();
1103                 public bool has_classes (string classes);
1104                 public bool has_classesv ([CCode (array_length = false, array_null_terminated = true)] string[] classes);
1105                 public virtual bool reconfigure_element (Gst.Element element);
1106                 public Gst.Caps caps { owned get; construct; }
1107                 public string device_class { owned get; construct; }
1108                 public string display_name { owned get; construct; }
1109                 public Gst.Structure properties { owned get; construct; }
1110                 public signal void removed ();
1111         }
1112         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_monitor_get_type ()")]
1113         [Version (since = "1.4")]
1114         public class DeviceMonitor : Gst.Object {
1115                 [CCode (has_construct_function = false)]
1116                 public DeviceMonitor ();
1117                 public uint add_filter (string? classes, Gst.Caps? caps);
1118                 public Gst.Bus get_bus ();
1119                 public GLib.List<Gst.Device>? get_devices ();
1120                 [CCode (array_length = false, array_null_terminated = true)]
1121                 [Version (since = "1.6")]
1122                 public string[] get_providers ();
1123                 [Version (since = "1.6")]
1124                 public bool get_show_all_devices ();
1125                 public bool remove_filter (uint filter_id);
1126                 [Version (since = "1.6")]
1127                 public void set_show_all_devices (bool show_all);
1128                 public bool start ();
1129                 public void stop ();
1130                 [NoAccessorMethod]
1131                 public bool show_all { get; set; }
1132         }
1133         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_provider_get_type ()")]
1134         [Version (since = "1.4")]
1135         public abstract class DeviceProvider : Gst.Object {
1136                 public weak GLib.List<void*> devices;
1137                 [CCode (has_construct_function = false)]
1138                 protected DeviceProvider ();
1139                 [CCode (cname = "gst_device_provider_class_add_metadata")]
1140                 public class void add_metadata (string key, string value);
1141                 [CCode (cname = "gst_device_provider_class_add_static_metadata")]
1142                 public class void add_static_metadata (string key, owned string value);
1143                 public bool can_monitor ();
1144                 public class unowned string? class_get_metadata (string key);
1145                 public void device_add (Gst.Device device);
1146                 public void device_remove (Gst.Device device);
1147                 public Gst.Bus get_bus ();
1148                 public GLib.List<Gst.Device> get_devices ();
1149                 public unowned Gst.DeviceProviderFactory get_factory ();
1150                 [CCode (array_length = false, array_null_terminated = true)]
1151                 [Version (since = "1.6")]
1152                 public string[] get_hidden_providers ();
1153                 [Version (since = "1.14")]
1154                 public unowned string get_metadata (string key);
1155                 [Version (since = "1.6")]
1156                 public void hide_provider (string name);
1157                 public static bool register (Gst.Plugin? plugin, string name, uint rank, GLib.Type type);
1158                 [CCode (cname = "gst_device_provider_class_set_metadata")]
1159                 public class void set_metadata (string longname, string classification, string description, string author);
1160                 [CCode (cname = "gst_device_provider_class_set_static_metadata")]
1161                 public class void set_static_metadata (owned string longname, owned string classification, owned string description, owned string author);
1162                 public virtual bool start ();
1163                 public virtual void stop ();
1164                 [Version (since = "1.6")]
1165                 public void unhide_provider (string name);
1166                 public signal void provider_hidden (string object);
1167                 public signal void provider_unhidden (string object);
1168         }
1169         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_provider_factory_get_type ()")]
1170         [Version (since = "1.4")]
1171         public class DeviceProviderFactory : Gst.PluginFeature {
1172                 [CCode (has_construct_function = false)]
1173                 protected DeviceProviderFactory ();
1174                 public static Gst.DeviceProviderFactory? find (string name);
1175                 public Gst.DeviceProvider? @get ();
1176                 public static Gst.DeviceProvider? get_by_name (string factoryname);
1177                 public GLib.Type get_device_provider_type ();
1178                 public unowned string? get_metadata (string key);
1179                 [CCode (array_length = false, array_null_terminated = true)]
1180                 public string[]? get_metadata_keys ();
1181                 public bool has_classes (string? classes);
1182                 public bool has_classesv ([CCode (array_length = false, array_null_terminated = true)] string[]? classes);
1183                 public static GLib.List<Gst.DeviceProviderFactory> list_get_device_providers (Gst.Rank minrank);
1184         }
1185         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_double_range_get_type ()")]
1186         public class DoubleRange {
1187                 [CCode (has_construct_function = false)]
1188                 protected DoubleRange ();
1189         }
1190         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_dynamic_type_factory_get_type ()")]
1191         public class DynamicTypeFactory : Gst.PluginFeature {
1192                 [CCode (has_construct_function = false)]
1193                 protected DynamicTypeFactory ();
1194                 public static GLib.Type load (string factoryname);
1195         }
1196         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_element_get_type ()")]
1197         public abstract class Element : Gst.Object {
1198                 public Gst.ClockTimeDiff base_time;
1199                 public Gst.Bus bus;
1200                 public Gst.Clock clock;
1201                 public weak GLib.List<Gst.Context> contexts;
1202                 public Gst.State current_state;
1203                 public Gst.StateChangeReturn last_return;
1204                 public Gst.State next_state;
1205                 public uint16 numpads;
1206                 public uint16 numsinkpads;
1207                 public uint16 numsrcpads;
1208                 public GLib.List<Gst.Pad> pads;
1209                 public uint32 pads_cookie;
1210                 public Gst.State pending_state;
1211                 public GLib.List<weak Gst.Pad> sinkpads;
1212                 public GLib.List<weak Gst.Pad> srcpads;
1213                 public Gst.ClockTime start_time;
1214                 public GLib.Cond state_cond;
1215                 public uint32 state_cookie;
1216                 public GLib.RecMutex state_lock;
1217                 public Gst.State target_state;
1218                 [CCode (has_construct_function = false)]
1219                 protected Element ();
1220                 public void abort_state ();
1221                 [CCode (cname = "gst_element_class_add_metadata")]
1222                 public class void add_metadata (string key, string value);
1223                 public bool add_pad (Gst.Pad pad);
1224                 [CCode (cname = "gst_element_class_add_pad_template")]
1225                 public class void add_pad_template (Gst.PadTemplate templ);
1226                 [Version (since = "1.10")]
1227                 public ulong add_property_deep_notify_watch (string? property_name, bool include_value);
1228                 [Version (since = "1.10")]
1229                 public ulong add_property_notify_watch (string? property_name, bool include_value);
1230                 [CCode (cname = "gst_element_class_add_static_metadata")]
1231                 public class void add_static_metadata (string key, string value);
1232                 [CCode (cname = "gst_element_class_add_static_pad_template")]
1233                 [Version (since = "1.8")]
1234                 public class void add_static_pad_template (Gst.StaticPadTemplate static_templ);
1235                 [CCode (cname = "gst_element_class_add_static_pad_template_with_gtype")]
1236                 [Version (since = "1.14")]
1237                 public class void add_static_pad_template_with_gtype (Gst.StaticPadTemplate static_templ, GLib.Type pad_type);
1238                 [Version (since = "1.10")]
1239                 public void call_async (owned Gst.ElementCallAsyncFunc func);
1240                 public virtual Gst.StateChangeReturn change_state (Gst.StateChange transition);
1241                 public class unowned string class_get_metadata (string key);
1242                 public class unowned Gst.PadTemplate? class_get_pad_template (string name);
1243                 public class unowned GLib.List<Gst.PadTemplate> class_get_pad_template_list ();
1244                 public Gst.StateChangeReturn continue_state (Gst.StateChangeReturn ret);
1245                 public void create_all_pads ();
1246                 [Version (since = "1.14")]
1247                 public bool foreach_pad (Gst.ElementForeachPadFunc func);
1248                 [Version (since = "1.14")]
1249                 public bool foreach_sink_pad (Gst.ElementForeachPadFunc func);
1250                 [Version (since = "1.14")]
1251                 public bool foreach_src_pad (Gst.ElementForeachPadFunc func);
1252                 public Gst.ClockTime get_base_time ();
1253                 public Gst.Bus? get_bus ();
1254                 public Gst.Clock? get_clock ();
1255                 public Gst.Pad? get_compatible_pad (Gst.Pad pad, Gst.Caps? caps);
1256                 public unowned Gst.PadTemplate? get_compatible_pad_template (Gst.PadTemplate compattempl);
1257                 [Version (since = "1.8")]
1258                 public Gst.Context get_context (string context_type);
1259                 [Version (since = "1.8")]
1260                 public Gst.Context? get_context_unlocked (string context_type);
1261                 [Version (since = "1.8")]
1262                 public GLib.List<Gst.Context> get_contexts ();
1263                 public unowned Gst.ElementFactory get_factory ();
1264                 [Version (since = "1.14")]
1265                 public unowned string get_metadata (string key);
1266                 [Version (since = "1.14")]
1267                 public unowned Gst.PadTemplate? get_pad_template (string name);
1268                 [Version (since = "1.14")]
1269                 public unowned GLib.List<Gst.PadTemplate> get_pad_template_list ();
1270                 public Gst.Pad? get_request_pad (string name);
1271                 public Gst.ClockTime get_start_time ();
1272                 public virtual Gst.StateChangeReturn get_state (out Gst.State state, out Gst.State pending, Gst.ClockTime timeout);
1273                 public Gst.Pad? get_static_pad (string name);
1274                 public bool is_locked_state ();
1275                 public Gst.Iterator iterate_pads ();
1276                 public Gst.Iterator iterate_sink_pads ();
1277                 public Gst.Iterator iterate_src_pads ();
1278                 public bool link (Gst.Element dest);
1279                 public bool link_filtered (Gst.Element dest, Gst.Caps? filter);
1280                 public bool link_many (params Gst.Element[] elements);
1281                 [CCode (cname = "gst_element_link_pads_full")]
1282                 public bool link_pads (string? srcpadname, Gst.Element dest, string? destpadname, Gst.PadLinkCheck flags = Gst.PadLinkCheck.DEFAULT);
1283                 public bool link_pads_filtered (string? srcpadname, Gst.Element dest, string? destpadname, Gst.Caps? filter);
1284                 public void lost_state ();
1285                 [CCode (returns_floating_reference = true)]
1286                 public static Gst.Element? make_from_uri (Gst.URIType type, string uri, string? elementname) throws GLib.Error;
1287                 public void message_full (Gst.MessageType type, GLib.Quark domain, int code, owned string? text, owned string? debug, string file, string function, int line);
1288                 [Version (since = "1.10")]
1289                 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);
1290                 public virtual bool post_message (owned Gst.Message message);
1291                 public virtual Gst.Clock? provide_clock ();
1292                 public virtual bool query (Gst.Query query);
1293                 public bool query_convert (Gst.Format src_format, int64 src_val, Gst.Format dest_format, out int64 dest_val);
1294                 public bool query_duration (Gst.Format format, out int64 duration);
1295                 public bool query_position (Gst.Format format, out int64 cur);
1296                 public static bool register (Gst.Plugin? plugin, string name, uint rank, GLib.Type type);
1297                 [NoWrapper]
1298                 public virtual void release_pad (Gst.Pad pad);
1299                 public void release_request_pad (Gst.Pad pad);
1300                 public bool remove_pad (Gst.Pad pad);
1301                 [Version (since = "1.10")]
1302                 public void remove_property_notify_watch (ulong watch_id);
1303                 [CCode (vfunc_name = "request_new_pad")]
1304                 public virtual Gst.Pad? request_pad (Gst.PadTemplate templ, string? name, Gst.Caps? caps);
1305                 public bool seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, int64 start, Gst.SeekType stop_type, int64 stop);
1306                 public bool seek_simple (Gst.Format format, Gst.SeekFlags seek_flags, int64 seek_pos);
1307                 public virtual bool send_event (owned Gst.Event event);
1308                 public void set_base_time (Gst.ClockTime time);
1309                 public virtual void set_bus (Gst.Bus? bus);
1310                 public virtual bool set_clock (Gst.Clock? clock);
1311                 public virtual void set_context (Gst.Context context);
1312                 public bool set_locked_state (bool locked_state);
1313                 [CCode (cname = "gst_element_class_set_metadata")]
1314                 public class void set_metadata (string longname, string classification, string description, string author);
1315                 public void set_start_time (Gst.ClockTime time);
1316                 public virtual Gst.StateChangeReturn set_state (Gst.State state);
1317                 [CCode (cname = "gst_element_class_set_static_metadata")]
1318                 public class void set_static_metadata (string longname, string classification, string description, string author);
1319                 public static unowned string state_change_return_get_name (Gst.StateChangeReturn state_ret);
1320                 [NoWrapper]
1321                 public virtual void state_changed (Gst.State oldstate, Gst.State newstate, Gst.State pending);
1322                 public static unowned string state_get_name (Gst.State state);
1323                 public bool sync_state_with_parent ();
1324                 public void unlink (Gst.Element dest);
1325                 public void unlink_many (params Gst.Element[] elements);
1326                 public void unlink_pads (string srcpadname, Gst.Element dest, string destpadname);
1327                 [HasEmitter]
1328                 public virtual signal void no_more_pads ();
1329                 public virtual signal void pad_added (Gst.Pad pad);
1330                 public virtual signal void pad_removed (Gst.Pad pad);
1331         }
1332         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_element_factory_get_type ()")]
1333         public class ElementFactory : Gst.PluginFeature {
1334                 [CCode (has_construct_function = false)]
1335                 protected ElementFactory ();
1336                 public bool can_sink_all_caps (Gst.Caps caps);
1337                 public bool can_sink_any_caps (Gst.Caps caps);
1338                 public bool can_src_all_caps (Gst.Caps caps);
1339                 public bool can_src_any_caps (Gst.Caps caps);
1340                 [CCode (returns_floating_reference = true)]
1341                 public Gst.Element? create (string? name);
1342                 public static Gst.ElementFactory? find (string name);
1343                 public GLib.Type get_element_type ();
1344                 public unowned string? get_metadata (string key);
1345                 [CCode (array_length = false, array_null_terminated = true)]
1346                 public string[]? get_metadata_keys ();
1347                 public uint get_num_pad_templates ();
1348                 public unowned GLib.List<Gst.StaticPadTemplate?> get_static_pad_templates ();
1349                 [CCode (array_length = false, array_null_terminated = true)]
1350                 public unowned string[] get_uri_protocols ();
1351                 public Gst.URIType get_uri_type ();
1352                 public bool has_interface (string interfacename);
1353                 public static GLib.List<Gst.ElementFactory> list_filter (GLib.List<Gst.ElementFactory> list, Gst.Caps caps, Gst.PadDirection direction, bool subsetonly);
1354                 public static GLib.List<Gst.ElementFactory> list_get_elements (Gst.ElementFactoryListType type, Gst.Rank minrank);
1355                 public bool list_is_type (Gst.ElementFactoryListType type);
1356                 [CCode (returns_floating_reference = true)]
1357                 public static Gst.Element? make (string factoryname, string? name);
1358         }
1359         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_event_ref", type_id = "gst_event_get_type ()", unref_function = "gst_event_unref")]
1360         [Compact]
1361         public class Event : Gst.MiniObject {
1362                 public uint32 seqnum;
1363                 public uint64 timestamp;
1364                 public Gst.EventType type;
1365                 [CCode (has_construct_function = false)]
1366                 public Event.buffer_size (Gst.Format format, int64 minsize, int64 maxsize, bool @async);
1367                 [CCode (has_construct_function = false)]
1368                 public Event.caps (Gst.Caps caps);
1369                 public void copy_segment (Gst.Segment segment);
1370                 [CCode (has_construct_function = false)]
1371                 public Event.custom (Gst.EventType type, owned Gst.Structure structure);
1372                 [CCode (has_construct_function = false)]
1373                 public Event.eos ();
1374                 [CCode (has_construct_function = false)]
1375                 public Event.flush_start ();
1376                 [CCode (has_construct_function = false)]
1377                 public Event.flush_stop (bool reset_time);
1378                 [CCode (has_construct_function = false)]
1379                 public Event.gap (Gst.ClockTime timestamp, Gst.ClockTime duration);
1380                 [Version (since = "1.4")]
1381                 public int64 get_running_time_offset ();
1382                 public uint32 get_seqnum ();
1383                 public unowned Gst.Structure? get_structure ();
1384                 public bool has_name (string name);
1385                 [CCode (has_construct_function = false)]
1386                 public Event.latency (Gst.ClockTime latency);
1387                 [CCode (has_construct_function = false)]
1388                 public Event.navigation (owned Gst.Structure structure);
1389                 public void parse_buffer_size (out Gst.Format format, out int64 minsize, out int64 maxsize, out bool @async);
1390                 public void parse_caps (out unowned Gst.Caps caps);
1391                 public void parse_flush_stop (out bool reset_time);
1392                 public void parse_gap (out Gst.ClockTime timestamp, out Gst.ClockTime duration);
1393                 [Version (since = "1.2")]
1394                 public bool parse_group_id (out uint group_id);
1395                 public void parse_latency (out Gst.ClockTime latency);
1396                 [Version (since = "1.6")]
1397                 public void parse_protection (out unowned string system_id, out unowned Gst.Buffer data, out unowned string origin);
1398                 public void parse_qos (out Gst.QOSType type, out double proportion, out Gst.ClockTimeDiff diff, out Gst.ClockTime timestamp);
1399                 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);
1400                 public void parse_segment (out unowned Gst.Segment segment);
1401                 public void parse_segment_done (out Gst.Format format, out int64 position);
1402                 [Version (since = "1.10")]
1403                 public void parse_select_streams (out GLib.List<string> streams);
1404                 public void parse_sink_message (out Gst.Message msg);
1405                 public void parse_step (out Gst.Format format, out uint64 amount, out double rate, out bool flush, out bool intermediate);
1406                 [Version (since = "1.10")]
1407                 public void parse_stream (out Gst.Stream stream);
1408                 [Version (since = "1.10")]
1409                 public void parse_stream_collection (out Gst.StreamCollection collection);
1410                 [Version (since = "1.2")]
1411                 public void parse_stream_flags (out Gst.StreamFlags flags);
1412                 [Version (since = "1.10")]
1413                 public void parse_stream_group_done (out uint group_id);
1414                 public void parse_stream_start (out unowned string stream_id);
1415                 public void parse_tag (out unowned Gst.TagList taglist);
1416                 public void parse_toc (out Gst.Toc toc, out bool updated);
1417                 public void parse_toc_select (out string uid);
1418                 [CCode (has_construct_function = false)]
1419                 [Version (since = "1.6")]
1420                 public Event.protection (string system_id, Gst.Buffer data, string origin);
1421                 [CCode (has_construct_function = false)]
1422                 public Event.qos (Gst.QOSType type, double proportion, Gst.ClockTimeDiff diff, Gst.ClockTime timestamp);
1423                 [CCode (has_construct_function = false)]
1424                 public Event.reconfigure ();
1425                 [CCode (has_construct_function = false)]
1426                 public Event.seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, int64 start, Gst.SeekType stop_type, int64 stop);
1427                 [CCode (has_construct_function = false)]
1428                 public Event.segment (Gst.Segment segment);
1429                 [CCode (has_construct_function = false)]
1430                 public Event.segment_done (Gst.Format format, int64 position);
1431                 [CCode (has_construct_function = false)]
1432                 [Version (since = "1.10")]
1433                 public Event.select_streams (GLib.List<string> streams);
1434                 [Version (since = "1.2")]
1435                 public void set_group_id (uint group_id);
1436                 [Version (since = "1.4")]
1437                 public void set_running_time_offset (int64 offset);
1438                 public void set_seqnum (uint32 seqnum);
1439                 [Version (since = "1.10")]
1440                 public void set_stream (Gst.Stream stream);
1441                 [Version (since = "1.2")]
1442                 public void set_stream_flags (Gst.StreamFlags flags);
1443                 [CCode (has_construct_function = false)]
1444                 public Event.sink_message (string name, Gst.Message msg);
1445                 [CCode (has_construct_function = false)]
1446                 public Event.step (Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate);
1447                 [CCode (has_construct_function = false)]
1448                 [Version (since = "1.10")]
1449                 public Event.stream_collection (Gst.StreamCollection collection);
1450                 [CCode (has_construct_function = false)]
1451                 [Version (since = "1.10")]
1452                 public Event.stream_group_done (uint group_id);
1453                 [CCode (has_construct_function = false)]
1454                 public Event.stream_start (string stream_id);
1455                 [CCode (has_construct_function = false)]
1456                 public Event.tag (owned Gst.TagList taglist);
1457                 [CCode (has_construct_function = false)]
1458                 public Event.toc (Gst.Toc toc, bool updated);
1459                 [CCode (has_construct_function = false)]
1460                 public Event.toc_select (string uid);
1461                 public unowned Gst.Structure writable_structure ();
1462         }
1463         [CCode (cheader_filename = "gst/gst.h", lower_case_csuffix = "flagset", type_id = "gst_flagset_get_type ()")]
1464         public class FlagSet {
1465                 [CCode (has_construct_function = false)]
1466                 protected FlagSet ();
1467                 [Version (since = "1.6")]
1468                 public static GLib.Type register (GLib.Type flags_type);
1469         }
1470         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_fraction_get_type ()")]
1471         public class Fraction {
1472                 [CCode (has_construct_function = false)]
1473                 protected Fraction ();
1474         }
1475         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_fraction_range_get_type ()")]
1476         public class FractionRange {
1477                 [CCode (has_construct_function = false)]
1478                 protected FractionRange ();
1479         }
1480         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_ghost_pad_get_type ()")]
1481         public class GhostPad : Gst.ProxyPad {
1482                 [CCode (has_construct_function = false, returns_floating_reference = true, type = "GstPad*")]
1483                 public GhostPad (string? name, Gst.Pad target);
1484                 public static bool activate_mode_default (Gst.Pad pad, Gst.Object? parent, Gst.PadMode mode, bool active);
1485                 public bool @construct ();
1486                 [CCode (has_construct_function = false, type = "GstPad*")]
1487                 public GhostPad.from_template (string? name, Gst.Pad target, Gst.PadTemplate templ);
1488                 public Gst.Pad? get_target ();
1489                 public static bool internal_activate_mode_default (Gst.Pad pad, Gst.Object? parent, Gst.PadMode mode, bool active);
1490                 [CCode (has_construct_function = false, type = "GstPad*")]
1491                 public GhostPad.no_target (string? name, Gst.PadDirection dir);
1492                 [CCode (has_construct_function = false, type = "GstPad*")]
1493                 public GhostPad.no_target_from_template (string? name, Gst.PadTemplate templ);
1494                 public bool set_target (Gst.Pad? newtarget);
1495         }
1496         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_int64_range_get_type ()")]
1497         public class Int64Range {
1498                 [CCode (has_construct_function = false)]
1499                 protected Int64Range ();
1500         }
1501         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_int_range_get_type ()")]
1502         public class IntRange {
1503                 [CCode (has_construct_function = false)]
1504                 protected IntRange ();
1505         }
1506         [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_iterator_copy", free_function = "gst_iterator_free", type_id = "gst_iterator_get_type ()")]
1507         [Compact]
1508         public class Iterator {
1509                 public uint32 cookie;
1510                 public weak Gst.IteratorItemFunction item;
1511                 public GLib.Mutex @lock;
1512                 public uint32 master_cookie;
1513                 public weak Gst.Iterator pushed;
1514                 public uint size;
1515                 public GLib.Type type;
1516                 [CCode (simple_generics = true)]
1517                 public Gst.Iterator filter<T> ([CCode (type = "GCompareFunc")] GLib.SearchFunc<GLib.Value,T> func, T user_data);
1518                 [CCode (simple_generics = true)]
1519                 public bool find_custom<T> ([CCode (type = "GCompareFunc")] GLib.SearchFunc<GLib.Value,T> func, out GLib.Value elem, T user_data);
1520                 public Gst.IteratorResult fold ([CCode (delegate_target_pos = 2.1)] Gst.IteratorFoldFunction func, GLib.Value ret);
1521                 public Gst.IteratorResult @foreach (Gst.IteratorForeachFunction func);
1522                 public void free ();
1523                 public Gst.IteratorResult next (out GLib.Value elem);
1524                 public void push (Gst.Iterator other);
1525                 public void resync ();
1526                 [CCode (has_construct_function = false)]
1527                 public Iterator.single (GLib.Type type, GLib.Value object);
1528         }
1529         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_memory_ref", type_id = "gst_memory_get_type ()", unref_function = "gst_memory_unref")]
1530         [Compact]
1531         public class Memory : Gst.MiniObject {
1532                 public size_t align;
1533                 public weak Gst.Allocator allocator;
1534                 public size_t maxsize;
1535                 public size_t offset;
1536                 public weak Gst.Memory parent;
1537                 public size_t size;
1538                 public Gst.Memory copy (ssize_t offset, ssize_t size);
1539                 public size_t get_sizes (out size_t offset, out size_t maxsize);
1540                 public bool is_span (Gst.Memory mem2, out size_t offset);
1541                 [Version (since = "1.2")]
1542                 public bool is_type (string mem_type);
1543                 public Gst.Memory? make_mapped (out Gst.MapInfo info, Gst.MapFlags flags);
1544                 public bool map (out Gst.MapInfo info, Gst.MapFlags flags);
1545                 [CCode (has_construct_function = false, simple_generics = true)]
1546                 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);
1547                 public void resize (ssize_t offset, size_t size);
1548                 public Gst.Memory share (ssize_t offset, ssize_t size);
1549                 public void unmap (Gst.MapInfo info);
1550         }
1551         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_message_ref", type_id = "gst_message_get_type ()", unref_function = "gst_message_unref")]
1552         [Compact]
1553         public class Message : Gst.MiniObject {
1554                 public uint32 seqnum;
1555                 public weak Gst.Object src;
1556                 public uint64 timestamp;
1557                 public Gst.MessageType type;
1558                 [Version (since = "1.10")]
1559                 public void add_redirect_entry (string location, owned Gst.TagList? tag_list, owned Gst.Structure? entry_struct);
1560                 [CCode (has_construct_function = false)]
1561                 public Message.application (Gst.Object? src, owned Gst.Structure structure);
1562                 [CCode (has_construct_function = false)]
1563                 public Message.async_done (Gst.Object? src, Gst.ClockTime running_time);
1564                 [CCode (has_construct_function = false)]
1565                 public Message.async_start (Gst.Object? src);
1566                 [CCode (has_construct_function = false)]
1567                 public Message.buffering (Gst.Object? src, int percent);
1568                 [CCode (has_construct_function = false)]
1569                 public Message.clock_lost (Gst.Object? src, Gst.Clock clock);
1570                 [CCode (has_construct_function = false)]
1571                 public Message.clock_provide (Gst.Object? src, Gst.Clock clock, bool ready);
1572                 [CCode (has_construct_function = false)]
1573                 public Message.custom (Gst.MessageType type, Gst.Object? src, owned Gst.Structure? structure);
1574                 [CCode (has_construct_function = false)]
1575                 [Version (since = "1.4")]
1576                 public Message.device_added (Gst.Object src, Gst.Device device);
1577                 [CCode (has_construct_function = false)]
1578                 [Version (since = "1.4")]
1579                 public Message.device_removed (Gst.Object src, Gst.Device device);
1580                 [CCode (has_construct_function = false)]
1581                 public Message.duration_changed (Gst.Object? src);
1582                 [CCode (has_construct_function = false)]
1583                 public Message.element (Gst.Object? src, owned Gst.Structure structure);
1584                 [CCode (has_construct_function = false)]
1585                 public Message.eos (Gst.Object? src);
1586                 [CCode (has_construct_function = false)]
1587                 public Message.error (Gst.Object? src, GLib.Error error, string debug);
1588                 [CCode (has_construct_function = false)]
1589                 [Version (since = "1.10")]
1590                 public Message.error_with_details (Gst.Object? src, GLib.Error error, string debug, owned Gst.Structure details);
1591                 [Version (since = "1.10")]
1592                 public size_t get_num_redirect_entries ();
1593                 public uint32 get_seqnum ();
1594                 public unowned GLib.Value? get_stream_status_object ();
1595                 public unowned Gst.Structure? get_structure ();
1596                 public bool has_name (string name);
1597                 [CCode (has_construct_function = false)]
1598                 [Version (since = "1.2")]
1599                 public Message.have_context (Gst.Object? src, owned Gst.Context context);
1600                 [CCode (has_construct_function = false)]
1601                 public Message.info (Gst.Object? src, GLib.Error error, string debug);
1602                 [CCode (has_construct_function = false)]
1603                 [Version (since = "1.10")]
1604                 public Message.info_with_details (Gst.Object? src, GLib.Error error, string debug, owned Gst.Structure details);
1605                 [CCode (has_construct_function = false)]
1606                 public Message.latency (Gst.Object? src);
1607                 [CCode (has_construct_function = false)]
1608                 [Version (since = "1.2")]
1609                 public Message.need_context (Gst.Object? src, string context_type);
1610                 [CCode (has_construct_function = false)]
1611                 public Message.new_clock (Gst.Object? src, Gst.Clock clock);
1612                 public void parse_async_done (out Gst.ClockTime running_time);
1613                 public void parse_buffering (out int percent);
1614                 public void parse_buffering_stats (out Gst.BufferingMode mode, out int avg_in, out int avg_out, out int64 buffering_left);
1615                 public void parse_clock_lost (out unowned Gst.Clock clock);
1616                 public void parse_clock_provide (out unowned Gst.Clock clock, out bool ready);
1617                 [Version (since = "1.2")]
1618                 public bool parse_context_type (out unowned string context_type);
1619                 [Version (since = "1.4")]
1620                 public void parse_device_added (out Gst.Device device);
1621                 [Version (since = "1.4")]
1622                 public void parse_device_removed (out Gst.Device device);
1623                 public void parse_error (out GLib.Error gerror, out string debug);
1624                 [Version (since = "1.10")]
1625                 public void parse_error_details (out unowned Gst.Structure structure);
1626                 [Version (since = "1.2")]
1627                 public bool parse_group_id (out uint group_id);
1628                 [Version (since = "1.2")]
1629                 public void parse_have_context (out Gst.Context context);
1630                 public void parse_info (out GLib.Error gerror, out string debug);
1631                 [Version (since = "1.10")]
1632                 public void parse_info_details (out unowned Gst.Structure structure);
1633                 public void parse_new_clock (out unowned Gst.Clock clock);
1634                 public void parse_progress (out Gst.ProgressType type, out string code, out string text);
1635                 [Version (since = "1.10")]
1636                 public void parse_property_notify (out unowned Gst.Object object, out unowned string property_name, out GLib.Value property_value);
1637                 public void parse_qos (out bool live, out uint64 running_time, out uint64 stream_time, out uint64 timestamp, out uint64 duration);
1638                 public void parse_qos_stats (out Gst.Format format, out uint64 processed, out uint64 dropped);
1639                 public void parse_qos_values (out int64 jitter, out double proportion, out int quality);
1640                 [Version (since = "1.10")]
1641                 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);
1642                 public void parse_request_state (out Gst.State state);
1643                 public void parse_reset_time (out Gst.ClockTime running_time);
1644                 public void parse_segment_done (out Gst.Format format, out int64 position);
1645                 public void parse_segment_start (out Gst.Format format, out int64 position);
1646                 public void parse_state_changed (out Gst.State oldstate, out Gst.State newstate, out Gst.State pending);
1647                 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);
1648                 public void parse_step_start (out bool active, out Gst.Format format, out uint64 amount, out double rate, out bool flush, out bool intermediate);
1649                 [Version (since = "1.10")]
1650                 public void parse_stream_collection (out Gst.StreamCollection collection);
1651                 public void parse_stream_status (out Gst.StreamStatusType type, out unowned Gst.Element owner);
1652                 [Version (since = "1.10")]
1653                 public void parse_streams_selected (out Gst.StreamCollection collection);
1654                 public void parse_structure_change (out Gst.StructureChangeType type, out unowned Gst.Element owner, out bool busy);
1655                 public void parse_tag (out Gst.TagList tag_list);
1656                 public void parse_toc (out Gst.Toc toc, out bool updated);
1657                 public void parse_warning (out GLib.Error gerror, out string debug);
1658                 [Version (since = "1.10")]
1659                 public void parse_warning_details (out unowned Gst.Structure structure);
1660                 [CCode (has_construct_function = false)]
1661                 public Message.progress (Gst.Object src, Gst.ProgressType type, string code, string text);
1662                 [CCode (has_construct_function = false)]
1663                 [Version (since = "1.10")]
1664                 public Message.property_notify (Gst.Object src, string property_name, owned GLib.Value? val);
1665                 [CCode (has_construct_function = false)]
1666                 public Message.qos (Gst.Object src, bool live, uint64 running_time, uint64 stream_time, uint64 timestamp, uint64 duration);
1667                 [CCode (has_construct_function = false)]
1668                 [Version (since = "1.10")]
1669                 public Message.redirect (Gst.Object src, string location, owned Gst.TagList? tag_list, owned Gst.Structure? entry_struct);
1670                 [CCode (has_construct_function = false)]
1671                 public Message.request_state (Gst.Object? src, Gst.State state);
1672                 [CCode (has_construct_function = false)]
1673                 public Message.reset_time (Gst.Object? src, Gst.ClockTime running_time);
1674                 [CCode (has_construct_function = false)]
1675                 public Message.segment_done (Gst.Object? src, Gst.Format format, int64 position);
1676                 [CCode (has_construct_function = false)]
1677                 public Message.segment_start (Gst.Object? src, Gst.Format format, int64 position);
1678                 public void set_buffering_stats (Gst.BufferingMode mode, int avg_in, int avg_out, int64 buffering_left);
1679                 [Version (since = "1.2")]
1680                 public void set_group_id (uint group_id);
1681                 public void set_qos_stats (Gst.Format format, uint64 processed, uint64 dropped);
1682                 public void set_qos_values (int64 jitter, double proportion, int quality);
1683                 public void set_seqnum (uint32 seqnum);
1684                 public void set_stream_status_object (GLib.Value object);
1685                 [CCode (has_construct_function = false)]
1686                 public Message.state_changed (Gst.Object? src, Gst.State oldstate, Gst.State newstate, Gst.State pending);
1687                 [CCode (has_construct_function = false)]
1688                 public Message.state_dirty (Gst.Object? src);
1689                 [CCode (has_construct_function = false)]
1690                 public Message.step_done (Gst.Object src, Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate, uint64 duration, bool eos);
1691                 [CCode (has_construct_function = false)]
1692                 public Message.step_start (Gst.Object src, bool active, Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate);
1693                 [CCode (has_construct_function = false)]
1694                 [Version (since = "1.10")]
1695                 public Message.stream_collection (Gst.Object src, Gst.StreamCollection collection);
1696                 [CCode (has_construct_function = false)]
1697                 public Message.stream_start (Gst.Object? src);
1698                 [CCode (has_construct_function = false)]
1699                 public Message.stream_status (Gst.Object src, Gst.StreamStatusType type, Gst.Element owner);
1700                 [CCode (has_construct_function = false)]
1701                 [Version (since = "1.10")]
1702                 public Message.streams_selected (Gst.Object src, Gst.StreamCollection collection);
1703                 [Version (since = "1.10")]
1704                 public void streams_selected_add (Gst.Stream stream);
1705                 [Version (since = "1.10")]
1706                 public uint streams_selected_get_size ();
1707                 [Version (since = "1.10")]
1708                 public Gst.Stream? streams_selected_get_stream (uint idx);
1709                 [CCode (has_construct_function = false)]
1710                 public Message.structure_change (Gst.Object? src, Gst.StructureChangeType type, Gst.Element owner, bool busy);
1711                 [CCode (has_construct_function = false)]
1712                 public Message.tag (Gst.Object? src, owned Gst.TagList tag_list);
1713                 [CCode (has_construct_function = false)]
1714                 public Message.toc (Gst.Object src, Gst.Toc toc, bool updated);
1715                 [CCode (has_construct_function = false)]
1716                 public Message.warning (Gst.Object? src, GLib.Error error, string debug);
1717                 [CCode (has_construct_function = false)]
1718                 [Version (since = "1.10")]
1719                 public Message.warning_with_details (Gst.Object? src, GLib.Error error, string debug, owned Gst.Structure details);
1720                 [Version (since = "1.14")]
1721                 public unowned Gst.Structure writable_structure ();
1722         }
1723         [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")]
1724         [Compact]
1725         public abstract class MiniObject {
1726                 public weak Gst.MiniObjectDisposeFunction dispose;
1727                 public uint flags;
1728                 public weak Gst.MiniObjectFreeFunction free;
1729                 public int lockstate;
1730                 public int refcount;
1731                 public GLib.Type type;
1732                 [CCode (simple_generics = true)]
1733                 public T get_qdata<T> (GLib.Quark quark);
1734                 public bool is_writable ();
1735                 public bool @lock (Gst.LockFlags flags);
1736                 [ReturnsModifiedPointer]
1737                 public Gst.MiniObject make_writable ();
1738                 public unowned Gst.MiniObject @ref ();
1739                 public static bool replace (ref Gst.MiniObject? olddata, Gst.MiniObject? newdata);
1740                 [CCode (simple_generics = true)]
1741                 public void set_qdata<T> (GLib.Quark quark, owned T data);
1742                 public void* steal_qdata (GLib.Quark quark);
1743                 public static bool take (ref Gst.MiniObject olddata, Gst.MiniObject newdata);
1744                 public void unlock (Gst.LockFlags flags);
1745                 public void unref ();
1746                 public void weak_ref (Gst.MiniObjectNotify notify);
1747                 public void weak_unref (Gst.MiniObjectNotify notify);
1748         }
1749         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_object_get_type ()")]
1750         public abstract class Object : GLib.InitiallyUnowned {
1751                 public uint32 flags;
1752                 public GLib.Mutex @lock;
1753                 [CCode (has_construct_function = false)]
1754                 protected Object ();
1755                 public bool add_control_binding (Gst.ControlBinding binding);
1756                 public static bool check_uniqueness (GLib.List<Gst.Object> list, string name);
1757                 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);
1758                 public void default_error (GLib.Error error, string? debug);
1759                 public Gst.ControlBinding? get_control_binding (string property_name);
1760                 public Gst.ClockTime get_control_rate ();
1761                 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);
1762                 public string? get_name ();
1763                 public Gst.Object? get_parent ();
1764                 public string get_path_string ();
1765                 public GLib.Value? get_value (string property_name, Gst.ClockTime timestamp);
1766                 public bool has_active_control_bindings ();
1767                 [Version (deprecated = true)]
1768                 public bool has_ancestor (Gst.Object ancestor);
1769                 public bool has_as_ancestor (Gst.Object ancestor);
1770                 [Version (since = "1.6")]
1771                 public bool has_as_parent (Gst.Object parent);
1772                 public unowned Gst.Object @ref ();
1773                 public bool remove_control_binding (Gst.ControlBinding binding);
1774                 public static bool replace (ref Gst.Object? oldobj, Gst.Object? newobj);
1775                 public void set_control_binding_disabled (string property_name, bool disabled);
1776                 public void set_control_bindings_disabled (bool disabled);
1777                 public void set_control_rate (Gst.ClockTime control_rate);
1778                 public bool set_name (string? name);
1779                 public bool set_parent (Gst.Object parent);
1780                 public Gst.ClockTime suggest_next_sync ();
1781                 public bool sync_values (Gst.ClockTime timestamp);
1782                 public void unparent ();
1783                 public void unref ();
1784                 public string name { owned get; set construct; }
1785                 public Gst.Object parent { owned get; set; }
1786                 public virtual signal void deep_notify (Gst.Object orig, GLib.ParamSpec pspec);
1787         }
1788         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_pad_get_type ()")]
1789         public class Pad : Gst.Object {
1790                 public void* element_private;
1791                 public weak Gst.PadTemplate padtemplate;
1792                 [CCode (has_construct_function = false, returns_floating_reference = true)]
1793                 public Pad (string? name, Gst.PadDirection direction);
1794                 public bool activate_mode (Gst.PadMode mode, bool active);
1795                 public ulong add_probe (Gst.PadProbeType mask, owned Gst.PadProbeCallback callback);
1796                 public bool can_link (Gst.Pad sinkpad);
1797                 public Gst.FlowReturn chain (owned Gst.Buffer buffer);
1798                 public Gst.FlowReturn chain_list (owned Gst.BufferList list);
1799                 public bool check_reconfigure ();
1800                 public string create_stream_id (Gst.Element parent, string? stream_id);
1801                 [PrintfFormat]
1802                 public string create_stream_id_printf (Gst.Element parent, string? stream_id, ...);
1803                 public string create_stream_id_printf_valist (Gst.Element parent, string? stream_id, va_list var_args);
1804                 public bool event_default (Gst.Object? parent, owned Gst.Event event);
1805                 public bool forward (Gst.PadForwardFunction forward);
1806                 [CCode (has_construct_function = false)]
1807                 public Pad.from_static_template (Gst.StaticPadTemplate templ, string name);
1808                 [CCode (has_construct_function = false, returns_floating_reference = true)]
1809                 public Pad.from_template (Gst.PadTemplate templ, string? name);
1810                 public Gst.Caps? get_allowed_caps ();
1811                 public Gst.Caps? get_current_caps ();
1812                 public Gst.PadDirection get_direction ();
1813                 public void* get_element_private ();
1814                 [Version (since = "1.4")]
1815                 public Gst.FlowReturn get_last_flow_return ();
1816                 public int64 get_offset ();
1817                 public Gst.PadTemplate? get_pad_template ();
1818                 public Gst.Caps get_pad_template_caps ();
1819                 public Gst.Element? get_parent_element ();
1820                 public Gst.Pad? get_peer ();
1821                 public Gst.FlowReturn get_range (uint64 offset, uint size, out Gst.Buffer buffer);
1822                 public Gst.Event? get_sticky_event (Gst.EventType event_type, uint idx);
1823                 [Version (since = "1.10")]
1824                 public Gst.Stream? get_stream ();
1825                 [Version (since = "1.2")]
1826                 public string? get_stream_id ();
1827                 [Version (since = "1.12")]
1828                 public Gst.TaskState get_task_state ();
1829                 public bool has_current_caps ();
1830                 public bool is_active ();
1831                 public bool is_blocked ();
1832                 public bool is_blocking ();
1833                 public bool is_linked ();
1834                 public Gst.Iterator? iterate_internal_links ();
1835                 public Gst.Iterator? iterate_internal_links_default (Gst.Object? parent);
1836                 [CCode (cname = "gst_pad_link_full")]
1837                 public Gst.PadLinkReturn link (Gst.Pad sinkpad, Gst.PadLinkCheck flags = Gst.PadLinkCheck.DEFAULT);
1838                 [Version (since = "1.4")]
1839                 public static unowned string link_get_name (Gst.PadLinkReturn ret);
1840                 [Version (since = "1.10")]
1841                 public bool link_maybe_ghosting (Gst.Pad sink);
1842                 [Version (since = "1.10")]
1843                 public bool link_maybe_ghosting_full (Gst.Pad sink, Gst.PadLinkCheck flags);
1844                 public void mark_reconfigure ();
1845                 public bool needs_reconfigure ();
1846                 public bool pause_task ();
1847                 public bool peer_query (Gst.Query query);
1848                 public bool peer_query_accept_caps (Gst.Caps caps);
1849                 public Gst.Caps peer_query_caps (Gst.Caps? filter);
1850                 public bool peer_query_convert (Gst.Format src_format, int64 src_val, Gst.Format dest_format, out int64 dest_val);
1851                 public bool peer_query_duration (Gst.Format format, out int64 duration);
1852                 public bool peer_query_position (Gst.Format format, out int64 cur);
1853                 public bool proxy_query_accept_caps (Gst.Query query);
1854                 public bool proxy_query_caps (Gst.Query query);
1855                 public Gst.FlowReturn pull_range (uint64 offset, uint size, out Gst.Buffer buffer);
1856                 public Gst.FlowReturn push (owned Gst.Buffer buffer);
1857                 public bool push_event (owned Gst.Event event);
1858                 public Gst.FlowReturn push_list (owned Gst.BufferList list);
1859                 public bool query (Gst.Query query);
1860                 public bool query_accept_caps (Gst.Caps caps);
1861                 public Gst.Caps query_caps (Gst.Caps? filter);
1862                 public bool query_convert (Gst.Format src_format, int64 src_val, Gst.Format dest_format, out int64 dest_val);
1863                 public bool query_default (Gst.Object? parent, Gst.Query query);
1864                 public bool query_duration (Gst.Format format, out int64 duration);
1865                 public bool query_position (Gst.Format format, out int64 cur);
1866                 public void remove_probe (ulong id);
1867                 public bool send_event (owned Gst.Event event);
1868                 [CCode (cname = "gst_pad_set_activate_function_full")]
1869                 public void set_activate_function (Gst.PadActivateFunction activate, void* user_data = null, GLib.DestroyNotify? notify = null);
1870                 [CCode (cname = "gst_pad_set_activatemode_function_full")]
1871                 public void set_activatemode_function (Gst.PadActivateModeFunction activatemode, void* user_data = null, GLib.DestroyNotify? notify = null);
1872                 public bool set_active (bool active);
1873                 [CCode (cname = "gst_pad_set_chain_function_full")]
1874                 public void set_chain_function (Gst.PadChainFunction chain, void* user_data = null, GLib.DestroyNotify? notify = null);
1875                 [CCode (cname = "gst_pad_set_chain_list_function_full")]
1876                 public void set_chain_list_function (Gst.PadChainListFunction chainlist, void* user_data = null, GLib.DestroyNotify? notify = null);
1877                 public void set_element_private (void* priv);
1878                 [Version (since = "1.8")]
1879                 public void set_event_full_function_full (owned Gst.PadEventFullFunction event);
1880                 [CCode (cname = "gst_pad_set_event_function_full")]
1881                 public void set_event_function (Gst.PadEventFunction event, void* user_data = null, GLib.DestroyNotify? notify = null);
1882                 [CCode (cname = "gst_pad_set_getrange_function_full")]
1883                 public void set_getrange_function (Gst.PadGetRangeFunction @get, void* user_data = null, GLib.DestroyNotify? notify = null);
1884                 [CCode (cname = "gst_pad_set_iterate_internal_links_function_full")]
1885                 public void set_iterate_internal_links_function (Gst.PadIterIntLinkFunction iterintlink, void* user_data = null, GLib.DestroyNotify? notify = null);
1886                 [CCode (cname = "gst_pad_set_link_function_full")]
1887                 public void set_link_function (Gst.PadLinkFunction link, void* user_data = null, GLib.DestroyNotify? notify = null);
1888                 public void set_offset (int64 offset);
1889                 [CCode (cname = "gst_pad_set_query_function_full")]
1890                 public void set_query_function (Gst.PadQueryFunction query, void* user_data = null, GLib.DestroyNotify? notify = null);
1891                 [CCode (cname = "gst_pad_set_unlink_function_full")]
1892                 public void set_unlink_function (Gst.PadUnlinkFunction unlink, void* user_data = null, GLib.DestroyNotify? notify = null);
1893                 public bool start_task (owned Gst.TaskFunction func);
1894                 public void sticky_events_foreach (Gst.PadStickyEventsForeachFunction foreach_func);
1895                 public bool stop_task ();
1896                 [Version (since = "1.2")]
1897                 public Gst.FlowReturn store_sticky_event (Gst.Event event);
1898                 public bool unlink (Gst.Pad sinkpad);
1899                 public void use_fixed_caps ();
1900                 [NoAccessorMethod]
1901                 public Gst.Caps caps { owned get; }
1902                 public Gst.PadDirection direction { get; construct; }
1903                 [Version (since = "1.6")]
1904                 public int64 offset { get; set; }
1905                 [NoAccessorMethod]
1906                 public Gst.PadTemplate template { owned get; set; }
1907                 public virtual signal void linked (Gst.Pad peer);
1908                 public virtual signal void unlinked (Gst.Pad peer);
1909         }
1910         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_pad_template_get_type ()")]
1911         public class PadTemplate : Gst.Object {
1912                 [CCode (has_construct_function = false, returns_floating_reference = true)]
1913                 public PadTemplate (string name_template, Gst.PadDirection direction, Gst.PadPresence presence, Gst.Caps caps);
1914                 [CCode (has_construct_function = false)]
1915                 [Version (since = "1.14")]
1916                 public PadTemplate.from_static_pad_template_with_gtype (Gst.StaticPadTemplate pad_template, GLib.Type pad_type);
1917                 public Gst.Caps get_caps ();
1918                 [CCode (has_construct_function = false)]
1919                 [Version (since = "1.14")]
1920                 public PadTemplate.with_gtype (string name_template, Gst.PadDirection direction, Gst.PadPresence presence, Gst.Caps caps, GLib.Type pad_type);
1921                 public Gst.Caps caps { owned get; construct; }
1922                 [NoAccessorMethod]
1923                 public Gst.PadDirection direction { get; construct; }
1924                 [NoAccessorMethod]
1925                 [Version (since = "1.14")]
1926                 public GLib.Type gtype { get; construct; }
1927                 [NoAccessorMethod]
1928                 public string name_template { owned get; construct; }
1929                 [NoAccessorMethod]
1930                 public Gst.PadPresence presence { get; construct; }
1931                 [HasEmitter]
1932                 public virtual signal void pad_created (Gst.Pad pad);
1933         }
1934         [CCode (cheader_filename = "gst/gst.h", lower_case_csuffix = "param_spec_array", type_id = "gst_param_spec_array_get_type ()")]
1935         public class ParamArray : GLib.ParamSpec {
1936                 [CCode (has_construct_function = false)]
1937                 protected ParamArray ();
1938         }
1939         [CCode (cheader_filename = "gst/gst.h", lower_case_csuffix = "param_spec_fraction", type_id = "gst_param_spec_fraction_get_type ()")]
1940         public class ParamFraction : GLib.ParamSpec {
1941                 [CCode (has_construct_function = false)]
1942                 protected ParamFraction ();
1943         }
1944         [CCode (cheader_filename = "gst/gst.h", free_function = "gst_parse_context_free", type_id = "gst_parse_context_get_type ()")]
1945         [Compact]
1946         public class ParseContext {
1947                 [CCode (has_construct_function = false)]
1948                 public ParseContext ();
1949                 public Gst.ParseContext? copy ();
1950                 public void free ();
1951                 [CCode (array_length = false, array_null_terminated = true)]
1952                 public string[]? get_missing_elements ();
1953         }
1954         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_pipeline_get_type ()")]
1955         public class Pipeline : Gst.Bin, Gst.ChildProxy {
1956                 public weak Gst.Clock fixed_clock;
1957                 public Gst.ClockTime stream_time;
1958                 [CCode (has_construct_function = false, returns_floating_reference = true, type = "GstElement*")]
1959                 public Pipeline (string? name);
1960                 public void auto_clock ();
1961                 public bool get_auto_flush_bus ();
1962                 public Gst.Bus get_bus ();
1963                 public Gst.Clock get_clock ();
1964                 public Gst.ClockTime get_delay ();
1965                 [Version (since = "1.6")]
1966                 public Gst.ClockTime get_latency ();
1967                 [Version (since = "1.6")]
1968                 public Gst.Clock get_pipeline_clock ();
1969                 public void set_auto_flush_bus (bool auto_flush);
1970                 public bool set_clock (Gst.Clock clock);
1971                 public void set_delay (Gst.ClockTime delay);
1972                 [Version (since = "1.6")]
1973                 public void set_latency (Gst.ClockTime latency);
1974                 public void use_clock (Gst.Clock? clock);
1975                 public bool auto_flush_bus { get; set; }
1976                 public uint64 delay { get; set; }
1977                 [Version (since = "1.6")]
1978                 public uint64 latency { get; set; }
1979         }
1980         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_plugin_get_type ()")]
1981         public class Plugin : Gst.Object {
1982                 [CCode (has_construct_function = false)]
1983                 protected Plugin ();
1984                 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);
1985                 public void add_dependency_simple (string? env_vars, string? paths, string? names, Gst.PluginDependencyFlags flags);
1986                 public unowned Gst.Structure? get_cache_data ();
1987                 public unowned string get_description ();
1988                 public unowned string get_filename ();
1989                 public unowned string get_license ();
1990                 public unowned string get_name ();
1991                 public unowned string get_origin ();
1992                 public unowned string get_package ();
1993                 public unowned string? get_release_date_string ();
1994                 public unowned string get_source ();
1995                 public unowned string get_version ();
1996                 public bool is_loaded ();
1997                 public static void list_free (owned GLib.List<Gst.Plugin> list);
1998                 public Gst.Plugin? load ();
1999                 public static Gst.Plugin? load_by_name (string name);
2000                 public static Gst.Plugin load_file (string filename) throws GLib.Error;
2001                 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);
2002                 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);
2003                 public void set_cache_data (owned Gst.Structure cache_data);
2004         }
2005         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_plugin_feature_get_type ()")]
2006         public abstract class PluginFeature : Gst.Object {
2007                 [CCode (has_construct_function = false)]
2008                 protected PluginFeature ();
2009                 public bool check_version (uint min_major, uint min_minor, uint min_micro);
2010                 public Gst.Plugin? get_plugin ();
2011                 [Version (since = "1.2")]
2012                 public unowned string? get_plugin_name ();
2013                 public uint get_rank ();
2014                 public static GLib.List<Gst.PluginFeature> list_copy (GLib.List<Gst.PluginFeature> list);
2015                 public static void list_debug (GLib.List<Gst.PluginFeature> list);
2016                 public static void list_free (owned GLib.List<Gst.PluginFeature> list);
2017                 public Gst.PluginFeature? load ();
2018                 public static int rank_compare_func (void* p1, void* p2);
2019                 public void set_rank (uint rank);
2020         }
2021         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2022         [Compact]
2023         public class Poll {
2024                 [CCode (has_construct_function = false)]
2025                 public Poll (bool controllable);
2026                 public bool add_fd (Gst.PollFD fd);
2027                 public bool fd_can_read (Gst.PollFD fd);
2028                 public bool fd_can_write (Gst.PollFD fd);
2029                 public bool fd_ctl_read (Gst.PollFD fd, bool active);
2030                 public bool fd_ctl_write (Gst.PollFD fd, bool active);
2031                 public bool fd_has_closed (Gst.PollFD fd);
2032                 public bool fd_has_error (Gst.PollFD fd);
2033                 public void fd_ignored (Gst.PollFD fd);
2034                 public void free ();
2035                 public void get_read_gpollfd (GLib.PollFD fd);
2036                 public bool read_control ();
2037                 public bool remove_fd (Gst.PollFD fd);
2038                 public void restart ();
2039                 public bool set_controllable (bool controllable);
2040                 public void set_flushing (bool flushing);
2041                 [CCode (has_construct_function = false)]
2042                 public Poll.timer ();
2043                 public int wait (Gst.ClockTime timeout);
2044                 public bool write_control ();
2045         }
2046         [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_promise_get_type ()")]
2047         [Compact]
2048         [Version (since = "1.14")]
2049         public class Promise {
2050                 public weak Gst.MiniObject parent;
2051                 [CCode (has_construct_function = false)]
2052                 public Promise ();
2053                 public void expire ();
2054                 public unowned Gst.Structure get_reply ();
2055                 public void interrupt ();
2056                 public void reply (owned Gst.Structure s);
2057                 public Gst.PromiseResult wait ();
2058                 [CCode (has_construct_function = false)]
2059                 public Promise.with_change_func (owned Gst.PromiseChangeFunc func);
2060         }
2061         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_proxy_pad_get_type ()")]
2062         public class ProxyPad : Gst.Pad {
2063                 [CCode (has_construct_function = false)]
2064                 protected ProxyPad ();
2065                 public static Gst.FlowReturn chain_default (Gst.Pad pad, Gst.Object? parent, owned Gst.Buffer buffer);
2066                 public static Gst.FlowReturn chain_list_default (Gst.Pad pad, Gst.Object? parent, owned Gst.BufferList list);
2067                 public Gst.ProxyPad? get_internal ();
2068                 public static Gst.FlowReturn getrange_default (Gst.Pad pad, Gst.Object parent, uint64 offset, uint size, out Gst.Buffer buffer);
2069                 public static Gst.Iterator? iterate_internal_links_default (Gst.Pad pad, Gst.Object? parent);
2070         }
2071         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_query_ref", type_id = "gst_query_get_type ()", unref_function = "gst_query_unref")]
2072         [Compact]
2073         public class Query : Gst.MiniObject {
2074                 public Gst.QueryType type;
2075                 [CCode (has_construct_function = false)]
2076                 public Query.accept_caps (Gst.Caps caps);
2077                 public void add_allocation_meta (GLib.Type api, Gst.Structure? @params);
2078                 public void add_allocation_param (Gst.Allocator? allocator, Gst.AllocationParams? @params);
2079                 public void add_allocation_pool (Gst.BufferPool? pool, uint size, uint min_buffers, uint max_buffers);
2080                 public bool add_buffering_range (int64 start, int64 stop);
2081                 public void add_scheduling_mode (Gst.PadMode mode);
2082                 [CCode (has_construct_function = false)]
2083                 public Query.allocation (Gst.Caps caps, bool need_pool);
2084                 [CCode (has_construct_function = false)]
2085                 public Query.buffering (Gst.Format format);
2086                 [CCode (has_construct_function = false)]
2087                 public Query.caps (Gst.Caps filter);
2088                 [CCode (has_construct_function = false)]
2089                 [Version (since = "1.2")]
2090                 public Query.context (string context_type);
2091                 [CCode (has_construct_function = false)]
2092                 public Query.convert (Gst.Format src_format, int64 value, Gst.Format dest_format);
2093                 [CCode (has_construct_function = false)]
2094                 public Query.custom (Gst.QueryType type, owned Gst.Structure? structure);
2095                 [CCode (has_construct_function = false)]
2096                 public Query.drain ();
2097                 [CCode (has_construct_function = false)]
2098                 public Query.duration (Gst.Format format);
2099                 public bool find_allocation_meta (GLib.Type api, out uint index);
2100                 [CCode (has_construct_function = false)]
2101                 public Query.formats ();
2102                 public uint get_n_allocation_metas ();
2103                 public uint get_n_allocation_params ();
2104                 public uint get_n_allocation_pools ();
2105                 public uint get_n_buffering_ranges ();
2106                 public uint get_n_scheduling_modes ();
2107                 public unowned Gst.Structure? get_structure ();
2108                 public bool has_scheduling_mode (Gst.PadMode mode);
2109                 public bool has_scheduling_mode_with_flags (Gst.PadMode mode, Gst.SchedulingFlags flags);
2110                 [CCode (has_construct_function = false)]
2111                 public Query.latency ();
2112                 public void parse_accept_caps (out unowned Gst.Caps caps);
2113                 public void parse_accept_caps_result (out bool result);
2114                 public void parse_allocation (out unowned Gst.Caps caps, out bool need_pool);
2115                 public void parse_buffering_percent (out bool busy, out int percent);
2116                 public void parse_buffering_range (out Gst.Format format, out int64 start, out int64 stop, out int64 estimated_total);
2117                 public void parse_buffering_stats (out Gst.BufferingMode mode, out int avg_in, out int avg_out, out int64 buffering_left);
2118                 public void parse_caps (out unowned Gst.Caps filter);
2119                 public void parse_caps_result (out unowned Gst.Caps caps);
2120                 [Version (since = "1.2")]
2121                 public void parse_context (out unowned Gst.Context context);
2122                 [Version (since = "1.2")]
2123                 public bool parse_context_type (out unowned string context_type);
2124                 public void parse_convert (out Gst.Format src_format, out int64 src_value, out Gst.Format dest_format, out int64 dest_value);
2125                 public void parse_duration (out Gst.Format format, out int64 duration);
2126                 public void parse_latency (out bool live, out Gst.ClockTime min_latency, out Gst.ClockTime max_latency);
2127                 public void parse_n_formats (out uint n_formats);
2128                 public GLib.Type parse_nth_allocation_meta (uint index, out unowned Gst.Structure @params);
2129                 public void parse_nth_allocation_param (uint index, out Gst.Allocator allocator, out unowned Gst.AllocationParams @params);
2130                 public void parse_nth_allocation_pool (uint index, out Gst.BufferPool pool, out uint size, out uint min_buffers, out uint max_buffers);
2131                 public bool parse_nth_buffering_range (uint index, out int64 start, out int64 stop);
2132                 public void parse_nth_format (uint nth, out Gst.Format format);
2133                 public Gst.PadMode parse_nth_scheduling_mode (uint index);
2134                 public void parse_position (out Gst.Format format, out int64 cur);
2135                 public void parse_scheduling (out Gst.SchedulingFlags flags, out int minsize, out int maxsize, out int align);
2136                 public void parse_seeking (out Gst.Format format, out bool seekable, out int64 segment_start, out int64 segment_end);
2137                 public void parse_segment (out double rate, out Gst.Format format, out int64 start_value, out int64 stop_value);
2138                 public void parse_uri (out string uri);
2139                 [Version (since = "1.2")]
2140                 public void parse_uri_redirection (out string uri);
2141                 [Version (since = "1.4")]
2142                 public void parse_uri_redirection_permanent (out bool permanent);
2143                 [CCode (has_construct_function = false)]
2144                 public Query.position (Gst.Format format);
2145                 public void remove_nth_allocation_meta (uint index);
2146                 [Version (since = "1.2")]
2147                 public void remove_nth_allocation_param (uint index);
2148                 [Version (since = "1.2")]
2149                 public void remove_nth_allocation_pool (uint index);
2150                 [CCode (has_construct_function = false)]
2151                 public Query.scheduling ();
2152                 [CCode (has_construct_function = false)]
2153                 public Query.seeking (Gst.Format format);
2154                 [CCode (has_construct_function = false)]
2155                 public Query.segment (Gst.Format format);
2156                 public void set_accept_caps_result (bool result);
2157                 public void set_buffering_percent (bool busy, int percent);
2158                 public void set_buffering_range (Gst.Format format, int64 start, int64 stop, int64 estimated_total);
2159                 public void set_buffering_stats (Gst.BufferingMode mode, int avg_in, int avg_out, int64 buffering_left);
2160                 public void set_caps_result (Gst.Caps caps);
2161                 [Version (since = "1.2")]
2162                 public void set_context (Gst.Context context);
2163                 public void set_convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value);
2164                 public void set_duration (Gst.Format format, int64 duration);
2165                 [CCode (sentinel = "")]
2166                 public void set_formats (int n_formats, params Gst.Format[] formats);
2167                 public void set_formatsv ([CCode (array_length_cname = "n_formats", array_length_pos = 0.5)] Gst.Format[] formats);
2168                 public void set_latency (bool live, Gst.ClockTime min_latency, Gst.ClockTime max_latency);
2169                 public void set_nth_allocation_param (uint index, Gst.Allocator? allocator, Gst.AllocationParams? @params);
2170                 public void set_nth_allocation_pool (uint index, Gst.BufferPool? pool, uint size, uint min_buffers, uint max_buffers);
2171                 public void set_position (Gst.Format format, int64 cur);
2172                 public void set_scheduling (Gst.SchedulingFlags flags, int minsize, int maxsize, int align);
2173                 public void set_seeking (Gst.Format format, bool seekable, int64 segment_start, int64 segment_end);
2174                 public void set_segment (double rate, Gst.Format format, int64 start_value, int64 stop_value);
2175                 public void set_uri (string uri);
2176                 [Version (since = "1.2")]
2177                 public void set_uri_redirection (string uri);
2178                 [Version (since = "1.4")]
2179                 public void set_uri_redirection_permanent (bool permanent);
2180                 [CCode (has_construct_function = false)]
2181                 public Query.uri ();
2182                 public unowned Gst.Structure writable_structure ();
2183         }
2184         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_registry_get_type ()")]
2185         public class Registry : Gst.Object {
2186                 [CCode (has_construct_function = false)]
2187                 protected Registry ();
2188                 public bool add_feature (Gst.PluginFeature feature);
2189                 public bool add_plugin (Gst.Plugin plugin);
2190                 public bool check_feature_version (string feature_name, uint min_major, uint min_minor, uint min_micro);
2191                 public GLib.List<Gst.PluginFeature> feature_filter ([CCode (delegate_target_pos = 2.1)] Gst.PluginFeatureFilter filter, bool first);
2192                 public Gst.PluginFeature? find_feature (string name, GLib.Type type);
2193                 public Gst.Plugin? find_plugin (string name);
2194                 public static bool fork_is_enabled ();
2195                 public static void fork_set_enabled (bool enabled);
2196                 public static unowned Gst.Registry @get ();
2197                 public GLib.List<Gst.PluginFeature> get_feature_list (GLib.Type type);
2198                 public GLib.List<Gst.PluginFeature> get_feature_list_by_plugin (string name);
2199                 public uint32 get_feature_list_cookie ();
2200                 public GLib.List<Gst.Plugin> get_plugin_list ();
2201                 public Gst.Plugin? lookup (string filename);
2202                 public Gst.PluginFeature lookup_feature (string name);
2203                 public GLib.List<Gst.Plugin> plugin_filter ([CCode (delegate_target_pos = 2.1)] Gst.PluginFilter filter, bool first);
2204                 public void remove_feature (Gst.PluginFeature feature);
2205                 public void remove_plugin (Gst.Plugin plugin);
2206                 public bool scan_path (string path);
2207                 public signal void feature_added (Gst.PluginFeature feature);
2208                 public signal void plugin_added (Gst.Plugin plugin);
2209         }
2210         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_sample_ref", type_id = "gst_sample_get_type ()", unref_function = "gst_sample_unref")]
2211         [Compact]
2212         public class Sample : Gst.MiniObject {
2213                 [CCode (has_construct_function = false)]
2214                 public Sample (Gst.Buffer? buffer, Gst.Caps? caps, Gst.Segment? segment, owned Gst.Structure? info);
2215                 public unowned Gst.Buffer? get_buffer ();
2216                 [Version (since = "1.6")]
2217                 public unowned Gst.BufferList? get_buffer_list ();
2218                 public unowned Gst.Caps? get_caps ();
2219                 public unowned Gst.Structure? get_info ();
2220                 public unowned Gst.Segment get_segment ();
2221                 [Version (since = "1.6")]
2222                 public void set_buffer_list (Gst.BufferList buffer_list);
2223         }
2224         [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_segment_copy", free_function = "gst_segment_free", type_id = "gst_segment_get_type ()")]
2225         [Compact]
2226         public class Segment {
2227                 public double applied_rate;
2228                 public uint64 @base;
2229                 public uint64 duration;
2230                 public Gst.SegmentFlags flags;
2231                 public Gst.Format format;
2232                 public uint64 offset;
2233                 public uint64 position;
2234                 public double rate;
2235                 public uint64 start;
2236                 public uint64 stop;
2237                 public uint64 time;
2238                 [CCode (has_construct_function = false)]
2239                 public Segment ();
2240                 public bool clip (Gst.Format format, uint64 start, uint64 stop, out uint64 clip_start, out uint64 clip_stop);
2241                 public Gst.Segment copy ();
2242                 public void copy_into (Gst.Segment dest);
2243                 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);
2244                 public void free ();
2245                 public void init (Gst.Format format);
2246                 [Version (since = "1.6")]
2247                 public bool is_equal (Gst.Segment s1);
2248                 [Version (since = "1.2.3")]
2249                 public bool offset_running_time (Gst.Format format, int64 offset);
2250                 [Version (since = "1.8")]
2251                 public uint64 position_from_running_time (Gst.Format format, uint64 running_time);
2252                 [Version (since = "1.8")]
2253                 public int position_from_running_time_full (Gst.Format format, uint64 running_time, out uint64 position);
2254                 [Version (since = "1.8")]
2255                 public uint64 position_from_stream_time (Gst.Format format, uint64 stream_time);
2256                 [Version (since = "1.8")]
2257                 public int position_from_stream_time_full (Gst.Format format, uint64 stream_time, out uint64 position);
2258                 public bool set_running_time (Gst.Format format, uint64 running_time);
2259                 [Version (deprecated = true)]
2260                 public uint64 to_position (Gst.Format format, uint64 running_time);
2261                 public uint64 to_running_time (Gst.Format format, uint64 position);
2262                 [Version (since = "1.6")]
2263                 public int to_running_time_full (Gst.Format format, uint64 position, out uint64 running_time);
2264                 [Version (since = "1.8")]
2265                 public uint64 to_stream_time (Gst.Format format, uint64 position);
2266                 [Version (since = "1.8")]
2267                 public int to_stream_time_full (Gst.Format format, uint64 position, out uint64 stream_time);
2268         }
2269         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_stream_get_type ()")]
2270         [Version (since = "1.10")]
2271         public class Stream : Gst.Object {
2272                 [CCode (has_construct_function = false)]
2273                 public Stream (string? stream_id, Gst.Caps? caps, Gst.StreamType type, Gst.StreamFlags flags);
2274                 public Gst.Caps? get_caps ();
2275                 public Gst.StreamFlags get_stream_flags ();
2276                 public unowned string? get_stream_id ();
2277                 public Gst.StreamType get_stream_type ();
2278                 public Gst.TagList? get_tags ();
2279                 public void set_caps (Gst.Caps? caps);
2280                 public void set_stream_flags (Gst.StreamFlags flags);
2281                 public void set_stream_type (Gst.StreamType stream_type);
2282                 public void set_tags (Gst.TagList? tags);
2283                 public Gst.Caps caps { owned get; set; }
2284                 public Gst.StreamFlags stream_flags { get; set construct; }
2285                 public string stream_id { get; construct; }
2286                 public Gst.StreamType stream_type { get; set construct; }
2287                 public Gst.TagList tags { owned get; set; }
2288         }
2289         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_stream_collection_get_type ()")]
2290         [Version (since = "1.10")]
2291         public class StreamCollection : Gst.Object {
2292                 [CCode (has_construct_function = false)]
2293                 public StreamCollection (string? upstream_id);
2294                 public bool add_stream (owned Gst.Stream stream);
2295                 public uint get_size ();
2296                 public unowned Gst.Stream? get_stream (uint index);
2297                 public unowned string get_upstream_id ();
2298                 [NoAccessorMethod]
2299                 public string upstream_id { owned get; set construct; }
2300                 public virtual signal void stream_notify (Gst.Stream stream, GLib.ParamSpec pspec);
2301         }
2302         [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_structure_copy", free_function = "gst_structure_free", type_id = "gst_structure_get_type ()")]
2303         [Compact]
2304         public class Structure {
2305                 public GLib.Type type;
2306                 [CCode (has_construct_function = false)]
2307                 public Structure (string name, string firstfield, ...);
2308                 public bool can_intersect (Gst.Structure struct2);
2309                 public Gst.Structure copy ();
2310                 [CCode (has_construct_function = false)]
2311                 public Structure.empty (string name);
2312                 [Version (since = "1.6")]
2313                 public void filter_and_map_in_place (Gst.StructureFilterMapFunc func);
2314                 public void fixate ();
2315                 public bool fixate_field (string field_name);
2316                 public bool fixate_field_boolean (string field_name, bool target);
2317                 public bool fixate_field_nearest_double (string field_name, double target);
2318                 public bool fixate_field_nearest_fraction (string field_name, int target_numerator, int target_denominator);
2319                 public bool fixate_field_nearest_int (string field_name, int target);
2320                 public bool fixate_field_string (string field_name, string target);
2321                 public bool @foreach (Gst.StructureForeachFunc func);
2322                 public void free ();
2323                 public static Gst.Structure? from_string (string string, out unowned string end);
2324                 public bool @get (...);
2325                 public bool get_array (string fieldname, out GLib.ValueArray array);
2326                 public bool get_boolean (string fieldname, out bool value);
2327                 public bool get_clock_time (string fieldname, out Gst.ClockTime value);
2328                 public bool get_date (string fieldname, out GLib.Date value);
2329                 public bool get_date_time (string fieldname, out Gst.DateTime value);
2330                 public bool get_double (string fieldname, out double value);
2331                 public bool get_enum (string fieldname, GLib.Type enumtype, out int value);
2332                 public GLib.Type get_field_type (string fieldname);
2333                 [Version (since = "1.6")]
2334                 public bool get_flagset (string fieldname, out uint value_flags, out uint value_mask);
2335                 public bool get_fraction (string fieldname, out int value_numerator, out int value_denominator);
2336                 public bool get_int (string fieldname, out int value);
2337                 [Version (since = "1.4")]
2338                 public bool get_int64 (string fieldname, out int64 value);
2339                 public bool get_list (string fieldname, out GLib.ValueArray array);
2340                 public unowned string get_name ();
2341                 public GLib.Quark get_name_id ();
2342                 public unowned string? get_string (string fieldname);
2343                 public bool get_uint (string fieldname, out uint value);
2344                 [Version (since = "1.4")]
2345                 public bool get_uint64 (string fieldname, out uint64 value);
2346                 public bool get_valist (string first_fieldname, va_list args);
2347                 public unowned GLib.Value? get_value (string fieldname);
2348                 public bool has_field (string fieldname);
2349                 public bool has_field_typed (string fieldname, GLib.Type type);
2350                 public bool has_name (string name);
2351                 [CCode (has_construct_function = false)]
2352                 public Structure.id_empty (GLib.Quark quark);
2353                 public bool id_get (...);
2354                 public bool id_get_valist (GLib.Quark first_field_id, va_list args);
2355                 public unowned GLib.Value? id_get_value (GLib.Quark field);
2356                 public bool id_has_field (GLib.Quark field);
2357                 public bool id_has_field_typed (GLib.Quark field, GLib.Type type);
2358                 public void id_set (GLib.Quark fieldname, ...);
2359                 public void id_set_valist (GLib.Quark fieldname, va_list varargs);
2360                 public void id_set_value (GLib.Quark field, GLib.Value value);
2361                 public void id_take_value (GLib.Quark field, owned GLib.Value value);
2362                 public Gst.Structure? intersect (Gst.Structure struct2);
2363                 public bool is_equal (Gst.Structure structure2);
2364                 public bool is_subset (Gst.Structure superset);
2365                 public bool map_in_place (Gst.StructureMapFunc func);
2366                 public int n_fields ();
2367                 public unowned string nth_field_name (uint index);
2368                 public void remove_all_fields ();
2369                 public void remove_field (string fieldname);
2370                 public void remove_fields (params string[] field_names);
2371                 public void remove_fields_valist (string fieldname, va_list varargs);
2372                 public void @set (string fieldname, ...);
2373                 public void set_array (string fieldname, GLib.ValueArray array);
2374                 public void set_list (string fieldname, GLib.ValueArray array);
2375                 public void set_name (string name);
2376                 public bool set_parent_refcount (int refcount);
2377                 public void set_valist (string fieldname, va_list varargs);
2378                 public void set_value (string fieldname, GLib.Value value);
2379                 public void take_value (string fieldname, owned GLib.Value value);
2380                 public string to_string ();
2381                 [CCode (has_construct_function = false)]
2382                 public Structure.valist (string name, string firstfield, va_list varargs);
2383         }
2384         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_system_clock_get_type ()")]
2385         public class SystemClock : Gst.Clock {
2386                 [CCode (has_construct_function = false)]
2387                 protected SystemClock ();
2388                 public static Gst.Clock obtain ();
2389                 [Version (since = "1.4")]
2390                 public static void set_default (Gst.Clock? new_clock);
2391                 [NoAccessorMethod]
2392                 public Gst.ClockType clock_type { get; set; }
2393         }
2394         [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")]
2395         [Compact]
2396         public class TagList : Gst.MiniObject {
2397                 public void add (Gst.TagMergeMode mode, string tag, ...);
2398                 public void add_valist (Gst.TagMergeMode mode, string tag, va_list var_args);
2399                 public void add_valist_values (Gst.TagMergeMode mode, string tag, va_list var_args);
2400                 public void add_value (Gst.TagMergeMode mode, string tag, GLib.Value value);
2401                 public void add_values (Gst.TagMergeMode mode, string tag, ...);
2402                 [CCode (has_construct_function = false)]
2403                 public TagList.empty ();
2404                 public void @foreach (Gst.TagForeachFunc func);
2405                 [CCode (has_construct_function = false)]
2406                 public TagList.from_string (string str);
2407                 public bool get_boolean (string tag, out bool value);
2408                 public bool get_boolean_index (string tag, uint index, out bool value);
2409                 public bool get_date (string tag, out GLib.Date value);
2410                 public bool get_date_index (string tag, uint index, out GLib.Date value);
2411                 public bool get_date_time (string tag, out Gst.DateTime value);
2412                 public bool get_date_time_index (string tag, uint index, out Gst.DateTime value);
2413                 public bool get_double (string tag, out double value);
2414                 public bool get_double_index (string tag, uint index, out double value);
2415                 public bool get_float (string tag, out float value);
2416                 public bool get_float_index (string tag, uint index, out float value);
2417                 public bool get_int (string tag, out int value);
2418                 public bool get_int64 (string tag, out int64 value);
2419                 public bool get_int64_index (string tag, uint index, out int64 value);
2420                 public bool get_int_index (string tag, uint index, out int value);
2421                 public bool get_pointer (string tag, out void* value);
2422                 public bool get_pointer_index (string tag, uint index, out void* value);
2423                 public bool get_sample (string tag, out Gst.Sample sample);
2424                 public bool get_sample_index (string tag, uint index, out Gst.Sample sample);
2425                 public Gst.TagScope get_scope ();
2426                 public bool get_string (string tag, out string value);
2427                 public bool get_string_index (string tag, uint index, out string value);
2428                 public uint get_tag_size (string tag);
2429                 public bool get_uint (string tag, out uint value);
2430                 public bool get_uint64 (string tag, out uint64 value);
2431                 public bool get_uint64_index (string tag, uint index, out uint64 value);
2432                 public bool get_uint_index (string tag, uint index, out uint value);
2433                 public unowned GLib.Value? get_value_index (string tag, uint index);
2434                 public void insert (Gst.TagList from, Gst.TagMergeMode mode);
2435                 public bool is_empty ();
2436                 public bool is_equal (Gst.TagList list2);
2437                 public Gst.TagList? merge (Gst.TagList? list2, Gst.TagMergeMode mode);
2438                 public int n_tags ();
2439                 public unowned string nth_tag_name (uint index);
2440                 public bool peek_string_index (string tag, uint index, out unowned string value);
2441                 public void remove_tag (string tag);
2442                 public void set_scope (Gst.TagScope scope);
2443                 public string? to_string ();
2444                 [CCode (has_construct_function = false)]
2445                 public TagList.valist (va_list var_args);
2446         }
2447         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_task_get_type ()")]
2448         public class Task : Gst.Object {
2449                 public GLib.Cond cond;
2450                 public weak Gst.TaskFunction func;
2451                 public GLib.RecMutex @lock;
2452                 public weak GLib.DestroyNotify notify;
2453                 public bool running;
2454                 public Gst.TaskState state;
2455                 public void* user_data;
2456                 [CCode (has_construct_function = false)]
2457                 public Task (owned Gst.TaskFunction func);
2458                 public static void cleanup_all ();
2459                 public Gst.TaskPool get_pool ();
2460                 public Gst.TaskState get_state ();
2461                 public bool join ();
2462                 public bool pause ();
2463                 public void set_enter_callback (owned Gst.TaskThreadFunc enter_func);
2464                 public void set_leave_callback (owned Gst.TaskThreadFunc leave_func);
2465                 public void set_lock (GLib.RecMutex mutex);
2466                 public void set_pool (Gst.TaskPool pool);
2467                 public bool set_state (Gst.TaskState state);
2468                 public bool start ();
2469                 public bool stop ();
2470         }
2471         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_task_pool_get_type ()")]
2472         public class TaskPool : Gst.Object {
2473                 [CCode (has_construct_function = false)]
2474                 public TaskPool ();
2475                 public virtual void cleanup ();
2476                 public virtual void join (void* id);
2477                 public virtual void prepare () throws GLib.Error;
2478                 public virtual void* push ([CCode (scope = "async")] Gst.TaskPoolFunction func) throws GLib.Error;
2479         }
2480         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_toc_ref", type_id = "gst_toc_get_type ()", unref_function = "gst_toc_unref")]
2481         [Compact]
2482         public class Toc : Gst.MiniObject {
2483                 [CCode (has_construct_function = false)]
2484                 public Toc (Gst.TocScope scope);
2485                 public void append_entry (owned Gst.TocEntry entry);
2486                 public void dump ();
2487                 public unowned Gst.TocEntry? find_entry (string uid);
2488                 public unowned GLib.List<Gst.TocEntry> get_entries ();
2489                 public Gst.TocScope get_scope ();
2490                 public unowned Gst.TagList get_tags ();
2491                 public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
2492                 public void set_tags (owned Gst.TagList? tags);
2493         }
2494         [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")]
2495         [Compact]
2496         public class TocEntry : Gst.MiniObject {
2497                 [CCode (has_construct_function = false)]
2498                 public TocEntry (Gst.TocEntryType type, string uid);
2499                 public void append_sub_entry (owned Gst.TocEntry subentry);
2500                 public Gst.TocEntryType get_entry_type ();
2501                 [Version (since = "1.4")]
2502                 public bool get_loop (out Gst.TocLoopType loop_type, out int repeat_count);
2503                 public unowned Gst.TocEntry? get_parent ();
2504                 public bool get_start_stop_times (out int64 start, out int64 stop);
2505                 public unowned GLib.List<Gst.TocEntry> get_sub_entries ();
2506                 public unowned Gst.TagList get_tags ();
2507                 public unowned Gst.Toc get_toc ();
2508                 public unowned string get_uid ();
2509                 public bool is_alternative ();
2510                 public bool is_sequence ();
2511                 public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
2512                 [Version (since = "1.4")]
2513                 public void set_loop (Gst.TocLoopType loop_type, int repeat_count);
2514                 public void set_start_stop_times (int64 start, int64 stop);
2515                 public void set_tags (owned Gst.TagList? tags);
2516         }
2517         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_tracer_get_type ()")]
2518         public abstract class Tracer : Gst.Object {
2519                 [CCode (has_construct_function = false)]
2520                 protected Tracer ();
2521                 [NoAccessorMethod]
2522                 public string @params { owned get; set construct; }
2523         }
2524         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_tracer_factory_get_type ()")]
2525         [Version (since = "1.8")]
2526         public class TracerFactory : Gst.PluginFeature {
2527                 [CCode (has_construct_function = false)]
2528                 protected TracerFactory ();
2529                 public static GLib.List<Gst.TracerFactory> get_list ();
2530                 public GLib.Type get_tracer_type ();
2531         }
2532         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_tracer_record_get_type ()")]
2533         public class TracerRecord : Gst.Object {
2534                 [CCode (has_construct_function = false)]
2535                 protected TracerRecord ();
2536         }
2537         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_type_find_factory_get_type ()")]
2538         public class TypeFindFactory : Gst.PluginFeature {
2539                 [CCode (has_construct_function = false)]
2540                 protected TypeFindFactory ();
2541                 public void call_function (Gst.TypeFind find);
2542                 public unowned Gst.Caps get_caps ();
2543                 [CCode (array_length = false, array_null_terminated = true)]
2544                 public unowned string[]? get_extensions ();
2545                 public static GLib.List<Gst.TypeFindFactory> get_list ();
2546                 public bool has_function ();
2547         }
2548         [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_uri_get_type ()")]
2549         [Compact]
2550         public class Uri {
2551                 [CCode (has_construct_function = false)]
2552                 [Version (since = "1.6")]
2553                 public Uri (string? scheme, string? userinfo, string? host, uint port, string? path, string? query, string? fragment);
2554                 [Version (since = "1.6")]
2555                 public bool append_path (string relative_path);
2556                 [Version (since = "1.6")]
2557                 public bool append_path_segment (string path_segment);
2558                 [Version (since = "1.6")]
2559                 public bool equal (Gst.Uri second);
2560                 [Version (since = "1.6")]
2561                 public Gst.Uri from_string_with_base (string uri);
2562                 [Version (since = "1.6")]
2563                 public unowned string? get_fragment ();
2564                 [Version (since = "1.6")]
2565                 public unowned string? get_host ();
2566                 [Version (since = "1.12")]
2567                 public GLib.HashTable<string,string>? get_media_fragment_table ();
2568                 [Version (since = "1.6")]
2569                 public string get_path ();
2570                 [Version (since = "1.6")]
2571                 public GLib.List<string> get_path_segments ();
2572                 [Version (since = "1.6")]
2573                 public string? get_path_string ();
2574                 [Version (since = "1.6")]
2575                 public uint get_port ();
2576                 [Version (since = "1.6")]
2577                 public GLib.List<weak string> get_query_keys ();
2578                 [Version (since = "1.6")]
2579                 public string? get_query_string ();
2580                 [Version (since = "1.6")]
2581                 public GLib.HashTable<string,string>? get_query_table ();
2582                 [Version (since = "1.6")]
2583                 public unowned string? get_query_value (string query_key);
2584                 public unowned string? get_scheme ();
2585                 [Version (since = "1.6")]
2586                 public unowned string? get_userinfo ();
2587                 [Version (since = "1.6")]
2588                 public bool is_normalized ();
2589                 [Version (since = "1.6")]
2590                 public bool is_writable ();
2591                 [Version (since = "1.6")]
2592                 public Gst.Uri? join (Gst.Uri? ref_uri);
2593                 [ReturnsModifiedPointer]
2594                 [Version (since = "1.6")]
2595                 public Gst.Uri make_writable ();
2596                 [Version (since = "1.6")]
2597                 public Gst.Uri new_with_base (string? scheme, string? userinfo, string? host, uint port, string? path, string? query, string? fragment);
2598                 [Version (since = "1.6")]
2599                 public bool normalize ();
2600                 [Version (since = "1.6")]
2601                 public bool query_has_key (string query_key);
2602                 [Version (since = "1.6")]
2603                 public bool remove_query_key (string query_key);
2604                 [Version (since = "1.6")]
2605                 public bool set_fragment (string? fragment);
2606                 [Version (since = "1.6")]
2607                 public bool set_host (string host);
2608                 [Version (since = "1.6")]
2609                 public bool set_path (string path);
2610                 [Version (since = "1.6")]
2611                 public bool set_path_segments (owned GLib.List<string>? path_segments);
2612                 [Version (since = "1.6")]
2613                 public bool set_path_string (string path);
2614                 [Version (since = "1.6")]
2615                 public bool set_port (uint port);
2616                 [Version (since = "1.6")]
2617                 public bool set_query_string (string query);
2618                 [Version (since = "1.6")]
2619                 public bool set_query_table (GLib.HashTable<string,string>? query_table);
2620                 [Version (since = "1.6")]
2621                 public bool set_query_value (string query_key, string? query_value);
2622                 [Version (since = "1.6")]
2623                 public bool set_scheme (string scheme);
2624                 [Version (since = "1.6")]
2625                 public bool set_userinfo (string userinfo);
2626                 [Version (since = "1.6")]
2627                 public string to_string ();
2628         }
2629         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_value_array_get_type ()")]
2630         public class ValueArray {
2631                 [CCode (has_construct_function = false)]
2632                 protected ValueArray ();
2633                 [Version (since = "1.2")]
2634                 public static void append_and_take_value (GLib.Value value, owned GLib.Value append_value);
2635                 public static void append_value (GLib.Value value, GLib.Value append_value);
2636                 public static uint get_size (GLib.Value value);
2637                 public static unowned GLib.Value? get_value (GLib.Value value, uint index);
2638                 public static void prepend_value (GLib.Value value, GLib.Value prepend_value);
2639         }
2640         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_value_list_get_type ()")]
2641         public class ValueList {
2642                 [CCode (has_construct_function = false)]
2643                 protected ValueList ();
2644                 [Version (since = "1.2")]
2645                 public static void append_and_take_value (GLib.Value value, owned GLib.Value append_value);
2646                 public static void append_value (GLib.Value value, GLib.Value append_value);
2647                 public static void concat (out GLib.Value dest, GLib.Value value1, GLib.Value value2);
2648                 public static uint get_size (GLib.Value value);
2649                 public static unowned GLib.Value? get_value (GLib.Value value, uint index);
2650                 public static void merge (out GLib.Value dest, GLib.Value value1, GLib.Value value2);
2651                 public static void prepend_value (GLib.Value value, GLib.Value prepend_value);
2652         }
2653         [CCode (cheader_filename = "gst/gst.h", type_cname = "GstChildProxyInterface", type_id = "gst_child_proxy_get_type ()")]
2654         public interface ChildProxy : GLib.Object {
2655                 public void @get (...);
2656                 public abstract GLib.Object? get_child_by_index (uint index);
2657                 public abstract GLib.Object? get_child_by_name (string name);
2658                 public abstract uint get_children_count ();
2659                 public GLib.Value get_property (string name);
2660                 public void get_valist (string first_property_name, va_list var_args);
2661                 public bool lookup (string name, out GLib.Object target, out unowned GLib.ParamSpec pspec);
2662                 public void @set (...);
2663                 public void set_property (string name, GLib.Value value);
2664                 public void set_valist (string first_property_name, va_list var_args);
2665                 [HasEmitter]
2666                 public virtual signal void child_added (GLib.Object child, string name);
2667                 [HasEmitter]
2668                 public virtual signal void child_removed (GLib.Object child, string name);
2669         }
2670         [CCode (cheader_filename = "gst/gst.h", type_cname = "GstPresetInterface", type_id = "gst_preset_get_type ()")]
2671         public interface Preset : GLib.Object {
2672                 public abstract bool delete_preset (string name);
2673                 public static unowned string? get_app_dir ();
2674                 public abstract bool get_meta (string name, string tag, out string value);
2675                 [CCode (array_length = false, array_null_terminated = true)]
2676                 public abstract string[] get_preset_names ();
2677                 [CCode (array_length = false, array_null_terminated = true)]
2678                 public abstract string[] get_property_names ();
2679                 [Version (since = "1.6")]
2680                 public bool is_editable ();
2681                 public abstract bool load_preset (string name);
2682                 public abstract bool rename_preset (string old_name, string new_name);
2683                 public abstract bool save_preset (string name);
2684                 public static bool set_app_dir (string app_dir);
2685                 public abstract bool set_meta (string name, string tag, string? value);
2686         }
2687         [CCode (cheader_filename = "gst/gst.h", type_cname = "GstTagSetterInterface", type_id = "gst_tag_setter_get_type ()")]
2688         public interface TagSetter : Gst.Element {
2689                 public void add_tag_valist (Gst.TagMergeMode mode, string tag, va_list var_args);
2690                 public void add_tag_valist_values (Gst.TagMergeMode mode, string tag, va_list var_args);
2691                 public void add_tag_value (Gst.TagMergeMode mode, string tag, GLib.Value value);
2692                 public void add_tag_values (Gst.TagMergeMode mode, string tag, ...);
2693                 public void add_tags (Gst.TagMergeMode mode, string tag, ...);
2694                 public unowned Gst.TagList? get_tag_list ();
2695                 public Gst.TagMergeMode get_tag_merge_mode ();
2696                 public void merge_tags (Gst.TagList list, Gst.TagMergeMode mode);
2697                 public void reset_tags ();
2698                 public void set_tag_merge_mode (Gst.TagMergeMode mode);
2699         }
2700         [CCode (cheader_filename = "gst/gst.h", type_cname = "GstTocSetterInterface", type_id = "gst_toc_setter_get_type ()")]
2701         public interface TocSetter : Gst.Element {
2702                 public Gst.Toc? get_toc ();
2703                 public void reset ();
2704                 public void set_toc (Gst.Toc? toc);
2705         }
2706         [CCode (cheader_filename = "gst/gst.h", type_cname = "GstURIHandlerInterface", type_id = "gst_uri_handler_get_type ()")]
2707         public interface URIHandler : GLib.Object {
2708                 [CCode (array_length = false, array_null_terminated = true)]
2709                 public abstract unowned string[]? get_protocols ();
2710                 public abstract string? get_uri ();
2711                 [CCode (vfunc_name = "get_type")]
2712                 public abstract Gst.URIType get_uri_type ();
2713                 public abstract bool set_uri (string uri) throws GLib.Error;
2714         }
2715         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2716         public struct BufferPoolAcquireParams {
2717                 public Gst.Format format;
2718                 public int64 start;
2719                 public int64 stop;
2720                 public Gst.BufferPoolAcquireFlags flags;
2721         }
2722         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2723         public struct ClockEntry {
2724                 public int refcount;
2725                 public weak Gst.Clock clock;
2726                 public Gst.ClockEntryType type;
2727                 public Gst.ClockTime time;
2728                 public Gst.ClockTime interval;
2729                 public Gst.ClockReturn status;
2730                 public weak Gst.ClockCallback func;
2731                 public void* user_data;
2732                 public weak GLib.DestroyNotify destroy_data;
2733                 public bool unscheduled;
2734                 public bool woken_up;
2735         }
2736         [CCode (cheader_filename = "gst/gst.h")]
2737         [SimpleType]
2738         public struct ClockID {
2739         }
2740         [CCode (cheader_filename = "gst/gst.h")]
2741         [SimpleType]
2742         public struct ClockTime : uint64 {
2743         }
2744         [CCode (cheader_filename = "gst/gst.h")]
2745         [SimpleType]
2746         public struct ClockTimeDiff : int64 {
2747         }
2748         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2749         public struct DebugCategory {
2750                 public void free ();
2751                 public uint get_color ();
2752                 public unowned string get_description ();
2753                 public unowned string get_name ();
2754                 public Gst.DebugLevel get_threshold ();
2755                 public void reset_threshold ();
2756                 public void set_threshold (Gst.DebugLevel level);
2757         }
2758         [CCode (cheader_filename = "gst/gst.h")]
2759         [SimpleType]
2760         public struct ElementFactoryListType : uint64 {
2761         }
2762         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2763         public struct FormatDefinition {
2764                 public Gst.Format value;
2765                 public weak string nick;
2766                 public weak string description;
2767                 public GLib.Quark quark;
2768         }
2769         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2770         public struct MapInfo {
2771                 public weak Gst.Memory memory;
2772                 public Gst.MapFlags flags;
2773                 [CCode (array_length_cname = "size", array_length_type = "gsize")]
2774                 public weak uint8[] data;
2775                 public size_t size;
2776                 public size_t maxsize;
2777                 [CCode (array_length = false)]
2778                 public weak void* user_data[4];
2779         }
2780         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2781         public struct Meta {
2782                 public Gst.MetaFlags flags;
2783                 public Gst.MetaInfo info;
2784                 [CCode (array_length = false, array_null_terminated = true)]
2785                 [Version (since = "1.2")]
2786                 public static unowned string[] api_type_get_tags (GLib.Type api);
2787                 public static bool api_type_has_tag (GLib.Type api, GLib.Quark tag);
2788                 public static GLib.Type api_type_register (string api, [CCode (array_length = false, array_null_terminated = true)] string[] tags);
2789                 public static unowned Gst.MetaInfo? get_info (string impl);
2790                 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);
2791         }
2792         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2793         public struct MetaInfo {
2794                 public GLib.Type api;
2795                 public GLib.Type type;
2796                 public size_t size;
2797                 public weak Gst.MetaInitFunction init_func;
2798                 public weak Gst.MetaFreeFunction free_func;
2799                 public weak Gst.MetaTransformFunction transform_func;
2800         }
2801         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2802         public struct MetaTransformCopy {
2803                 public bool region;
2804                 public size_t offset;
2805                 public size_t size;
2806         }
2807         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2808         public struct PadProbeInfo {
2809                 public Gst.PadProbeType type;
2810                 public ulong id;
2811                 public void* data;
2812                 public uint64 offset;
2813                 public uint size;
2814                 public unowned Gst.Buffer? get_buffer ();
2815                 public unowned Gst.BufferList? get_buffer_list ();
2816                 public unowned Gst.Event? get_event ();
2817                 public unowned Gst.Query? get_query ();
2818         }
2819         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2820         public struct ParamSpecArray {
2821                 public weak GLib.ParamSpec parent_instance;
2822                 public weak GLib.ParamSpec element_spec;
2823         }
2824         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2825         public struct ParamSpecFraction {
2826                 public weak GLib.ParamSpec parent_instance;
2827                 public int min_num;
2828                 public int min_den;
2829                 public int max_num;
2830                 public int max_den;
2831                 public int def_num;
2832                 public int def_den;
2833         }
2834         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2835         [Version (since = "1.6")]
2836         public struct ParentBufferMeta {
2837                 public Gst.Meta parent;
2838                 public weak Gst.Buffer buffer;
2839                 public static GLib.Type api_get_type ();
2840                 public static unowned Gst.MetaInfo? get_info ();
2841         }
2842         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2843         public struct PluginDesc {
2844                 public int major_version;
2845                 public int minor_version;
2846                 public weak string name;
2847                 public weak string description;
2848                 public weak Gst.PluginInitFunc plugin_init;
2849                 public weak string version;
2850                 public weak string license;
2851                 public weak string source;
2852                 public weak string package;
2853                 public weak string origin;
2854                 public weak string release_datetime;
2855         }
2856         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2857         public struct PollFD {
2858                 public int fd;
2859                 public void init ();
2860         }
2861         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2862         [Version (since = "1.6")]
2863         public struct ProtectionMeta {
2864                 public Gst.Meta meta;
2865                 public weak Gst.Structure info;
2866                 public static GLib.Type api_get_type ();
2867                 public static unowned Gst.MetaInfo? get_info ();
2868         }
2869         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2870         [Version (since = "1.14")]
2871         public struct ReferenceTimestampMeta {
2872                 public Gst.Meta parent;
2873                 public weak Gst.Caps reference;
2874                 public Gst.ClockTime timestamp;
2875                 public Gst.ClockTime duration;
2876                 public static GLib.Type api_get_type ();
2877                 public static unowned Gst.MetaInfo? get_info ();
2878         }
2879         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2880         public struct StaticCaps {
2881                 public weak Gst.Caps caps;
2882                 public weak global::string string;
2883                 public void cleanup ();
2884                 public Gst.Caps? @get ();
2885                 public static GLib.Type get_type ();
2886         }
2887         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2888         public struct StaticPadTemplate {
2889                 public weak string name_template;
2890                 public Gst.PadDirection direction;
2891                 public Gst.PadPresence presence;
2892                 public Gst.StaticCaps static_caps;
2893                 public unowned Gst.PadTemplate? @get ();
2894                 public Gst.Caps get_caps ();
2895                 public static GLib.Type get_type ();
2896         }
2897         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2898         public struct TimedValue {
2899                 public Gst.ClockTime timestamp;
2900                 public double value;
2901         }
2902         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2903         public struct TypeFind {
2904                 public void* data;
2905                 public static GLib.Type get_type ();
2906                 [CCode (array_length_pos = 1.1, array_length_type = "guint")]
2907                 public unowned uint8[]? peek (int64 offset);
2908                 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);
2909                 public void suggest (uint probability, Gst.Caps caps);
2910                 public void suggest_simple (uint probability, string media_type, string? fieldname, ...);
2911         }
2912         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2913         public struct ValueTable {
2914                 public GLib.Type type;
2915                 public weak Gst.ValueCompareFunc compare;
2916                 public weak Gst.ValueSerializeFunc serialize;
2917                 public weak Gst.ValueDeserializeFunc deserialize;
2918         }
2919         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ALLOCATOR_FLAG_", type_id = "gst_allocator_flags_get_type ()")]
2920         [Flags]
2921         public enum AllocatorFlags {
2922                 CUSTOM_ALLOC,
2923                 LAST
2924         }
2925         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BIN_FLAG_", type_id = "gst_bin_flags_get_type ()")]
2926         [Flags]
2927         public enum BinFlags {
2928                 NO_RESYNC,
2929                 STREAMS_AWARE,
2930                 LAST
2931         }
2932         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_COPY_", type_id = "gst_buffer_copy_flags_get_type ()")]
2933         [Flags]
2934         public enum BufferCopyFlags {
2935                 NONE,
2936                 FLAGS,
2937                 TIMESTAMPS,
2938                 META,
2939                 MEMORY,
2940                 MERGE,
2941                 DEEP
2942         }
2943         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_FLAG_", type_id = "gst_buffer_flags_get_type ()")]
2944         [Flags]
2945         public enum BufferFlags {
2946                 LIVE,
2947                 DECODE_ONLY,
2948                 DISCONT,
2949                 RESYNC,
2950                 CORRUPTED,
2951                 MARKER,
2952                 HEADER,
2953                 GAP,
2954                 DROPPABLE,
2955                 DELTA_UNIT,
2956                 TAG_MEMORY,
2957                 SYNC_AFTER,
2958                 NON_DROPPABLE,
2959                 LAST
2960         }
2961         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_POOL_ACQUIRE_FLAG_", type_id = "gst_buffer_pool_acquire_flags_get_type ()")]
2962         [Flags]
2963         public enum BufferPoolAcquireFlags {
2964                 NONE,
2965                 KEY_UNIT,
2966                 DONTWAIT,
2967                 DISCONT,
2968                 LAST
2969         }
2970         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFERING_", type_id = "gst_buffering_mode_get_type ()")]
2971         public enum BufferingMode {
2972                 STREAM,
2973                 DOWNLOAD,
2974                 TIMESHIFT,
2975                 LIVE
2976         }
2977         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUS_", type_id = "gst_bus_flags_get_type ()")]
2978         [Flags]
2979         public enum BusFlags {
2980                 FLUSHING,
2981                 FLAG_LAST
2982         }
2983         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUS_", type_id = "gst_bus_sync_reply_get_type ()")]
2984         public enum BusSyncReply {
2985                 DROP,
2986                 PASS,
2987                 ASYNC
2988         }
2989         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CAPS_FLAG_", type_id = "gst_caps_flags_get_type ()")]
2990         [Flags]
2991         public enum CapsFlags {
2992                 ANY
2993         }
2994         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CAPS_INTERSECT_", type_id = "gst_caps_intersect_mode_get_type ()")]
2995         public enum CapsIntersectMode {
2996                 ZIG_ZAG,
2997                 FIRST
2998         }
2999         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_ENTRY_", type_id = "gst_clock_entry_type_get_type ()")]
3000         public enum ClockEntryType {
3001                 SINGLE,
3002                 PERIODIC
3003         }
3004         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_FLAG_", type_id = "gst_clock_flags_get_type ()")]
3005         [Flags]
3006         public enum ClockFlags {
3007                 CAN_DO_SINGLE_SYNC,
3008                 CAN_DO_SINGLE_ASYNC,
3009                 CAN_DO_PERIODIC_SYNC,
3010                 CAN_DO_PERIODIC_ASYNC,
3011                 CAN_SET_RESOLUTION,
3012                 CAN_SET_MASTER,
3013                 NEEDS_STARTUP_SYNC,
3014                 LAST
3015         }
3016         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_", type_id = "gst_clock_return_get_type ()")]
3017         public enum ClockReturn {
3018                 OK,
3019                 EARLY,
3020                 UNSCHEDULED,
3021                 BUSY,
3022                 BADTIME,
3023                 ERROR,
3024                 UNSUPPORTED,
3025                 DONE
3026         }
3027         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_TYPE_", type_id = "gst_clock_type_get_type ()")]
3028         public enum ClockType {
3029                 REALTIME,
3030                 MONOTONIC,
3031                 OTHER
3032         }
3033         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_DEBUG_", type_id = "gst_debug_color_flags_get_type ()")]
3034         [Flags]
3035         public enum DebugColorFlags {
3036                 FG_BLACK,
3037                 FG_RED,
3038                 FG_GREEN,
3039                 FG_YELLOW,
3040                 FG_BLUE,
3041                 FG_MAGENTA,
3042                 FG_CYAN,
3043                 FG_WHITE,
3044                 BG_BLACK,
3045                 BG_RED,
3046                 BG_GREEN,
3047                 BG_YELLOW,
3048                 BG_BLUE,
3049                 BG_MAGENTA,
3050                 BG_CYAN,
3051                 BG_WHITE,
3052                 BOLD,
3053                 UNDERLINE
3054         }
3055         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_DEBUG_COLOR_MODE_", type_id = "gst_debug_color_mode_get_type ()")]
3056         public enum DebugColorMode {
3057                 OFF,
3058                 ON,
3059                 UNIX
3060         }
3061         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_DEBUG_GRAPH_SHOW_", type_id = "gst_debug_graph_details_get_type ()")]
3062         [Flags]
3063         public enum DebugGraphDetails {
3064                 MEDIA_TYPE,
3065                 CAPS_DETAILS,
3066                 NON_DEFAULT_PARAMS,
3067                 STATES,
3068                 FULL_PARAMS,
3069                 ALL,
3070                 VERBOSE
3071         }
3072         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LEVEL_", type_id = "gst_debug_level_get_type ()")]
3073         public enum DebugLevel {
3074                 NONE,
3075                 ERROR,
3076                 WARNING,
3077                 FIXME,
3078                 INFO,
3079                 DEBUG,
3080                 LOG,
3081                 TRACE,
3082                 MEMDUMP,
3083                 COUNT
3084         }
3085         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ELEMENT_FLAG_", type_id = "gst_element_flags_get_type ()")]
3086         [Flags]
3087         public enum ElementFlags {
3088                 LOCKED_STATE,
3089                 SINK,
3090                 SOURCE,
3091                 PROVIDE_CLOCK,
3092                 REQUIRE_CLOCK,
3093                 INDEXABLE,
3094                 LAST
3095         }
3096         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_EVENT_", type_id = "gst_event_type_get_type ()")]
3097         public enum EventType {
3098                 UNKNOWN,
3099                 FLUSH_START,
3100                 FLUSH_STOP,
3101                 STREAM_START,
3102                 CAPS,
3103                 SEGMENT,
3104                 STREAM_COLLECTION,
3105                 TAG,
3106                 BUFFERSIZE,
3107                 SINK_MESSAGE,
3108                 STREAM_GROUP_DONE,
3109                 EOS,
3110                 TOC,
3111                 PROTECTION,
3112                 SEGMENT_DONE,
3113                 GAP,
3114                 QOS,
3115                 SEEK,
3116                 NAVIGATION,
3117                 LATENCY,
3118                 STEP,
3119                 RECONFIGURE,
3120                 TOC_SELECT,
3121                 SELECT_STREAMS,
3122                 CUSTOM_UPSTREAM,
3123                 CUSTOM_DOWNSTREAM,
3124                 CUSTOM_DOWNSTREAM_OOB,
3125                 CUSTOM_DOWNSTREAM_STICKY,
3126                 CUSTOM_BOTH,
3127                 CUSTOM_BOTH_OOB;
3128                 public Gst.EventTypeFlags get_flags ();
3129                 public unowned string get_name ();
3130                 public GLib.Quark to_quark ();
3131         }
3132         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_EVENT_TYPE_", type_id = "gst_event_type_flags_get_type ()")]
3133         [Flags]
3134         public enum EventTypeFlags {
3135                 UPSTREAM,
3136                 DOWNSTREAM,
3137                 SERIALIZED,
3138                 STICKY,
3139                 STICKY_MULTI
3140         }
3141         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_FLOW_", type_id = "gst_flow_return_get_type ()")]
3142         public enum FlowReturn {
3143                 CUSTOM_SUCCESS_2,
3144                 CUSTOM_SUCCESS_1,
3145                 CUSTOM_SUCCESS,
3146                 OK,
3147                 NOT_LINKED,
3148                 FLUSHING,
3149                 EOS,
3150                 NOT_NEGOTIATED,
3151                 ERROR,
3152                 NOT_SUPPORTED,
3153                 CUSTOM_ERROR,
3154                 CUSTOM_ERROR_1,
3155                 CUSTOM_ERROR_2;
3156                 [CCode (cname = "gst_flow_get_name")]
3157                 public unowned string get_name ();
3158         }
3159         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_FORMAT_", type_id = "gst_format_get_type ()")]
3160         public enum Format {
3161                 UNDEFINED,
3162                 DEFAULT,
3163                 BYTES,
3164                 TIME,
3165                 BUFFERS,
3166                 PERCENT;
3167                 [CCode (cname = "gst_formats_contains")]
3168                 public static bool contains ([CCode (array_length = false, array_null_terminated = true)] Gst.Format[] formats, Gst.Format format);
3169                 public static Gst.Format get_by_nick (string nick);
3170                 public unowned Gst.FormatDefinition? get_details ();
3171                 public unowned string? get_name ();
3172                 public static Gst.Iterator iterate_definitions ();
3173                 public static Gst.Format register (string nick, string description);
3174                 public GLib.Quark to_quark ();
3175         }
3176         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ITERATOR_ITEM_", type_id = "gst_iterator_item_get_type ()")]
3177         public enum IteratorItem {
3178                 SKIP,
3179                 PASS,
3180                 END
3181         }
3182         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ITERATOR_", type_id = "gst_iterator_result_get_type ()")]
3183         public enum IteratorResult {
3184                 DONE,
3185                 OK,
3186                 RESYNC,
3187                 ERROR
3188         }
3189         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LOCK_FLAG_", type_id = "gst_lock_flags_get_type ()")]
3190         [Flags]
3191         public enum LockFlags {
3192                 READ,
3193                 WRITE,
3194                 EXCLUSIVE,
3195                 LAST
3196         }
3197         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MAP_", type_id = "gst_map_flags_get_type ()")]
3198         [Flags]
3199         public enum MapFlags {
3200                 READ,
3201                 WRITE,
3202                 FLAG_LAST
3203         }
3204         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MEMORY_FLAG_", type_id = "gst_memory_flags_get_type ()")]
3205         [Flags]
3206         public enum MemoryFlags {
3207                 READONLY,
3208                 NO_SHARE,
3209                 ZERO_PREFIXED,
3210                 ZERO_PADDED,
3211                 PHYSICALLY_CONTIGUOUS,
3212                 NOT_MAPPABLE,
3213                 LAST
3214         }
3215         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MESSAGE_", type_id = "gst_message_type_get_type ()")]
3216         [Flags]
3217         public enum MessageType {
3218                 UNKNOWN,
3219                 EOS,
3220                 ERROR,
3221                 WARNING,
3222                 INFO,
3223                 TAG,
3224                 BUFFERING,
3225                 STATE_CHANGED,
3226                 STATE_DIRTY,
3227                 STEP_DONE,
3228                 CLOCK_PROVIDE,
3229                 CLOCK_LOST,
3230                 NEW_CLOCK,
3231                 STRUCTURE_CHANGE,
3232                 STREAM_STATUS,
3233                 APPLICATION,
3234                 ELEMENT,
3235                 SEGMENT_START,
3236                 SEGMENT_DONE,
3237                 DURATION_CHANGED,
3238                 LATENCY,
3239                 ASYNC_START,
3240                 ASYNC_DONE,
3241                 REQUEST_STATE,
3242                 STEP_START,
3243                 QOS,
3244                 PROGRESS,
3245                 TOC,
3246                 RESET_TIME,
3247                 STREAM_START,
3248                 NEED_CONTEXT,
3249                 HAVE_CONTEXT,
3250                 EXTENDED,
3251                 DEVICE_ADDED,
3252                 DEVICE_REMOVED,
3253                 PROPERTY_NOTIFY,
3254                 STREAM_COLLECTION,
3255                 STREAMS_SELECTED,
3256                 REDIRECT,
3257                 ANY;
3258                 public unowned string get_name ();
3259                 public GLib.Quark to_quark ();
3260         }
3261         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_META_FLAG_", type_id = "gst_meta_flags_get_type ()")]
3262         [Flags]
3263         public enum MetaFlags {
3264                 NONE,
3265                 READONLY,
3266                 POOLED,
3267                 LOCKED,
3268                 LAST
3269         }
3270         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MINI_OBJECT_FLAG_", type_id = "gst_mini_object_flags_get_type ()")]
3271         [Flags]
3272         public enum MiniObjectFlags {
3273                 LOCKABLE,
3274                 LOCK_READONLY,
3275                 MAY_BE_LEAKED,
3276                 LAST
3277         }
3278         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_OBJECT_FLAG_", type_id = "gst_object_flags_get_type ()")]
3279         [Flags]
3280         public enum ObjectFlags {
3281                 MAY_BE_LEAKED,
3282                 LAST
3283         }
3284         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_", type_id = "gst_pad_direction_get_type ()")]
3285         public enum PadDirection {
3286                 UNKNOWN,
3287                 SRC,
3288                 SINK
3289         }
3290         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_FLAG_", type_id = "gst_pad_flags_get_type ()")]
3291         [Flags]
3292         public enum PadFlags {
3293                 BLOCKED,
3294                 FLUSHING,
3295                 EOS,
3296                 BLOCKING,
3297                 NEED_PARENT,
3298                 NEED_RECONFIGURE,
3299                 PENDING_EVENTS,
3300                 FIXED_CAPS,
3301                 PROXY_CAPS,
3302                 PROXY_ALLOCATION,
3303                 PROXY_SCHEDULING,
3304                 ACCEPT_INTERSECT,
3305                 ACCEPT_TEMPLATE,
3306                 LAST
3307         }
3308         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_LINK_CHECK_", type_id = "gst_pad_link_check_get_type ()")]
3309         [Flags]
3310         public enum PadLinkCheck {
3311                 NOTHING,
3312                 HIERARCHY,
3313                 TEMPLATE_CAPS,
3314                 CAPS,
3315                 NO_RECONFIGURE,
3316                 DEFAULT
3317         }
3318         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_LINK_", type_id = "gst_pad_link_return_get_type ()")]
3319         public enum PadLinkReturn {
3320                 OK,
3321                 WRONG_HIERARCHY,
3322                 WAS_LINKED,
3323                 WRONG_DIRECTION,
3324                 NOFORMAT,
3325                 NOSCHED,
3326                 REFUSED
3327         }
3328         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_MODE_", type_id = "gst_pad_mode_get_type ()")]
3329         public enum PadMode {
3330                 NONE,
3331                 PUSH,
3332                 PULL;
3333                 public unowned string get_name ();
3334         }
3335         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_", type_id = "gst_pad_presence_get_type ()")]
3336         public enum PadPresence {
3337                 ALWAYS,
3338                 SOMETIMES,
3339                 REQUEST
3340         }
3341         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_PROBE_", type_id = "gst_pad_probe_return_get_type ()")]
3342         public enum PadProbeReturn {
3343                 DROP,
3344                 OK,
3345                 REMOVE,
3346                 PASS,
3347                 HANDLED
3348         }
3349         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_PROBE_TYPE_", type_id = "gst_pad_probe_type_get_type ()")]
3350         [Flags]
3351         public enum PadProbeType {
3352                 INVALID,
3353                 IDLE,
3354                 BLOCK,
3355                 BUFFER,
3356                 BUFFER_LIST,
3357                 EVENT_DOWNSTREAM,
3358                 EVENT_UPSTREAM,
3359                 EVENT_FLUSH,
3360                 QUERY_DOWNSTREAM,
3361                 QUERY_UPSTREAM,
3362                 PUSH,
3363                 PULL,
3364                 BLOCKING,
3365                 DATA_DOWNSTREAM,
3366                 DATA_UPSTREAM,
3367                 DATA_BOTH,
3368                 BLOCK_DOWNSTREAM,
3369                 BLOCK_UPSTREAM,
3370                 EVENT_BOTH,
3371                 QUERY_BOTH,
3372                 ALL_BOTH,
3373                 SCHEDULING
3374         }
3375         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_TEMPLATE_FLAG_", type_id = "gst_pad_template_flags_get_type ()")]
3376         [Flags]
3377         public enum PadTemplateFlags {
3378                 LAST
3379         }
3380         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PARSE_FLAG_", type_id = "gst_parse_flags_get_type ()")]
3381         [Flags]
3382         public enum ParseFlags {
3383                 NONE,
3384                 FATAL_ERRORS,
3385                 NO_SINGLE_ELEMENT_BINS,
3386                 PLACE_IN_BIN
3387         }
3388         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PIPELINE_FLAG_", type_id = "gst_pipeline_flags_get_type ()")]
3389         [Flags]
3390         public enum PipelineFlags {
3391                 FIXED_CLOCK,
3392                 LAST
3393         }
3394         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PLUGIN_DEPENDENCY_FLAG_", type_id = "gst_plugin_dependency_flags_get_type ()")]
3395         [Flags]
3396         public enum PluginDependencyFlags {
3397                 NONE,
3398                 RECURSE,
3399                 PATHS_ARE_DEFAULT_ONLY,
3400                 FILE_NAME_IS_SUFFIX,
3401                 FILE_NAME_IS_PREFIX,
3402                 PATHS_ARE_RELATIVE_TO_EXE
3403         }
3404         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PLUGIN_FLAG_", type_id = "gst_plugin_flags_get_type ()")]
3405         [Flags]
3406         public enum PluginFlags {
3407                 CACHED,
3408                 BLACKLISTED
3409         }
3410         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PROGRESS_TYPE_", type_id = "gst_progress_type_get_type ()")]
3411         public enum ProgressType {
3412                 START,
3413                 CONTINUE,
3414                 COMPLETE,
3415                 CANCELED,
3416                 ERROR
3417         }
3418         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PROMISE_RESULT_", type_id = "gst_promise_result_get_type ()")]
3419         [Version (since = "1.14")]
3420         public enum PromiseResult {
3421                 PENDING,
3422                 INTERRUPTED,
3423                 REPLIED,
3424                 EXPIRED
3425         }
3426         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_QOS_TYPE_", type_id = "gst_qos_type_get_type ()")]
3427         public enum QOSType {
3428                 OVERFLOW,
3429                 UNDERFLOW,
3430                 THROTTLE
3431         }
3432         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_QUERY_", type_id = "gst_query_type_get_type ()")]
3433         public enum QueryType {
3434                 UNKNOWN,
3435                 POSITION,
3436                 DURATION,
3437                 LATENCY,
3438                 JITTER,
3439                 RATE,
3440                 SEEKING,
3441                 SEGMENT,
3442                 CONVERT,
3443                 FORMATS,
3444                 BUFFERING,
3445                 CUSTOM,
3446                 URI,
3447                 ALLOCATION,
3448                 SCHEDULING,
3449                 ACCEPT_CAPS,
3450                 CAPS,
3451                 DRAIN,
3452                 CONTEXT;
3453                 public Gst.QueryTypeFlags get_flags ();
3454                 public unowned string get_name ();
3455                 public GLib.Quark to_quark ();
3456         }
3457         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_QUERY_TYPE_", type_id = "gst_query_type_flags_get_type ()")]
3458         [Flags]
3459         public enum QueryTypeFlags {
3460                 UPSTREAM,
3461                 DOWNSTREAM,
3462                 SERIALIZED
3463         }
3464         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_RANK_", type_id = "gst_rank_get_type ()")]
3465         public enum Rank {
3466                 NONE,
3467                 MARGINAL,
3468                 SECONDARY,
3469                 PRIMARY
3470         }
3471         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SCHEDULING_FLAG_", type_id = "gst_scheduling_flags_get_type ()")]
3472         [Flags]
3473         public enum SchedulingFlags {
3474                 SEEKABLE,
3475                 SEQUENTIAL,
3476                 BANDWIDTH_LIMITED
3477         }
3478         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEARCH_MODE_", type_id = "gst_search_mode_get_type ()")]
3479         public enum SearchMode {
3480                 EXACT,
3481                 BEFORE,
3482                 AFTER
3483         }
3484         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEEK_FLAG_", type_id = "gst_seek_flags_get_type ()")]
3485         [Flags]
3486         public enum SeekFlags {
3487                 NONE,
3488                 FLUSH,
3489                 ACCURATE,
3490                 KEY_UNIT,
3491                 SEGMENT,
3492                 TRICKMODE,
3493                 SKIP,
3494                 SNAP_BEFORE,
3495                 SNAP_AFTER,
3496                 SNAP_NEAREST,
3497                 TRICKMODE_KEY_UNITS,
3498                 TRICKMODE_NO_AUDIO
3499         }
3500         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEEK_TYPE_", type_id = "gst_seek_type_get_type ()")]
3501         public enum SeekType {
3502                 NONE,
3503                 SET,
3504                 END
3505         }
3506         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEGMENT_FLAG_", type_id = "gst_segment_flags_get_type ()")]
3507         [Flags]
3508         public enum SegmentFlags {
3509                 NONE,
3510                 RESET,
3511                 TRICKMODE,
3512                 SKIP,
3513                 SEGMENT,
3514                 TRICKMODE_KEY_UNITS,
3515                 TRICKMODE_NO_AUDIO
3516         }
3517         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STACK_TRACE_SHOW_", type_id = "gst_stack_trace_flags_get_type ()")]
3518         [Flags]
3519         [Version (since = "1.12")]
3520         public enum StackTraceFlags {
3521                 FULL
3522         }
3523         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_", type_id = "gst_state_get_type ()")]
3524         public enum State {
3525                 VOID_PENDING,
3526                 NULL,
3527                 READY,
3528                 PAUSED,
3529                 PLAYING
3530         }
3531         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_CHANGE_", type_id = "gst_state_change_get_type ()")]
3532         public enum StateChange {
3533                 NULL_TO_READY,
3534                 READY_TO_PAUSED,
3535                 PAUSED_TO_PLAYING,
3536                 PLAYING_TO_PAUSED,
3537                 PAUSED_TO_READY,
3538                 READY_TO_NULL,
3539                 NULL_TO_NULL,
3540                 READY_TO_READY,
3541                 PAUSED_TO_PAUSED,
3542                 PLAYING_TO_PLAYING;
3543                 [Version (since = "1.14")]
3544                 public unowned string get_name ();
3545         }
3546         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_CHANGE_", type_id = "gst_state_change_return_get_type ()")]
3547         public enum StateChangeReturn {
3548                 FAILURE,
3549                 SUCCESS,
3550                 ASYNC,
3551                 NO_PREROLL
3552         }
3553         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_FLAG_", type_id = "gst_stream_flags_get_type ()")]
3554         [Flags]
3555         [Version (since = "1.2")]
3556         public enum StreamFlags {
3557                 NONE,
3558                 SPARSE,
3559                 SELECT,
3560                 UNSELECT
3561         }
3562         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_STATUS_TYPE_", type_id = "gst_stream_status_type_get_type ()")]
3563         public enum StreamStatusType {
3564                 CREATE,
3565                 ENTER,
3566                 LEAVE,
3567                 DESTROY,
3568                 START,
3569                 PAUSE,
3570                 STOP
3571         }
3572         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_TYPE_", type_id = "gst_stream_type_get_type ()")]
3573         [Flags]
3574         [Version (since = "1.10")]
3575         public enum StreamType {
3576                 UNKNOWN,
3577                 AUDIO,
3578                 VIDEO,
3579                 CONTAINER,
3580                 TEXT;
3581                 public unowned string? get_name ();
3582         }
3583         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STRUCTURE_CHANGE_TYPE_PAD_", type_id = "gst_structure_change_type_get_type ()")]
3584         public enum StructureChangeType {
3585                 LINK,
3586                 UNLINK
3587         }
3588         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TAG_FLAG_", type_id = "gst_tag_flag_get_type ()")]
3589         public enum TagFlag {
3590                 UNDEFINED,
3591                 META,
3592                 ENCODED,
3593                 DECODED,
3594                 COUNT
3595         }
3596         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TAG_MERGE_", type_id = "gst_tag_merge_mode_get_type ()")]
3597         public enum TagMergeMode {
3598                 UNDEFINED,
3599                 REPLACE_ALL,
3600                 REPLACE,
3601                 APPEND,
3602                 PREPEND,
3603                 KEEP,
3604                 KEEP_ALL,
3605                 COUNT
3606         }
3607         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TAG_SCOPE_", type_id = "gst_tag_scope_get_type ()")]
3608         public enum TagScope {
3609                 STREAM,
3610                 GLOBAL
3611         }
3612         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TASK_", type_id = "gst_task_state_get_type ()")]
3613         public enum TaskState {
3614                 STARTED,
3615                 STOPPED,
3616                 PAUSED
3617         }
3618         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TOC_ENTRY_TYPE_", type_id = "gst_toc_entry_type_get_type ()")]
3619         public enum TocEntryType {
3620                 ANGLE,
3621                 VERSION,
3622                 EDITION,
3623                 INVALID,
3624                 TITLE,
3625                 TRACK,
3626                 CHAPTER;
3627                 public unowned string get_nick ();
3628         }
3629         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TOC_LOOP_", type_id = "gst_toc_loop_type_get_type ()")]
3630         [Version (since = "1.4")]
3631         public enum TocLoopType {
3632                 NONE,
3633                 FORWARD,
3634                 REVERSE,
3635                 PING_PONG
3636         }
3637         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TOC_SCOPE_", type_id = "gst_toc_scope_get_type ()")]
3638         public enum TocScope {
3639                 GLOBAL,
3640                 CURRENT
3641         }
3642         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TRACER_VALUE_FLAGS_", type_id = "gst_tracer_value_flags_get_type ()")]
3643         [Flags]
3644         public enum TracerValueFlags {
3645                 NONE,
3646                 OPTIONAL,
3647                 AGGREGATED
3648         }
3649         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TRACER_VALUE_SCOPE_", type_id = "gst_tracer_value_scope_get_type ()")]
3650         [Version (since = "1.8")]
3651         public enum TracerValueScope {
3652                 PROCESS,
3653                 THREAD,
3654                 ELEMENT,
3655                 PAD
3656         }
3657         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TYPE_FIND_", type_id = "gst_type_find_probability_get_type ()")]
3658         public enum TypeFindProbability {
3659                 NONE,
3660                 MINIMUM,
3661                 POSSIBLE,
3662                 LIKELY,
3663                 NEARLY_CERTAIN,
3664                 MAXIMUM
3665         }
3666         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_URI_", type_id = "gst_uri_type_get_type ()")]
3667         public enum URIType {
3668                 UNKNOWN,
3669                 SINK,
3670                 SRC
3671         }
3672         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CORE_ERROR_")]
3673         public errordomain CoreError {
3674                 FAILED,
3675                 TOO_LAZY,
3676                 NOT_IMPLEMENTED,
3677                 STATE_CHANGE,
3678                 PAD,
3679                 THREAD,
3680                 NEGOTIATION,
3681                 EVENT,
3682                 SEEK,
3683                 CAPS,
3684                 TAG,
3685                 MISSING_PLUGIN,
3686                 CLOCK,
3687                 DISABLED,
3688                 NUM_ERRORS;
3689                 public static GLib.Quark quark ();
3690         }
3691         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LIBRARY_ERROR_")]
3692         public errordomain LibraryError {
3693                 FAILED,
3694                 TOO_LAZY,
3695                 INIT,
3696                 SHUTDOWN,
3697                 SETTINGS,
3698                 ENCODE,
3699                 NUM_ERRORS;
3700                 public static GLib.Quark quark ();
3701         }
3702         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PARSE_ERROR_")]
3703         public errordomain ParseError {
3704                 SYNTAX,
3705                 NO_SUCH_ELEMENT,
3706                 NO_SUCH_PROPERTY,
3707                 LINK,
3708                 COULD_NOT_SET_PROPERTY,
3709                 EMPTY_BIN,
3710                 EMPTY,
3711                 DELAYED_LINK;
3712                 public static GLib.Quark quark ();
3713         }
3714         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PLUGIN_ERROR_")]
3715         public errordomain PluginError {
3716                 MODULE,
3717                 DEPENDENCIES,
3718                 NAME_MISMATCH;
3719                 public static GLib.Quark quark ();
3720         }
3721         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_RESOURCE_ERROR_")]
3722         public errordomain ResourceError {
3723                 FAILED,
3724                 TOO_LAZY,
3725                 NOT_FOUND,
3726                 BUSY,
3727                 OPEN_READ,
3728                 OPEN_WRITE,
3729                 OPEN_READ_WRITE,
3730                 CLOSE,
3731                 READ,
3732                 WRITE,
3733                 SEEK,
3734                 SYNC,
3735                 SETTINGS,
3736                 NO_SPACE_LEFT,
3737                 NOT_AUTHORIZED,
3738                 NUM_ERRORS;
3739                 public static GLib.Quark quark ();
3740         }
3741         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_ERROR_")]
3742         public errordomain StreamError {
3743                 FAILED,
3744                 TOO_LAZY,
3745                 NOT_IMPLEMENTED,
3746                 TYPE_NOT_FOUND,
3747                 WRONG_TYPE,
3748                 CODEC_NOT_FOUND,
3749                 DECODE,
3750                 ENCODE,
3751                 DEMUX,
3752                 MUX,
3753                 FORMAT,
3754                 DECRYPT,
3755                 DECRYPT_NOKEY,
3756                 NUM_ERRORS;
3757                 public static GLib.Quark quark ();
3758         }
3759         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_URI_ERROR_")]
3760         public errordomain URIError {
3761                 UNSUPPORTED_PROTOCOL,
3762                 BAD_URI,
3763                 BAD_STATE,
3764                 BAD_REFERENCE
3765         }
3766         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3767         public delegate bool BufferForeachMetaFunc (Gst.Buffer buffer, out Gst.Meta? meta);
3768         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3769         public delegate bool BufferListFunc (out Gst.Buffer? buffer, uint idx);
3770         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3771         public delegate bool BusFunc (Gst.Bus bus, Gst.Message message);
3772         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3773         public delegate Gst.BusSyncReply BusSyncHandler (Gst.Bus bus, Gst.Message message);
3774         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3775         public delegate bool CapsFilterMapFunc (Gst.CapsFeatures features, Gst.Structure structure);
3776         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3777         [Version (since = "1.6")]
3778         public delegate bool CapsForeachFunc (Gst.CapsFeatures features, Gst.Structure structure);
3779         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3780         public delegate bool CapsMapFunc (Gst.CapsFeatures features, Gst.Structure structure);
3781         [CCode (cheader_filename = "gst/gst.h", instance_pos = 3.9)]
3782         public delegate bool ClockCallback (Gst.Clock clock, Gst.ClockTime time, Gst.ClockID id);
3783         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3784         public delegate void ControlBindingConvert (Gst.ControlBinding binding, double src_value, GLib.Value dest_value);
3785         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3786         public delegate bool ControlSourceGetValue (Gst.ControlSource self, Gst.ClockTime timestamp, double value);
3787         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3788         public delegate bool ControlSourceGetValueArray (Gst.ControlSource self, Gst.ClockTime timestamp, Gst.ClockTime interval, uint n_values, double values);
3789         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3790         public delegate void DebugFuncPtr ();
3791         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3792         public delegate void ElementCallAsyncFunc (Gst.Element element);
3793         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3794         [Version (since = "1.14")]
3795         public delegate bool ElementForeachPadFunc (Gst.Element element, Gst.Pad pad);
3796         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3797         public delegate void IteratorCopyFunction (Gst.Iterator it, Gst.Iterator copy);
3798         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3799         public delegate bool IteratorFoldFunction (GLib.Value item, GLib.Value ret);
3800         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3801         public delegate void IteratorForeachFunction (GLib.Value item);
3802         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3803         public delegate void IteratorFreeFunction (Gst.Iterator it);
3804         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3805         public delegate Gst.IteratorItem IteratorItemFunction (Gst.Iterator it, GLib.Value item);
3806         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3807         public delegate Gst.IteratorResult IteratorNextFunction (Gst.Iterator it, GLib.Value result);
3808         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3809         public delegate void IteratorResyncFunction (Gst.Iterator it);
3810         [CCode (cheader_filename = "gst/gst.h", instance_pos = 7.9)]
3811         public delegate void LogFunction (Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object object, Gst.DebugMessage message);
3812         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3813         public delegate Gst.Memory MemoryCopyFunction (Gst.Memory mem, ssize_t offset, ssize_t size);
3814         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3815         public delegate bool MemoryIsSpanFunction (Gst.Memory mem1, Gst.Memory mem2, size_t offset);
3816         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3817         public delegate void* MemoryMapFullFunction (Gst.Memory mem, Gst.MapInfo info, size_t maxsize);
3818         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3819         public delegate void* MemoryMapFunction (Gst.Memory mem, size_t maxsize, Gst.MapFlags flags);
3820         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3821         public delegate Gst.Memory MemoryShareFunction (Gst.Memory mem, ssize_t offset, ssize_t size);
3822         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3823         public delegate void MemoryUnmapFullFunction (Gst.Memory mem, Gst.MapInfo info);
3824         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3825         public delegate void MemoryUnmapFunction (Gst.Memory mem);
3826         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3827         public delegate void MetaFreeFunction (Gst.Meta meta, Gst.Buffer buffer);
3828         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3829         public delegate bool MetaInitFunction (Gst.Meta meta, void* @params, Gst.Buffer buffer);
3830         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3831         public delegate bool MetaTransformFunction (Gst.Buffer transbuf, Gst.Meta meta, Gst.Buffer buffer, GLib.Quark type, void* data);
3832         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3833         public delegate bool MiniObjectDisposeFunction (Gst.MiniObject obj);
3834         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3835         public delegate void MiniObjectFreeFunction (Gst.MiniObject obj);
3836         [CCode (cheader_filename = "gst/gst.h", instance_pos = 0.9)]
3837         public delegate void MiniObjectNotify (Gst.MiniObject obj);
3838         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3839         public delegate bool PadActivateFunction (Gst.Pad pad, Gst.Object parent);
3840         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3841         public delegate bool PadActivateModeFunction (Gst.Pad pad, Gst.Object parent, Gst.PadMode mode, bool active);
3842         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3843         public delegate Gst.FlowReturn PadChainFunction (Gst.Pad pad, Gst.Object? parent, owned Gst.Buffer buffer);
3844         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3845         public delegate Gst.FlowReturn PadChainListFunction (Gst.Pad pad, Gst.Object? parent, owned Gst.BufferList list);
3846         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3847         [Version (since = "1.8")]
3848         public delegate Gst.FlowReturn PadEventFullFunction (Gst.Pad pad, Gst.Object? parent, owned Gst.Event event);
3849         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3850         public delegate bool PadEventFunction (Gst.Pad pad, Gst.Object? parent, owned Gst.Event event);
3851         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3852         public delegate bool PadForwardFunction (Gst.Pad pad);
3853         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3854         public delegate Gst.FlowReturn PadGetRangeFunction (Gst.Pad pad, Gst.Object? parent, uint64 offset, uint length, Gst.Buffer buffer);
3855         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3856         public delegate Gst.Iterator PadIterIntLinkFunction (Gst.Pad pad, Gst.Object? parent);
3857         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3858         public delegate Gst.PadLinkReturn PadLinkFunction (Gst.Pad pad, Gst.Object? parent, Gst.Pad peer);
3859         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3860         public delegate Gst.PadProbeReturn PadProbeCallback (Gst.Pad pad, Gst.PadProbeInfo info);
3861         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3862         public delegate bool PadQueryFunction (Gst.Pad pad, Gst.Object? parent, Gst.Query query);
3863         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3864         public delegate bool PadStickyEventsForeachFunction (Gst.Pad pad, Gst.Event? event);
3865         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3866         public delegate void PadUnlinkFunction (Gst.Pad pad, Gst.Object? parent);
3867         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3868         public delegate bool PluginFeatureFilter (Gst.PluginFeature feature);
3869         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3870         public delegate bool PluginFilter (Gst.Plugin plugin);
3871         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3872         public delegate bool PluginInitFullFunc (Gst.Plugin plugin);
3873         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3874         public delegate bool PluginInitFunc (Gst.Plugin plugin);
3875         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3876         [Version (since = "1.14")]
3877         public delegate void PromiseChangeFunc (Gst.Promise promise);
3878         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3879         public delegate bool StructureFilterMapFunc (GLib.Quark field_id, GLib.Value value);
3880         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3881         public delegate bool StructureForeachFunc (GLib.Quark field_id, GLib.Value value);
3882         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3883         public delegate bool StructureMapFunc (GLib.Quark field_id, GLib.Value value);
3884         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3885         public delegate void TagForeachFunc (Gst.TagList list, string tag);
3886         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3887         public delegate void TagMergeFunc (GLib.Value dest, GLib.Value src);
3888         [CCode (cheader_filename = "gst/gst.h", instance_pos = 0.9)]
3889         public delegate void TaskFunction ();
3890         [CCode (cheader_filename = "gst/gst.h", instance_pos = 0.9)]
3891         public delegate void TaskPoolFunction ();
3892         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3893         public delegate void TaskThreadFunc (Gst.Task task, GLib.Thread thread);
3894         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3895         public delegate void TypeFindFunction (Gst.TypeFind find);
3896         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3897         public delegate int ValueCompareFunc (GLib.Value value1, GLib.Value value2);
3898         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3899         public delegate bool ValueDeserializeFunc (GLib.Value dest, string s);
3900         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3901         public delegate string ValueSerializeFunc (GLib.Value value1);
3902         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ALLOCATOR_SYSMEM")]
3903         public const string ALLOCATOR_SYSMEM;
3904         [CCode (cheader_filename = "gst/gst.h", cname = "GST_BUFFER_COPY_ALL")]
3905         public const Gst.BufferCopyFlags BUFFER_COPY_ALL;
3906         [CCode (cheader_filename = "gst/gst.h", cname = "GST_BUFFER_COPY_METADATA")]
3907         public const Gst.BufferCopyFlags BUFFER_COPY_METADATA;
3908         [CCode (cheader_filename = "gst/gst.h", cname = "GST_BUFFER_OFFSET_NONE")]
3909         public const uint64 BUFFER_OFFSET_NONE;
3910         [CCode (cheader_filename = "gst/gst.h", cname = "GST_CAN_INLINE")]
3911         public const int CAN_INLINE;
3912         [CCode (cheader_filename = "gst/gst.h", cname = "GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY")]
3913         public const string CAPS_FEATURE_MEMORY_SYSTEM_MEMORY;
3914         [CCode (cheader_filename = "gst/gst.h", cname = "GST_CLOCK_TIME_NONE")]
3915         public const Gst.ClockTime CLOCK_TIME_NONE;
3916         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_AUTHOR")]
3917         public const string ELEMENT_METADATA_AUTHOR;
3918         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_DESCRIPTION")]
3919         public const string ELEMENT_METADATA_DESCRIPTION;
3920         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_DOC_URI")]
3921         public const string ELEMENT_METADATA_DOC_URI;
3922         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_ICON_NAME")]
3923         public const string ELEMENT_METADATA_ICON_NAME;
3924         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_KLASS")]
3925         public const string ELEMENT_METADATA_KLASS;
3926         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_LONGNAME")]
3927         public const string ELEMENT_METADATA_LONGNAME;
3928         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ERROR_SYSTEM")]
3929         public const string ERROR_SYSTEM;
3930         [CCode (cheader_filename = "gst/gst.h", cname = "GST_EVENT_NUM_SHIFT")]
3931         public const int EVENT_NUM_SHIFT;
3932         [CCode (cheader_filename = "gst/gst.h", cname = "GST_EVENT_TYPE_BOTH")]
3933         public const Gst.EventTypeFlags EVENT_TYPE_BOTH;
3934         [CCode (cheader_filename = "gst/gst.h", cname = "GST_FLAG_SET_MASK_EXACT")]
3935         [Version (since = "1.6")]
3936         public const uint FLAG_SET_MASK_EXACT;
3937         [CCode (cheader_filename = "gst/gst.h", cname = "GST_FORMAT_PERCENT_MAX")]
3938         public const int64 FORMAT_PERCENT_MAX;
3939         [CCode (cheader_filename = "gst/gst.h", cname = "GST_FORMAT_PERCENT_SCALE")]
3940         public const int64 FORMAT_PERCENT_SCALE;
3941         [CCode (cheader_filename = "gst/gst.h", cname = "GST_FOURCC_FORMAT")]
3942         public const string FOURCC_FORMAT;
3943         [CCode (cheader_filename = "gst/gst.h", cname = "GST_GROUP_ID_INVALID")]
3944         [Version (since = "1.14")]
3945         public const int GROUP_ID_INVALID;
3946         [CCode (cheader_filename = "gst/gst.h", cname = "GST_LICENSE_UNKNOWN")]
3947         public const string LICENSE_UNKNOWN;
3948         [CCode (cheader_filename = "gst/gst.h", cname = "GST_LOCK_FLAG_READWRITE")]
3949         public const Gst.LockFlags LOCK_FLAG_READWRITE;
3950         [CCode (cheader_filename = "gst/gst.h", cname = "GST_MAP_READWRITE")]
3951         public const Gst.MapFlags MAP_READWRITE;
3952         [CCode (cheader_filename = "gst/gst.h", cname = "GST_META_TAG_MEMORY_STR")]
3953         [Version (since = "1.2")]
3954         public const string META_TAG_MEMORY_STR;
3955         [CCode (cheader_filename = "gst/gst.h", cname = "GST_MSECOND")]
3956         public const Gst.ClockTimeDiff MSECOND;
3957         [CCode (cheader_filename = "gst/gst.h", cname = "GST_NSECOND")]
3958         public const Gst.ClockTimeDiff NSECOND;
3959         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_CONTROLLABLE")]
3960         public const int PARAM_CONTROLLABLE;
3961         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_PAUSED")]
3962         public const int PARAM_MUTABLE_PAUSED;
3963         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_PLAYING")]
3964         public const int PARAM_MUTABLE_PLAYING;
3965         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_READY")]
3966         public const int PARAM_MUTABLE_READY;
3967         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_USER_SHIFT")]
3968         public const int PARAM_USER_SHIFT;
3969         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PROTECTION_SYSTEM_ID_CAPS_FIELD")]
3970         [Version (since = "1.6")]
3971         public const string PROTECTION_SYSTEM_ID_CAPS_FIELD;
3972         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PTR_FORMAT")]
3973         public const string PTR_FORMAT;
3974         [CCode (cheader_filename = "gst/gst.h", cname = "GST_QUERY_NUM_SHIFT")]
3975         public const int QUERY_NUM_SHIFT;
3976         [CCode (cheader_filename = "gst/gst.h", cname = "GST_QUERY_TYPE_BOTH")]
3977         public const Gst.QueryTypeFlags QUERY_TYPE_BOTH;
3978         [CCode (cheader_filename = "gst/gst.h", cname = "GST_SECOND")]
3979         public const Gst.ClockTimeDiff SECOND;
3980         [CCode (cheader_filename = "gst/gst.h", cname = "GST_SEGMENT_FORMAT")]
3981         public const string SEGMENT_FORMAT;
3982         [CCode (cheader_filename = "gst/gst.h", cname = "GST_SEQNUM_INVALID")]
3983         [Version (since = "1.14")]
3984         public const int SEQNUM_INVALID;
3985         [CCode (cheader_filename = "gst/gst.h", cname = "GST_STIME_FORMAT")]
3986         [Version (since = "1.6")]
3987         public const string STIME_FORMAT;
3988         [CCode (cheader_filename = "gst/gst.h", cname = "GST_TIME_FORMAT")]
3989         public const string TIME_FORMAT;
3990         [CCode (cheader_filename = "gst/gst.h", cname = "GST_TOC_REPEAT_COUNT_INFINITE")]
3991         [Version (since = "1.4")]
3992         public const int TOC_REPEAT_COUNT_INFINITE;
3993         [CCode (cheader_filename = "gst/gst.h", cname = "GST_URI_NO_PORT")]
3994         public const int URI_NO_PORT;
3995         [CCode (cheader_filename = "gst/gst.h", cname = "GST_USECOND")]
3996         public const Gst.ClockTimeDiff USECOND;
3997         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_EQUAL")]
3998         public const int VALUE_EQUAL;
3999         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_GREATER_THAN")]
4000         public const int VALUE_GREATER_THAN;
4001         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_LESS_THAN")]
4002         public const int VALUE_LESS_THAN;
4003         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_UNORDERED")]
4004         public const int VALUE_UNORDERED;
4005         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_MAJOR")]
4006         public const int VERSION_MAJOR;
4007         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_MICRO")]
4008         public const int VERSION_MICRO;
4009         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_MINOR")]
4010         public const int VERSION_MINOR;
4011         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_NANO")]
4012         public const int VERSION_NANO;
4013         [CCode (cheader_filename = "gst/gst.h", cname = "GST_STIME_ARGS", use_inplace = true)]
4014         public static uint STIME_ARGS (Gst.ClockTimeDiff t);
4015         [CCode (cheader_filename = "gst/gst.h", cname = "GST_TIME_ARGS", use_inplace = true)]
4016         public static uint TIME_ARGS (Gst.ClockTime t);
4017         [CCode (cheader_filename = "gst/gst.h")]
4018         public static void deinit ();
4019         [CCode (cheader_filename = "gst/gst.h")]
4020         public static bool dynamic_type_register (Gst.Plugin plugin, GLib.Type type);
4021         [CCode (cheader_filename = "gst/gst.h")]
4022         public static string error_get_message (GLib.Quark domain, int code);
4023         [CCode (cheader_filename = "gst/gst.h")]
4024         public static string filename_to_uri (string filename) throws GLib.Error;
4025         [CCode (cheader_filename = "gst/gst.h")]
4026         public static GLib.Quark flow_to_quark (Gst.FlowReturn ret);
4027         [CCode (cheader_filename = "gst/gst.h")]
4028         [Version (since = "1.14")]
4029         public static unowned string? get_main_executable_path ();
4030         [CCode (cheader_filename = "gst/gst.h")]
4031         public static void init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv);
4032         [CCode (cheader_filename = "gst/gst.h")]
4033         public static bool init_check ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv) throws GLib.Error;
4034         [CCode (cheader_filename = "gst/gst.h")]
4035         public static GLib.OptionGroup? init_get_option_group ();
4036         [CCode (cheader_filename = "gst/gst.h")]
4037         public static bool is_caps_features (void* obj);
4038         [CCode (cheader_filename = "gst/gst.h")]
4039         public static bool is_initialized ();
4040         [CCode (cheader_filename = "gst/gst.h")]
4041         [Version (since = "1.14")]
4042         public static GLib.ParamSpec param_spec_array (string name, string nick, string blurb, GLib.ParamSpec element_spec, GLib.ParamFlags flags);
4043         [CCode (cheader_filename = "gst/gst.h")]
4044         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);
4045         [CCode (cheader_filename = "gst/gst.h", cname = "gst_parse_bin_from_description_full", returns_floating_reference = true)]
4046         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;
4047         [CCode (cheader_filename = "gst/gst.h", cname = "gst_parse_launch_full", returns_floating_reference = true)]
4048         public static Gst.Element? parse_launch (string pipeline_description, Gst.ParseContext? context = null, Gst.ParseFlags flags = Gst.ParseFlags.NONE) throws GLib.Error;
4049         [CCode (cheader_filename = "gst/gst.h", cname = "gst_parse_launchv_full", returns_floating_reference = true)]
4050         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;
4051         [CCode (cheader_filename = "gst/gst.h")]
4052         public static unowned string? preset_get_app_dir ();
4053         [CCode (cheader_filename = "gst/gst.h")]
4054         public static bool preset_set_app_dir (string app_dir);
4055         [CCode (array_length = false, array_null_terminated = true, cheader_filename = "gst/gst.h")]
4056         [Version (since = "1.14")]
4057         public static string[]? protection_filter_systems_by_available_decryptors ([CCode (array_length = false, array_null_terminated = true)] string[] system_identifiers);
4058         [CCode (cheader_filename = "gst/gst.h")]
4059         [Version (since = "1.6")]
4060         public static unowned string? protection_select_system ([CCode (array_length = false, array_null_terminated = true)] string[] system_identifiers);
4061         [CCode (cheader_filename = "gst/gst.h")]
4062         public static bool segtrap_is_enabled ();
4063         [CCode (cheader_filename = "gst/gst.h")]
4064         public static void segtrap_set_enabled (bool enabled);
4065         [CCode (cheader_filename = "gst/gst.h")]
4066         public static bool update_registry ();
4067         [CCode (cheader_filename = "gst/gst.h")]
4068         public static void version (out uint major, out uint minor, out uint micro, out uint nano);
4069         [CCode (cheader_filename = "gst/gst.h")]
4070         public static string version_string ();