vapi: Remove mx-1.0 bindings
[vala-gnome.git] / vapi / gstreamer-1.0.vapi
blob5047f5fe1ed24f6578dc0178d79fc340e23f9e07
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                 public bool fd_ctl_read (Gst.PollFD fd, bool active);
2031                 public bool fd_ctl_write (Gst.PollFD fd, bool active);
2032                 public bool fd_has_closed (Gst.PollFD fd);
2033                 public bool fd_has_error (Gst.PollFD fd);
2034                 public void fd_ignored (Gst.PollFD fd);
2035                 public void free ();
2036                 public void get_read_gpollfd (GLib.PollFD fd);
2037                 public bool read_control ();
2038                 public bool remove_fd (Gst.PollFD fd);
2039                 public void restart ();
2040                 public bool set_controllable (bool controllable);
2041                 public void set_flushing (bool flushing);
2042                 [CCode (has_construct_function = false)]
2043                 public Poll.timer ();
2044                 public int wait (Gst.ClockTime timeout);
2045                 public bool write_control ();
2046         }
2047         [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_promise_get_type ()")]
2048         [Compact]
2049         [Version (since = "1.14")]
2050         public class Promise {
2051                 public weak Gst.MiniObject parent;
2052                 [CCode (has_construct_function = false)]
2053                 public Promise ();
2054                 public void expire ();
2055                 public unowned Gst.Structure get_reply ();
2056                 public void interrupt ();
2057                 public void reply (owned Gst.Structure s);
2058                 public Gst.PromiseResult wait ();
2059                 [CCode (has_construct_function = false)]
2060                 public Promise.with_change_func (owned Gst.PromiseChangeFunc func);
2061         }
2062         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_proxy_pad_get_type ()")]
2063         public class ProxyPad : Gst.Pad {
2064                 [CCode (has_construct_function = false)]
2065                 protected ProxyPad ();
2066                 public static Gst.FlowReturn chain_default (Gst.Pad pad, Gst.Object? parent, owned Gst.Buffer buffer);
2067                 public static Gst.FlowReturn chain_list_default (Gst.Pad pad, Gst.Object? parent, owned Gst.BufferList list);
2068                 public Gst.ProxyPad? get_internal ();
2069                 public static Gst.FlowReturn getrange_default (Gst.Pad pad, Gst.Object parent, uint64 offset, uint size, out Gst.Buffer buffer);
2070                 public static Gst.Iterator? iterate_internal_links_default (Gst.Pad pad, Gst.Object? parent);
2071         }
2072         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_query_ref", type_id = "gst_query_get_type ()", unref_function = "gst_query_unref")]
2073         [Compact]
2074         public class Query : Gst.MiniObject {
2075                 public Gst.QueryType type;
2076                 [CCode (has_construct_function = false)]
2077                 public Query.accept_caps (Gst.Caps caps);
2078                 public void add_allocation_meta (GLib.Type api, Gst.Structure? @params);
2079                 public void add_allocation_param (Gst.Allocator? allocator, Gst.AllocationParams? @params);
2080                 public void add_allocation_pool (Gst.BufferPool? pool, uint size, uint min_buffers, uint max_buffers);
2081                 public bool add_buffering_range (int64 start, int64 stop);
2082                 public void add_scheduling_mode (Gst.PadMode mode);
2083                 [CCode (has_construct_function = false)]
2084                 public Query.allocation (Gst.Caps caps, bool need_pool);
2085                 [CCode (has_construct_function = false)]
2086                 public Query.buffering (Gst.Format format);
2087                 [CCode (has_construct_function = false)]
2088                 public Query.caps (Gst.Caps filter);
2089                 [CCode (has_construct_function = false)]
2090                 [Version (since = "1.2")]
2091                 public Query.context (string context_type);
2092                 [CCode (has_construct_function = false)]
2093                 public Query.convert (Gst.Format src_format, int64 value, Gst.Format dest_format);
2094                 [CCode (has_construct_function = false)]
2095                 public Query.custom (Gst.QueryType type, owned Gst.Structure? structure);
2096                 [CCode (has_construct_function = false)]
2097                 public Query.drain ();
2098                 [CCode (has_construct_function = false)]
2099                 public Query.duration (Gst.Format format);
2100                 public bool find_allocation_meta (GLib.Type api, out uint index);
2101                 [CCode (has_construct_function = false)]
2102                 public Query.formats ();
2103                 public uint get_n_allocation_metas ();
2104                 public uint get_n_allocation_params ();
2105                 public uint get_n_allocation_pools ();
2106                 public uint get_n_buffering_ranges ();
2107                 public uint get_n_scheduling_modes ();
2108                 public unowned Gst.Structure? get_structure ();
2109                 public bool has_scheduling_mode (Gst.PadMode mode);
2110                 public bool has_scheduling_mode_with_flags (Gst.PadMode mode, Gst.SchedulingFlags flags);
2111                 [CCode (has_construct_function = false)]
2112                 public Query.latency ();
2113                 public void parse_accept_caps (out unowned Gst.Caps caps);
2114                 public void parse_accept_caps_result (out bool result);
2115                 public void parse_allocation (out unowned Gst.Caps caps, out bool need_pool);
2116                 public void parse_buffering_percent (out bool busy, out int percent);
2117                 public void parse_buffering_range (out Gst.Format format, out int64 start, out int64 stop, out int64 estimated_total);
2118                 public void parse_buffering_stats (out Gst.BufferingMode mode, out int avg_in, out int avg_out, out int64 buffering_left);
2119                 public void parse_caps (out unowned Gst.Caps filter);
2120                 public void parse_caps_result (out unowned Gst.Caps caps);
2121                 [Version (since = "1.2")]
2122                 public void parse_context (out unowned Gst.Context context);
2123                 [Version (since = "1.2")]
2124                 public bool parse_context_type (out unowned string context_type);
2125                 public void parse_convert (out Gst.Format src_format, out int64 src_value, out Gst.Format dest_format, out int64 dest_value);
2126                 public void parse_duration (out Gst.Format format, out int64 duration);
2127                 public void parse_latency (out bool live, out Gst.ClockTime min_latency, out Gst.ClockTime max_latency);
2128                 public void parse_n_formats (out uint n_formats);
2129                 public GLib.Type parse_nth_allocation_meta (uint index, out unowned Gst.Structure @params);
2130                 public void parse_nth_allocation_param (uint index, out Gst.Allocator allocator, out unowned Gst.AllocationParams @params);
2131                 public void parse_nth_allocation_pool (uint index, out Gst.BufferPool pool, out uint size, out uint min_buffers, out uint max_buffers);
2132                 public bool parse_nth_buffering_range (uint index, out int64 start, out int64 stop);
2133                 public void parse_nth_format (uint nth, out Gst.Format format);
2134                 public Gst.PadMode parse_nth_scheduling_mode (uint index);
2135                 public void parse_position (out Gst.Format format, out int64 cur);
2136                 public void parse_scheduling (out Gst.SchedulingFlags flags, out int minsize, out int maxsize, out int align);
2137                 public void parse_seeking (out Gst.Format format, out bool seekable, out int64 segment_start, out int64 segment_end);
2138                 public void parse_segment (out double rate, out Gst.Format format, out int64 start_value, out int64 stop_value);
2139                 public void parse_uri (out string uri);
2140                 [Version (since = "1.2")]
2141                 public void parse_uri_redirection (out string uri);
2142                 [Version (since = "1.4")]
2143                 public void parse_uri_redirection_permanent (out bool permanent);
2144                 [CCode (has_construct_function = false)]
2145                 public Query.position (Gst.Format format);
2146                 public void remove_nth_allocation_meta (uint index);
2147                 [Version (since = "1.2")]
2148                 public void remove_nth_allocation_param (uint index);
2149                 [Version (since = "1.2")]
2150                 public void remove_nth_allocation_pool (uint index);
2151                 [CCode (has_construct_function = false)]
2152                 public Query.scheduling ();
2153                 [CCode (has_construct_function = false)]
2154                 public Query.seeking (Gst.Format format);
2155                 [CCode (has_construct_function = false)]
2156                 public Query.segment (Gst.Format format);
2157                 public void set_accept_caps_result (bool result);
2158                 public void set_buffering_percent (bool busy, int percent);
2159                 public void set_buffering_range (Gst.Format format, int64 start, int64 stop, int64 estimated_total);
2160                 public void set_buffering_stats (Gst.BufferingMode mode, int avg_in, int avg_out, int64 buffering_left);
2161                 public void set_caps_result (Gst.Caps caps);
2162                 [Version (since = "1.2")]
2163                 public void set_context (Gst.Context context);
2164                 public void set_convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value);
2165                 public void set_duration (Gst.Format format, int64 duration);
2166                 [CCode (sentinel = "")]
2167                 public void set_formats (int n_formats, params Gst.Format[] formats);
2168                 public void set_formatsv ([CCode (array_length_cname = "n_formats", array_length_pos = 0.5)] Gst.Format[] formats);
2169                 public void set_latency (bool live, Gst.ClockTime min_latency, Gst.ClockTime max_latency);
2170                 public void set_nth_allocation_param (uint index, Gst.Allocator? allocator, Gst.AllocationParams? @params);
2171                 public void set_nth_allocation_pool (uint index, Gst.BufferPool? pool, uint size, uint min_buffers, uint max_buffers);
2172                 public void set_position (Gst.Format format, int64 cur);
2173                 public void set_scheduling (Gst.SchedulingFlags flags, int minsize, int maxsize, int align);
2174                 public void set_seeking (Gst.Format format, bool seekable, int64 segment_start, int64 segment_end);
2175                 public void set_segment (double rate, Gst.Format format, int64 start_value, int64 stop_value);
2176                 public void set_uri (string uri);
2177                 [Version (since = "1.2")]
2178                 public void set_uri_redirection (string uri);
2179                 [Version (since = "1.4")]
2180                 public void set_uri_redirection_permanent (bool permanent);
2181                 [CCode (has_construct_function = false)]
2182                 public Query.uri ();
2183                 public unowned Gst.Structure writable_structure ();
2184         }
2185         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_registry_get_type ()")]
2186         public class Registry : Gst.Object {
2187                 [CCode (has_construct_function = false)]
2188                 protected Registry ();
2189                 public bool add_feature (Gst.PluginFeature feature);
2190                 public bool add_plugin (Gst.Plugin plugin);
2191                 public bool check_feature_version (string feature_name, uint min_major, uint min_minor, uint min_micro);
2192                 public GLib.List<Gst.PluginFeature> feature_filter ([CCode (delegate_target_pos = 2.1)] Gst.PluginFeatureFilter filter, bool first);
2193                 public Gst.PluginFeature? find_feature (string name, GLib.Type type);
2194                 public Gst.Plugin? find_plugin (string name);
2195                 public static bool fork_is_enabled ();
2196                 public static void fork_set_enabled (bool enabled);
2197                 public static unowned Gst.Registry @get ();
2198                 public GLib.List<Gst.PluginFeature> get_feature_list (GLib.Type type);
2199                 public GLib.List<Gst.PluginFeature> get_feature_list_by_plugin (string name);
2200                 public uint32 get_feature_list_cookie ();
2201                 public GLib.List<Gst.Plugin> get_plugin_list ();
2202                 public Gst.Plugin? lookup (string filename);
2203                 public Gst.PluginFeature lookup_feature (string name);
2204                 public GLib.List<Gst.Plugin> plugin_filter ([CCode (delegate_target_pos = 2.1)] Gst.PluginFilter filter, bool first);
2205                 public void remove_feature (Gst.PluginFeature feature);
2206                 public void remove_plugin (Gst.Plugin plugin);
2207                 public bool scan_path (string path);
2208                 public signal void feature_added (Gst.PluginFeature feature);
2209                 public signal void plugin_added (Gst.Plugin plugin);
2210         }
2211         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_sample_ref", type_id = "gst_sample_get_type ()", unref_function = "gst_sample_unref")]
2212         [Compact]
2213         public class Sample : Gst.MiniObject {
2214                 [CCode (has_construct_function = false)]
2215                 public Sample (Gst.Buffer? buffer, Gst.Caps? caps, Gst.Segment? segment, owned Gst.Structure? info);
2216                 public unowned Gst.Buffer? get_buffer ();
2217                 [Version (since = "1.6")]
2218                 public unowned Gst.BufferList? get_buffer_list ();
2219                 public unowned Gst.Caps? get_caps ();
2220                 public unowned Gst.Structure? get_info ();
2221                 public unowned Gst.Segment get_segment ();
2222                 [Version (since = "1.16")]
2223                 public void set_buffer (Gst.Buffer buffer);
2224                 [Version (since = "1.6")]
2225                 public void set_buffer_list (Gst.BufferList buffer_list);
2226                 [Version (since = "1.16")]
2227                 public void set_caps (Gst.Caps caps);
2228                 [Version (since = "1.16")]
2229                 public bool set_info (Gst.Structure info);
2230                 [Version (since = "1.16")]
2231                 public void set_segment (Gst.Segment segment);
2232         }
2233         [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_segment_copy", free_function = "gst_segment_free", type_id = "gst_segment_get_type ()")]
2234         [Compact]
2235         public class Segment {
2236                 public double applied_rate;
2237                 public uint64 @base;
2238                 public uint64 duration;
2239                 public Gst.SegmentFlags flags;
2240                 public Gst.Format format;
2241                 public uint64 offset;
2242                 public uint64 position;
2243                 public double rate;
2244                 public uint64 start;
2245                 public uint64 stop;
2246                 public uint64 time;
2247                 [CCode (has_construct_function = false)]
2248                 public Segment ();
2249                 public bool clip (Gst.Format format, uint64 start, uint64 stop, out uint64 clip_start, out uint64 clip_stop);
2250                 public Gst.Segment copy ();
2251                 public void copy_into (Gst.Segment dest);
2252                 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);
2253                 public void free ();
2254                 public void init (Gst.Format format);
2255                 [Version (since = "1.6")]
2256                 public bool is_equal (Gst.Segment s1);
2257                 [Version (since = "1.2.3")]
2258                 public bool offset_running_time (Gst.Format format, int64 offset);
2259                 [Version (since = "1.8")]
2260                 public uint64 position_from_running_time (Gst.Format format, uint64 running_time);
2261                 [Version (since = "1.8")]
2262                 public int position_from_running_time_full (Gst.Format format, uint64 running_time, out uint64 position);
2263                 [Version (since = "1.8")]
2264                 public uint64 position_from_stream_time (Gst.Format format, uint64 stream_time);
2265                 [Version (since = "1.8")]
2266                 public int position_from_stream_time_full (Gst.Format format, uint64 stream_time, out uint64 position);
2267                 public bool set_running_time (Gst.Format format, uint64 running_time);
2268                 [Version (deprecated = true)]
2269                 public uint64 to_position (Gst.Format format, uint64 running_time);
2270                 public uint64 to_running_time (Gst.Format format, uint64 position);
2271                 [Version (since = "1.6")]
2272                 public int to_running_time_full (Gst.Format format, uint64 position, out uint64 running_time);
2273                 [Version (since = "1.8")]
2274                 public uint64 to_stream_time (Gst.Format format, uint64 position);
2275                 [Version (since = "1.8")]
2276                 public int to_stream_time_full (Gst.Format format, uint64 position, out uint64 stream_time);
2277         }
2278         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_stream_get_type ()")]
2279         [Version (since = "1.10")]
2280         public class Stream : Gst.Object {
2281                 [CCode (has_construct_function = false)]
2282                 public Stream (string? stream_id, Gst.Caps? caps, Gst.StreamType type, Gst.StreamFlags flags);
2283                 public Gst.Caps? get_caps ();
2284                 public Gst.StreamFlags get_stream_flags ();
2285                 public unowned string? get_stream_id ();
2286                 public Gst.StreamType get_stream_type ();
2287                 public Gst.TagList? get_tags ();
2288                 public void set_caps (Gst.Caps? caps);
2289                 public void set_stream_flags (Gst.StreamFlags flags);
2290                 public void set_stream_type (Gst.StreamType stream_type);
2291                 public void set_tags (Gst.TagList? tags);
2292                 public Gst.Caps caps { owned get; set; }
2293                 public Gst.StreamFlags stream_flags { get; set construct; }
2294                 public string stream_id { get; construct; }
2295                 public Gst.StreamType stream_type { get; set construct; }
2296                 public Gst.TagList tags { owned get; set; }
2297         }
2298         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_stream_collection_get_type ()")]
2299         [Version (since = "1.10")]
2300         public class StreamCollection : Gst.Object {
2301                 [CCode (has_construct_function = false)]
2302                 public StreamCollection (string? upstream_id);
2303                 public bool add_stream (owned Gst.Stream stream);
2304                 public uint get_size ();
2305                 public unowned Gst.Stream? get_stream (uint index);
2306                 public unowned string get_upstream_id ();
2307                 [NoAccessorMethod]
2308                 public string upstream_id { owned get; set construct; }
2309                 public virtual signal void stream_notify (Gst.Stream stream, GLib.ParamSpec pspec);
2310         }
2311         [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_structure_copy", free_function = "gst_structure_free", type_id = "gst_structure_get_type ()")]
2312         [Compact]
2313         public class Structure {
2314                 public GLib.Type type;
2315                 [CCode (has_construct_function = false)]
2316                 public Structure (string name, string firstfield, ...);
2317                 public bool can_intersect (Gst.Structure struct2);
2318                 public Gst.Structure copy ();
2319                 [CCode (has_construct_function = false)]
2320                 public Structure.empty (string name);
2321                 [Version (since = "1.6")]
2322                 public void filter_and_map_in_place (Gst.StructureFilterMapFunc func);
2323                 public void fixate ();
2324                 public bool fixate_field (string field_name);
2325                 public bool fixate_field_boolean (string field_name, bool target);
2326                 public bool fixate_field_nearest_double (string field_name, double target);
2327                 public bool fixate_field_nearest_fraction (string field_name, int target_numerator, int target_denominator);
2328                 public bool fixate_field_nearest_int (string field_name, int target);
2329                 public bool fixate_field_string (string field_name, string target);
2330                 public bool @foreach (Gst.StructureForeachFunc func);
2331                 public void free ();
2332                 public static Gst.Structure? from_string (string string, out unowned string end);
2333                 public bool @get (...);
2334                 public bool get_array (string fieldname, out GLib.ValueArray array);
2335                 public bool get_boolean (string fieldname, out bool value);
2336                 public bool get_clock_time (string fieldname, out Gst.ClockTime value);
2337                 public bool get_date (string fieldname, out GLib.Date value);
2338                 public bool get_date_time (string fieldname, out Gst.DateTime value);
2339                 public bool get_double (string fieldname, out double value);
2340                 public bool get_enum (string fieldname, GLib.Type enumtype, out int value);
2341                 public GLib.Type get_field_type (string fieldname);
2342                 [Version (since = "1.6")]
2343                 public bool get_flagset (string fieldname, out uint value_flags, out uint value_mask);
2344                 public bool get_fraction (string fieldname, out int value_numerator, out int value_denominator);
2345                 public bool get_int (string fieldname, out int value);
2346                 [Version (since = "1.4")]
2347                 public bool get_int64 (string fieldname, out int64 value);
2348                 public bool get_list (string fieldname, out GLib.ValueArray array);
2349                 public unowned string get_name ();
2350                 public GLib.Quark get_name_id ();
2351                 public unowned string? get_string (string fieldname);
2352                 public bool get_uint (string fieldname, out uint value);
2353                 [Version (since = "1.4")]
2354                 public bool get_uint64 (string fieldname, out uint64 value);
2355                 public bool get_valist (string first_fieldname, va_list args);
2356                 public unowned GLib.Value? get_value (string fieldname);
2357                 public bool has_field (string fieldname);
2358                 public bool has_field_typed (string fieldname, GLib.Type type);
2359                 public bool has_name (string name);
2360                 [CCode (has_construct_function = false)]
2361                 public Structure.id_empty (GLib.Quark quark);
2362                 public bool id_get (...);
2363                 public bool id_get_valist (GLib.Quark first_field_id, va_list args);
2364                 public unowned GLib.Value? id_get_value (GLib.Quark field);
2365                 public bool id_has_field (GLib.Quark field);
2366                 public bool id_has_field_typed (GLib.Quark field, GLib.Type type);
2367                 public void id_set (GLib.Quark fieldname, ...);
2368                 public void id_set_valist (GLib.Quark fieldname, va_list varargs);
2369                 public void id_set_value (GLib.Quark field, GLib.Value value);
2370                 public void id_take_value (GLib.Quark field, owned GLib.Value value);
2371                 public Gst.Structure? intersect (Gst.Structure struct2);
2372                 public bool is_equal (Gst.Structure structure2);
2373                 public bool is_subset (Gst.Structure superset);
2374                 public bool map_in_place (Gst.StructureMapFunc func);
2375                 public int n_fields ();
2376                 public unowned string nth_field_name (uint index);
2377                 public void remove_all_fields ();
2378                 public void remove_field (string fieldname);
2379                 public void remove_fields (params string[] field_names);
2380                 public void remove_fields_valist (string fieldname, va_list varargs);
2381                 public void @set (string fieldname, ...);
2382                 public void set_array (string fieldname, GLib.ValueArray array);
2383                 public void set_list (string fieldname, GLib.ValueArray array);
2384                 public void set_name (string name);
2385                 public bool set_parent_refcount (int refcount);
2386                 public void set_valist (string fieldname, va_list varargs);
2387                 public void set_value (string fieldname, GLib.Value value);
2388                 public void take_value (string fieldname, owned GLib.Value value);
2389                 public string to_string ();
2390                 [CCode (has_construct_function = false)]
2391                 public Structure.valist (string name, string firstfield, va_list varargs);
2392         }
2393         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_system_clock_get_type ()")]
2394         public class SystemClock : Gst.Clock {
2395                 [CCode (has_construct_function = false)]
2396                 protected SystemClock ();
2397                 public static Gst.Clock obtain ();
2398                 [Version (since = "1.4")]
2399                 public static void set_default (Gst.Clock? new_clock);
2400                 [NoAccessorMethod]
2401                 public Gst.ClockType clock_type { get; set; }
2402         }
2403         [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")]
2404         [Compact]
2405         public class TagList : Gst.MiniObject {
2406                 public void add (Gst.TagMergeMode mode, string tag, ...);
2407                 public void add_valist (Gst.TagMergeMode mode, string tag, va_list var_args);
2408                 public void add_valist_values (Gst.TagMergeMode mode, string tag, va_list var_args);
2409                 public void add_value (Gst.TagMergeMode mode, string tag, GLib.Value value);
2410                 public void add_values (Gst.TagMergeMode mode, string tag, ...);
2411                 [CCode (has_construct_function = false)]
2412                 public TagList.empty ();
2413                 public void @foreach (Gst.TagForeachFunc func);
2414                 [CCode (has_construct_function = false)]
2415                 public TagList.from_string (string str);
2416                 public bool get_boolean (string tag, out bool value);
2417                 public bool get_boolean_index (string tag, uint index, out bool value);
2418                 public bool get_date (string tag, out GLib.Date value);
2419                 public bool get_date_index (string tag, uint index, out GLib.Date value);
2420                 public bool get_date_time (string tag, out Gst.DateTime value);
2421                 public bool get_date_time_index (string tag, uint index, out Gst.DateTime value);
2422                 public bool get_double (string tag, out double value);
2423                 public bool get_double_index (string tag, uint index, out double value);
2424                 public bool get_float (string tag, out float value);
2425                 public bool get_float_index (string tag, uint index, out float value);
2426                 public bool get_int (string tag, out int value);
2427                 public bool get_int64 (string tag, out int64 value);
2428                 public bool get_int64_index (string tag, uint index, out int64 value);
2429                 public bool get_int_index (string tag, uint index, out int value);
2430                 public bool get_pointer (string tag, out void* value);
2431                 public bool get_pointer_index (string tag, uint index, out void* value);
2432                 public bool get_sample (string tag, out Gst.Sample sample);
2433                 public bool get_sample_index (string tag, uint index, out Gst.Sample sample);
2434                 public Gst.TagScope get_scope ();
2435                 public bool get_string (string tag, out string value);
2436                 public bool get_string_index (string tag, uint index, out string value);
2437                 public uint get_tag_size (string tag);
2438                 public bool get_uint (string tag, out uint value);
2439                 public bool get_uint64 (string tag, out uint64 value);
2440                 public bool get_uint64_index (string tag, uint index, out uint64 value);
2441                 public bool get_uint_index (string tag, uint index, out uint value);
2442                 public unowned GLib.Value? get_value_index (string tag, uint index);
2443                 public void insert (Gst.TagList from, Gst.TagMergeMode mode);
2444                 public bool is_empty ();
2445                 public bool is_equal (Gst.TagList list2);
2446                 public Gst.TagList? merge (Gst.TagList? list2, Gst.TagMergeMode mode);
2447                 public int n_tags ();
2448                 public unowned string nth_tag_name (uint index);
2449                 public bool peek_string_index (string tag, uint index, out unowned string value);
2450                 public void remove_tag (string tag);
2451                 public void set_scope (Gst.TagScope scope);
2452                 public string? to_string ();
2453                 [CCode (has_construct_function = false)]
2454                 public TagList.valist (va_list var_args);
2455         }
2456         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_task_get_type ()")]
2457         public class Task : Gst.Object {
2458                 public GLib.Cond cond;
2459                 public weak Gst.TaskFunction func;
2460                 public GLib.RecMutex @lock;
2461                 public weak GLib.DestroyNotify notify;
2462                 public bool running;
2463                 public Gst.TaskState state;
2464                 public void* user_data;
2465                 [CCode (has_construct_function = false)]
2466                 public Task (owned Gst.TaskFunction func);
2467                 public static void cleanup_all ();
2468                 public Gst.TaskPool get_pool ();
2469                 public Gst.TaskState get_state ();
2470                 public bool join ();
2471                 public bool pause ();
2472                 public void set_enter_callback (owned Gst.TaskThreadFunc enter_func);
2473                 public void set_leave_callback (owned Gst.TaskThreadFunc leave_func);
2474                 public void set_lock (GLib.RecMutex mutex);
2475                 public void set_pool (Gst.TaskPool pool);
2476                 public bool set_state (Gst.TaskState state);
2477                 public bool start ();
2478                 public bool stop ();
2479         }
2480         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_task_pool_get_type ()")]
2481         public class TaskPool : Gst.Object {
2482                 [CCode (has_construct_function = false)]
2483                 public TaskPool ();
2484                 public virtual void cleanup ();
2485                 public virtual void join (void* id);
2486                 public virtual void prepare () throws GLib.Error;
2487                 public virtual void* push ([CCode (scope = "async")] Gst.TaskPoolFunction func) throws GLib.Error;
2488         }
2489         [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_toc_ref", type_id = "gst_toc_get_type ()", unref_function = "gst_toc_unref")]
2490         [Compact]
2491         public class Toc : Gst.MiniObject {
2492                 [CCode (has_construct_function = false)]
2493                 public Toc (Gst.TocScope scope);
2494                 public void append_entry (owned Gst.TocEntry entry);
2495                 public void dump ();
2496                 public unowned Gst.TocEntry? find_entry (string uid);
2497                 public unowned GLib.List<Gst.TocEntry> get_entries ();
2498                 public Gst.TocScope get_scope ();
2499                 public unowned Gst.TagList get_tags ();
2500                 public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
2501                 public void set_tags (owned Gst.TagList? tags);
2502         }
2503         [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")]
2504         [Compact]
2505         public class TocEntry : Gst.MiniObject {
2506                 [CCode (has_construct_function = false)]
2507                 public TocEntry (Gst.TocEntryType type, string uid);
2508                 public void append_sub_entry (owned Gst.TocEntry subentry);
2509                 public Gst.TocEntryType get_entry_type ();
2510                 [Version (since = "1.4")]
2511                 public bool get_loop (out Gst.TocLoopType loop_type, out int repeat_count);
2512                 public unowned Gst.TocEntry? get_parent ();
2513                 public bool get_start_stop_times (out int64 start, out int64 stop);
2514                 public unowned GLib.List<Gst.TocEntry> get_sub_entries ();
2515                 public unowned Gst.TagList get_tags ();
2516                 public unowned Gst.Toc get_toc ();
2517                 public unowned string get_uid ();
2518                 public bool is_alternative ();
2519                 public bool is_sequence ();
2520                 public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
2521                 [Version (since = "1.4")]
2522                 public void set_loop (Gst.TocLoopType loop_type, int repeat_count);
2523                 public void set_start_stop_times (int64 start, int64 stop);
2524                 public void set_tags (owned Gst.TagList? tags);
2525         }
2526         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_tracer_get_type ()")]
2527         public abstract class Tracer : Gst.Object {
2528                 [CCode (has_construct_function = false)]
2529                 protected Tracer ();
2530                 [NoAccessorMethod]
2531                 public string @params { owned get; set construct; }
2532         }
2533         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_tracer_factory_get_type ()")]
2534         [Version (since = "1.8")]
2535         public class TracerFactory : Gst.PluginFeature {
2536                 [CCode (has_construct_function = false)]
2537                 protected TracerFactory ();
2538                 public static GLib.List<Gst.TracerFactory> get_list ();
2539                 public GLib.Type get_tracer_type ();
2540         }
2541         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_tracer_record_get_type ()")]
2542         public class TracerRecord : Gst.Object {
2543                 [CCode (has_construct_function = false)]
2544                 protected TracerRecord ();
2545         }
2546         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_type_find_factory_get_type ()")]
2547         public class TypeFindFactory : Gst.PluginFeature {
2548                 [CCode (has_construct_function = false)]
2549                 protected TypeFindFactory ();
2550                 public void call_function (Gst.TypeFind find);
2551                 public unowned Gst.Caps get_caps ();
2552                 [CCode (array_length = false, array_null_terminated = true)]
2553                 public unowned string[]? get_extensions ();
2554                 public static GLib.List<Gst.TypeFindFactory> get_list ();
2555                 public bool has_function ();
2556         }
2557         [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_uri_get_type ()")]
2558         [Compact]
2559         public class Uri {
2560                 [CCode (has_construct_function = false)]
2561                 [Version (since = "1.6")]
2562                 public Uri (string? scheme, string? userinfo, string? host, uint port, string? path, string? query, string? fragment);
2563                 [Version (since = "1.6")]
2564                 public bool append_path (string relative_path);
2565                 [Version (since = "1.6")]
2566                 public bool append_path_segment (string path_segment);
2567                 [Version (since = "1.6")]
2568                 public bool equal (Gst.Uri second);
2569                 [Version (since = "1.6")]
2570                 public Gst.Uri from_string_with_base (string uri);
2571                 [Version (since = "1.6")]
2572                 public unowned string? get_fragment ();
2573                 [Version (since = "1.6")]
2574                 public unowned string? get_host ();
2575                 [Version (since = "1.12")]
2576                 public GLib.HashTable<string,string>? get_media_fragment_table ();
2577                 [Version (since = "1.6")]
2578                 public string get_path ();
2579                 [Version (since = "1.6")]
2580                 public GLib.List<string> get_path_segments ();
2581                 [Version (since = "1.6")]
2582                 public string? get_path_string ();
2583                 [Version (since = "1.6")]
2584                 public uint get_port ();
2585                 [Version (since = "1.6")]
2586                 public GLib.List<weak string> get_query_keys ();
2587                 [Version (since = "1.6")]
2588                 public string? get_query_string ();
2589                 [Version (since = "1.6")]
2590                 public GLib.HashTable<string,string>? get_query_table ();
2591                 [Version (since = "1.6")]
2592                 public unowned string? get_query_value (string query_key);
2593                 public unowned string? get_scheme ();
2594                 [Version (since = "1.6")]
2595                 public unowned string? get_userinfo ();
2596                 [Version (since = "1.6")]
2597                 public bool is_normalized ();
2598                 [Version (since = "1.6")]
2599                 public bool is_writable ();
2600                 [Version (since = "1.6")]
2601                 public Gst.Uri? join (Gst.Uri? ref_uri);
2602                 [ReturnsModifiedPointer]
2603                 [Version (since = "1.6")]
2604                 public Gst.Uri make_writable ();
2605                 [Version (since = "1.6")]
2606                 public Gst.Uri new_with_base (string? scheme, string? userinfo, string? host, uint port, string? path, string? query, string? fragment);
2607                 [Version (since = "1.6")]
2608                 public bool normalize ();
2609                 [Version (since = "1.6")]
2610                 public bool query_has_key (string query_key);
2611                 [Version (since = "1.6")]
2612                 public bool remove_query_key (string query_key);
2613                 [Version (since = "1.6")]
2614                 public bool set_fragment (string? fragment);
2615                 [Version (since = "1.6")]
2616                 public bool set_host (string host);
2617                 [Version (since = "1.6")]
2618                 public bool set_path (string path);
2619                 [Version (since = "1.6")]
2620                 public bool set_path_segments (owned GLib.List<string>? path_segments);
2621                 [Version (since = "1.6")]
2622                 public bool set_path_string (string path);
2623                 [Version (since = "1.6")]
2624                 public bool set_port (uint port);
2625                 [Version (since = "1.6")]
2626                 public bool set_query_string (string query);
2627                 [Version (since = "1.6")]
2628                 public bool set_query_table (GLib.HashTable<string,string>? query_table);
2629                 [Version (since = "1.6")]
2630                 public bool set_query_value (string query_key, string? query_value);
2631                 [Version (since = "1.6")]
2632                 public bool set_scheme (string scheme);
2633                 [Version (since = "1.6")]
2634                 public bool set_userinfo (string userinfo);
2635                 [Version (since = "1.6")]
2636                 public string to_string ();
2637         }
2638         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_value_array_get_type ()")]
2639         public class ValueArray {
2640                 [CCode (has_construct_function = false)]
2641                 protected ValueArray ();
2642                 [Version (since = "1.2")]
2643                 public static void append_and_take_value (GLib.Value value, owned GLib.Value append_value);
2644                 public static void append_value (GLib.Value value, GLib.Value append_value);
2645                 public static uint get_size (GLib.Value value);
2646                 public static unowned GLib.Value? get_value (GLib.Value value, uint index);
2647                 public static void prepend_value (GLib.Value value, GLib.Value prepend_value);
2648         }
2649         [CCode (cheader_filename = "gst/gst.h", type_id = "gst_value_list_get_type ()")]
2650         public class ValueList {
2651                 [CCode (has_construct_function = false)]
2652                 protected ValueList ();
2653                 [Version (since = "1.2")]
2654                 public static void append_and_take_value (GLib.Value value, owned GLib.Value append_value);
2655                 public static void append_value (GLib.Value value, GLib.Value append_value);
2656                 public static void concat (out GLib.Value dest, GLib.Value value1, GLib.Value value2);
2657                 public static uint get_size (GLib.Value value);
2658                 public static unowned GLib.Value? get_value (GLib.Value value, uint index);
2659                 public static void merge (out GLib.Value dest, GLib.Value value1, GLib.Value value2);
2660                 public static void prepend_value (GLib.Value value, GLib.Value prepend_value);
2661         }
2662         [CCode (cheader_filename = "gst/gst.h", type_cname = "GstChildProxyInterface", type_id = "gst_child_proxy_get_type ()")]
2663         public interface ChildProxy : GLib.Object {
2664                 public void @get (...);
2665                 public abstract GLib.Object? get_child_by_index (uint index);
2666                 public abstract GLib.Object? get_child_by_name (string name);
2667                 public abstract uint get_children_count ();
2668                 public GLib.Value get_property (string name);
2669                 public void get_valist (string first_property_name, va_list var_args);
2670                 public bool lookup (string name, out GLib.Object target, out unowned GLib.ParamSpec pspec);
2671                 public void @set (...);
2672                 public void set_property (string name, GLib.Value value);
2673                 public void set_valist (string first_property_name, va_list var_args);
2674                 [HasEmitter]
2675                 public virtual signal void child_added (GLib.Object child, string name);
2676                 [HasEmitter]
2677                 public virtual signal void child_removed (GLib.Object child, string name);
2678         }
2679         [CCode (cheader_filename = "gst/gst.h", type_cname = "GstPresetInterface", type_id = "gst_preset_get_type ()")]
2680         public interface Preset : GLib.Object {
2681                 public abstract bool delete_preset (string name);
2682                 public static unowned string? get_app_dir ();
2683                 public abstract bool get_meta (string name, string tag, out string value);
2684                 [CCode (array_length = false, array_null_terminated = true)]
2685                 public abstract string[] get_preset_names ();
2686                 [CCode (array_length = false, array_null_terminated = true)]
2687                 public abstract string[] get_property_names ();
2688                 [Version (since = "1.6")]
2689                 public bool is_editable ();
2690                 public abstract bool load_preset (string name);
2691                 public abstract bool rename_preset (string old_name, string new_name);
2692                 public abstract bool save_preset (string name);
2693                 public static bool set_app_dir (string app_dir);
2694                 public abstract bool set_meta (string name, string tag, string? value);
2695         }
2696         [CCode (cheader_filename = "gst/gst.h", type_cname = "GstTagSetterInterface", type_id = "gst_tag_setter_get_type ()")]
2697         public interface TagSetter : Gst.Element {
2698                 public void add_tag_valist (Gst.TagMergeMode mode, string tag, va_list var_args);
2699                 public void add_tag_valist_values (Gst.TagMergeMode mode, string tag, va_list var_args);
2700                 public void add_tag_value (Gst.TagMergeMode mode, string tag, GLib.Value value);
2701                 public void add_tag_values (Gst.TagMergeMode mode, string tag, ...);
2702                 public void add_tags (Gst.TagMergeMode mode, string tag, ...);
2703                 public unowned Gst.TagList? get_tag_list ();
2704                 public Gst.TagMergeMode get_tag_merge_mode ();
2705                 public void merge_tags (Gst.TagList list, Gst.TagMergeMode mode);
2706                 public void reset_tags ();
2707                 public void set_tag_merge_mode (Gst.TagMergeMode mode);
2708         }
2709         [CCode (cheader_filename = "gst/gst.h", type_cname = "GstTocSetterInterface", type_id = "gst_toc_setter_get_type ()")]
2710         public interface TocSetter : Gst.Element {
2711                 public Gst.Toc? get_toc ();
2712                 public void reset ();
2713                 public void set_toc (Gst.Toc? toc);
2714         }
2715         [CCode (cheader_filename = "gst/gst.h", type_cname = "GstURIHandlerInterface", type_id = "gst_uri_handler_get_type ()")]
2716         public interface URIHandler : GLib.Object {
2717                 [CCode (array_length = false, array_null_terminated = true)]
2718                 public abstract unowned string[]? get_protocols ();
2719                 public abstract string? get_uri ();
2720                 [CCode (vfunc_name = "get_type")]
2721                 public abstract Gst.URIType get_uri_type ();
2722                 public abstract bool set_uri (string uri) throws GLib.Error;
2723         }
2724         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2725         public struct BufferPoolAcquireParams {
2726                 public Gst.Format format;
2727                 public int64 start;
2728                 public int64 stop;
2729                 public Gst.BufferPoolAcquireFlags flags;
2730         }
2731         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2732         public struct ClockEntry {
2733                 public int refcount;
2734                 public weak Gst.Clock clock;
2735                 public Gst.ClockEntryType type;
2736                 public Gst.ClockTime time;
2737                 public Gst.ClockTime interval;
2738                 public Gst.ClockReturn status;
2739                 public weak Gst.ClockCallback func;
2740                 public void* user_data;
2741                 public weak GLib.DestroyNotify destroy_data;
2742                 public bool unscheduled;
2743                 public bool woken_up;
2744         }
2745         [CCode (cheader_filename = "gst/gst.h")]
2746         [SimpleType]
2747         public struct ClockID {
2748         }
2749         [CCode (cheader_filename = "gst/gst.h")]
2750         [SimpleType]
2751         public struct ClockTime : uint64 {
2752         }
2753         [CCode (cheader_filename = "gst/gst.h")]
2754         [SimpleType]
2755         public struct ClockTimeDiff : int64 {
2756         }
2757         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2758         public struct DebugCategory {
2759                 public void free ();
2760                 public uint get_color ();
2761                 public unowned string get_description ();
2762                 public unowned string get_name ();
2763                 public Gst.DebugLevel get_threshold ();
2764                 public void reset_threshold ();
2765                 public void set_threshold (Gst.DebugLevel level);
2766         }
2767         [CCode (cheader_filename = "gst/gst.h")]
2768         [SimpleType]
2769         public struct ElementFactoryListType : uint64 {
2770         }
2771         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2772         public struct FormatDefinition {
2773                 public Gst.Format value;
2774                 public weak string nick;
2775                 public weak string description;
2776                 public GLib.Quark quark;
2777         }
2778         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2779         public struct MapInfo {
2780                 public weak Gst.Memory memory;
2781                 public Gst.MapFlags flags;
2782                 [CCode (array_length_cname = "size", array_length_type = "gsize")]
2783                 public weak uint8[] data;
2784                 public size_t size;
2785                 public size_t maxsize;
2786                 [CCode (array_length = false)]
2787                 public weak void* user_data[4];
2788         }
2789         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2790         public struct Meta {
2791                 public Gst.MetaFlags flags;
2792                 public Gst.MetaInfo info;
2793                 [CCode (array_length = false, array_null_terminated = true)]
2794                 [Version (since = "1.2")]
2795                 public static unowned string[] api_type_get_tags (GLib.Type api);
2796                 public static bool api_type_has_tag (GLib.Type api, GLib.Quark tag);
2797                 public static GLib.Type api_type_register (string api, string tags);
2798                 public static unowned Gst.MetaInfo? get_info (string impl);
2799                 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);
2800         }
2801         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2802         public struct MetaInfo {
2803                 public GLib.Type api;
2804                 public GLib.Type type;
2805                 public size_t size;
2806                 public weak Gst.MetaInitFunction init_func;
2807                 public weak Gst.MetaFreeFunction free_func;
2808                 public weak Gst.MetaTransformFunction transform_func;
2809         }
2810         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2811         public struct MetaTransformCopy {
2812                 public bool region;
2813                 public size_t offset;
2814                 public size_t size;
2815         }
2816         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2817         public struct PadProbeInfo {
2818                 public Gst.PadProbeType type;
2819                 public ulong id;
2820                 public void* data;
2821                 public uint64 offset;
2822                 public uint size;
2823                 public unowned Gst.Buffer? get_buffer ();
2824                 public unowned Gst.BufferList? get_buffer_list ();
2825                 public unowned Gst.Event? get_event ();
2826                 public unowned Gst.Query? get_query ();
2827         }
2828         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2829         public struct ParamSpecArray {
2830                 public weak GLib.ParamSpec parent_instance;
2831                 public weak GLib.ParamSpec element_spec;
2832         }
2833         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2834         public struct ParamSpecFraction {
2835                 public weak GLib.ParamSpec parent_instance;
2836                 public int min_num;
2837                 public int min_den;
2838                 public int max_num;
2839                 public int max_den;
2840                 public int def_num;
2841                 public int def_den;
2842         }
2843         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2844         [Version (since = "1.6")]
2845         public struct ParentBufferMeta {
2846                 public Gst.Meta parent;
2847                 public weak Gst.Buffer buffer;
2848                 public static GLib.Type api_get_type ();
2849                 public static unowned Gst.MetaInfo? get_info ();
2850         }
2851         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2852         public struct PluginDesc {
2853                 public int major_version;
2854                 public int minor_version;
2855                 public weak string name;
2856                 public weak string description;
2857                 public weak Gst.PluginInitFunc plugin_init;
2858                 public weak string version;
2859                 public weak string license;
2860                 public weak string source;
2861                 public weak string package;
2862                 public weak string origin;
2863                 public weak string release_datetime;
2864         }
2865         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2866         public struct PollFD {
2867                 public int fd;
2868                 public void init ();
2869         }
2870         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2871         [Version (since = "1.6")]
2872         public struct ProtectionMeta {
2873                 public Gst.Meta meta;
2874                 public weak Gst.Structure info;
2875                 public static GLib.Type api_get_type ();
2876                 public static unowned Gst.MetaInfo? get_info ();
2877         }
2878         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2879         [Version (since = "1.14")]
2880         public struct ReferenceTimestampMeta {
2881                 public Gst.Meta parent;
2882                 public weak Gst.Caps reference;
2883                 public Gst.ClockTime timestamp;
2884                 public Gst.ClockTime duration;
2885                 public static GLib.Type api_get_type ();
2886                 public static unowned Gst.MetaInfo? get_info ();
2887         }
2888         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2889         public struct StaticCaps {
2890                 public weak Gst.Caps caps;
2891                 public weak global::string string;
2892                 public void cleanup ();
2893                 public Gst.Caps? @get ();
2894                 public static GLib.Type get_type ();
2895         }
2896         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2897         public struct StaticPadTemplate {
2898                 public weak string name_template;
2899                 public Gst.PadDirection direction;
2900                 public Gst.PadPresence presence;
2901                 public Gst.StaticCaps static_caps;
2902                 public unowned Gst.PadTemplate? @get ();
2903                 public Gst.Caps get_caps ();
2904                 public static GLib.Type get_type ();
2905         }
2906         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2907         public struct TimedValue {
2908                 public Gst.ClockTime timestamp;
2909                 public double value;
2910         }
2911         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2912         public struct TypeFind {
2913                 public void* data;
2914                 public static GLib.Type get_type ();
2915                 [CCode (array_length_pos = 1.1, array_length_type = "guint")]
2916                 public unowned uint8[]? peek (int64 offset);
2917                 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);
2918                 public void suggest (uint probability, Gst.Caps caps);
2919                 public void suggest_simple (uint probability, string media_type, string? fieldname, ...);
2920         }
2921         [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
2922         public struct ValueTable {
2923                 public GLib.Type type;
2924                 public weak Gst.ValueCompareFunc compare;
2925                 public weak Gst.ValueSerializeFunc serialize;
2926                 public weak Gst.ValueDeserializeFunc deserialize;
2927         }
2928         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ALLOCATOR_FLAG_", type_id = "gst_allocator_flags_get_type ()")]
2929         [Flags]
2930         public enum AllocatorFlags {
2931                 CUSTOM_ALLOC,
2932                 LAST
2933         }
2934         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BIN_FLAG_", type_id = "gst_bin_flags_get_type ()")]
2935         [Flags]
2936         public enum BinFlags {
2937                 NO_RESYNC,
2938                 STREAMS_AWARE,
2939                 LAST
2940         }
2941         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_COPY_", type_id = "gst_buffer_copy_flags_get_type ()")]
2942         [Flags]
2943         public enum BufferCopyFlags {
2944                 NONE,
2945                 FLAGS,
2946                 TIMESTAMPS,
2947                 META,
2948                 MEMORY,
2949                 MERGE,
2950                 DEEP
2951         }
2952         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_FLAG_", type_id = "gst_buffer_flags_get_type ()")]
2953         [Flags]
2954         public enum BufferFlags {
2955                 LIVE,
2956                 DECODE_ONLY,
2957                 DISCONT,
2958                 RESYNC,
2959                 CORRUPTED,
2960                 MARKER,
2961                 HEADER,
2962                 GAP,
2963                 DROPPABLE,
2964                 DELTA_UNIT,
2965                 TAG_MEMORY,
2966                 SYNC_AFTER,
2967                 NON_DROPPABLE,
2968                 LAST
2969         }
2970         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_POOL_ACQUIRE_FLAG_", type_id = "gst_buffer_pool_acquire_flags_get_type ()")]
2971         [Flags]
2972         public enum BufferPoolAcquireFlags {
2973                 NONE,
2974                 KEY_UNIT,
2975                 DONTWAIT,
2976                 DISCONT,
2977                 LAST
2978         }
2979         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFERING_", type_id = "gst_buffering_mode_get_type ()")]
2980         public enum BufferingMode {
2981                 STREAM,
2982                 DOWNLOAD,
2983                 TIMESHIFT,
2984                 LIVE
2985         }
2986         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUS_", type_id = "gst_bus_flags_get_type ()")]
2987         [Flags]
2988         public enum BusFlags {
2989                 FLUSHING,
2990                 FLAG_LAST
2991         }
2992         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUS_", type_id = "gst_bus_sync_reply_get_type ()")]
2993         public enum BusSyncReply {
2994                 DROP,
2995                 PASS,
2996                 ASYNC
2997         }
2998         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CAPS_FLAG_", type_id = "gst_caps_flags_get_type ()")]
2999         [Flags]
3000         public enum CapsFlags {
3001                 ANY
3002         }
3003         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CAPS_INTERSECT_", type_id = "gst_caps_intersect_mode_get_type ()")]
3004         public enum CapsIntersectMode {
3005                 ZIG_ZAG,
3006                 FIRST
3007         }
3008         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_ENTRY_", type_id = "gst_clock_entry_type_get_type ()")]
3009         public enum ClockEntryType {
3010                 SINGLE,
3011                 PERIODIC
3012         }
3013         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_FLAG_", type_id = "gst_clock_flags_get_type ()")]
3014         [Flags]
3015         public enum ClockFlags {
3016                 CAN_DO_SINGLE_SYNC,
3017                 CAN_DO_SINGLE_ASYNC,
3018                 CAN_DO_PERIODIC_SYNC,
3019                 CAN_DO_PERIODIC_ASYNC,
3020                 CAN_SET_RESOLUTION,
3021                 CAN_SET_MASTER,
3022                 NEEDS_STARTUP_SYNC,
3023                 LAST
3024         }
3025         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_", type_id = "gst_clock_return_get_type ()")]
3026         public enum ClockReturn {
3027                 OK,
3028                 EARLY,
3029                 UNSCHEDULED,
3030                 BUSY,
3031                 BADTIME,
3032                 ERROR,
3033                 UNSUPPORTED,
3034                 DONE
3035         }
3036         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_TYPE_", type_id = "gst_clock_type_get_type ()")]
3037         public enum ClockType {
3038                 REALTIME,
3039                 MONOTONIC,
3040                 OTHER
3041         }
3042         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_DEBUG_", type_id = "gst_debug_color_flags_get_type ()")]
3043         [Flags]
3044         public enum DebugColorFlags {
3045                 FG_BLACK,
3046                 FG_RED,
3047                 FG_GREEN,
3048                 FG_YELLOW,
3049                 FG_BLUE,
3050                 FG_MAGENTA,
3051                 FG_CYAN,
3052                 FG_WHITE,
3053                 BG_BLACK,
3054                 BG_RED,
3055                 BG_GREEN,
3056                 BG_YELLOW,
3057                 BG_BLUE,
3058                 BG_MAGENTA,
3059                 BG_CYAN,
3060                 BG_WHITE,
3061                 BOLD,
3062                 UNDERLINE
3063         }
3064         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_DEBUG_COLOR_MODE_", type_id = "gst_debug_color_mode_get_type ()")]
3065         public enum DebugColorMode {
3066                 OFF,
3067                 ON,
3068                 UNIX
3069         }
3070         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_DEBUG_GRAPH_SHOW_", type_id = "gst_debug_graph_details_get_type ()")]
3071         [Flags]
3072         public enum DebugGraphDetails {
3073                 MEDIA_TYPE,
3074                 CAPS_DETAILS,
3075                 NON_DEFAULT_PARAMS,
3076                 STATES,
3077                 FULL_PARAMS,
3078                 ALL,
3079                 VERBOSE
3080         }
3081         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LEVEL_", type_id = "gst_debug_level_get_type ()")]
3082         public enum DebugLevel {
3083                 NONE,
3084                 ERROR,
3085                 WARNING,
3086                 FIXME,
3087                 INFO,
3088                 DEBUG,
3089                 LOG,
3090                 TRACE,
3091                 MEMDUMP,
3092                 COUNT
3093         }
3094         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ELEMENT_FLAG_", type_id = "gst_element_flags_get_type ()")]
3095         [Flags]
3096         public enum ElementFlags {
3097                 LOCKED_STATE,
3098                 SINK,
3099                 SOURCE,
3100                 PROVIDE_CLOCK,
3101                 REQUIRE_CLOCK,
3102                 INDEXABLE,
3103                 LAST
3104         }
3105         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_EVENT_", type_id = "gst_event_type_get_type ()")]
3106         public enum EventType {
3107                 UNKNOWN,
3108                 FLUSH_START,
3109                 FLUSH_STOP,
3110                 STREAM_START,
3111                 CAPS,
3112                 SEGMENT,
3113                 STREAM_COLLECTION,
3114                 TAG,
3115                 BUFFERSIZE,
3116                 SINK_MESSAGE,
3117                 STREAM_GROUP_DONE,
3118                 EOS,
3119                 TOC,
3120                 PROTECTION,
3121                 SEGMENT_DONE,
3122                 GAP,
3123                 QOS,
3124                 SEEK,
3125                 NAVIGATION,
3126                 LATENCY,
3127                 STEP,
3128                 RECONFIGURE,
3129                 TOC_SELECT,
3130                 SELECT_STREAMS,
3131                 CUSTOM_UPSTREAM,
3132                 CUSTOM_DOWNSTREAM,
3133                 CUSTOM_DOWNSTREAM_OOB,
3134                 CUSTOM_DOWNSTREAM_STICKY,
3135                 CUSTOM_BOTH,
3136                 CUSTOM_BOTH_OOB;
3137                 public Gst.EventTypeFlags get_flags ();
3138                 public unowned string get_name ();
3139                 public GLib.Quark to_quark ();
3140         }
3141         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_EVENT_TYPE_", type_id = "gst_event_type_flags_get_type ()")]
3142         [Flags]
3143         public enum EventTypeFlags {
3144                 UPSTREAM,
3145                 DOWNSTREAM,
3146                 SERIALIZED,
3147                 STICKY,
3148                 STICKY_MULTI
3149         }
3150         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_FLOW_", type_id = "gst_flow_return_get_type ()")]
3151         public enum FlowReturn {
3152                 CUSTOM_SUCCESS_2,
3153                 CUSTOM_SUCCESS_1,
3154                 CUSTOM_SUCCESS,
3155                 OK,
3156                 NOT_LINKED,
3157                 FLUSHING,
3158                 EOS,
3159                 NOT_NEGOTIATED,
3160                 ERROR,
3161                 NOT_SUPPORTED,
3162                 CUSTOM_ERROR,
3163                 CUSTOM_ERROR_1,
3164                 CUSTOM_ERROR_2;
3165                 [CCode (cname = "gst_flow_get_name")]
3166                 public unowned string get_name ();
3167         }
3168         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_FORMAT_", type_id = "gst_format_get_type ()")]
3169         public enum Format {
3170                 UNDEFINED,
3171                 DEFAULT,
3172                 BYTES,
3173                 TIME,
3174                 BUFFERS,
3175                 PERCENT;
3176                 [CCode (cname = "gst_formats_contains")]
3177                 public static bool contains ([CCode (array_length = false, array_null_terminated = true)] Gst.Format[] formats, Gst.Format format);
3178                 public static Gst.Format get_by_nick (string nick);
3179                 public unowned Gst.FormatDefinition? get_details ();
3180                 public unowned string? get_name ();
3181                 public static Gst.Iterator iterate_definitions ();
3182                 public static Gst.Format register (string nick, string description);
3183                 public GLib.Quark to_quark ();
3184         }
3185         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ITERATOR_ITEM_", type_id = "gst_iterator_item_get_type ()")]
3186         public enum IteratorItem {
3187                 SKIP,
3188                 PASS,
3189                 END
3190         }
3191         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ITERATOR_", type_id = "gst_iterator_result_get_type ()")]
3192         public enum IteratorResult {
3193                 DONE,
3194                 OK,
3195                 RESYNC,
3196                 ERROR
3197         }
3198         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LOCK_FLAG_", type_id = "gst_lock_flags_get_type ()")]
3199         [Flags]
3200         public enum LockFlags {
3201                 READ,
3202                 WRITE,
3203                 EXCLUSIVE,
3204                 LAST
3205         }
3206         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MAP_", type_id = "gst_map_flags_get_type ()")]
3207         [Flags]
3208         public enum MapFlags {
3209                 READ,
3210                 WRITE,
3211                 FLAG_LAST
3212         }
3213         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MEMORY_FLAG_", type_id = "gst_memory_flags_get_type ()")]
3214         [Flags]
3215         public enum MemoryFlags {
3216                 READONLY,
3217                 NO_SHARE,
3218                 ZERO_PREFIXED,
3219                 ZERO_PADDED,
3220                 PHYSICALLY_CONTIGUOUS,
3221                 NOT_MAPPABLE,
3222                 LAST
3223         }
3224         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MESSAGE_", type_id = "gst_message_type_get_type ()")]
3225         [Flags]
3226         public enum MessageType {
3227                 UNKNOWN,
3228                 EOS,
3229                 ERROR,
3230                 WARNING,
3231                 INFO,
3232                 TAG,
3233                 BUFFERING,
3234                 STATE_CHANGED,
3235                 STATE_DIRTY,
3236                 STEP_DONE,
3237                 CLOCK_PROVIDE,
3238                 CLOCK_LOST,
3239                 NEW_CLOCK,
3240                 STRUCTURE_CHANGE,
3241                 STREAM_STATUS,
3242                 APPLICATION,
3243                 ELEMENT,
3244                 SEGMENT_START,
3245                 SEGMENT_DONE,
3246                 DURATION_CHANGED,
3247                 LATENCY,
3248                 ASYNC_START,
3249                 ASYNC_DONE,
3250                 REQUEST_STATE,
3251                 STEP_START,
3252                 QOS,
3253                 PROGRESS,
3254                 TOC,
3255                 RESET_TIME,
3256                 STREAM_START,
3257                 NEED_CONTEXT,
3258                 HAVE_CONTEXT,
3259                 EXTENDED,
3260                 DEVICE_ADDED,
3261                 DEVICE_REMOVED,
3262                 PROPERTY_NOTIFY,
3263                 STREAM_COLLECTION,
3264                 STREAMS_SELECTED,
3265                 REDIRECT,
3266                 ANY;
3267                 public unowned string get_name ();
3268                 public GLib.Quark to_quark ();
3269         }
3270         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_META_FLAG_", type_id = "gst_meta_flags_get_type ()")]
3271         [Flags]
3272         public enum MetaFlags {
3273                 NONE,
3274                 READONLY,
3275                 POOLED,
3276                 LOCKED,
3277                 LAST
3278         }
3279         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MINI_OBJECT_FLAG_", type_id = "gst_mini_object_flags_get_type ()")]
3280         [Flags]
3281         public enum MiniObjectFlags {
3282                 LOCKABLE,
3283                 LOCK_READONLY,
3284                 MAY_BE_LEAKED,
3285                 LAST
3286         }
3287         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_OBJECT_FLAG_", type_id = "gst_object_flags_get_type ()")]
3288         [Flags]
3289         public enum ObjectFlags {
3290                 MAY_BE_LEAKED,
3291                 LAST
3292         }
3293         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_", type_id = "gst_pad_direction_get_type ()")]
3294         public enum PadDirection {
3295                 UNKNOWN,
3296                 SRC,
3297                 SINK
3298         }
3299         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_FLAG_", type_id = "gst_pad_flags_get_type ()")]
3300         [Flags]
3301         public enum PadFlags {
3302                 BLOCKED,
3303                 FLUSHING,
3304                 EOS,
3305                 BLOCKING,
3306                 NEED_PARENT,
3307                 NEED_RECONFIGURE,
3308                 PENDING_EVENTS,
3309                 FIXED_CAPS,
3310                 PROXY_CAPS,
3311                 PROXY_ALLOCATION,
3312                 PROXY_SCHEDULING,
3313                 ACCEPT_INTERSECT,
3314                 ACCEPT_TEMPLATE,
3315                 LAST
3316         }
3317         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_LINK_CHECK_", type_id = "gst_pad_link_check_get_type ()")]
3318         [Flags]
3319         public enum PadLinkCheck {
3320                 NOTHING,
3321                 HIERARCHY,
3322                 TEMPLATE_CAPS,
3323                 CAPS,
3324                 NO_RECONFIGURE,
3325                 DEFAULT
3326         }
3327         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_LINK_", type_id = "gst_pad_link_return_get_type ()")]
3328         public enum PadLinkReturn {
3329                 OK,
3330                 WRONG_HIERARCHY,
3331                 WAS_LINKED,
3332                 WRONG_DIRECTION,
3333                 NOFORMAT,
3334                 NOSCHED,
3335                 REFUSED
3336         }
3337         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_MODE_", type_id = "gst_pad_mode_get_type ()")]
3338         public enum PadMode {
3339                 NONE,
3340                 PUSH,
3341                 PULL;
3342                 public unowned string get_name ();
3343         }
3344         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_", type_id = "gst_pad_presence_get_type ()")]
3345         public enum PadPresence {
3346                 ALWAYS,
3347                 SOMETIMES,
3348                 REQUEST
3349         }
3350         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_PROBE_", type_id = "gst_pad_probe_return_get_type ()")]
3351         public enum PadProbeReturn {
3352                 DROP,
3353                 OK,
3354                 REMOVE,
3355                 PASS,
3356                 HANDLED
3357         }
3358         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_PROBE_TYPE_", type_id = "gst_pad_probe_type_get_type ()")]
3359         [Flags]
3360         public enum PadProbeType {
3361                 INVALID,
3362                 IDLE,
3363                 BLOCK,
3364                 BUFFER,
3365                 BUFFER_LIST,
3366                 EVENT_DOWNSTREAM,
3367                 EVENT_UPSTREAM,
3368                 EVENT_FLUSH,
3369                 QUERY_DOWNSTREAM,
3370                 QUERY_UPSTREAM,
3371                 PUSH,
3372                 PULL,
3373                 BLOCKING,
3374                 DATA_DOWNSTREAM,
3375                 DATA_UPSTREAM,
3376                 DATA_BOTH,
3377                 BLOCK_DOWNSTREAM,
3378                 BLOCK_UPSTREAM,
3379                 EVENT_BOTH,
3380                 QUERY_BOTH,
3381                 ALL_BOTH,
3382                 SCHEDULING
3383         }
3384         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_TEMPLATE_FLAG_", type_id = "gst_pad_template_flags_get_type ()")]
3385         [Flags]
3386         public enum PadTemplateFlags {
3387                 LAST
3388         }
3389         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PARSE_FLAG_", type_id = "gst_parse_flags_get_type ()")]
3390         [Flags]
3391         public enum ParseFlags {
3392                 NONE,
3393                 FATAL_ERRORS,
3394                 NO_SINGLE_ELEMENT_BINS,
3395                 PLACE_IN_BIN
3396         }
3397         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PIPELINE_FLAG_", type_id = "gst_pipeline_flags_get_type ()")]
3398         [Flags]
3399         public enum PipelineFlags {
3400                 FIXED_CLOCK,
3401                 LAST
3402         }
3403         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PLUGIN_DEPENDENCY_FLAG_", type_id = "gst_plugin_dependency_flags_get_type ()")]
3404         [Flags]
3405         public enum PluginDependencyFlags {
3406                 NONE,
3407                 RECURSE,
3408                 PATHS_ARE_DEFAULT_ONLY,
3409                 FILE_NAME_IS_SUFFIX,
3410                 FILE_NAME_IS_PREFIX,
3411                 PATHS_ARE_RELATIVE_TO_EXE
3412         }
3413         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PLUGIN_FLAG_", type_id = "gst_plugin_flags_get_type ()")]
3414         [Flags]
3415         public enum PluginFlags {
3416                 CACHED,
3417                 BLACKLISTED
3418         }
3419         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PROGRESS_TYPE_", type_id = "gst_progress_type_get_type ()")]
3420         public enum ProgressType {
3421                 START,
3422                 CONTINUE,
3423                 COMPLETE,
3424                 CANCELED,
3425                 ERROR
3426         }
3427         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PROMISE_RESULT_", type_id = "gst_promise_result_get_type ()")]
3428         [Version (since = "1.14")]
3429         public enum PromiseResult {
3430                 PENDING,
3431                 INTERRUPTED,
3432                 REPLIED,
3433                 EXPIRED
3434         }
3435         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_QOS_TYPE_", type_id = "gst_qos_type_get_type ()")]
3436         public enum QOSType {
3437                 OVERFLOW,
3438                 UNDERFLOW,
3439                 THROTTLE
3440         }
3441         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_QUERY_", type_id = "gst_query_type_get_type ()")]
3442         public enum QueryType {
3443                 UNKNOWN,
3444                 POSITION,
3445                 DURATION,
3446                 LATENCY,
3447                 JITTER,
3448                 RATE,
3449                 SEEKING,
3450                 SEGMENT,
3451                 CONVERT,
3452                 FORMATS,
3453                 BUFFERING,
3454                 CUSTOM,
3455                 URI,
3456                 ALLOCATION,
3457                 SCHEDULING,
3458                 ACCEPT_CAPS,
3459                 CAPS,
3460                 DRAIN,
3461                 CONTEXT;
3462                 public Gst.QueryTypeFlags get_flags ();
3463                 public unowned string get_name ();
3464                 public GLib.Quark to_quark ();
3465         }
3466         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_QUERY_TYPE_", type_id = "gst_query_type_flags_get_type ()")]
3467         [Flags]
3468         public enum QueryTypeFlags {
3469                 UPSTREAM,
3470                 DOWNSTREAM,
3471                 SERIALIZED
3472         }
3473         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_RANK_", type_id = "gst_rank_get_type ()")]
3474         public enum Rank {
3475                 NONE,
3476                 MARGINAL,
3477                 SECONDARY,
3478                 PRIMARY
3479         }
3480         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SCHEDULING_FLAG_", type_id = "gst_scheduling_flags_get_type ()")]
3481         [Flags]
3482         public enum SchedulingFlags {
3483                 SEEKABLE,
3484                 SEQUENTIAL,
3485                 BANDWIDTH_LIMITED
3486         }
3487         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEARCH_MODE_", type_id = "gst_search_mode_get_type ()")]
3488         public enum SearchMode {
3489                 EXACT,
3490                 BEFORE,
3491                 AFTER
3492         }
3493         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEEK_FLAG_", type_id = "gst_seek_flags_get_type ()")]
3494         [Flags]
3495         public enum SeekFlags {
3496                 NONE,
3497                 FLUSH,
3498                 ACCURATE,
3499                 KEY_UNIT,
3500                 SEGMENT,
3501                 TRICKMODE,
3502                 SKIP,
3503                 SNAP_BEFORE,
3504                 SNAP_AFTER,
3505                 SNAP_NEAREST,
3506                 TRICKMODE_KEY_UNITS,
3507                 TRICKMODE_NO_AUDIO
3508         }
3509         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEEK_TYPE_", type_id = "gst_seek_type_get_type ()")]
3510         public enum SeekType {
3511                 NONE,
3512                 SET,
3513                 END
3514         }
3515         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEGMENT_FLAG_", type_id = "gst_segment_flags_get_type ()")]
3516         [Flags]
3517         public enum SegmentFlags {
3518                 NONE,
3519                 RESET,
3520                 TRICKMODE,
3521                 SKIP,
3522                 SEGMENT,
3523                 TRICKMODE_KEY_UNITS,
3524                 TRICKMODE_NO_AUDIO
3525         }
3526         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STACK_TRACE_SHOW_", type_id = "gst_stack_trace_flags_get_type ()")]
3527         [Flags]
3528         [Version (since = "1.12")]
3529         public enum StackTraceFlags {
3530                 FULL
3531         }
3532         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_", type_id = "gst_state_get_type ()")]
3533         public enum State {
3534                 VOID_PENDING,
3535                 NULL,
3536                 READY,
3537                 PAUSED,
3538                 PLAYING
3539         }
3540         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_CHANGE_", type_id = "gst_state_change_get_type ()")]
3541         public enum StateChange {
3542                 NULL_TO_READY,
3543                 READY_TO_PAUSED,
3544                 PAUSED_TO_PLAYING,
3545                 PLAYING_TO_PAUSED,
3546                 PAUSED_TO_READY,
3547                 READY_TO_NULL,
3548                 NULL_TO_NULL,
3549                 READY_TO_READY,
3550                 PAUSED_TO_PAUSED,
3551                 PLAYING_TO_PLAYING;
3552                 [Version (since = "1.14")]
3553                 public unowned string get_name ();
3554         }
3555         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_CHANGE_", type_id = "gst_state_change_return_get_type ()")]
3556         public enum StateChangeReturn {
3557                 FAILURE,
3558                 SUCCESS,
3559                 ASYNC,
3560                 NO_PREROLL
3561         }
3562         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_FLAG_", type_id = "gst_stream_flags_get_type ()")]
3563         [Flags]
3564         [Version (since = "1.2")]
3565         public enum StreamFlags {
3566                 NONE,
3567                 SPARSE,
3568                 SELECT,
3569                 UNSELECT
3570         }
3571         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_STATUS_TYPE_", type_id = "gst_stream_status_type_get_type ()")]
3572         public enum StreamStatusType {
3573                 CREATE,
3574                 ENTER,
3575                 LEAVE,
3576                 DESTROY,
3577                 START,
3578                 PAUSE,
3579                 STOP
3580         }
3581         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_TYPE_", type_id = "gst_stream_type_get_type ()")]
3582         [Flags]
3583         [Version (since = "1.10")]
3584         public enum StreamType {
3585                 UNKNOWN,
3586                 AUDIO,
3587                 VIDEO,
3588                 CONTAINER,
3589                 TEXT;
3590                 public unowned string? get_name ();
3591         }
3592         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STRUCTURE_CHANGE_TYPE_PAD_", type_id = "gst_structure_change_type_get_type ()")]
3593         public enum StructureChangeType {
3594                 LINK,
3595                 UNLINK
3596         }
3597         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TAG_FLAG_", type_id = "gst_tag_flag_get_type ()")]
3598         public enum TagFlag {
3599                 UNDEFINED,
3600                 META,
3601                 ENCODED,
3602                 DECODED,
3603                 COUNT
3604         }
3605         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TAG_MERGE_", type_id = "gst_tag_merge_mode_get_type ()")]
3606         public enum TagMergeMode {
3607                 UNDEFINED,
3608                 REPLACE_ALL,
3609                 REPLACE,
3610                 APPEND,
3611                 PREPEND,
3612                 KEEP,
3613                 KEEP_ALL,
3614                 COUNT
3615         }
3616         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TAG_SCOPE_", type_id = "gst_tag_scope_get_type ()")]
3617         public enum TagScope {
3618                 STREAM,
3619                 GLOBAL
3620         }
3621         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TASK_", type_id = "gst_task_state_get_type ()")]
3622         public enum TaskState {
3623                 STARTED,
3624                 STOPPED,
3625                 PAUSED
3626         }
3627         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TOC_ENTRY_TYPE_", type_id = "gst_toc_entry_type_get_type ()")]
3628         public enum TocEntryType {
3629                 ANGLE,
3630                 VERSION,
3631                 EDITION,
3632                 INVALID,
3633                 TITLE,
3634                 TRACK,
3635                 CHAPTER;
3636                 public unowned string get_nick ();
3637         }
3638         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TOC_LOOP_", type_id = "gst_toc_loop_type_get_type ()")]
3639         [Version (since = "1.4")]
3640         public enum TocLoopType {
3641                 NONE,
3642                 FORWARD,
3643                 REVERSE,
3644                 PING_PONG
3645         }
3646         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TOC_SCOPE_", type_id = "gst_toc_scope_get_type ()")]
3647         public enum TocScope {
3648                 GLOBAL,
3649                 CURRENT
3650         }
3651         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TRACER_VALUE_FLAGS_", type_id = "gst_tracer_value_flags_get_type ()")]
3652         [Flags]
3653         public enum TracerValueFlags {
3654                 NONE,
3655                 OPTIONAL,
3656                 AGGREGATED
3657         }
3658         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TRACER_VALUE_SCOPE_", type_id = "gst_tracer_value_scope_get_type ()")]
3659         [Version (since = "1.8")]
3660         public enum TracerValueScope {
3661                 PROCESS,
3662                 THREAD,
3663                 ELEMENT,
3664                 PAD
3665         }
3666         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TYPE_FIND_", type_id = "gst_type_find_probability_get_type ()")]
3667         public enum TypeFindProbability {
3668                 NONE,
3669                 MINIMUM,
3670                 POSSIBLE,
3671                 LIKELY,
3672                 NEARLY_CERTAIN,
3673                 MAXIMUM
3674         }
3675         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_URI_", type_id = "gst_uri_type_get_type ()")]
3676         public enum URIType {
3677                 UNKNOWN,
3678                 SINK,
3679                 SRC
3680         }
3681         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CORE_ERROR_")]
3682         public errordomain CoreError {
3683                 FAILED,
3684                 TOO_LAZY,
3685                 NOT_IMPLEMENTED,
3686                 STATE_CHANGE,
3687                 PAD,
3688                 THREAD,
3689                 NEGOTIATION,
3690                 EVENT,
3691                 SEEK,
3692                 CAPS,
3693                 TAG,
3694                 MISSING_PLUGIN,
3695                 CLOCK,
3696                 DISABLED,
3697                 NUM_ERRORS;
3698                 public static GLib.Quark quark ();
3699         }
3700         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LIBRARY_ERROR_")]
3701         public errordomain LibraryError {
3702                 FAILED,
3703                 TOO_LAZY,
3704                 INIT,
3705                 SHUTDOWN,
3706                 SETTINGS,
3707                 ENCODE,
3708                 NUM_ERRORS;
3709                 public static GLib.Quark quark ();
3710         }
3711         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PARSE_ERROR_")]
3712         public errordomain ParseError {
3713                 SYNTAX,
3714                 NO_SUCH_ELEMENT,
3715                 NO_SUCH_PROPERTY,
3716                 LINK,
3717                 COULD_NOT_SET_PROPERTY,
3718                 EMPTY_BIN,
3719                 EMPTY,
3720                 DELAYED_LINK;
3721                 public static GLib.Quark quark ();
3722         }
3723         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PLUGIN_ERROR_")]
3724         public errordomain PluginError {
3725                 MODULE,
3726                 DEPENDENCIES,
3727                 NAME_MISMATCH;
3728                 public static GLib.Quark quark ();
3729         }
3730         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_RESOURCE_ERROR_")]
3731         public errordomain ResourceError {
3732                 FAILED,
3733                 TOO_LAZY,
3734                 NOT_FOUND,
3735                 BUSY,
3736                 OPEN_READ,
3737                 OPEN_WRITE,
3738                 OPEN_READ_WRITE,
3739                 CLOSE,
3740                 READ,
3741                 WRITE,
3742                 SEEK,
3743                 SYNC,
3744                 SETTINGS,
3745                 NO_SPACE_LEFT,
3746                 NOT_AUTHORIZED,
3747                 NUM_ERRORS;
3748                 public static GLib.Quark quark ();
3749         }
3750         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_ERROR_")]
3751         public errordomain StreamError {
3752                 FAILED,
3753                 TOO_LAZY,
3754                 NOT_IMPLEMENTED,
3755                 TYPE_NOT_FOUND,
3756                 WRONG_TYPE,
3757                 CODEC_NOT_FOUND,
3758                 DECODE,
3759                 ENCODE,
3760                 DEMUX,
3761                 MUX,
3762                 FORMAT,
3763                 DECRYPT,
3764                 DECRYPT_NOKEY,
3765                 NUM_ERRORS;
3766                 public static GLib.Quark quark ();
3767         }
3768         [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_URI_ERROR_")]
3769         public errordomain URIError {
3770                 UNSUPPORTED_PROTOCOL,
3771                 BAD_URI,
3772                 BAD_STATE,
3773                 BAD_REFERENCE
3774         }
3775         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3776         public delegate bool BufferForeachMetaFunc (Gst.Buffer buffer, out Gst.Meta? meta);
3777         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3778         public delegate bool BufferListFunc (out Gst.Buffer? buffer, uint idx);
3779         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3780         public delegate bool BusFunc (Gst.Bus bus, Gst.Message message);
3781         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3782         public delegate Gst.BusSyncReply BusSyncHandler (Gst.Bus bus, Gst.Message message);
3783         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3784         public delegate bool CapsFilterMapFunc (Gst.CapsFeatures features, Gst.Structure structure);
3785         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3786         [Version (since = "1.6")]
3787         public delegate bool CapsForeachFunc (Gst.CapsFeatures features, Gst.Structure structure);
3788         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3789         public delegate bool CapsMapFunc (Gst.CapsFeatures features, Gst.Structure structure);
3790         [CCode (cheader_filename = "gst/gst.h", instance_pos = 3.9)]
3791         public delegate bool ClockCallback (Gst.Clock clock, Gst.ClockTime time, Gst.ClockID id);
3792         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3793         public delegate void ControlBindingConvert (Gst.ControlBinding binding, double src_value, GLib.Value dest_value);
3794         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3795         public delegate bool ControlSourceGetValue (Gst.ControlSource self, Gst.ClockTime timestamp, double value);
3796         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3797         public delegate bool ControlSourceGetValueArray (Gst.ControlSource self, Gst.ClockTime timestamp, Gst.ClockTime interval, uint n_values, double values);
3798         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3799         public delegate void DebugFuncPtr ();
3800         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3801         public delegate void ElementCallAsyncFunc (Gst.Element element);
3802         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3803         [Version (since = "1.14")]
3804         public delegate bool ElementForeachPadFunc (Gst.Element element, Gst.Pad pad);
3805         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3806         public delegate void IteratorCopyFunction (Gst.Iterator it, Gst.Iterator copy);
3807         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3808         public delegate bool IteratorFoldFunction (GLib.Value item, GLib.Value ret);
3809         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3810         public delegate void IteratorForeachFunction (GLib.Value item);
3811         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3812         public delegate void IteratorFreeFunction (Gst.Iterator it);
3813         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3814         public delegate Gst.IteratorItem IteratorItemFunction (Gst.Iterator it, GLib.Value item);
3815         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3816         public delegate Gst.IteratorResult IteratorNextFunction (Gst.Iterator it, GLib.Value result);
3817         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3818         public delegate void IteratorResyncFunction (Gst.Iterator it);
3819         [CCode (cheader_filename = "gst/gst.h", instance_pos = 7.9)]
3820         public delegate void LogFunction (Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object object, Gst.DebugMessage message);
3821         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3822         public delegate Gst.Memory MemoryCopyFunction (Gst.Memory mem, ssize_t offset, ssize_t size);
3823         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3824         public delegate bool MemoryIsSpanFunction (Gst.Memory mem1, Gst.Memory mem2, size_t offset);
3825         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3826         public delegate void* MemoryMapFullFunction (Gst.Memory mem, Gst.MapInfo info, size_t maxsize);
3827         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3828         public delegate void* MemoryMapFunction (Gst.Memory mem, size_t maxsize, Gst.MapFlags flags);
3829         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3830         public delegate Gst.Memory MemoryShareFunction (Gst.Memory mem, ssize_t offset, ssize_t size);
3831         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3832         public delegate void MemoryUnmapFullFunction (Gst.Memory mem, Gst.MapInfo info);
3833         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3834         public delegate void MemoryUnmapFunction (Gst.Memory mem);
3835         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3836         public delegate void MetaFreeFunction (Gst.Meta meta, Gst.Buffer buffer);
3837         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3838         public delegate bool MetaInitFunction (Gst.Meta meta, void* @params, Gst.Buffer buffer);
3839         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3840         public delegate bool MetaTransformFunction (Gst.Buffer transbuf, Gst.Meta meta, Gst.Buffer buffer, GLib.Quark type, void* data);
3841         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3842         public delegate bool MiniObjectDisposeFunction (Gst.MiniObject obj);
3843         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3844         public delegate void MiniObjectFreeFunction (Gst.MiniObject obj);
3845         [CCode (cheader_filename = "gst/gst.h", instance_pos = 0.9)]
3846         public delegate void MiniObjectNotify (Gst.MiniObject obj);
3847         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3848         public delegate bool PadActivateFunction (Gst.Pad pad, Gst.Object parent);
3849         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3850         public delegate bool PadActivateModeFunction (Gst.Pad pad, Gst.Object parent, Gst.PadMode mode, bool active);
3851         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3852         public delegate Gst.FlowReturn PadChainFunction (Gst.Pad pad, Gst.Object? parent, owned Gst.Buffer buffer);
3853         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3854         public delegate Gst.FlowReturn PadChainListFunction (Gst.Pad pad, Gst.Object? parent, owned Gst.BufferList list);
3855         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3856         [Version (since = "1.8")]
3857         public delegate Gst.FlowReturn PadEventFullFunction (Gst.Pad pad, Gst.Object? parent, owned Gst.Event event);
3858         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3859         public delegate bool PadEventFunction (Gst.Pad pad, Gst.Object? parent, owned Gst.Event event);
3860         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3861         public delegate bool PadForwardFunction (Gst.Pad pad);
3862         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3863         public delegate Gst.FlowReturn PadGetRangeFunction (Gst.Pad pad, Gst.Object? parent, uint64 offset, uint length, Gst.Buffer buffer);
3864         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3865         public delegate Gst.Iterator PadIterIntLinkFunction (Gst.Pad pad, Gst.Object? parent);
3866         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3867         public delegate Gst.PadLinkReturn PadLinkFunction (Gst.Pad pad, Gst.Object? parent, Gst.Pad peer);
3868         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3869         public delegate Gst.PadProbeReturn PadProbeCallback (Gst.Pad pad, Gst.PadProbeInfo info);
3870         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3871         public delegate bool PadQueryFunction (Gst.Pad pad, Gst.Object? parent, Gst.Query query);
3872         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3873         public delegate bool PadStickyEventsForeachFunction (Gst.Pad pad, Gst.Event? event);
3874         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3875         public delegate void PadUnlinkFunction (Gst.Pad pad, Gst.Object? parent);
3876         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3877         public delegate bool PluginFeatureFilter (Gst.PluginFeature feature);
3878         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3879         public delegate bool PluginFilter (Gst.Plugin plugin);
3880         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3881         public delegate bool PluginInitFullFunc (Gst.Plugin plugin);
3882         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3883         public delegate bool PluginInitFunc (Gst.Plugin plugin);
3884         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3885         [Version (since = "1.14")]
3886         public delegate void PromiseChangeFunc (Gst.Promise promise);
3887         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3888         public delegate bool StructureFilterMapFunc (GLib.Quark field_id, GLib.Value value);
3889         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3890         public delegate bool StructureForeachFunc (GLib.Quark field_id, GLib.Value value);
3891         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3892         public delegate bool StructureMapFunc (GLib.Quark field_id, GLib.Value value);
3893         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3894         public delegate void TagForeachFunc (Gst.TagList list, string tag);
3895         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3896         public delegate void TagMergeFunc (GLib.Value dest, GLib.Value src);
3897         [CCode (cheader_filename = "gst/gst.h", instance_pos = 0.9)]
3898         public delegate void TaskFunction ();
3899         [CCode (cheader_filename = "gst/gst.h", instance_pos = 0.9)]
3900         public delegate void TaskPoolFunction ();
3901         [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
3902         public delegate void TaskThreadFunc (Gst.Task task, GLib.Thread thread);
3903         [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
3904         public delegate void TypeFindFunction (Gst.TypeFind find);
3905         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3906         public delegate int ValueCompareFunc (GLib.Value value1, GLib.Value value2);
3907         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3908         public delegate bool ValueDeserializeFunc (GLib.Value dest, string s);
3909         [CCode (cheader_filename = "gst/gst.h", has_target = false)]
3910         public delegate string ValueSerializeFunc (GLib.Value value1);
3911         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ALLOCATOR_SYSMEM")]
3912         public const string ALLOCATOR_SYSMEM;
3913         [CCode (cheader_filename = "gst/gst.h", cname = "GST_BUFFER_COPY_ALL")]
3914         public const Gst.BufferCopyFlags BUFFER_COPY_ALL;
3915         [CCode (cheader_filename = "gst/gst.h", cname = "GST_BUFFER_COPY_METADATA")]
3916         public const Gst.BufferCopyFlags BUFFER_COPY_METADATA;
3917         [CCode (cheader_filename = "gst/gst.h", cname = "GST_BUFFER_OFFSET_NONE")]
3918         public const uint64 BUFFER_OFFSET_NONE;
3919         [CCode (cheader_filename = "gst/gst.h", cname = "GST_CAN_INLINE")]
3920         public const int CAN_INLINE;
3921         [CCode (cheader_filename = "gst/gst.h", cname = "GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY")]
3922         public const string CAPS_FEATURE_MEMORY_SYSTEM_MEMORY;
3923         [CCode (cheader_filename = "gst/gst.h", cname = "GST_CLOCK_TIME_NONE")]
3924         public const Gst.ClockTime CLOCK_TIME_NONE;
3925         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_AUTHOR")]
3926         public const string ELEMENT_METADATA_AUTHOR;
3927         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_DESCRIPTION")]
3928         public const string ELEMENT_METADATA_DESCRIPTION;
3929         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_DOC_URI")]
3930         public const string ELEMENT_METADATA_DOC_URI;
3931         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_ICON_NAME")]
3932         public const string ELEMENT_METADATA_ICON_NAME;
3933         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_KLASS")]
3934         public const string ELEMENT_METADATA_KLASS;
3935         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_LONGNAME")]
3936         public const string ELEMENT_METADATA_LONGNAME;
3937         [CCode (cheader_filename = "gst/gst.h", cname = "GST_ERROR_SYSTEM")]
3938         public const string ERROR_SYSTEM;
3939         [CCode (cheader_filename = "gst/gst.h", cname = "GST_EVENT_NUM_SHIFT")]
3940         public const int EVENT_NUM_SHIFT;
3941         [CCode (cheader_filename = "gst/gst.h", cname = "GST_EVENT_TYPE_BOTH")]
3942         public const Gst.EventTypeFlags EVENT_TYPE_BOTH;
3943         [CCode (cheader_filename = "gst/gst.h", cname = "GST_FLAG_SET_MASK_EXACT")]
3944         [Version (since = "1.6")]
3945         public const uint FLAG_SET_MASK_EXACT;
3946         [CCode (cheader_filename = "gst/gst.h", cname = "GST_FORMAT_PERCENT_MAX")]
3947         public const int64 FORMAT_PERCENT_MAX;
3948         [CCode (cheader_filename = "gst/gst.h", cname = "GST_FORMAT_PERCENT_SCALE")]
3949         public const int64 FORMAT_PERCENT_SCALE;
3950         [CCode (cheader_filename = "gst/gst.h", cname = "GST_FOURCC_FORMAT")]
3951         public const string FOURCC_FORMAT;
3952         [CCode (cheader_filename = "gst/gst.h", cname = "GST_GROUP_ID_INVALID")]
3953         [Version (since = "1.14")]
3954         public const int GROUP_ID_INVALID;
3955         [CCode (cheader_filename = "gst/gst.h", cname = "GST_LICENSE_UNKNOWN")]
3956         public const string LICENSE_UNKNOWN;
3957         [CCode (cheader_filename = "gst/gst.h", cname = "GST_LOCK_FLAG_READWRITE")]
3958         public const Gst.LockFlags LOCK_FLAG_READWRITE;
3959         [CCode (cheader_filename = "gst/gst.h", cname = "GST_MAP_READWRITE")]
3960         public const Gst.MapFlags MAP_READWRITE;
3961         [CCode (cheader_filename = "gst/gst.h", cname = "GST_META_TAG_MEMORY_STR")]
3962         [Version (since = "1.2")]
3963         public const string META_TAG_MEMORY_STR;
3964         [CCode (cheader_filename = "gst/gst.h", cname = "GST_MSECOND")]
3965         public const Gst.ClockTimeDiff MSECOND;
3966         [CCode (cheader_filename = "gst/gst.h", cname = "GST_NSECOND")]
3967         public const Gst.ClockTimeDiff NSECOND;
3968         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_CONTROLLABLE")]
3969         public const int PARAM_CONTROLLABLE;
3970         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_PAUSED")]
3971         public const int PARAM_MUTABLE_PAUSED;
3972         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_PLAYING")]
3973         public const int PARAM_MUTABLE_PLAYING;
3974         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_READY")]
3975         public const int PARAM_MUTABLE_READY;
3976         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_USER_SHIFT")]
3977         public const int PARAM_USER_SHIFT;
3978         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PROTECTION_SYSTEM_ID_CAPS_FIELD")]
3979         [Version (since = "1.6")]
3980         public const string PROTECTION_SYSTEM_ID_CAPS_FIELD;
3981         [CCode (cheader_filename = "gst/gst.h", cname = "GST_PTR_FORMAT")]
3982         public const string PTR_FORMAT;
3983         [CCode (cheader_filename = "gst/gst.h", cname = "GST_QUERY_NUM_SHIFT")]
3984         public const int QUERY_NUM_SHIFT;
3985         [CCode (cheader_filename = "gst/gst.h", cname = "GST_QUERY_TYPE_BOTH")]
3986         public const Gst.QueryTypeFlags QUERY_TYPE_BOTH;
3987         [CCode (cheader_filename = "gst/gst.h", cname = "GST_SECOND")]
3988         public const Gst.ClockTimeDiff SECOND;
3989         [CCode (cheader_filename = "gst/gst.h", cname = "GST_SEGMENT_FORMAT")]
3990         public const string SEGMENT_FORMAT;
3991         [CCode (cheader_filename = "gst/gst.h", cname = "GST_SEQNUM_INVALID")]
3992         [Version (since = "1.14")]
3993         public const int SEQNUM_INVALID;
3994         [CCode (cheader_filename = "gst/gst.h", cname = "GST_STIME_FORMAT")]
3995         [Version (since = "1.6")]
3996         public const string STIME_FORMAT;
3997         [CCode (cheader_filename = "gst/gst.h", cname = "GST_TIME_FORMAT")]
3998         public const string TIME_FORMAT;
3999         [CCode (cheader_filename = "gst/gst.h", cname = "GST_TOC_REPEAT_COUNT_INFINITE")]
4000         [Version (since = "1.4")]
4001         public const int TOC_REPEAT_COUNT_INFINITE;
4002         [CCode (cheader_filename = "gst/gst.h", cname = "GST_URI_NO_PORT")]
4003         public const int URI_NO_PORT;
4004         [CCode (cheader_filename = "gst/gst.h", cname = "GST_USECOND")]
4005         public const Gst.ClockTimeDiff USECOND;
4006         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_EQUAL")]
4007         public const int VALUE_EQUAL;
4008         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_GREATER_THAN")]
4009         public const int VALUE_GREATER_THAN;
4010         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_LESS_THAN")]
4011         public const int VALUE_LESS_THAN;
4012         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_UNORDERED")]
4013         public const int VALUE_UNORDERED;
4014         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_MAJOR")]
4015         public const int VERSION_MAJOR;
4016         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_MICRO")]
4017         public const int VERSION_MICRO;
4018         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_MINOR")]
4019         public const int VERSION_MINOR;
4020         [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_NANO")]
4021         public const int VERSION_NANO;
4022         [CCode (cheader_filename = "gst/gst.h", cname = "GST_STIME_ARGS", use_inplace = true)]
4023         public static uint STIME_ARGS (Gst.ClockTimeDiff t);
4024         [CCode (cheader_filename = "gst/gst.h", cname = "GST_TIME_ARGS", use_inplace = true)]
4025         public static uint TIME_ARGS (Gst.ClockTime t);
4026         [CCode (cheader_filename = "gst/gst.h")]
4027         public static void deinit ();
4028         [CCode (cheader_filename = "gst/gst.h")]
4029         public static bool dynamic_type_register (Gst.Plugin plugin, GLib.Type type);
4030         [CCode (cheader_filename = "gst/gst.h")]
4031         public static string error_get_message (GLib.Quark domain, int code);
4032         [CCode (cheader_filename = "gst/gst.h")]
4033         public static string filename_to_uri (string filename) throws GLib.Error;
4034         [CCode (cheader_filename = "gst/gst.h")]
4035         public static GLib.Quark flow_to_quark (Gst.FlowReturn ret);
4036         [CCode (cheader_filename = "gst/gst.h")]
4037         [Version (since = "1.14")]
4038         public static unowned string? get_main_executable_path ();
4039         [CCode (cheader_filename = "gst/gst.h")]
4040         public static void init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv);
4041         [CCode (cheader_filename = "gst/gst.h")]
4042         public static bool init_check ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv) throws GLib.Error;
4043         [CCode (cheader_filename = "gst/gst.h")]
4044         public static GLib.OptionGroup? init_get_option_group ();
4045         [CCode (cheader_filename = "gst/gst.h")]
4046         public static bool is_caps_features (void* obj);
4047         [CCode (cheader_filename = "gst/gst.h")]
4048         public static bool is_initialized ();
4049         [CCode (cheader_filename = "gst/gst.h")]
4050         [Version (since = "1.14")]
4051         public static GLib.ParamSpec param_spec_array (string name, string nick, string blurb, GLib.ParamSpec element_spec, GLib.ParamFlags flags);
4052         [CCode (cheader_filename = "gst/gst.h")]
4053         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);
4054         [CCode (cheader_filename = "gst/gst.h", cname = "gst_parse_bin_from_description_full", returns_floating_reference = true)]
4055         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;
4056         [CCode (cheader_filename = "gst/gst.h", cname = "gst_parse_launch_full", returns_floating_reference = true)]
4057         public static Gst.Element? parse_launch (string pipeline_description, Gst.ParseContext? context = null, Gst.ParseFlags flags = Gst.ParseFlags.NONE) throws GLib.Error;
4058         [CCode (cheader_filename = "gst/gst.h", cname = "gst_parse_launchv_full", returns_floating_reference = true)]
4059         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;
4060         [CCode (cheader_filename = "gst/gst.h")]
4061         public static unowned string? preset_get_app_dir ();
4062         [CCode (cheader_filename = "gst/gst.h")]
4063         public static bool preset_set_app_dir (string app_dir);
4064         [CCode (array_length = false, array_null_terminated = true, cheader_filename = "gst/gst.h")]
4065         [Version (since = "1.14")]
4066         public static string[]? protection_filter_systems_by_available_decryptors (string system_identifiers);
4067         [CCode (cheader_filename = "gst/gst.h")]
4068         [Version (since = "1.6")]
4069         public static unowned string? protection_select_system ([CCode (array_length = false, array_null_terminated = true)] string[] system_identifiers);
4070         [CCode (cheader_filename = "gst/gst.h")]
4071         public static bool segtrap_is_enabled ();
4072         [CCode (cheader_filename = "gst/gst.h")]
4073         public static void segtrap_set_enabled (bool enabled);
4074         [CCode (cheader_filename = "gst/gst.h")]
4075         public static bool update_registry ();
4076         [CCode (cheader_filename = "gst/gst.h")]
4077         public static void version (out uint major, out uint minor, out uint micro, out uint nano);
4078         [CCode (cheader_filename = "gst/gst.h")]
4079         public static string version_string ();