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