]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Add gstreamer-1.0 core bindings.
authorEvan Nemerson <evan@coeus-group.com>
Mon, 20 Aug 2012 08:30:38 +0000 (01:30 -0700)
committerEvan Nemerson <evan@coeus-group.com>
Mon, 20 Aug 2012 08:30:38 +0000 (01:30 -0700)
18 files changed:
vapi/Makefile.am
vapi/gstreamer-1.0.vapi [new file with mode: 0644]
vapi/gstreamer-base-1.0.deps [new file with mode: 0644]
vapi/gstreamer-base-1.0.vapi [new file with mode: 0644]
vapi/gstreamer-check-1.0.deps [new file with mode: 0644]
vapi/gstreamer-check-1.0.vapi [new file with mode: 0644]
vapi/gstreamer-controller-1.0.deps [new file with mode: 0644]
vapi/gstreamer-controller-1.0.vapi [new file with mode: 0644]
vapi/gstreamer-net-1.0.deps [new file with mode: 0644]
vapi/gstreamer-net-1.0.vapi [new file with mode: 0644]
vapi/metadata/Gst-1.0-custom.vala [new file with mode: 0644]
vapi/metadata/Gst-1.0.metadata [new file with mode: 0644]
vapi/metadata/GstBase-1.0-custom.vala [new file with mode: 0644]
vapi/metadata/GstBase-1.0.metadata [new file with mode: 0644]
vapi/metadata/GstCheck-1.0-custom.vala [new file with mode: 0644]
vapi/metadata/GstCheck-1.0.metadata [new file with mode: 0644]
vapi/metadata/GstController-1.0.metadata [new file with mode: 0644]
vapi/metadata/GstNet-1.0.metadata [new file with mode: 0644]

index f259bb9667d69a06306bdd1c634bc7f6b33b15be..c8d9f2a0987b17f95a24035716972fa70f8c9b34 100644 (file)
@@ -113,6 +113,15 @@ dist_vapi_DATA = \
        gstreamer-tag-0.10.vapi \
        gstreamer-video-0.10.deps \
        gstreamer-video-0.10.vapi \
+       gstreamer-1.0.vapi \
+       gstreamer-base-1.0.vapi \
+       gstreamer-base-1.0.deps \
+       gstreamer-check-1.0.vapi \
+       gstreamer-check-1.0.deps \
+       gstreamer-controller-1.0.vapi \
+       gstreamer-controller-1.0.deps \
+       gstreamer-net-1.0.vapi \
+       gstreamer-net-1.0.deps \
        gtk+-2.0.deps \
        gtk+-2.0.vapi \
        gtk+-3.0.deps \
@@ -318,6 +327,14 @@ GIDL_BINDINGS = \
        webkit-1.0 \
        $(NULL)
 
+GSTREAMER_1_0_BINDINGS = \
+       gstreamer-1.0 \
+       gstreamer-base-1.0 \
+       gstreamer-check-1.0 \
+       gstreamer-controller-1.0 \
+       gstreamer-net-1.0 \
+       $(NULL)
+
 GIR_BINDINGS = \
        atk \
        clutter-1.0 \
@@ -343,6 +360,7 @@ GIR_BINDINGS = \
        rest-0.7 \
        udisks2 \
        vte-2.90 \
+       $(GSTREAMER_1_0_BINDINGS) \
        $(NULL)
 
 BINDINGS = $(GIR_BINDINGS) $(GIDL_BINDINGS)
@@ -361,6 +379,8 @@ gir-bindings: $(GIR_BINDINGS)
 
 gidl-bindings: $(GIDL_BINDINGS)
 
+gstreamer-1.0-bindings: $(GSTREAMER_1_0_BINDINGS)
+
 all-bindings: gir-bindings gidl-bindings
 
 atk:
@@ -495,6 +515,21 @@ gstreamer-tag-0.10:
 gstreamer-video-0.10:
        $(GENVAPI) --library $(srcdir)/gstreamer-video-0.10 $(PACKAGESDIR)/gstreamer-video-0.10/gstreamer-video-0.10-custom.vala $(PACKAGESDIR)/gstreamer-video-0.10/gstreamer-video-0.10.gi
 
+gstreamer-1.0:
+       $(GENVAPI) --library $(srcdir)/gstreamer-1.0 --metadatadir $(METADATADIR) $(METADATADIR)/Gst-1.0-custom.vala $(GIRDIR)/Gst-1.0.gir
+
+gstreamer-base-1.0:
+       $(GENVAPI) --library $(srcdir)/gstreamer-base-1.0 --pkg gstreamer-1.0 --metadatadir $(METADATADIR) $(METADATADIR)/GstBase-1.0-custom.vala $(GIRDIR)/GstBase-1.0.gir
+
+gstreamer-check-1.0:
+       $(GENVAPI) --library $(srcdir)/gstreamer-check-1.0 --pkg gstreamer-1.0 --metadatadir $(METADATADIR) $(METADATADIR)/GstCheck-1.0-custom.vala $(GIRDIR)/GstCheck-1.0.gir
+
+gstreamer-controller-1.0:
+       $(GENVAPI) --library $(srcdir)/gstreamer-controller-1.0 --pkg gstreamer-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstController-1.0.gir
+
+gstreamer-net-1.0:
+       $(GENVAPI) --library $(srcdir)/gstreamer-net-1.0 --pkg gstreamer-1.0 --pkg gio-2.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstNet-1.0.gir
+
 gtk+-2.0:
        $(GENVAPI) --library $(srcdir)/gtk+-2.0 $(PACKAGESDIR)/gtk+-2.0/gtk+-2.0-custom.vala $(PACKAGESDIR)/gtk+-2.0/gtk+-2.0.gi
 
diff --git a/vapi/gstreamer-1.0.vapi b/vapi/gstreamer-1.0.vapi
new file mode 100644 (file)
index 0000000..b064167
--- /dev/null
@@ -0,0 +1,3038 @@
+/* gstreamer-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gst", gir_namespace = "Gst", gir_version = "1.0", lower_case_cprefix = "gst_")]
+[Experimental]
+namespace Gst {
+       namespace Debug {
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_DEBUG_BG_MASK")]
+               public const int BG_MASK;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_DEBUG_FG_MASK")]
+               public const int FG_MASK;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_DEBUG_FORMAT_MASK")]
+               public const int FORMAT_MASK;
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void add_log_function (owned Gst.LogFunction func);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void bin_to_dot_file (Gst.Bin bin, Gst.DebugGraphDetails details, string file_name);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void bin_to_dot_file_with_ts (Gst.Bin bin, Gst.DebugGraphDetails details, string file_name);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static string construct_term_color (uint colorinfo);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static int construct_win_color (uint colorinfo);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static GLib.SList<weak Gst.DebugCategory> get_all_categories ();
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static Gst.DebugLevel get_default_threshold ();
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool is_active ();
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool is_colored ();
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static unowned string level_get_name (Gst.DebugLevel level);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void log_default (Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object? object, Gst.DebugMessage message, void* unused);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void print_stack_trace ();
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static uint remove_log_function (Gst.LogFunction func);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static uint remove_log_function_by_data (void* data);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_active (bool active);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_colored (bool colored);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_default_threshold (Gst.DebugLevel level);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_threshold_for_name (string name, Gst.DebugLevel level);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void unset_threshold_for_name (string name);
+       }
+       namespace ElementFactoryKlass {
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_DECODER")]
+               public const string DECODER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_DEMUXER")]
+               public const string DEMUXER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_DEPAYLOADER")]
+               public const string DEPAYLOADER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_ENCODER")]
+               public const string ENCODER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_FORMATTER")]
+               public const string FORMATTER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_AUDIO")]
+               public const string MEDIA_AUDIO;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_IMAGE")]
+               public const string MEDIA_IMAGE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA")]
+               public const string MEDIA_METADATA;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE")]
+               public const string MEDIA_SUBTITLE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_VIDEO")]
+               public const string MEDIA_VIDEO;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MUXER")]
+               public const string MUXER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_PARSER")]
+               public const string PARSER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_PAYLOADER")]
+               public const string PAYLOADER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_SINK")]
+               public const string SINK;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_SRC")]
+               public const string SRC;
+       }
+       namespace ElementFactoryType {
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_ANY")]
+               public const int ANY;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS")]
+               public const int AUDIOVIDEO_SINKS;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER")]
+               public const int AUDIO_ENCODER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DECODABLE")]
+               public const int DECODABLE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DECODER")]
+               public const int DECODER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DEMUXER")]
+               public const int DEMUXER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER")]
+               public const int DEPAYLOADER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_ENCODER")]
+               public const int ENCODER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_FORMATTER")]
+               public const int FORMATTER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS")]
+               public const int MAX_ELEMENTS;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY")]
+               public const int MEDIA_ANY;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO")]
+               public const int MEDIA_AUDIO;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE")]
+               public const int MEDIA_IMAGE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA")]
+               public const int MEDIA_METADATA;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE")]
+               public const int MEDIA_SUBTITLE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO")]
+               public const int MEDIA_VIDEO;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MUXER")]
+               public const int MUXER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_PARSER")]
+               public const int PARSER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_PAYLOADER")]
+               public const int PAYLOADER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_SINK")]
+               public const int SINK;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_SRC")]
+               public const int SRC;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER")]
+               public const int VIDEO_ENCODER;
+       }
+       namespace Tags {
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM")]
+               public const string ALBUM;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_ARTIST")]
+               public const string ALBUM_ARTIST;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_ARTIST_SORTNAME")]
+               public const string ALBUM_ARTIST_SORTNAME;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_GAIN")]
+               public const string ALBUM_GAIN;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_PEAK")]
+               public const string ALBUM_PEAK;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_SORTNAME")]
+               public const string ALBUM_SORTNAME;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_VOLUME_COUNT")]
+               public const string ALBUM_VOLUME_COUNT;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_VOLUME_NUMBER")]
+               public const string ALBUM_VOLUME_NUMBER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_APPLICATION_DATA")]
+               public const string APPLICATION_DATA;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_APPLICATION_NAME")]
+               public const string APPLICATION_NAME;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ARTIST")]
+               public const string ARTIST;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ARTIST_SORTNAME")]
+               public const string ARTIST_SORTNAME;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ATTACHMENT")]
+               public const string ATTACHMENT;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_AUDIO_CODEC")]
+               public const string AUDIO_CODEC;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_BEATS_PER_MINUTE")]
+               public const string BEATS_PER_MINUTE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_BITRATE")]
+               public const string BITRATE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_CODEC")]
+               public const string CODEC;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_COMMENT")]
+               public const string COMMENT;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_COMPOSER")]
+               public const string COMPOSER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_COMPOSER_SORTNAME")]
+               public const string COMPOSER_SORTNAME;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_CONTACT")]
+               public const string CONTACT;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_CONTAINER_FORMAT")]
+               public const string CONTAINER_FORMAT;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_COPYRIGHT")]
+               public const string COPYRIGHT;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_COPYRIGHT_URI")]
+               public const string COPYRIGHT_URI;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DATE")]
+               public const string DATE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DATE_TIME")]
+               public const string DATE_TIME;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DESCRIPTION")]
+               public const string DESCRIPTION;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DEVICE_MANUFACTURER")]
+               public const string DEVICE_MANUFACTURER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DEVICE_MODEL")]
+               public const string DEVICE_MODEL;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DURATION")]
+               public const string DURATION;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ENCODED_BY")]
+               public const string ENCODED_BY;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ENCODER")]
+               public const string ENCODER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ENCODER_VERSION")]
+               public const string ENCODER_VERSION;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_EXTENDED_COMMENT")]
+               public const string EXTENDED_COMMENT;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GENRE")]
+               public const string GENRE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION")]
+               public const string GEO_LOCATION_CAPTURE_DIRECTION;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_CITY")]
+               public const string GEO_LOCATION_CITY;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_COUNTRY")]
+               public const string GEO_LOCATION_COUNTRY;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_ELEVATION")]
+               public const string GEO_LOCATION_ELEVATION;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR")]
+               public const string GEO_LOCATION_HORIZONTAL_ERROR;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_LATITUDE")]
+               public const string GEO_LOCATION_LATITUDE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_LONGITUDE")]
+               public const string GEO_LOCATION_LONGITUDE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION")]
+               public const string GEO_LOCATION_MOVEMENT_DIRECTION;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_MOVEMENT_SPEED")]
+               public const string GEO_LOCATION_MOVEMENT_SPEED;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_NAME")]
+               public const string GEO_LOCATION_NAME;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_SUBLOCATION")]
+               public const string GEO_LOCATION_SUBLOCATION;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GROUPING")]
+               public const string GROUPING;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_HOMEPAGE")]
+               public const string HOMEPAGE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_IMAGE")]
+               public const string IMAGE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_IMAGE_ORIENTATION")]
+               public const string IMAGE_ORIENTATION;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ISRC")]
+               public const string ISRC;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_KEYWORDS")]
+               public const string KEYWORDS;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LANGUAGE_CODE")]
+               public const string LANGUAGE_CODE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LANGUAGE_NAME")]
+               public const string LANGUAGE_NAME;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LICENSE")]
+               public const string LICENSE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LICENSE_URI")]
+               public const string LICENSE_URI;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LOCATION")]
+               public const string LOCATION;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LYRICS")]
+               public const string LYRICS;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_MAXIMUM_BITRATE")]
+               public const string MAXIMUM_BITRATE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_MINIMUM_BITRATE")]
+               public const string MINIMUM_BITRATE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_NOMINAL_BITRATE")]
+               public const string NOMINAL_BITRATE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ORGANIZATION")]
+               public const string ORGANIZATION;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_PERFORMER")]
+               public const string PERFORMER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_PREVIEW_IMAGE")]
+               public const string PREVIEW_IMAGE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_REFERENCE_LEVEL")]
+               public const string REFERENCE_LEVEL;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SERIAL")]
+               public const string SERIAL;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SHOW_EPISODE_NUMBER")]
+               public const string SHOW_EPISODE_NUMBER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SHOW_NAME")]
+               public const string SHOW_NAME;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SHOW_SEASON_NUMBER")]
+               public const string SHOW_SEASON_NUMBER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SHOW_SORTNAME")]
+               public const string SHOW_SORTNAME;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SUBTITLE_CODEC")]
+               public const string SUBTITLE_CODEC;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TITLE")]
+               public const string TITLE;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TITLE_SORTNAME")]
+               public const string TITLE_SORTNAME;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TRACK_COUNT")]
+               public const string TRACK_COUNT;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TRACK_GAIN")]
+               public const string TRACK_GAIN;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TRACK_NUMBER")]
+               public const string TRACK_NUMBER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TRACK_PEAK")]
+               public const string TRACK_PEAK;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_USER_RATING")]
+               public const string USER_RATING;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_VERSION")]
+               public const string VERSION;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_VIDEO_CODEC")]
+               public const string VIDEO_CODEC;
+               [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_exists")]
+               public static bool exists (string tag);
+               [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_get_description")]
+               public static unowned string get_description (string tag);
+               [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_get_flag")]
+               public static Gst.TagFlag get_flag (string tag);
+               [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_get_nick")]
+               public static unowned string get_nick (string tag);
+               [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_get_type")]
+               public static GLib.Type get_type (string tag);
+               [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_is_fixed")]
+               public static bool is_fixed (string tag);
+               [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_list_copy_value")]
+               public static bool list_copy_value (out GLib.Value dest, Gst.TagList list, string tag);
+               [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_merge_strings_with_comma")]
+               public static void merge_strings_with_comma (out GLib.Value dest, GLib.Value src);
+               [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_merge_use_first")]
+               public static void merge_use_first (out GLib.Value dest, GLib.Value src);
+       }
+       namespace URI {
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static string @construct (string protocol, string location);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static GLib.Quark error_quark ();
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static string get_location (string uri);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static string get_protocol (string uri);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool has_protocol (string uri, string protocol);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool is_valid (string uri);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool protocol_is_supported (Gst.URIType type, string protocol);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool protocol_is_valid (string protocol);
+       }
+       namespace Util {
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void* array_binary_search (void* array, uint num_elements, size_t element_size, [CCode (delegate_target_pos = 6.1)] GLib.CompareDataFunc search_func, Gst.SearchMode mode, void* search_data);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void double_to_fraction (double src, out int dest_n, out int dest_d);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void dump_mem (uint8 mem, uint size);
+               [CCode (cheader_filename = "gst/gst.h")]
+               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);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static int fraction_compare (int a_n, int a_d, int b_n, int b_d);
+               [CCode (cheader_filename = "gst/gst.h")]
+               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);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void fraction_to_double (int src_n, int src_d, out double dest);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static uint64 gdouble_to_guint64 (double value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static Gst.ClockTime get_timestamp ();
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static int greatest_common_divisor (int a, int b);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static int64 greatest_common_divisor_int64 (int64 a, int64 b);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static double guint64_to_gdouble (uint64 value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static int32 seqnum_compare (uint32 s1, uint32 s2);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static uint32 seqnum_next ();
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_object_arg (GLib.Object object, string name, string value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_value_from_string (out GLib.Value value, string value_str);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static uint64 uint64_scale (uint64 val, uint64 num, uint64 denom);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static uint64 uint64_scale_ceil (uint64 val, uint64 num, uint64 denom);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static uint64 uint64_scale_int (uint64 val, int num, int denom);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static uint64 uint64_scale_int_ceil (uint64 val, int num, int denom);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static uint64 uint64_scale_int_round (uint64 val, int num, int denom);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static uint64 uint64_scale_round (uint64 val, uint64 num, uint64 denom);
+       }
+       namespace Value {
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool can_compare (GLib.Value value1, GLib.Value value2);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool can_intersect (GLib.Value value1, GLib.Value value2);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool can_subtract (GLib.Value minuend, GLib.Value subtrahend);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool can_union (GLib.Value value1, GLib.Value value2);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static int compare (GLib.Value value1, GLib.Value value2);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool deserialize (out GLib.Value dest, string src);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool fixate (GLib.Value dest, GLib.Value src);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool fraction_multiply (GLib.Value product, GLib.Value factor1, GLib.Value factor2);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool fraction_subtract (GLib.Value dest, GLib.Value minuend, GLib.Value subtrahend);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static uint64 get_bitmask (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static unowned Gst.Caps get_caps (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static double get_double_range_max (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static double get_double_range_min (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static int get_fraction_denominator (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static int get_fraction_numerator (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static GLib.Value get_fraction_range_max (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static GLib.Value get_fraction_range_min (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static int64 get_int64_range_max (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static int64 get_int64_range_min (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static int64 get_int64_range_step (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static int get_int_range_max (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static int get_int_range_min (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static int get_int_range_step (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static unowned Gst.Structure get_structure (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void init_and_copy (out GLib.Value dest, GLib.Value src);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool intersect (out GLib.Value dest, GLib.Value value1, GLib.Value value2);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool is_fixed (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool is_subset (GLib.Value value1, GLib.Value value2);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void register (Gst.ValueTable table);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static string serialize (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_bitmask (GLib.Value value, uint64 bitmask);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_caps (GLib.Value value, Gst.Caps caps);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_double_range (GLib.Value value, double start, double end);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_fraction (GLib.Value value, int numerator, int denominator);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_fraction_range (GLib.Value value, GLib.Value start, GLib.Value end);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_fraction_range_full (GLib.Value value, int numerator_start, int denominator_start, int numerator_end, int denominator_end);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_int64_range (GLib.Value value, int64 start, int64 end);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_int64_range_step (GLib.Value value, int64 start, int64 end, int64 step);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_int_range (GLib.Value value, int start, int end);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_int_range_step (GLib.Value value, int start, int end, int step);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_structure (GLib.Value value, Gst.Structure structure);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool subtract (out GLib.Value dest, GLib.Value minuend, GLib.Value subtrahend);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static bool union (out GLib.Value dest, GLib.Value value1, GLib.Value value2);
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_allocation_params_get_type ()")]
+       [Compact]
+       public class AllocationParams {
+               public size_t align;
+               public Gst.MemoryFlags flags;
+               public size_t padding;
+               public size_t prefix;
+               public Gst.AllocationParams copy ();
+               public void free ();
+               public void init ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_allocator_get_type ()")]
+       public abstract class Allocator : Gst.Object {
+               public weak Gst.MemoryCopyFunction mem_copy;
+               public weak Gst.MemoryIsSpanFunction mem_is_span;
+               public weak Gst.MemoryShareFunction mem_share;
+               public weak string mem_type;
+               public weak Gst.MemoryUnmapFunction mem_unmap;
+               [CCode (has_construct_function = false)]
+               protected Allocator ();
+               public virtual Gst.Memory alloc (size_t size, Gst.AllocationParams? @params);
+               public static Gst.Allocator find (string name);
+               public virtual void free (owned Gst.Memory memory);
+               public static void register (string name, owned Gst.Allocator allocator);
+               public void set_default ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_atomic_queue_get_type ()")]
+       [Compact]
+       public class AtomicQueue<T> {
+               [CCode (has_construct_function = false)]
+               public AtomicQueue (uint initial_size);
+               public uint length ();
+               public unowned T peek<T> ();
+               public T pop ();
+               public void push (owned T data);
+               public void @ref ();
+               public void unref ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_bin_get_type ()")]
+       public class Bin : Gst.Element, Gst.ChildProxy {
+               public Gst.Bus child_bus;
+               public GLib.List<Gst.Element> children;
+               public uint32 children_cookie;
+               public bool clock_dirty;
+               public Gst.Element clock_provider;
+               public GLib.List<Gst.Message> messages;
+               public int numchildren;
+               public bool polling;
+               public Gst.Clock provided_clock;
+               public bool state_dirty;
+               [CCode (has_construct_function = false, type = "GstElement*")]
+               public Bin (string name);
+               public bool add (owned Gst.Element element);
+               [NoWrapper]
+               public virtual bool add_element (Gst.Element element);
+               public void add_many (owned Gst.Element element_1, ...);
+               public Gst.Pad find_unlinked_pad (Gst.PadDirection direction);
+               public Gst.Element get_by_interface (GLib.Type iface);
+               public Gst.Element get_by_name (string name);
+               public Gst.Element get_by_name_recurse_up (string name);
+               [NoWrapper]
+               public virtual void handle_message (Gst.Message message);
+               public Gst.Iterator iterate_all_by_interface (GLib.Type iface);
+               public Gst.Iterator iterate_elements ();
+               public Gst.Iterator iterate_recurse ();
+               public Gst.Iterator iterate_sinks ();
+               public Gst.Iterator iterate_sorted ();
+               public Gst.Iterator iterate_sources ();
+               public bool recalculate_latency ();
+               public bool remove (Gst.Element element);
+               [NoWrapper]
+               public virtual bool remove_element (Gst.Element element);
+               [NoAccessorMethod]
+               public bool async_handling { get; set; }
+               [NoAccessorMethod]
+               public bool message_forward { get; set; }
+               public virtual signal bool do_latency ();
+               public virtual signal void element_added (Gst.Element child);
+               public virtual signal void element_removed (Gst.Element child);
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_bitmask_get_type ()")]
+       public class Bitmask {
+               [CCode (has_construct_function = false)]
+               protected Bitmask ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_buffer_get_type ()")]
+       [Compact]
+       public class Buffer : Gst.MiniObject {
+               public Gst.ClockTime dts;
+               public Gst.ClockTime duration;
+               public uint64 offset;
+               public uint64 offset_end;
+               public weak Gst.BufferPool pool;
+               public Gst.ClockTime pts;
+               [CCode (has_construct_function = false)]
+               public Buffer ();
+               public Gst.Meta add_meta (Gst.MetaInfo info, void* @params);
+               [CCode (has_construct_function = false)]
+               public Buffer.allocate (Gst.Allocator? allocator, size_t size, Gst.AllocationParams? @params);
+               public Gst.Buffer append (owned Gst.Buffer buf2);
+               public void append_memory (owned Gst.Memory mem);
+               public Gst.Buffer append_region (owned Gst.Buffer buf2, ssize_t offset, ssize_t size);
+               public void copy_into (Gst.Buffer src, Gst.BufferCopyFlags flags, size_t offset, size_t size);
+               public Gst.Buffer copy_region (Gst.BufferCopyFlags flags, size_t offset, size_t size);
+               public size_t extract (size_t offset, void* dest, size_t size);
+               public size_t fill (size_t offset, void* src, size_t size);
+               public bool find_memory (size_t offset, size_t size, out uint idx, out uint length, out size_t skip);
+               public bool foreach_meta (Gst.BufferForeachMetaFunc func);
+               public Gst.Memory get_all_memory ();
+               public Gst.Memory get_memory (uint idx);
+               public Gst.Memory get_memory_range (uint idx, int length);
+               public unowned Gst.Meta? get_meta (GLib.Type api);
+               public size_t get_size ();
+               public size_t get_sizes (out size_t offset, out size_t maxsize);
+               public size_t get_sizes_range (uint idx, int length, out size_t offset, out size_t maxsize);
+               public void insert_memory (int idx, owned Gst.Memory mem);
+               public unowned Gst.Meta? iterate_meta (void* state);
+               public bool map (out Gst.MapInfo info, Gst.MapFlags flags);
+               public bool map_range (uint idx, int length, out Gst.MapInfo info, Gst.MapFlags flags);
+               public int memcmp (size_t offset, void* mem, size_t size);
+               public size_t memset (size_t offset, uint8 val, size_t size);
+               public uint n_memory ();
+               [CCode (has_construct_function = false, simple_generics = true)]
+               public static Gst.Buffer new_wrapped_full<T> (Gst.MemoryFlags flags, [CCode (array_length_cname = "size", array_length_pos = 4.5, array_length_type = "gsize")] uint8[] data, size_t maxsize, size_t offset, owned T user_data);
+               public unowned Gst.Memory peek_memory (uint idx);
+               public void prepend_memory (owned Gst.Memory mem);
+               public void remove_all_memory ();
+               public void remove_memory (uint idx);
+               public void remove_memory_range (uint idx, int length);
+               public bool remove_meta (Gst.Meta meta);
+               public void replace_all_memory (owned Gst.Memory mem);
+               public void replace_memory (uint idx, owned Gst.Memory mem);
+               public void replace_memory_range (uint idx, int length, owned Gst.Memory mem);
+               public void resize (ssize_t offset, ssize_t size);
+               public void resize_range (uint idx, int length, ssize_t offset, ssize_t size);
+               public void set_size (ssize_t size);
+               public void unmap (Gst.MapInfo info);
+               [CCode (has_construct_function = false)]
+               public Buffer.wrapped ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "gsize")] uint8[] data);
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_buffer_list_get_type ()")]
+       [Compact]
+       public class BufferList {
+               [CCode (has_construct_function = false)]
+               public BufferList ();
+               public bool @foreach (Gst.BufferListFunc func);
+               public unowned Gst.Buffer @get (uint idx);
+               public void insert (int idx, owned Gst.Buffer buffer);
+               public uint length ();
+               public void remove (uint idx, uint length);
+               [CCode (has_construct_function = false)]
+               public BufferList.sized (uint size);
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_buffer_pool_get_type ()")]
+       public class BufferPool : Gst.Object {
+               public int flushing;
+               [CCode (has_construct_function = false)]
+               public BufferPool ();
+               public virtual Gst.FlowReturn acquire_buffer (out Gst.Buffer buffer, Gst.BufferPoolAcquireParams? @params);
+               [NoWrapper]
+               public virtual Gst.FlowReturn alloc_buffer (Gst.Buffer buffer, Gst.BufferPoolAcquireParams @params);
+               public static void config_add_option (Gst.Structure config, string option);
+               public static bool config_get_allocator (Gst.Structure config, Gst.Allocator allocator, Gst.AllocationParams @params);
+               public static unowned string config_get_option (Gst.Structure config, uint index);
+               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);
+               public static bool config_has_option (Gst.Structure config, string option);
+               public static uint config_n_options (Gst.Structure config);
+               public static void config_set_allocator (Gst.Structure config, Gst.Allocator allocator, Gst.AllocationParams @params);
+               public static void config_set_params (Gst.Structure config, Gst.Caps caps, uint size, uint min_buffers, uint max_buffers);
+               [NoWrapper]
+               public virtual void free_buffer (Gst.Buffer buffer);
+               public Gst.Structure get_config ();
+               [CCode (array_length = false, array_null_terminated = true)]
+               public virtual unowned string[] get_options ();
+               public bool has_option (string option);
+               public bool is_active ();
+               public virtual void release_buffer (owned Gst.Buffer buffer);
+               [NoWrapper]
+               public virtual void reset_buffer (Gst.Buffer buffer);
+               public bool set_active (bool active);
+               public virtual bool set_config (owned Gst.Structure config);
+               [NoWrapper]
+               public virtual bool start ();
+               [NoWrapper]
+               public virtual bool stop ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_bus_get_type ()")]
+       public class Bus : Gst.Object {
+               [CCode (has_construct_function = false)]
+               public Bus ();
+               [CCode (cname = "gst_bus_add_signal_watch_full")]
+               public void add_signal_watch (int priority = GLib.Priority.DEFAULT);
+               [CCode (cname = "gst_bus_add_watch_full")]
+               public uint add_watch (int priority, owned Gst.BusFunc func);
+               public bool async_signal_func (Gst.Message message, void* data);
+               public GLib.Source create_watch ();
+               public void disable_sync_message_emission ();
+               public void enable_sync_message_emission ();
+               public bool have_pending ();
+               public Gst.Message peek ();
+               public Gst.Message poll (Gst.MessageType events, Gst.ClockTime timeout);
+               public Gst.Message pop ();
+               public Gst.Message pop_filtered (Gst.MessageType types);
+               public bool post (owned Gst.Message message);
+               public void remove_signal_watch ();
+               public void set_flushing (bool flushing);
+               public void set_sync_handler (owned Gst.BusSyncHandler? func);
+               public Gst.BusSyncReply sync_signal_handler (Gst.Message message, void* data);
+               public Gst.Message timed_pop (Gst.ClockTime timeout);
+               public Gst.Message timed_pop_filtered (Gst.ClockTime timeout, Gst.MessageType types);
+               public bool enable_async { construct; }
+               public virtual signal void message (Gst.Message message);
+               public virtual signal void sync_message (Gst.Message message);
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_caps_get_type ()")]
+       [Compact]
+       public class Caps : Gst.MiniObject {
+               [CCode (has_construct_function = false)]
+               public Caps.any ();
+               public void append (owned Gst.Caps caps2);
+               public void append_structure (owned Gst.Structure structure);
+               public bool can_intersect (Gst.Caps caps2);
+               public Gst.Caps copy_nth (uint nth);
+               [CCode (has_construct_function = false)]
+               public Caps.empty ();
+               [CCode (has_construct_function = false)]
+               public Caps.empty_simple (string media_type);
+               public Gst.Caps fixate ();
+               public static Gst.Caps from_string (string string);
+               public uint get_size ();
+               public unowned Gst.Structure get_structure (uint index);
+               [CCode (cname = "gst_caps_intersect_full")]
+               public Gst.Caps intersect (Gst.Caps caps2, Gst.CapsIntersectMode mode = Gst.CapsIntersectMode.ZIG_ZAG);
+               public bool is_always_compatible (Gst.Caps caps2);
+               public bool is_any ();
+               public bool is_empty ();
+               public bool is_equal (Gst.Caps caps2);
+               public bool is_equal_fixed (Gst.Caps caps2);
+               public bool is_fixed ();
+               public bool is_strictly_equal (Gst.Caps caps2);
+               public bool is_subset (Gst.Caps superset);
+               public bool is_subset_structure (Gst.Structure structure);
+               public Gst.Caps merge (owned Gst.Caps caps2);
+               public Gst.Caps merge_structure (owned Gst.Structure structure);
+               public Gst.Caps normalize ();
+               public void remove_structure (uint idx);
+               public void set_value (string field, GLib.Value value);
+               public Gst.Caps simplify ();
+               public Gst.Structure steal_structure (uint index);
+               public Gst.Caps subtract (Gst.Caps subtrahend);
+               public string to_string ();
+               public Gst.Caps truncate ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_clock_get_type ()")]
+       public abstract class Clock : Gst.Object {
+               [CCode (has_construct_function = false)]
+               protected Clock ();
+               public bool add_observation (Gst.ClockTime slave, Gst.ClockTime master, out double r_squared);
+               public Gst.ClockTime adjust_unlocked (Gst.ClockTime @internal);
+               [NoWrapper]
+               public virtual Gst.ClockTime change_resolution (Gst.ClockTime old_resolution, Gst.ClockTime new_resolution);
+               public void get_calibration (out Gst.ClockTime @internal, out Gst.ClockTime external, out Gst.ClockTime rate_num, out Gst.ClockTime rate_denom);
+               public virtual Gst.ClockTime get_internal_time ();
+               public Gst.Clock get_master ();
+               public virtual Gst.ClockTime get_resolution ();
+               public Gst.ClockTime get_time ();
+               public Gst.ClockTime get_timeout ();
+               public static int id_compare_func (void* id1, void* id2);
+               public static Gst.ClockTime id_get_time (Gst.ClockID id);
+               public static Gst.ClockID id_ref (Gst.ClockID id);
+               public static void id_unref (owned Gst.ClockID id);
+               public static void id_unschedule (Gst.ClockID id);
+               public static Gst.ClockReturn id_wait (Gst.ClockID id, out Gst.ClockTimeDiff jitter);
+               public static Gst.ClockReturn id_wait_async (Gst.ClockID id, owned Gst.ClockCallback func);
+               public Gst.ClockID new_periodic_id (Gst.ClockTime start_time, Gst.ClockTime interval);
+               public Gst.ClockID new_single_shot_id (Gst.ClockTime time);
+               public bool periodic_id_reinit (Gst.ClockID id, Gst.ClockTime start_time, Gst.ClockTime interval);
+               public void set_calibration (Gst.ClockTime @internal, Gst.ClockTime external, Gst.ClockTime rate_num, Gst.ClockTime rate_denom);
+               public bool set_master (Gst.Clock? master);
+               public Gst.ClockTime set_resolution (Gst.ClockTime resolution);
+               public void set_timeout (Gst.ClockTime timeout);
+               public bool single_shot_id_reinit (Gst.ClockID id, Gst.ClockTime time);
+               public Gst.ClockTime unadjust_unlocked (Gst.ClockTime external);
+               [NoWrapper]
+               public virtual void unschedule (Gst.ClockEntry entry);
+               [NoWrapper]
+               public virtual Gst.ClockReturn wait (Gst.ClockEntry entry, Gst.ClockTimeDiff jitter);
+               [NoWrapper]
+               public virtual Gst.ClockReturn wait_async (Gst.ClockEntry entry);
+               public uint64 timeout { get; set; }
+               [NoAccessorMethod]
+               public int window_size { get; set; }
+               [NoAccessorMethod]
+               public int window_threshold { get; set; }
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_control_binding_get_type ()")]
+       public abstract class ControlBinding : Gst.Object {
+               public weak GLib.ParamSpec pspec;
+               [CCode (has_construct_function = false)]
+               protected ControlBinding ();
+               public virtual bool get_g_value_array (Gst.ClockTime timestamp, Gst.ClockTime interval, uint n_values, GLib.Value values);
+               public virtual GLib.Value get_value (Gst.ClockTime timestamp);
+               public virtual bool get_value_array (Gst.ClockTime timestamp, Gst.ClockTime interval, uint n_values, void* values);
+               public bool is_disabled ();
+               public void set_disabled (bool disabled);
+               public virtual bool sync_values (Gst.Object object, Gst.ClockTime timestamp, Gst.ClockTime last_sync);
+               [NoAccessorMethod]
+               public string name { owned get; construct; }
+               [NoAccessorMethod]
+               public Gst.Object object { owned get; construct; }
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_control_source_get_type ()")]
+       public abstract class ControlSource : Gst.Object {
+               [CCode (has_construct_function = false)]
+               protected ControlSource ();
+               public bool get_value (Gst.ClockTime timestamp, double value);
+               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", type = "gdouble*")] double[] values);
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_date_time_get_type ()")]
+       [Compact]
+       public class DateTime {
+               [CCode (has_construct_function = false)]
+               public DateTime (float tzoffset, int year, int month, int day, int hour, int minute, double seconds);
+               [CCode (has_construct_function = false)]
+               public DateTime.from_g_date_time (owned GLib.DateTime dt);
+               [CCode (has_construct_function = false)]
+               public DateTime.from_iso8601_string (string string);
+               [CCode (has_construct_function = false)]
+               public DateTime.from_unix_epoch_local_time (int64 secs);
+               [CCode (has_construct_function = false)]
+               public DateTime.from_unix_epoch_utc (int64 secs);
+               public int get_day ();
+               public int get_hour ();
+               public int get_microsecond ();
+               public int get_minute ();
+               public int get_month ();
+               public int get_second ();
+               public float get_time_zone_offset ();
+               public int get_year ();
+               public bool has_day ();
+               public bool has_month ();
+               public bool has_second ();
+               public bool has_time ();
+               public bool has_year ();
+               [CCode (has_construct_function = false)]
+               public DateTime.local_time (int year, int month, int day, int hour, int minute, double seconds);
+               [CCode (has_construct_function = false)]
+               public DateTime.now_local_time ();
+               [CCode (has_construct_function = false)]
+               public DateTime.now_utc ();
+               public Gst.DateTime @ref ();
+               public GLib.DateTime to_g_date_time ();
+               public string to_iso8601_string ();
+               public void unref ();
+               [CCode (has_construct_function = false)]
+               public DateTime.y (int year);
+               [CCode (has_construct_function = false)]
+               public DateTime.ym (int year, int month);
+               [CCode (has_construct_function = false)]
+               public DateTime.ymd (int year, int month, int day);
+       }
+       [CCode (cheader_filename = "gst/gst.h")]
+       [Compact]
+       public class DebugMessage {
+               public unowned string @get ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_double_range_get_type ()")]
+       public class DoubleRange {
+               [CCode (has_construct_function = false)]
+               protected DoubleRange ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_element_get_type ()")]
+       public abstract class Element : Gst.Object {
+               public Gst.ClockTimeDiff base_time;
+               public Gst.Bus bus;
+               public Gst.Clock clock;
+               public Gst.State current_state;
+               public Gst.StateChangeReturn last_return;
+               public Gst.State next_state;
+               public uint16 numpads;
+               public uint16 numsinkpads;
+               public uint16 numsrcpads;
+               public GLib.List<Gst.Pad> pads;
+               public uint32 pads_cookie;
+               public Gst.State pending_state;
+               public GLib.List<weak Gst.Pad> sinkpads;
+               public GLib.List<weak Gst.Pad> srcpads;
+               public Gst.ClockTime start_time;
+               public GLib.Cond state_cond;
+               public uint32 state_cookie;
+               public GLib.RecMutex state_lock;
+               public Gst.State target_state;
+               [CCode (has_construct_function = false)]
+               protected Element ();
+               public void abort_state ();
+               [CCode (cname = "gst_element_class_add_metadata")]
+               public class void add_metadata (string key, string value);
+               public bool add_pad (owned Gst.Pad pad);
+               [CCode (cname = "gst_element_class_add_pad_template")]
+               public class void add_pad_template (owned Gst.PadTemplate templ);
+               [CCode (cname = "gst_element_class_add_static_metadata")]
+               public class void add_static_metadata (string key, string value);
+               public virtual Gst.StateChangeReturn change_state (Gst.StateChange transition);
+               public Gst.StateChangeReturn continue_state (Gst.StateChangeReturn ret);
+               public void create_all_pads ();
+               public Gst.ClockTime get_base_time ();
+               public Gst.Bus get_bus ();
+               public Gst.Clock get_clock ();
+               public Gst.Pad get_compatible_pad (Gst.Pad pad, Gst.Caps? caps);
+               public unowned Gst.PadTemplate get_compatible_pad_template (Gst.PadTemplate compattempl);
+               public unowned Gst.ElementFactory get_factory ();
+               [CCode (cname = "gst_element_class_get_metadata")]
+               public class unowned string get_metadata (string key);
+               [CCode (cname = "gst_element_class_get_pad_template")]
+               public class unowned Gst.PadTemplate get_pad_template (string name);
+               [CCode (cname = "gst_element_class_get_pad_template_list")]
+               public class unowned GLib.List<Gst.PadTemplate> get_pad_template_list ();
+               public Gst.Pad get_request_pad (string name);
+               public Gst.ClockTime get_start_time ();
+               public virtual Gst.StateChangeReturn get_state (out Gst.State state, out Gst.State pending, Gst.ClockTime timeout);
+               public Gst.Pad get_static_pad (string name);
+               public bool is_locked_state ();
+               public Gst.Iterator iterate_pads ();
+               public Gst.Iterator iterate_sink_pads ();
+               public Gst.Iterator iterate_src_pads ();
+               public bool link (Gst.Element dest);
+               public bool link_filtered (Gst.Element dest, Gst.Caps? filter);
+               public bool link_many (Gst.Element element_2, ...);
+               [CCode (cname = "gst_element_link_pads_full")]
+               public bool link_pads (string? srcpadname, Gst.Element dest, string? destpadname, Gst.PadLinkCheck flags = Gst.PadLinkCheck.DEFAULT);
+               public bool link_pads_filtered (string? srcpadname, Gst.Element dest, string? destpadname, Gst.Caps? filter);
+               public void lost_state ();
+               public static Gst.Element make_from_uri (Gst.URIType type, string uri, string? elementname) throws GLib.Error;
+               public void message_full (Gst.MessageType type, GLib.Quark domain, int code, owned string? text, owned string? debug, string file, string function, int line);
+               public bool post_message (owned Gst.Message message);
+               public virtual Gst.Clock provide_clock ();
+               public virtual bool query (Gst.Query query);
+               public bool query_convert (ref Gst.Format src_format, int64 src_val, Gst.Format dest_format, out int64 dest_val);
+               public bool query_duration (Gst.Format format, out int64 duration);
+               public bool query_position (Gst.Format format, out int64 cur);
+               public static bool register (Gst.Plugin? plugin, string name, uint rank, GLib.Type type);
+               [NoWrapper]
+               public virtual void release_pad (Gst.Pad pad);
+               public void release_request_pad (Gst.Pad pad);
+               public bool remove_pad (owned Gst.Pad pad);
+               public Gst.Pad request_pad (Gst.PadTemplate templ, string? name, Gst.Caps? caps);
+               public bool seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, int64 start, Gst.SeekType stop_type, int64 stop);
+               public bool seek_simple (Gst.Format format, Gst.SeekFlags seek_flags, int64 seek_pos);
+               public virtual bool send_event (owned Gst.Event event);
+               public void set_base_time (Gst.ClockTime time);
+               public virtual void set_bus (Gst.Bus bus);
+               public virtual bool set_clock (Gst.Clock clock);
+               public bool set_locked_state (bool locked_state);
+               [CCode (cname = "gst_element_class_set_metadata")]
+               public class void set_metadata (string longname, string classification, string description, string author);
+               public void set_start_time (Gst.ClockTime time);
+               public virtual Gst.StateChangeReturn set_state (Gst.State state);
+               [CCode (cname = "gst_element_class_set_static_metadata")]
+               public class void set_static_metadata (string longname, string classification, string description, string author);
+               public static unowned string state_change_return_get_name (Gst.StateChangeReturn state_ret);
+               [NoWrapper]
+               public virtual void state_changed (Gst.State oldstate, Gst.State newstate, Gst.State pending);
+               public static unowned string state_get_name (Gst.State state);
+               public bool sync_state_with_parent ();
+               public void unlink (Gst.Element dest);
+               public void unlink_pads (string srcpadname, Gst.Element dest, string destpadname);
+               [HasEmitter]
+               public virtual signal void no_more_pads ();
+               public virtual signal void pad_added (Gst.Pad pad);
+               public virtual signal void pad_removed (Gst.Pad pad);
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_element_factory_get_type ()")]
+       public class ElementFactory : Gst.PluginFeature {
+               [CCode (has_construct_function = false)]
+               protected ElementFactory ();
+               public bool can_sink_all_caps (Gst.Caps caps);
+               public bool can_sink_any_caps (Gst.Caps caps);
+               public bool can_src_all_caps (Gst.Caps caps);
+               public bool can_src_any_caps (Gst.Caps caps);
+               public unowned Gst.Element create (string? name);
+               public static Gst.ElementFactory find (string name);
+               public GLib.Type get_element_type ();
+               public unowned string get_metadata (string key);
+               [CCode (array_length = false, array_null_terminated = true)]
+               public string[]? get_metadata_keys ();
+               public uint get_num_pad_templates ();
+               public unowned GLib.List<Gst.StaticPadTemplate> get_static_pad_templates ();
+               [CCode (array_length = false, array_null_terminated = true)]
+               public unowned string[] get_uri_protocols ();
+               public Gst.URIType get_uri_type ();
+               public bool has_interface (string interfacename);
+               public static GLib.List<Gst.ElementFactory> list_filter (GLib.List<Gst.ElementFactory> list, Gst.Caps caps, Gst.PadDirection direction, bool subsetonly);
+               public static GLib.List<Gst.ElementFactory> list_get_elements (Gst.ElementFactoryListType type, Gst.Rank minrank);
+               public bool list_is_type (Gst.ElementFactoryListType type);
+               public static unowned Gst.Element make (string factoryname, string? name);
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_event_get_type ()")]
+       [Compact]
+       public class Event : Gst.MiniObject {
+               public uint32 seqnum;
+               public uint64 timestamp;
+               public Gst.EventType type;
+               public void add_stream_config_header (Gst.Buffer buf);
+               [CCode (has_construct_function = false)]
+               public Event.buffer_size (Gst.Format format, int64 minsize, int64 maxsize, bool @async);
+               [CCode (has_construct_function = false)]
+               public Event.caps (Gst.Caps caps);
+               public void copy_segment (Gst.Segment segment);
+               [CCode (has_construct_function = false)]
+               public Event.custom (Gst.EventType type, owned Gst.Structure structure);
+               [CCode (has_construct_function = false)]
+               public Event.eos ();
+               [CCode (has_construct_function = false)]
+               public Event.flush_start ();
+               [CCode (has_construct_function = false)]
+               public Event.flush_stop (bool reset_time);
+               [CCode (has_construct_function = false)]
+               public Event.gap (Gst.ClockTime timestamp, Gst.ClockTime duration);
+               public uint get_n_stream_config_headers ();
+               public uint32 get_seqnum ();
+               public unowned Gst.Structure get_structure ();
+               public bool has_name (string name);
+               [CCode (has_construct_function = false)]
+               public Event.latency (Gst.ClockTime latency);
+               [CCode (has_construct_function = false)]
+               public Event.navigation (owned Gst.Structure structure);
+               public void parse_buffer_size (out Gst.Format format, out int64 minsize, out int64 maxsize, out bool @async);
+               public void parse_caps (out unowned Gst.Caps caps);
+               public void parse_flush_stop (out bool reset_time);
+               public void parse_gap (out Gst.ClockTime timestamp, out Gst.ClockTime duration);
+               public void parse_latency (out Gst.ClockTime latency);
+               public bool parse_nth_stream_config_header (uint index, out unowned Gst.Buffer buf);
+               public void parse_qos (out Gst.QOSType type, out double proportion, out Gst.ClockTimeDiff diff, out Gst.ClockTime timestamp);
+               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);
+               public void parse_segment (out unowned Gst.Segment segment);
+               public void parse_segment_done (out Gst.Format format, out int64 position);
+               public void parse_sink_message (out Gst.Message msg);
+               public void parse_step (out Gst.Format format, out uint64 amount, out double rate, out bool flush, out bool intermediate);
+               public void parse_stream_config (out Gst.StreamConfigFlags flags);
+               public bool parse_stream_config_setup_data (out unowned Gst.Buffer buf);
+               public void parse_stream_start (out string stream_id);
+               public void parse_tag (out unowned Gst.TagList taglist);
+               public void parse_toc (out Gst.Toc toc, out bool updated);
+               public void parse_toc_select (out string uid);
+               [CCode (has_construct_function = false)]
+               public Event.qos (Gst.QOSType type, double proportion, Gst.ClockTimeDiff diff, Gst.ClockTime timestamp);
+               [CCode (has_construct_function = false)]
+               public Event.reconfigure ();
+               [CCode (has_construct_function = false)]
+               public Event.seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, int64 start, Gst.SeekType stop_type, int64 stop);
+               [CCode (has_construct_function = false)]
+               public Event.segment (Gst.Segment segment);
+               [CCode (has_construct_function = false)]
+               public Event.segment_done (Gst.Format format, int64 position);
+               public void set_seqnum (uint32 seqnum);
+               public void set_stream_config_setup_data (Gst.Buffer buf);
+               [CCode (has_construct_function = false)]
+               public Event.sink_message (string name, Gst.Message msg);
+               [CCode (has_construct_function = false)]
+               public Event.step (Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate);
+               [CCode (has_construct_function = false)]
+               public Event.stream_config (Gst.StreamConfigFlags flags);
+               [CCode (has_construct_function = false)]
+               public Event.stream_start (string stream_id);
+               [CCode (has_construct_function = false)]
+               public Event.tag (owned Gst.TagList taglist);
+               [CCode (has_construct_function = false)]
+               public Event.toc (Gst.Toc toc, bool updated);
+               [CCode (has_construct_function = false)]
+               public Event.toc_select (string uid);
+               public Gst.Structure writable_structure ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_fraction_get_type ()")]
+       public class Fraction {
+               [CCode (has_construct_function = false)]
+               protected Fraction ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_fraction_range_get_type ()")]
+       public class FractionRange {
+               [CCode (has_construct_function = false)]
+               protected FractionRange ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_ghost_pad_get_type ()")]
+       public class GhostPad : Gst.ProxyPad {
+               [CCode (has_construct_function = false, type = "GstPad*")]
+               public GhostPad (string? name, Gst.Pad target);
+               public static bool activate_mode_default (Gst.Pad pad, Gst.Object parent, Gst.PadMode mode, bool active);
+               public bool @construct ();
+               [CCode (has_construct_function = false, type = "GstPad*")]
+               public GhostPad.from_template (string? name, Gst.Pad target, Gst.PadTemplate templ);
+               public Gst.Pad get_target ();
+               public static bool internal_activate_mode_default (Gst.Pad pad, Gst.Object parent, Gst.PadMode mode, bool active);
+               [CCode (has_construct_function = false, type = "GstPad*")]
+               public GhostPad.no_target (string? name, Gst.PadDirection dir);
+               [CCode (has_construct_function = false, type = "GstPad*")]
+               public GhostPad.no_target_from_template (string? name, Gst.PadTemplate templ);
+               public bool set_target (Gst.Pad? newtarget);
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_int64_range_get_type ()")]
+       public class Int64Range {
+               [CCode (has_construct_function = false)]
+               protected Int64Range ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_int_range_get_type ()")]
+       public class IntRange {
+               [CCode (has_construct_function = false)]
+               protected IntRange ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_iterator_get_type ()")]
+       [Compact]
+       public class Iterator {
+               public uint32 cookie;
+               public weak Gst.IteratorItemFunction item;
+               public weak GLib.Mutex @lock;
+               public uint32 master_cookie;
+               public weak Gst.Iterator pushed;
+               public uint size;
+               public GLib.Type type;
+               public Gst.Iterator filter (GLib.CompareFunc func, GLib.Value user_data);
+               public bool find_custom ([CCode (delegate_target_pos = 2.1)] GLib.CompareFunc func, out GLib.Value elem);
+               public Gst.IteratorResult fold ([CCode (delegate_target_pos = 2.1)] Gst.IteratorFoldFunction func, GLib.Value ret);
+               public Gst.IteratorResult @foreach (Gst.IteratorForeachFunction func);
+               public void free ();
+               public Gst.IteratorResult next (out GLib.Value elem);
+               public void push (Gst.Iterator other);
+               public void resync ();
+               [CCode (has_construct_function = false)]
+               public Iterator.single (GLib.Type type, GLib.Value object);
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_memory_get_type ()")]
+       [Compact]
+       public class Memory : Gst.MiniObject {
+               public size_t align;
+               public weak Gst.Allocator allocator;
+               public size_t maxsize;
+               public size_t offset;
+               public weak Gst.Memory parent;
+               public size_t size;
+               public Gst.Memory copy (ssize_t offset, ssize_t size);
+               public size_t get_sizes (size_t offset, size_t maxsize);
+               public bool is_span (Gst.Memory mem2, size_t offset);
+               public Gst.Memory make_mapped (out Gst.MapInfo info, Gst.MapFlags flags);
+               public bool map (out Gst.MapInfo info, Gst.MapFlags flags);
+               public void resize (ssize_t offset, size_t size);
+               public Gst.Memory share (ssize_t offset, ssize_t size);
+               public void unmap (Gst.MapInfo info);
+               [CCode (has_construct_function = false)]
+               public Memory.wrapped (Gst.MemoryFlags flags, void* data, size_t maxsize, size_t offset, size_t size, void* user_data, GLib.DestroyNotify notify);
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_message_get_type ()")]
+       [Compact]
+       public class Message : Gst.MiniObject {
+               public uint32 seqnum;
+               public weak Gst.Object src;
+               public uint64 timestamp;
+               public Gst.MessageType type;
+               [CCode (has_construct_function = false)]
+               public Message.application (Gst.Object src, owned Gst.Structure structure);
+               [CCode (has_construct_function = false)]
+               public Message.async_done (Gst.Object src, Gst.ClockTime running_time);
+               [CCode (has_construct_function = false)]
+               public Message.async_start (Gst.Object src);
+               [CCode (has_construct_function = false)]
+               public Message.buffering (Gst.Object src, int percent);
+               [CCode (has_construct_function = false)]
+               public Message.clock_lost (Gst.Object src, Gst.Clock clock);
+               [CCode (has_construct_function = false)]
+               public Message.clock_provide (Gst.Object src, Gst.Clock clock, bool ready);
+               [CCode (has_construct_function = false)]
+               public Message.custom (Gst.MessageType type, Gst.Object src, owned Gst.Structure structure);
+               [CCode (has_construct_function = false)]
+               public Message.duration (Gst.Object src, Gst.Format format, int64 duration);
+               [CCode (has_construct_function = false)]
+               public Message.element (Gst.Object src, owned Gst.Structure structure);
+               [CCode (has_construct_function = false)]
+               public Message.eos (Gst.Object src);
+               [CCode (has_construct_function = false)]
+               public Message.error (Gst.Object src, GLib.Error error, string debug);
+               public uint32 get_seqnum ();
+               public GLib.Value get_stream_status_object ();
+               public unowned Gst.Structure get_structure ();
+               public bool has_name (string name);
+               [CCode (has_construct_function = false)]
+               public Message.info (Gst.Object src, GLib.Error error, string debug);
+               [CCode (has_construct_function = false)]
+               public Message.latency (Gst.Object src);
+               [CCode (has_construct_function = false)]
+               public Message.new_clock (Gst.Object src, Gst.Clock clock);
+               public void parse_async_done (out Gst.ClockTime running_time);
+               public void parse_buffering (out int percent);
+               public void parse_buffering_stats (out Gst.BufferingMode mode, out int avg_in, out int avg_out, out int64 buffering_left);
+               public void parse_clock_lost (out unowned Gst.Clock clock);
+               public void parse_clock_provide (out unowned Gst.Clock clock, out bool ready);
+               public void parse_duration (out Gst.Format format, out int64 duration);
+               public void parse_error (out GLib.Error gerror, out string debug);
+               public void parse_info (out GLib.Error gerror, out string debug);
+               public void parse_new_clock (out unowned Gst.Clock clock);
+               public void parse_progress (out Gst.ProgressType type, out string code, out string text);
+               public void parse_qos (out bool live, out uint64 running_time, out uint64 stream_time, out uint64 timestamp, out uint64 duration);
+               public void parse_qos_stats (out Gst.Format format, out uint64 processed, out uint64 dropped);
+               public void parse_qos_values (out int64 jitter, out double proportion, out int quality);
+               public void parse_request_state (out Gst.State state);
+               public void parse_reset_time (out Gst.ClockTime running_time);
+               public void parse_segment_done (out Gst.Format format, out int64 position);
+               public void parse_segment_start (out Gst.Format format, out int64 position);
+               public void parse_state_changed (out Gst.State oldstate, out Gst.State newstate, out Gst.State pending);
+               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);
+               public void parse_step_start (out bool active, out Gst.Format format, out uint64 amount, out double rate, out bool flush, out bool intermediate);
+               public void parse_stream_status (out Gst.StreamStatusType type, out unowned Gst.Element owner);
+               public void parse_structure_change (out Gst.StructureChangeType type, out unowned Gst.Element owner, out bool busy);
+               public void parse_tag (out Gst.TagList tag_list);
+               public void parse_toc (out Gst.Toc toc, out bool updated);
+               public void parse_warning (out GLib.Error gerror, out string debug);
+               [CCode (has_construct_function = false)]
+               public Message.progress (Gst.Object src, Gst.ProgressType type, string code, string text);
+               [CCode (has_construct_function = false)]
+               public Message.qos (Gst.Object src, bool live, uint64 running_time, uint64 stream_time, uint64 timestamp, uint64 duration);
+               [CCode (has_construct_function = false)]
+               public Message.request_state (Gst.Object src, Gst.State state);
+               [CCode (has_construct_function = false)]
+               public Message.reset_time (Gst.Object src, Gst.ClockTime running_time);
+               [CCode (has_construct_function = false)]
+               public Message.segment_done (Gst.Object src, Gst.Format format, int64 position);
+               [CCode (has_construct_function = false)]
+               public Message.segment_start (Gst.Object src, Gst.Format format, int64 position);
+               public void set_buffering_stats (Gst.BufferingMode mode, int avg_in, int avg_out, int64 buffering_left);
+               public void set_qos_stats (Gst.Format format, uint64 processed, uint64 dropped);
+               public void set_qos_values (int64 jitter, double proportion, int quality);
+               public void set_seqnum (uint32 seqnum);
+               public void set_stream_status_object (GLib.Value object);
+               [CCode (has_construct_function = false)]
+               public Message.state_changed (Gst.Object src, Gst.State oldstate, Gst.State newstate, Gst.State pending);
+               [CCode (has_construct_function = false)]
+               public Message.state_dirty (Gst.Object src);
+               [CCode (has_construct_function = false)]
+               public Message.step_done (Gst.Object src, Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate, uint64 duration, bool eos);
+               [CCode (has_construct_function = false)]
+               public Message.step_start (Gst.Object src, bool active, Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate);
+               [CCode (has_construct_function = false)]
+               public Message.stream_start (Gst.Object src);
+               [CCode (has_construct_function = false)]
+               public Message.stream_status (Gst.Object src, Gst.StreamStatusType type, Gst.Element owner);
+               [CCode (has_construct_function = false)]
+               public Message.structure_change (Gst.Object src, Gst.StructureChangeType type, Gst.Element owner, bool busy);
+               [CCode (has_construct_function = false)]
+               public Message.tag (Gst.Object src, owned Gst.TagList tag_list);
+               [CCode (has_construct_function = false)]
+               public Message.toc (Gst.Object src, Gst.Toc toc, bool updated);
+               [CCode (has_construct_function = false)]
+               public Message.warning (Gst.Object src, GLib.Error error, string debug);
+       }
+       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_mini_object_ref", unref_function = "gst_mini_object_unref")]
+       [Compact]
+       public abstract class MiniObject {
+               public weak Gst.MiniObjectDisposeFunction dispose;
+               public uint flags;
+               public weak Gst.MiniObjectFreeFunction free;
+               public int lockstate;
+               public int refcount;
+               public GLib.Type type;
+               [CCode (simple_generics = true)]
+               public T get_qdata<T> (GLib.Quark quark);
+               public bool is_writable ();
+               public bool @lock (Gst.LockFlags flags);
+               public Gst.MiniObject make_writable ();
+               public static bool replace (ref Gst.MiniObject olddata, Gst.MiniObject newdata);
+               [CCode (simple_generics = true)]
+               public void set_qdata<T> (GLib.Quark quark, owned T data);
+               public void* steal_qdata (GLib.Quark quark);
+               public static bool take (ref Gst.MiniObject olddata, Gst.MiniObject newdata);
+               public void unlock (Gst.LockFlags flags);
+               public void unref ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_object_get_type ()")]
+       public abstract class Object : GLib.InitiallyUnowned {
+               public uint32 flags;
+               public weak GLib.Mutex @lock;
+               [CCode (has_construct_function = false)]
+               protected Object ();
+               public bool add_control_binding (owned Gst.ControlBinding binding);
+               public static bool check_uniqueness (GLib.List<Gst.Object> list, string name);
+               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);
+               public void default_error (GLib.Error error, string? debug);
+               public Gst.ControlBinding get_control_binding (string property_name);
+               public Gst.ClockTime get_control_rate ();
+               public bool get_g_value_array (string property_name, Gst.ClockTime timestamp, Gst.ClockTime interval, uint n_values, GLib.Value values);
+               public string get_name ();
+               public Gst.Object get_parent ();
+               public string get_path_string ();
+               public GLib.Value get_value (string property_name, Gst.ClockTime timestamp);
+               public bool get_value_array (string property_name, Gst.ClockTime timestamp, Gst.ClockTime interval, uint n_values, void* values);
+               public bool has_active_control_bindings ();
+               public bool has_ancestor (Gst.Object ancestor);
+               public Gst.Object @ref ();
+               public bool remove_control_binding (Gst.ControlBinding binding);
+               public static bool replace (ref Gst.Object oldobj, Gst.Object newobj);
+               public void set_control_binding_disabled (string property_name, bool disabled);
+               public void set_control_bindings_disabled (bool disabled);
+               public void set_control_rate (Gst.ClockTime control_rate);
+               public bool set_name (string name);
+               public bool set_parent (Gst.Object parent);
+               public Gst.ClockTime suggest_next_sync ();
+               public bool sync_values (Gst.ClockTime timestamp);
+               public void unparent ();
+               public void unref ();
+               [NoAccessorMethod]
+               public string name { owned get; set construct; }
+               [NoAccessorMethod]
+               public Gst.Object parent { owned get; set; }
+               public virtual signal void deep_notify (Gst.Object orig, GLib.ParamSpec pspec);
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_pad_get_type ()")]
+       public class Pad : Gst.Object {
+               public Gst.PadDirection direction;
+               public void* element_private;
+               public weak Gst.PadTemplate padtemplate;
+               [CCode (has_construct_function = false)]
+               public Pad (string name, Gst.PadDirection direction);
+               public bool activate_mode (Gst.PadMode mode, bool active);
+               public ulong add_probe (Gst.PadProbeType mask, owned Gst.PadProbeCallback callback);
+               public bool can_link (Gst.Pad sinkpad);
+               public Gst.FlowReturn chain (owned Gst.Buffer buffer);
+               public Gst.FlowReturn chain_list (owned Gst.BufferList list);
+               public bool check_reconfigure ();
+               public string create_stream_id (Gst.Element parent, string? stream_id);
+               public bool event_default (Gst.Object parent, owned Gst.Event event);
+               public bool forward (Gst.PadForwardFunction forward);
+               [CCode (has_construct_function = false)]
+               public Pad.from_static_template (Gst.StaticPadTemplate templ, string name);
+               [CCode (has_construct_function = false)]
+               public Pad.from_template (Gst.PadTemplate templ, string name);
+               public Gst.Caps get_allowed_caps ();
+               public Gst.Caps get_current_caps ();
+               public Gst.PadDirection get_direction ();
+               public void* get_element_private ();
+               public int64 get_offset ();
+               public Gst.PadTemplate get_pad_template ();
+               public Gst.Caps get_pad_template_caps ();
+               public Gst.Element get_parent_element ();
+               public Gst.Pad get_peer ();
+               public Gst.FlowReturn get_range (uint64 offset, uint size, out Gst.Buffer buffer);
+               public Gst.Event get_sticky_event (Gst.EventType event_type, uint idx);
+               public bool has_current_caps ();
+               public bool is_active ();
+               public bool is_blocked ();
+               public bool is_blocking ();
+               public bool is_linked ();
+               public Gst.Iterator iterate_internal_links ();
+               public Gst.Iterator iterate_internal_links_default (Gst.Object parent);
+               [CCode (cname = "gst_pad_link_full")]
+               public Gst.PadLinkReturn link (Gst.Pad sinkpad, Gst.PadLinkCheck flags = Gst.PadLinkCheck.DEFAULT);
+               public void mark_reconfigure ();
+               public bool needs_reconfigure ();
+               public bool pause_task ();
+               public bool peer_query (Gst.Query query);
+               public bool peer_query_accept_caps (Gst.Caps caps);
+               public Gst.Caps peer_query_caps (Gst.Caps? filter);
+               public bool peer_query_convert (Gst.Format src_format, int64 src_val, Gst.Format dest_format, out int64 dest_val);
+               public bool peer_query_duration (Gst.Format format, out int64 duration);
+               public bool peer_query_position (Gst.Format format, out int64 cur);
+               public bool proxy_query_accept_caps (Gst.Query query);
+               public bool proxy_query_caps (Gst.Query query);
+               public Gst.FlowReturn pull_range (uint64 offset, uint size, out Gst.Buffer buffer);
+               public Gst.FlowReturn push (owned Gst.Buffer buffer);
+               public bool push_event (owned Gst.Event event);
+               public Gst.FlowReturn push_list (owned Gst.BufferList list);
+               public bool query (Gst.Query query);
+               public bool query_accept_caps (Gst.Caps caps);
+               public Gst.Caps query_caps (Gst.Caps? filter);
+               public bool query_convert (Gst.Format src_format, int64 src_val, Gst.Format dest_format, out int64 dest_val);
+               public bool query_default (Gst.Object parent, Gst.Query query);
+               public bool query_duration (Gst.Format format, out int64 duration);
+               public bool query_position (Gst.Format format, out int64 cur);
+               public void remove_probe (ulong id);
+               public bool send_event (owned Gst.Event event);
+               [CCode (cname = "gst_pad_set_activate_function_full")]
+               public void set_activate_function (owned Gst.PadActivateFunction activate);
+               [CCode (cname = "gst_pad_set_activatemode_function_full")]
+               public void set_activatemode_function (owned Gst.PadActivateModeFunction activatemode);
+               public bool set_active (bool active);
+               [CCode (cname = "gst_pad_set_chain_function_full")]
+               public void set_chain_function (owned Gst.PadChainFunction chain);
+               [CCode (cname = "gst_pad_set_chain_list_function_full")]
+               public void set_chain_list_function (owned Gst.PadChainListFunction chainlist);
+               public void set_element_private (void* priv);
+               [CCode (cname = "gst_pad_set_event_function_full")]
+               public void set_event_function (owned Gst.PadEventFunction event);
+               [CCode (cname = "gst_pad_set_getrange_function_full")]
+               public void set_getrange_function (owned Gst.PadGetRangeFunction @get);
+               [CCode (cname = "gst_pad_set_iterate_internal_links_function_full")]
+               public void set_iterate_internal_links_function (owned Gst.PadIterIntLinkFunction iterintlink);
+               [CCode (cname = "gst_pad_set_link_function_full")]
+               public void set_link_function (owned Gst.PadLinkFunction link);
+               public void set_offset (int64 offset);
+               [CCode (cname = "gst_pad_set_query_function_full")]
+               public void set_query_function (owned Gst.PadQueryFunction query);
+               [CCode (cname = "gst_pad_set_unlink_function_full")]
+               public void set_unlink_function (owned Gst.PadUnlinkFunction unlink);
+               public bool start_task (owned Gst.TaskFunction func);
+               public void sticky_events_foreach (Gst.PadStickyEventsForeachFunction foreach_func);
+               public bool stop_task ();
+               public bool unlink (Gst.Pad sinkpad);
+               public void use_fixed_caps ();
+               [NoAccessorMethod]
+               public Gst.Caps caps { owned get; }
+               [NoAccessorMethod]
+               public Gst.PadTemplate template { owned get; set; }
+               public virtual signal void linked (Gst.Pad peer);
+               public virtual signal void unlinked (Gst.Pad peer);
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_pad_template_get_type ()")]
+       public class PadTemplate : Gst.Object {
+               public Gst.PadDirection direction;
+               public Gst.PadPresence presence;
+               [CCode (has_construct_function = false)]
+               public PadTemplate (string name_template, Gst.PadDirection direction, Gst.PadPresence presence, Gst.Caps caps);
+               public Gst.Caps get_caps ();
+               public Gst.Caps caps { owned get; construct; }
+               [NoAccessorMethod]
+               public string name_template { owned get; construct; }
+               [HasEmitter]
+               public virtual signal void pad_created (Gst.Pad pad);
+       }
+       [CCode (cheader_filename = "gst/gst.h", lower_case_csuffix = "param_spec_fraction", type_id = "gst_param_spec_fraction_get_type ()")]
+       public class ParamFraction : GLib.ParamSpec {
+               [CCode (has_construct_function = false)]
+               protected ParamFraction ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_parse_context_get_type ()")]
+       [Compact]
+       public class ParseContext {
+               [CCode (has_construct_function = false)]
+               public ParseContext ();
+               public void free ();
+               [CCode (array_length = false, array_null_terminated = true)]
+               public string[] get_missing_elements ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_pipeline_get_type ()")]
+       public class Pipeline : Gst.Bin, Gst.ChildProxy {
+               public weak Gst.Clock fixed_clock;
+               public Gst.ClockTime stream_time;
+               [CCode (has_construct_function = false, type = "GstElement*")]
+               public Pipeline (string name);
+               public void auto_clock ();
+               public bool get_auto_flush_bus ();
+               public Gst.Bus get_bus ();
+               public Gst.Clock get_clock ();
+               public Gst.ClockTime get_delay ();
+               public void set_auto_flush_bus (bool auto_flush);
+               public bool set_clock (Gst.Clock clock);
+               public void set_delay (Gst.ClockTime delay);
+               public void use_clock (Gst.Clock clock);
+               public bool auto_flush_bus { get; set; }
+               public uint64 delay { get; set; }
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_plugin_get_type ()")]
+       public class Plugin : Gst.Object {
+               [CCode (has_construct_function = false)]
+               protected Plugin ();
+               public void add_dependency (string env_vars, string paths, string names, Gst.PluginDependencyFlags flags);
+               public void add_dependency_simple (string env_vars, string paths, string names, Gst.PluginDependencyFlags flags);
+               public static GLib.Quark error_quark ();
+               public unowned Gst.Structure get_cache_data ();
+               public unowned string get_description ();
+               public unowned string get_filename ();
+               public unowned string get_license ();
+               public unowned string get_name ();
+               public unowned string get_origin ();
+               public unowned string get_package ();
+               public unowned string get_release_date_string ();
+               public unowned string get_source ();
+               public unowned string get_version ();
+               public bool is_loaded ();
+               public static void list_free (owned GLib.List<Gst.Plugin> list);
+               public Gst.Plugin load ();
+               public static Gst.Plugin load_by_name (string name);
+               public static Gst.Plugin load_file (string filename) throws GLib.Error;
+               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);
+               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);
+               public void set_cache_data (owned Gst.Structure cache_data);
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_plugin_feature_get_type ()")]
+       public abstract class PluginFeature : Gst.Object {
+               [CCode (has_construct_function = false)]
+               protected PluginFeature ();
+               public bool check_version (uint min_major, uint min_minor, uint min_micro);
+               public Gst.Plugin get_plugin ();
+               public uint get_rank ();
+               public static GLib.List<Gst.PluginFeature> list_copy (GLib.List<Gst.PluginFeature> list);
+               public static void list_debug (GLib.List<Gst.PluginFeature> list);
+               public static void list_free (owned GLib.List<Gst.PluginFeature> list);
+               public Gst.PluginFeature load ();
+               public static int rank_compare_func (void* p1, void* p2);
+               public void set_rank (uint rank);
+       }
+       [CCode (cheader_filename = "gst/gst.h")]
+       [Compact]
+       public class Poll {
+               public bool add_fd (Gst.PollFD fd);
+               public bool fd_can_read (Gst.PollFD fd);
+               public bool fd_can_write (Gst.PollFD fd);
+               public bool fd_ctl_read (Gst.PollFD fd, bool active);
+               public bool fd_ctl_write (Gst.PollFD fd, bool active);
+               public bool fd_has_closed (Gst.PollFD fd);
+               public bool fd_has_error (Gst.PollFD fd);
+               public void fd_ignored (Gst.PollFD fd);
+               public void free ();
+               public void get_read_gpollfd (GLib.PollFD fd);
+               public bool read_control ();
+               public bool remove_fd (Gst.PollFD fd);
+               public void restart ();
+               public bool set_controllable (bool controllable);
+               public void set_flushing (bool flushing);
+               public int wait (Gst.ClockTime timeout);
+               public bool write_control ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_proxy_pad_get_type ()")]
+       public class ProxyPad : Gst.Pad {
+               [CCode (has_construct_function = false)]
+               protected ProxyPad ();
+               public static Gst.FlowReturn chain_default (Gst.Pad pad, Gst.Object parent, owned Gst.Buffer buffer);
+               public static Gst.FlowReturn chain_list_default (Gst.Pad pad, Gst.Object parent, owned Gst.BufferList list);
+               public Gst.ProxyPad get_internal ();
+               public static Gst.FlowReturn getrange_default (Gst.Pad pad, Gst.Object parent, uint64 offset, uint size, out Gst.Buffer buffer);
+               public static Gst.Iterator iterate_internal_links_default (Gst.Pad pad, Gst.Object parent);
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_query_get_type ()")]
+       [Compact]
+       public class Query : Gst.MiniObject {
+               public Gst.QueryType type;
+               [CCode (has_construct_function = false)]
+               public Query.accept_caps (Gst.Caps caps);
+               public void add_allocation_meta (GLib.Type api, Gst.Structure? @params);
+               public void add_allocation_param (Gst.Allocator? allocator, Gst.AllocationParams? @params);
+               public void add_allocation_pool (Gst.BufferPool pool, uint size, uint min_buffers, uint max_buffers);
+               public bool add_buffering_range (int64 start, int64 stop);
+               public void add_scheduling_mode (Gst.PadMode mode);
+               [CCode (has_construct_function = false)]
+               public Query.allocation (Gst.Caps caps, bool need_pool);
+               [CCode (has_construct_function = false)]
+               public Query.buffering (Gst.Format format);
+               [CCode (has_construct_function = false)]
+               public Query.caps (Gst.Caps filter);
+               [CCode (has_construct_function = false)]
+               public Query.convert (Gst.Format src_format, int64 value, Gst.Format dest_format);
+               [CCode (has_construct_function = false)]
+               public Query.custom (Gst.QueryType type, Gst.Structure structure);
+               [CCode (has_construct_function = false)]
+               public Query.drain ();
+               [CCode (has_construct_function = false)]
+               public Query.duration (Gst.Format format);
+               public bool find_allocation_meta (GLib.Type api, out uint index);
+               [CCode (has_construct_function = false)]
+               public Query.formats ();
+               public uint get_n_allocation_metas ();
+               public uint get_n_allocation_params ();
+               public uint get_n_allocation_pools ();
+               public uint get_n_buffering_ranges ();
+               public uint get_n_scheduling_modes ();
+               public unowned Gst.Structure get_structure ();
+               public bool has_scheduling_mode (Gst.PadMode mode);
+               [CCode (has_construct_function = false)]
+               public Query.latency ();
+               public void parse_accept_caps (out Gst.Caps caps);
+               public void parse_accept_caps_result (bool result);
+               public void parse_allocation (out unowned Gst.Caps caps, out bool need_pool);
+               public void parse_buffering_percent (out bool busy, out int percent);
+               public void parse_buffering_range (out Gst.Format format, out int64 start, out int64 stop, out int64 estimated_total);
+               public void parse_buffering_stats (out Gst.BufferingMode mode, out int avg_in, out int avg_out, out int64 buffering_left);
+               public void parse_caps (out Gst.Caps filter);
+               public void parse_caps_result (out Gst.Caps caps);
+               public void parse_convert (out Gst.Format src_format, out int64 src_value, out Gst.Format dest_format, out int64 dest_value);
+               public void parse_duration (out Gst.Format format, out int64 duration);
+               public void parse_latency (out bool live, out Gst.ClockTime min_latency, out Gst.ClockTime max_latency);
+               public void parse_n_formats (out uint n_formats);
+               public GLib.Type parse_nth_allocation_meta (uint index, out Gst.Structure @params);
+               public void parse_nth_allocation_param (uint index, out unowned Gst.Allocator allocator, out unowned Gst.AllocationParams @params);
+               public void parse_nth_allocation_pool (uint index, out Gst.BufferPool pool, out uint size, out uint min_buffers, out uint max_buffers);
+               public bool parse_nth_buffering_range (uint index, out int64 start, out int64 stop);
+               public void parse_nth_format (out uint nth, out Gst.Format format);
+               public Gst.PadMode parse_nth_scheduling_mode (uint index);
+               public void parse_position (out Gst.Format format, out int64 cur);
+               public void parse_scheduling (out Gst.SchedulingFlags flags, out int minsize, out int maxsize, out int align);
+               public void parse_seeking (out Gst.Format format, out bool seekable, out int64 segment_start, out int64 segment_end);
+               public void parse_segment (out double rate, out Gst.Format format, out int64 start_value, out int64 stop_value);
+               public void parse_uri (out string uri);
+               [CCode (has_construct_function = false)]
+               public Query.position (Gst.Format format);
+               public void remove_nth_allocation_meta (uint index);
+               [CCode (has_construct_function = false)]
+               public Query.scheduling ();
+               [CCode (has_construct_function = false)]
+               public Query.seeking (Gst.Format format);
+               [CCode (has_construct_function = false)]
+               public Query.segment (Gst.Format format);
+               public void set_accept_caps_result (bool result);
+               public void set_buffering_percent (bool busy, int percent);
+               public void set_buffering_range (Gst.Format format, int64 start, int64 stop, int64 estimated_total);
+               public void set_buffering_stats (Gst.BufferingMode mode, int avg_in, int avg_out, int64 buffering_left);
+               public void set_caps_result (Gst.Caps caps);
+               public void set_convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value);
+               public void set_duration (Gst.Format format, int64 duration);
+               public void set_formatsv ([CCode (array_length_cname = "n_formats", array_length_pos = 0.5)] Gst.Format[] formats);
+               public void set_latency (bool live, Gst.ClockTime min_latency, Gst.ClockTime max_latency);
+               public void set_nth_allocation_param (uint index, Gst.Allocator? allocator, Gst.AllocationParams? @params);
+               public void set_nth_allocation_pool (uint index, Gst.BufferPool pool, uint size, uint min_buffers, uint max_buffers);
+               public void set_position (Gst.Format format, int64 cur);
+               public void set_scheduling (Gst.SchedulingFlags flags, int minsize, int maxsize, int align);
+               public void set_seeking (Gst.Format format, bool seekable, int64 segment_start, int64 segment_end);
+               public void set_segment (double rate, Gst.Format format, int64 start_value, int64 stop_value);
+               public void set_uri (string uri);
+               [CCode (has_construct_function = false)]
+               public Query.uri ();
+               public unowned Gst.Structure writable_structure ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_registry_get_type ()")]
+       public class Registry : Gst.Object {
+               [CCode (has_construct_function = false)]
+               protected Registry ();
+               public bool add_feature (owned Gst.PluginFeature feature);
+               public void add_path (string path);
+               public bool add_plugin (owned Gst.Plugin plugin);
+               public bool check_feature_version (string feature_name, uint min_major, uint min_minor, uint min_micro);
+               public GLib.List<Gst.PluginFeature> feature_filter ([CCode (delegate_target_pos = 2.1)] Gst.PluginFeatureFilter filter, bool first);
+               public Gst.PluginFeature find_feature (string name, GLib.Type type);
+               public Gst.Plugin find_plugin (string name);
+               public static bool fork_is_enabled ();
+               public static void fork_set_enabled (bool enabled);
+               public static unowned Gst.Registry @get ();
+               public GLib.List<Gst.PluginFeature> get_feature_list (GLib.Type type);
+               public GLib.List<Gst.PluginFeature> get_feature_list_by_plugin (string name);
+               public uint32 get_feature_list_cookie ();
+               public GLib.List<weak string> get_path_list ();
+               public GLib.List<Gst.Plugin> get_plugin_list ();
+               public Gst.Plugin lookup (string filename);
+               public Gst.PluginFeature lookup_feature (string name);
+               public GLib.List<Gst.Plugin> plugin_filter ([CCode (delegate_target_pos = 2.1)] Gst.PluginFilter filter, bool first);
+               public void remove_feature (Gst.PluginFeature feature);
+               public void remove_plugin (Gst.Plugin plugin);
+               public bool scan_path (string path);
+               public signal void feature_added (Gst.PluginFeature feature);
+               public signal void plugin_added (Gst.Plugin plugin);
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_sample_get_type ()")]
+       [Compact]
+       public class Sample {
+               [CCode (has_construct_function = false)]
+               public Sample (Gst.Buffer? buffer, Gst.Caps? caps, Gst.Segment segment, owned Gst.Structure? info);
+               public unowned Gst.Buffer get_buffer ();
+               public unowned Gst.Caps get_caps ();
+               public unowned Gst.Structure get_info ();
+               public unowned Gst.Segment get_segment ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_segment_get_type ()")]
+       [Compact]
+       public class Segment {
+               public double applied_rate;
+               public uint64 @base;
+               public uint64 duration;
+               public Gst.SegmentFlags flags;
+               public Gst.Format format;
+               public uint64 offset;
+               public uint64 position;
+               public double rate;
+               public uint64 start;
+               public uint64 stop;
+               public uint64 time;
+               [CCode (has_construct_function = false)]
+               public Segment ();
+               public bool clip (Gst.Format format, uint64 start, uint64 stop, out uint64 clip_start, out uint64 clip_stop);
+               public Gst.Segment copy ();
+               public void copy_into (Gst.Segment dest);
+               public bool do_seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, uint64 start, Gst.SeekType stop_type, uint64 stop, bool update);
+               public void free ();
+               public void init (Gst.Format format);
+               public bool set_running_time (Gst.Format format, uint64 running_time);
+               public uint64 to_position (Gst.Format format, uint64 running_time);
+               public uint64 to_running_time (Gst.Format format, uint64 position);
+               public uint64 to_stream_time (Gst.Format format, uint64 position);
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_structure_get_type ()")]
+       [Compact]
+       public class Structure {
+               public GLib.Type type;
+               public bool can_intersect (Gst.Structure struct2);
+               public unowned Gst.Structure copy ();
+               [CCode (has_construct_function = false)]
+               public Structure.empty (string name);
+               public void fixate ();
+               public bool fixate_field (string field_name);
+               public bool fixate_field_boolean (string field_name, bool target);
+               public bool fixate_field_nearest_double (string field_name, double target);
+               public bool fixate_field_nearest_fraction (string field_name, int target_numerator, int target_denominator);
+               public bool fixate_field_nearest_int (string field_name, int target);
+               public bool fixate_field_string (string field_name, string target);
+               public bool @foreach (Gst.StructureForeachFunc func);
+               public void free ();
+               public static Gst.Structure from_string (string string, out unowned string end);
+               public bool get_boolean (string fieldname, out bool value);
+               public bool get_clock_time (string fieldname, out Gst.ClockTime value);
+               public bool get_date (string fieldname, out GLib.Date value);
+               public bool get_date_time (string fieldname, out Gst.DateTime value);
+               public bool get_double (string fieldname, out double value);
+               public bool get_enum (string fieldname, GLib.Type enumtype, out int value);
+               public GLib.Type get_field_type (string fieldname);
+               public bool get_fraction (string fieldname, out int value_numerator, out int value_denominator);
+               public bool get_int (string fieldname, out int value);
+               public unowned string get_name ();
+               public GLib.Quark get_name_id ();
+               public unowned string get_string (string fieldname);
+               public bool get_uint (string fieldname, out uint value);
+               public GLib.Value get_value (string fieldname);
+               public bool has_field (string fieldname);
+               public bool has_field_typed (string fieldname, GLib.Type type);
+               public bool has_name (string name);
+               [CCode (has_construct_function = false)]
+               public Structure.id_empty (GLib.Quark quark);
+               public GLib.Value id_get_value (GLib.Quark field);
+               public bool id_has_field (GLib.Quark field);
+               public bool id_has_field_typed (GLib.Quark field, GLib.Type type);
+               public void id_set_value (GLib.Quark field, GLib.Value value);
+               public void id_take_value (GLib.Quark field, owned GLib.Value value);
+               public Gst.Structure intersect (Gst.Structure struct2);
+               public bool is_equal (Gst.Structure structure2);
+               public bool is_subset (Gst.Structure superset);
+               public bool map_in_place (Gst.StructureMapFunc func);
+               public int n_fields ();
+               public unowned string nth_field_name (uint index);
+               public void remove_all_fields ();
+               public void remove_field (string fieldname);
+               public void set_name (string name);
+               public bool set_parent_refcount (int refcount);
+               public void set_value (string fieldname, GLib.Value value);
+               public void take_value (string fieldname, owned GLib.Value value);
+               public string to_string ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_system_clock_get_type ()")]
+       public class SystemClock : Gst.Clock {
+               [CCode (has_construct_function = false)]
+               protected SystemClock ();
+               public static Gst.Clock obtain ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_tag_list_get_type ()")]
+       [Compact]
+       public class TagList : Gst.MiniObject {
+               public void add_value (Gst.TagMergeMode mode, string tag, GLib.Value value);
+               [CCode (has_construct_function = false)]
+               public TagList.empty ();
+               public void @foreach (Gst.TagForeachFunc func);
+               [CCode (has_construct_function = false)]
+               public TagList.from_string (string str);
+               public bool get_boolean (string tag, out bool value);
+               public bool get_boolean_index (string tag, uint index, out bool value);
+               public bool get_date (string tag, out GLib.Date value);
+               public bool get_date_index (string tag, uint index, out GLib.Date value);
+               public bool get_date_time (string tag, out Gst.DateTime value);
+               public bool get_date_time_index (string tag, uint index, out Gst.DateTime value);
+               public bool get_double (string tag, out double value);
+               public bool get_double_index (string tag, uint index, out double value);
+               public bool get_float (string tag, out float value);
+               public bool get_float_index (string tag, uint index, out float value);
+               public bool get_int (string tag, out int value);
+               public bool get_int64 (string tag, int64 value);
+               public bool get_int64_index (string tag, uint index, out int64 value);
+               public bool get_int_index (string tag, uint index, out int value);
+               public bool get_pointer (string tag, out void* value);
+               public bool get_pointer_index (string tag, uint index, out void* value);
+               public bool get_sample (string tag, out Gst.Sample sample);
+               public bool get_sample_index (string tag, uint index, out Gst.Sample sample);
+               public Gst.TagScope get_scope ();
+               public bool get_string (string tag, out string value);
+               public bool get_string_index (string tag, uint index, out string value);
+               public uint get_tag_size (string tag);
+               public bool get_uint (string tag, out uint value);
+               public bool get_uint64 (string tag, out uint64 value);
+               public bool get_uint64_index (string tag, uint index, out uint64 value);
+               public bool get_uint_index (string tag, uint index, out uint value);
+               public GLib.Value get_value_index (string tag, uint index);
+               public void insert (Gst.TagList from, Gst.TagMergeMode mode);
+               public bool is_empty ();
+               public bool is_equal (Gst.TagList list2);
+               public Gst.TagList merge (Gst.TagList list2, Gst.TagMergeMode mode);
+               public int n_tags ();
+               public unowned string nth_tag_name (uint index);
+               public bool peek_string_index (string tag, uint index, out unowned string value);
+               public void remove_tag (string tag);
+               public void set_scope (Gst.TagScope scope);
+               public string to_string ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_task_get_type ()")]
+       public class Task : Gst.Object {
+               public weak GLib.Cond cond;
+               public weak Gst.TaskFunction func;
+               public GLib.RecMutex @lock;
+               public weak GLib.DestroyNotify notify;
+               public bool running;
+               public Gst.TaskState state;
+               public void* user_data;
+               [CCode (has_construct_function = false)]
+               public Task (owned Gst.TaskFunction func);
+               public static void cleanup_all ();
+               public Gst.TaskPool get_pool ();
+               public Gst.TaskState get_state ();
+               public bool join ();
+               public bool pause ();
+               public void set_enter_callback (owned Gst.TaskThreadFunc enter_func);
+               public void set_leave_callback (owned Gst.TaskThreadFunc leave_func);
+               public void set_lock (GLib.RecMutex mutex);
+               public void set_pool (Gst.TaskPool pool);
+               public bool set_state (Gst.TaskState state);
+               public bool start ();
+               public bool stop ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_task_pool_get_type ()")]
+       public class TaskPool : Gst.Object {
+               [CCode (has_construct_function = false)]
+               public TaskPool ();
+               public virtual void cleanup ();
+               public virtual void join (void* id);
+               public virtual void prepare () throws GLib.Error;
+               public virtual void* push (Gst.TaskPoolFunction func) throws GLib.Error;
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_toc_get_type ()")]
+       [Compact]
+       public class Toc : Gst.MiniObject {
+               [CCode (has_construct_function = false)]
+               public Toc (Gst.TocScope scope);
+               public void append_entry (owned Gst.TocEntry entry);
+               public void dump ();
+               public unowned Gst.TocEntry find_entry (string uid);
+               public unowned GLib.List<Gst.TocEntry> get_entries ();
+               public Gst.TocScope get_scope ();
+               public unowned Gst.TagList get_tags ();
+               public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
+               public void set_tags (owned Gst.TagList? tags);
+       }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_toc_entry_get_type ()")]
+       [Compact]
+       public class TocEntry : Gst.MiniObject {
+               [CCode (has_construct_function = false)]
+               public TocEntry (Gst.TocEntryType type, string uid);
+               public void append_sub_entry (owned Gst.TocEntry subentry);
+               public Gst.TocEntryType get_entry_type ();
+               public unowned Gst.TocEntry get_parent ();
+               public bool get_start_stop_times (out int64 start, out int64 stop);
+               public unowned GLib.List<Gst.TocEntry> get_sub_entries ();
+               public unowned Gst.TagList get_tags ();
+               public unowned Gst.Toc get_toc ();
+               public unowned string get_uid ();
+               public bool is_alternative ();
+               public bool is_sequence ();
+               public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
+               public void set_start_stop_times (int64 start, int64 stop);
+               public void set_tags (owned Gst.TagList? tags);
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_type_find_factory_get_type ()")]
+       public class TypeFindFactory : Gst.PluginFeature {
+               [CCode (has_construct_function = false)]
+               protected TypeFindFactory ();
+               public void call_function (Gst.TypeFind find);
+               public unowned Gst.Caps get_caps ();
+               [CCode (array_length = false, array_null_terminated = true)]
+               public unowned string[] get_extensions ();
+               public static GLib.List<Gst.TypeFindFactory> get_list ();
+               public bool has_function ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_value_array_get_type ()")]
+       public class ValueArray {
+               [CCode (has_construct_function = false)]
+               protected ValueArray ();
+               public static void append_value (GLib.Value value, GLib.Value append_value);
+               public static uint get_size (GLib.Value value);
+               public static GLib.Value get_value (GLib.Value value, uint index);
+               public static void prepend_value (GLib.Value value, GLib.Value prepend_value);
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_id = "gst_value_list_get_type ()")]
+       public class ValueList {
+               [CCode (has_construct_function = false)]
+               protected ValueList ();
+               public static void append_value (GLib.Value value, GLib.Value append_value);
+               public static void concat (out GLib.Value dest, GLib.Value value1, GLib.Value value2);
+               public static uint get_size (GLib.Value value);
+               public static GLib.Value get_value (GLib.Value value, uint index);
+               public static void merge (out GLib.Value dest, GLib.Value value1, GLib.Value value2);
+               public static void prepend_value (GLib.Value value, GLib.Value prepend_value);
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_cname = "GstChildProxyInterface", type_id = "gst_child_proxy_get_type ()")]
+       public interface ChildProxy : GLib.Object {
+               public abstract GLib.Object get_child_by_index (uint index);
+               public abstract GLib.Object get_child_by_name (string name);
+               public abstract uint get_children_count ();
+               public GLib.Value get_property (string name);
+               public static bool lookup (GLib.Object object, string name, out GLib.Object target, out unowned GLib.ParamSpec pspec);
+               public void set_property (string name, GLib.Value value);
+               [HasEmitter]
+               public virtual signal void child_added (GLib.Object child, string name);
+               [HasEmitter]
+               public virtual signal void child_removed (GLib.Object child, string name);
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_cname = "GstPresetInterface", type_id = "gst_preset_get_type ()")]
+       public interface Preset : GLib.Object {
+               public abstract bool delete_preset (string name);
+               public static unowned string get_app_dir ();
+               public abstract bool get_meta (string name, string tag, out string value);
+               [CCode (array_length = false, array_null_terminated = true)]
+               public abstract string[] get_preset_names ();
+               [CCode (array_length = false, array_null_terminated = true)]
+               public abstract string[] get_property_names ();
+               public abstract bool load_preset (string name);
+               public abstract bool rename_preset (string old_name, string new_name);
+               public abstract bool save_preset (string name);
+               public static bool set_app_dir (string app_dir);
+               public abstract bool set_meta (string name, string tag, string value);
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_cname = "GstTagSetterInterface", type_id = "gst_tag_setter_get_type ()")]
+       public interface TagSetter : Gst.Element {
+               public void add_tag_value (Gst.TagMergeMode mode, string tag, GLib.Value value);
+               public unowned Gst.TagList get_tag_list ();
+               public Gst.TagMergeMode get_tag_merge_mode ();
+               public void merge_tags (Gst.TagList list, Gst.TagMergeMode mode);
+               public void reset_tags ();
+               public void set_tag_merge_mode (Gst.TagMergeMode mode);
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_cname = "GstTocSetterInterface", type_id = "gst_toc_setter_get_type ()")]
+       public interface TocSetter : Gst.Element {
+               public Gst.Toc get_toc ();
+               public void reset ();
+               public void set_toc (Gst.Toc? toc);
+       }
+       [CCode (cheader_filename = "gst/gst.h", type_cname = "GstURIHandlerInterface", type_id = "gst_uri_handler_get_type ()")]
+       public interface URIHandler : GLib.Object {
+               [CCode (array_length = false, array_null_terminated = true)]
+               public unowned string[] get_protocols ();
+               public abstract string get_uri ();
+               public Gst.URIType get_uri_type ();
+               public abstract bool set_uri (string uri) throws GLib.Error;
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct BufferPoolAcquireParams {
+               public Gst.Format format;
+               public int64 start;
+               public int64 stop;
+               public Gst.BufferPoolAcquireFlags flags;
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct ClockEntry {
+               public int refcount;
+               public weak Gst.Clock clock;
+               public Gst.ClockEntryType type;
+               public Gst.ClockTime time;
+               public Gst.ClockTime interval;
+               public Gst.ClockReturn status;
+               public weak Gst.ClockCallback func;
+               public void* user_data;
+               public weak GLib.DestroyNotify destroy_data;
+               public bool unscheduled;
+               public bool woken_up;
+       }
+       [CCode (cheader_filename = "gst/gst.h")]
+       [SimpleType]
+       public struct ClockID {
+       }
+       [CCode (cheader_filename = "gst/gst.h")]
+       [SimpleType]
+       public struct ClockTime : uint64 {
+       }
+       [CCode (cheader_filename = "gst/gst.h")]
+       [SimpleType]
+       public struct ClockTimeDiff : int64 {
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct DebugCategory {
+               public void free ();
+               public uint get_color ();
+               public unowned string get_description ();
+               public unowned string get_name ();
+               public Gst.DebugLevel get_threshold ();
+               public void reset_threshold ();
+               public void set_threshold (Gst.DebugLevel level);
+       }
+       [CCode (cheader_filename = "gst/gst.h")]
+       [SimpleType]
+       public struct ElementFactoryListType : uint64 {
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct FormatDefinition {
+               public Gst.Format value;
+               public weak string nick;
+               public weak string description;
+               public GLib.Quark quark;
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct MapInfo {
+               public weak Gst.Memory memory;
+               public Gst.MapFlags flags;
+               [CCode (array_length_cname = "size", array_length_type = "gsize")]
+               public weak uint8[] data;
+               public size_t size;
+               public size_t maxsize;
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak void*[] user_data;
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct Meta {
+               public Gst.MetaFlags flags;
+               public Gst.MetaInfo info;
+               public static bool api_type_has_tag (GLib.Type api, GLib.Quark tag);
+               public static GLib.Type api_type_register (string api, string tags);
+               public static Gst.MetaInfo get_info (string impl);
+               public static Gst.MetaInfo register (GLib.Type api, string impl, size_t size, Gst.MetaInitFunction init_func, Gst.MetaFreeFunction free_func, Gst.MetaTransformFunction transform_func);
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct MetaInfo {
+               public GLib.Type api;
+               public GLib.Type type;
+               public size_t size;
+               public weak Gst.MetaInitFunction init_func;
+               public weak Gst.MetaFreeFunction free_func;
+               public weak Gst.MetaTransformFunction transform_func;
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct MetaTransformCopy {
+               public bool region;
+               public size_t offset;
+               public size_t size;
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct PadProbeInfo {
+               public Gst.PadProbeType type;
+               public ulong id;
+               public void* data;
+               public uint64 offset;
+               public uint size;
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct ParamSpecFraction {
+               public weak GLib.ParamSpec parent_instance;
+               public int min_num;
+               public int min_den;
+               public int max_num;
+               public int max_den;
+               public int def_num;
+               public int def_den;
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct PluginDesc {
+               public int major_version;
+               public int minor_version;
+               public weak string name;
+               public weak string description;
+               public weak Gst.PluginInitFunc plugin_init;
+               public weak string version;
+               public weak string license;
+               public weak string source;
+               public weak string package;
+               public weak string origin;
+               public weak string release_datetime;
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct PollFD {
+               public int fd;
+               public void init ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct StaticCaps {
+               public weak Gst.Caps caps;
+               public weak global::string string;
+               public void cleanup ();
+               public Gst.Caps @get ();
+               public static GLib.Type get_type ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct StaticPadTemplate {
+               public weak string name_template;
+               public Gst.PadDirection direction;
+               public Gst.PadPresence presence;
+               public Gst.StaticCaps static_caps;
+               public Gst.PadTemplate @get ();
+               public Gst.Caps get_caps ();
+               public static GLib.Type get_type ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct TimedValue {
+               public Gst.ClockTime timestamp;
+               public double value;
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct TypeFind {
+               public void* data;
+               public static GLib.Type get_type ();
+               [CCode (array_length_pos = 1.1, array_length_type = "guint")]
+               public unowned uint8[] peek (int64 offset);
+               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);
+               public void suggest (uint probability, Gst.Caps caps);
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct ValueTable {
+               public GLib.Type type;
+               public weak Gst.ValueCompareFunc compare;
+               public weak Gst.ValueSerializeFunc serialize;
+               public weak Gst.ValueDeserializeFunc deserialize;
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ALLOCATOR_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum AllocatorFlags {
+               CUSTOM_ALLOC,
+               LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BIN_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum BinFlags {
+               [CCode (cname = "GST_BIN_FLAG_LAST")]
+               BIN_FLAG_LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_COPY_", has_type_id = false)]
+       [Flags]
+       public enum BufferCopyFlags {
+               NONE,
+               FLAGS,
+               TIMESTAMPS,
+               META,
+               MEMORY,
+               MERGE
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum BufferFlags {
+               LIVE,
+               DECODE_ONLY,
+               DISCONT,
+               RESYNC,
+               CORRUPTED,
+               MARKER,
+               HEADER,
+               GAP,
+               DROPPABLE,
+               DELTA_UNIT,
+               LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_POOL_ACQUIRE_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum BufferPoolAcquireFlags {
+               NONE,
+               KEY_UNIT,
+               DONTWAIT,
+               DISCONT,
+               LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFERING_", has_type_id = false)]
+       public enum BufferingMode {
+               STREAM,
+               DOWNLOAD,
+               TIMESHIFT,
+               LIVE
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUS_", has_type_id = false)]
+       [Flags]
+       public enum BusFlags {
+               FLUSHING,
+               FLAG_LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUS_", has_type_id = false)]
+       public enum BusSyncReply {
+               DROP,
+               PASS,
+               ASYNC
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CAPS_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum CapsFlags {
+               [CCode (cname = "GST_CAPS_FLAG_ANY")]
+               CAPS_FLAG_ANY
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CAPS_INTERSECT_", has_type_id = false)]
+       public enum CapsIntersectMode {
+               ZIG_ZAG,
+               FIRST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_ENTRY_", has_type_id = false)]
+       public enum ClockEntryType {
+               SINGLE,
+               PERIODIC
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum ClockFlags {
+               CAN_DO_SINGLE_SYNC,
+               CAN_DO_SINGLE_ASYNC,
+               CAN_DO_PERIODIC_SYNC,
+               CAN_DO_PERIODIC_ASYNC,
+               CAN_SET_RESOLUTION,
+               CAN_SET_MASTER,
+               LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_", has_type_id = false)]
+       public enum ClockReturn {
+               OK,
+               EARLY,
+               UNSCHEDULED,
+               BUSY,
+               BADTIME,
+               ERROR,
+               UNSUPPORTED,
+               DONE
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_TYPE_", has_type_id = false)]
+       public enum ClockType {
+               REALTIME,
+               MONOTONIC
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_DEBUG_", has_type_id = false)]
+       public enum DebugColorFlags {
+               FG_BLACK,
+               FG_RED,
+               FG_GREEN,
+               FG_YELLOW,
+               FG_BLUE,
+               FG_MAGENTA,
+               FG_CYAN,
+               FG_WHITE,
+               BG_BLACK,
+               BG_RED,
+               BG_GREEN,
+               BG_YELLOW,
+               BG_BLUE,
+               BG_MAGENTA,
+               BG_CYAN,
+               BG_WHITE,
+               BOLD,
+               UNDERLINE
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_DEBUG_GRAPH_SHOW_", has_type_id = false)]
+       [Flags]
+       public enum DebugGraphDetails {
+               MEDIA_TYPE,
+               CAPS_DETAILS,
+               NON_DEFAULT_PARAMS,
+               STATES,
+               ALL
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LEVEL_", has_type_id = false)]
+       public enum DebugLevel {
+               NONE,
+               ERROR,
+               WARNING,
+               FIXME,
+               INFO,
+               DEBUG,
+               LOG,
+               TRACE,
+               MEMDUMP,
+               COUNT
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ELEMENT_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum ElementFlags {
+               LOCKED_STATE,
+               SINK,
+               SOURCE,
+               PROVIDE_CLOCK,
+               REQUIRE_CLOCK,
+               INDEXABLE,
+               LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_EVENT_", has_type_id = false)]
+       [Flags]
+       public enum EventType {
+               UNKNOWN,
+               FLUSH_START,
+               FLUSH_STOP,
+               STREAM_START,
+               CAPS,
+               STREAM_CONFIG,
+               SEGMENT,
+               TAG,
+               BUFFERSIZE,
+               SINK_MESSAGE,
+               EOS,
+               TOC,
+               SEGMENT_DONE,
+               GAP,
+               QOS,
+               SEEK,
+               NAVIGATION,
+               LATENCY,
+               STEP,
+               RECONFIGURE,
+               TOC_SELECT,
+               CUSTOM_UPSTREAM,
+               CUSTOM_DOWNSTREAM,
+               CUSTOM_DOWNSTREAM_OOB,
+               CUSTOM_DOWNSTREAM_STICKY,
+               CUSTOM_BOTH,
+               CUSTOM_BOTH_OOB;
+               public static Gst.EventTypeFlags get_flags (Gst.EventType type);
+               public static unowned string get_name (Gst.EventType type);
+               public static GLib.Quark to_quark (Gst.EventType type);
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_EVENT_TYPE_", has_type_id = false)]
+       [Flags]
+       public enum EventTypeFlags {
+               UPSTREAM,
+               DOWNSTREAM,
+               SERIALIZED,
+               STICKY,
+               STICKY_MULTI
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_FLOW_")]
+       public enum FlowReturn {
+               CUSTOM_ERROR_2,
+               CUSTOM_SUCCESS_2,
+               CUSTOM_SUCCESS_1,
+               CUSTOM_SUCCESS,
+               OK,
+               NOT_LINKED,
+               FLUSHING,
+               EOS,
+               NOT_NEGOTIATED,
+               ERROR,
+               NOT_SUPPORTED,
+               CUSTOM_ERROR,
+               CUSTOM_ERROR_1;
+               [CCode (cname = "gst_flow_get_name")]
+               public unowned string get_name ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_FORMAT_", has_type_id = false)]
+       public enum Format {
+               UNDEFINED,
+               DEFAULT,
+               BYTES,
+               TIME,
+               BUFFERS,
+               PERCENT;
+               [CCode (cname = "gst_formats_contains")]
+               public static bool contains ([CCode (array_length = false, array_null_terminated = true)] Gst.Format[] formats, Gst.Format format);
+               public static Gst.Format get_by_nick (string nick);
+               public static Gst.FormatDefinition get_details (Gst.Format format);
+               public static unowned string get_name (Gst.Format format);
+               public static Gst.Iterator iterate_definitions ();
+               public static Gst.Format register (string nick, string description);
+               public static GLib.Quark to_quark (Gst.Format format);
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ITERATOR_ITEM_", has_type_id = false)]
+       public enum IteratorItem {
+               SKIP,
+               PASS,
+               END
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ITERATOR_", has_type_id = false)]
+       public enum IteratorResult {
+               DONE,
+               OK,
+               RESYNC,
+               ERROR
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LOCK_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum LockFlags {
+               READ,
+               WRITE,
+               EXCLUSIVE,
+               LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MAP_", has_type_id = false)]
+       [Flags]
+       public enum MapFlags {
+               READ,
+               WRITE,
+               FLAG_LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MEMORY_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum MemoryFlags {
+               READONLY,
+               NO_SHARE,
+               ZERO_PREFIXED,
+               ZERO_PADDED,
+               LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MESSAGE_", has_type_id = false)]
+       [Flags]
+       public enum MessageType {
+               UNKNOWN,
+               EOS,
+               ERROR,
+               WARNING,
+               INFO,
+               TAG,
+               BUFFERING,
+               STATE_CHANGED,
+               STATE_DIRTY,
+               STEP_DONE,
+               CLOCK_PROVIDE,
+               CLOCK_LOST,
+               NEW_CLOCK,
+               STRUCTURE_CHANGE,
+               STREAM_STATUS,
+               APPLICATION,
+               ELEMENT,
+               SEGMENT_START,
+               SEGMENT_DONE,
+               DURATION,
+               LATENCY,
+               ASYNC_START,
+               ASYNC_DONE,
+               REQUEST_STATE,
+               STEP_START,
+               QOS,
+               PROGRESS,
+               TOC,
+               RESET_TIME,
+               STREAM_START,
+               ANY;
+               public static unowned string get_name (Gst.MessageType type);
+               public static GLib.Quark to_quark (Gst.MessageType type);
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_META_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum MetaFlags {
+               NONE,
+               READONLY,
+               POOLED,
+               LOCKED,
+               LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MINI_OBJECT_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum MiniObjectFlags {
+               LOCKABLE,
+               LOCK_READONLY,
+               LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_OBJECT_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum ObjectFlags {
+               [CCode (cname = "GST_OBJECT_FLAG_LAST")]
+               OBJECT_FLAG_LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_", has_type_id = false)]
+       public enum PadDirection {
+               UNKNOWN,
+               SRC,
+               SINK
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum PadFlags {
+               BLOCKED,
+               FLUSHING,
+               EOS,
+               BLOCKING,
+               NEED_PARENT,
+               NEED_RECONFIGURE,
+               PENDING_EVENTS,
+               FIXED_CAPS,
+               PROXY_CAPS,
+               PROXY_ALLOCATION,
+               PROXY_SCHEDULING,
+               LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_LINK_CHECK_", has_type_id = false)]
+       [Flags]
+       public enum PadLinkCheck {
+               NOTHING,
+               HIERARCHY,
+               TEMPLATE_CAPS,
+               CAPS,
+               DEFAULT
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_LINK_", has_type_id = false)]
+       public enum PadLinkReturn {
+               OK,
+               WRONG_HIERARCHY,
+               WAS_LINKED,
+               WRONG_DIRECTION,
+               NOFORMAT,
+               NOSCHED,
+               REFUSED
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_MODE_", has_type_id = false)]
+       public enum PadMode {
+               NONE,
+               PUSH,
+               PULL
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_", has_type_id = false)]
+       public enum PadPresence {
+               ALWAYS,
+               SOMETIMES,
+               REQUEST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_PROBE_", has_type_id = false)]
+       public enum PadProbeReturn {
+               DROP,
+               OK,
+               REMOVE,
+               PASS
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_PROBE_TYPE_", has_type_id = false)]
+       [Flags]
+       public enum PadProbeType {
+               INVALID,
+               IDLE,
+               BLOCK,
+               BUFFER,
+               BUFFER_LIST,
+               EVENT_DOWNSTREAM,
+               EVENT_UPSTREAM,
+               EVENT_FLUSH,
+               QUERY_DOWNSTREAM,
+               QUERY_UPSTREAM,
+               PUSH,
+               PULL
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_TEMPLATE_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum PadTemplateFlags {
+               [CCode (cname = "GST_PAD_TEMPLATE_FLAG_LAST")]
+               PAD_TEMPLATE_FLAG_LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PARSE_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum ParseFlags {
+               NONE,
+               FATAL_ERRORS
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PIPELINE_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum PipelineFlags {
+               FIXED_CLOCK,
+               LAST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PLUGIN_DEPENDENCY_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum PluginDependencyFlags {
+               NONE,
+               RECURSE,
+               PATHS_ARE_DEFAULT_ONLY,
+               FILE_NAME_IS_SUFFIX
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PLUGIN_ERROR_", has_type_id = false)]
+       public enum PluginError {
+               MODULE,
+               DEPENDENCIES,
+               NAME_MISMATCH
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PLUGIN_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum PluginFlags {
+               CACHED,
+               BLACKLISTED
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PROGRESS_TYPE_", has_type_id = false)]
+       public enum ProgressType {
+               START,
+               CONTINUE,
+               COMPLETE,
+               CANCELED,
+               ERROR
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_QOS_TYPE_", has_type_id = false)]
+       public enum QOSType {
+               OVERFLOW,
+               UNDERFLOW,
+               THROTTLE
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_QUERY_", has_type_id = false)]
+       [Flags]
+       public enum QueryType {
+               UNKNOWN,
+               POSITION,
+               DURATION,
+               LATENCY,
+               JITTER,
+               RATE,
+               SEEKING,
+               SEGMENT,
+               CONVERT,
+               FORMATS,
+               BUFFERING,
+               CUSTOM,
+               URI,
+               ALLOCATION,
+               SCHEDULING,
+               ACCEPT_CAPS,
+               CAPS,
+               DRAIN;
+               public static Gst.QueryTypeFlags get_flags (Gst.QueryType type);
+               public static unowned string get_name (Gst.QueryType type);
+               public static GLib.Quark to_quark (Gst.QueryType type);
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_QUERY_TYPE_", has_type_id = false)]
+       [Flags]
+       public enum QueryTypeFlags {
+               UPSTREAM,
+               DOWNSTREAM,
+               SERIALIZED
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_RANK_", has_type_id = false)]
+       public enum Rank {
+               NONE,
+               MARGINAL,
+               SECONDARY,
+               PRIMARY
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SCHEDULING_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum SchedulingFlags {
+               SEEKABLE,
+               SEQUENTIAL
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEARCH_MODE_", has_type_id = false)]
+       public enum SearchMode {
+               EXACT,
+               BEFORE,
+               AFTER
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEEK_FLAG_", has_type_id = false)]
+       [Flags]
+       public enum SeekFlags {
+               NONE,
+               FLUSH,
+               ACCURATE,
+               KEY_UNIT,
+               SEGMENT,
+               SKIP,
+               SNAP_BEFORE,
+               SNAP_AFTER,
+               SNAP_NEAREST
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEEK_TYPE_", has_type_id = false)]
+       public enum SeekType {
+               NONE,
+               SET,
+               END
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEGMENT_FLAG_", has_type_id = false)]
+       public enum SegmentFlags {
+               NONE,
+               RESET,
+               SKIP,
+               SEGMENT
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_", has_type_id = false)]
+       public enum State {
+               VOID_PENDING,
+               NULL,
+               READY,
+               PAUSED,
+               PLAYING
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_CHANGE_", has_type_id = false)]
+       [Flags]
+       public enum StateChange {
+               NULL_TO_READY,
+               READY_TO_PAUSED,
+               PAUSED_TO_PLAYING,
+               PLAYING_TO_PAUSED,
+               PAUSED_TO_READY,
+               READY_TO_NULL
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_CHANGE_", has_type_id = false)]
+       public enum StateChangeReturn {
+               FAILURE,
+               SUCCESS,
+               ASYNC,
+               NO_PREROLL
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_CONFIG_FLAG_", has_type_id = false)]
+       public enum StreamConfigFlags {
+               [CCode (cname = "GST_STREAM_CONFIG_FLAG_NONE")]
+               STREAM_CONFIG_FLAG_NONE
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_STATUS_TYPE_", has_type_id = false)]
+       public enum StreamStatusType {
+               CREATE,
+               ENTER,
+               LEAVE,
+               DESTROY,
+               START,
+               PAUSE,
+               STOP
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STRUCTURE_CHANGE_TYPE_PAD_", has_type_id = false)]
+       public enum StructureChangeType {
+               LINK,
+               UNLINK
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TAG_FLAG_", has_type_id = false)]
+       public enum TagFlag {
+               UNDEFINED,
+               META,
+               ENCODED,
+               DECODED,
+               COUNT
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TAG_MERGE_", has_type_id = false)]
+       public enum TagMergeMode {
+               UNDEFINED,
+               REPLACE_ALL,
+               REPLACE,
+               APPEND,
+               PREPEND,
+               KEEP,
+               KEEP_ALL,
+               COUNT
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TAG_SCOPE_", has_type_id = false)]
+       public enum TagScope {
+               STREAM,
+               GLOBAL
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TASK_", has_type_id = false)]
+       public enum TaskState {
+               STARTED,
+               STOPPED,
+               PAUSED
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TOC_ENTRY_TYPE_", has_type_id = false)]
+       public enum TocEntryType {
+               ANGLE,
+               VERSION,
+               EDITION,
+               INVALID,
+               TITLE,
+               TRACK,
+               CHAPTER;
+               public static unowned string get_nick (Gst.TocEntryType type);
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TOC_SCOPE_", has_type_id = false)]
+       public enum TocScope {
+               GLOBAL,
+               CURRENT
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TYPE_FIND_", has_type_id = false)]
+       public enum TypeFindProbability {
+               NONE,
+               MINIMUM,
+               POSSIBLE,
+               LIKELY,
+               NEARLY_CERTAIN,
+               MAXIMUM
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_URI_", has_type_id = false)]
+       public enum URIType {
+               UNKNOWN,
+               SINK,
+               SRC
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CORE_ERROR_")]
+       public errordomain CoreError {
+               FAILED,
+               TOO_LAZY,
+               NOT_IMPLEMENTED,
+               STATE_CHANGE,
+               PAD,
+               THREAD,
+               NEGOTIATION,
+               EVENT,
+               SEEK,
+               CAPS,
+               TAG,
+               MISSING_PLUGIN,
+               CLOCK,
+               DISABLED,
+               NUM_ERRORS;
+               public static GLib.Quark quark ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LIBRARY_ERROR_")]
+       public errordomain LibraryError {
+               FAILED,
+               TOO_LAZY,
+               INIT,
+               SHUTDOWN,
+               SETTINGS,
+               ENCODE,
+               NUM_ERRORS;
+               public static GLib.Quark quark ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PARSE_ERROR_")]
+       public errordomain ParseError {
+               SYNTAX,
+               NO_SUCH_ELEMENT,
+               NO_SUCH_PROPERTY,
+               LINK,
+               COULD_NOT_SET_PROPERTY,
+               EMPTY_BIN,
+               EMPTY;
+               public static GLib.Quark quark ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_RESOURCE_ERROR_")]
+       public errordomain ResourceError {
+               FAILED,
+               TOO_LAZY,
+               NOT_FOUND,
+               BUSY,
+               OPEN_READ,
+               OPEN_WRITE,
+               OPEN_READ_WRITE,
+               CLOSE,
+               READ,
+               WRITE,
+               SEEK,
+               SYNC,
+               SETTINGS,
+               NO_SPACE_LEFT,
+               NUM_ERRORS;
+               public static GLib.Quark quark ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_ERROR_")]
+       public errordomain StreamError {
+               FAILED,
+               TOO_LAZY,
+               NOT_IMPLEMENTED,
+               TYPE_NOT_FOUND,
+               WRONG_TYPE,
+               CODEC_NOT_FOUND,
+               DECODE,
+               ENCODE,
+               DEMUX,
+               MUX,
+               FORMAT,
+               DECRYPT,
+               DECRYPT_NOKEY,
+               NUM_ERRORS;
+               public static GLib.Quark quark ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_URI_ERROR_")]
+       public errordomain URIError {
+               UNSUPPORTED_PROTOCOL,
+               BAD_URI,
+               BAD_STATE,
+               BAD_REFERENCE
+       }
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
+       public delegate bool BufferForeachMetaFunc (Gst.Buffer buffer, Gst.Meta meta);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
+       public delegate bool BufferListFunc (Gst.Buffer buffer, uint idx);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
+       public delegate bool BusFunc (Gst.Bus bus, Gst.Message message);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
+       public delegate Gst.BusSyncReply BusSyncHandler (Gst.Bus bus, Gst.Message message);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 3.9)]
+       public delegate bool ClockCallback (Gst.Clock clock, Gst.ClockTime time, Gst.ClockID id);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate void ControlBindingConvert (Gst.ControlBinding binding, double src_value, GLib.Value dest_value);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate bool ControlSourceGetValue (Gst.ControlSource self, Gst.ClockTime timestamp, double value);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate bool ControlSourceGetValueArray (Gst.ControlSource self, Gst.ClockTime timestamp, Gst.ClockTime interval, uint n_values, double values);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate void DebugFuncPtr ();
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate void IteratorCopyFunction (Gst.Iterator it, Gst.Iterator copy);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
+       public delegate bool IteratorFoldFunction (GLib.Value item, GLib.Value ret);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
+       public delegate void IteratorForeachFunction (GLib.Value item);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate void IteratorFreeFunction (Gst.Iterator it);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate Gst.IteratorItem IteratorItemFunction (Gst.Iterator it, GLib.Value item);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate Gst.IteratorResult IteratorNextFunction (Gst.Iterator it, GLib.Value result);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate void IteratorResyncFunction (Gst.Iterator it);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 7.9)]
+       public delegate void LogFunction (Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object object, Gst.DebugMessage message);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate Gst.Memory MemoryCopyFunction (Gst.Memory mem, ssize_t offset, ssize_t size);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate bool MemoryIsSpanFunction (Gst.Memory mem1, Gst.Memory mem2, size_t offset);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate Gst.Memory MemoryShareFunction (Gst.Memory mem, ssize_t offset, ssize_t size);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate void MemoryUnmapFunction (Gst.Memory mem);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate void MetaFreeFunction (Gst.Meta meta, Gst.Buffer buffer);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate bool MetaInitFunction (Gst.Meta meta, void* @params, Gst.Buffer buffer);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate bool MetaTransformFunction (Gst.Buffer transbuf, Gst.Meta meta, Gst.Buffer buffer, GLib.Quark type, void* data);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate bool MiniObjectDisposeFunction (Gst.MiniObject obj);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate void MiniObjectFreeFunction (Gst.MiniObject obj);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 0.9)]
+       public delegate void MiniObjectNotify (Gst.MiniObject obj);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate bool PadActivateFunction (Gst.Pad pad, Gst.Object parent);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate bool PadActivateModeFunction (Gst.Pad pad, Gst.Object parent, Gst.PadMode mode, bool active);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate Gst.FlowReturn PadChainFunction (Gst.Pad pad, Gst.Object parent, Gst.Buffer buffer);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate Gst.FlowReturn PadChainListFunction (Gst.Pad pad, Gst.Object parent, Gst.BufferList list);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate bool PadEventFunction (Gst.Pad pad, Gst.Object parent, Gst.Event event);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
+       public delegate bool PadForwardFunction (Gst.Pad pad);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate Gst.FlowReturn PadGetRangeFunction (Gst.Pad pad, Gst.Object parent, uint64 offset, uint length, Gst.Buffer buffer);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate Gst.Iterator PadIterIntLinkFunction (Gst.Pad pad, Gst.Object parent);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate Gst.PadLinkReturn PadLinkFunction (Gst.Pad pad, Gst.Pad peer);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
+       public delegate Gst.PadProbeReturn PadProbeCallback (Gst.Pad pad, Gst.PadProbeInfo info);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate bool PadQueryFunction (Gst.Pad pad, Gst.Object parent, Gst.Query query);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
+       public delegate bool PadStickyEventsForeachFunction (Gst.Pad pad, Gst.Event event);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate void PadUnlinkFunction (Gst.Pad pad);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
+       public delegate bool PluginFeatureFilter (Gst.PluginFeature feature);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
+       public delegate bool PluginFilter (Gst.Plugin plugin);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
+       public delegate bool PluginInitFullFunc (Gst.Plugin plugin);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate bool PluginInitFunc (Gst.Plugin plugin);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
+       public delegate bool StructureForeachFunc (GLib.Quark field_id, GLib.Value value);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
+       public delegate bool StructureMapFunc (GLib.Quark field_id, GLib.Value value);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
+       public delegate void TagForeachFunc (Gst.TagList list, string tag);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate void TagMergeFunc (GLib.Value dest, GLib.Value src);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 0.9)]
+       public delegate void TaskFunction ();
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 0.9)]
+       public delegate void TaskPoolFunction ();
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
+       public delegate void TaskThreadFunc (Gst.Task task, GLib.Thread thread);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)]
+       public delegate void TypeFindFunction (Gst.TypeFind find);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate int ValueCompareFunc (GLib.Value value1, GLib.Value value2);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate bool ValueDeserializeFunc (GLib.Value dest, string s);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate string ValueSerializeFunc (GLib.Value value1);
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_ALLOCATOR_SYSMEM")]
+       public const string ALLOCATOR_SYSMEM;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_BUFFER_COPY_ALL")]
+       public const Gst.BufferCopyFlags BUFFER_COPY_ALL;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_BUFFER_COPY_METADATA")]
+       public const int BUFFER_COPY_METADATA;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_BUFFER_OFFSET_NONE")]
+       public const uint64 BUFFER_OFFSET_NONE;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_CAN_INLINE")]
+       public const int CAN_INLINE;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_CLOCK_TIME_NONE")]
+       public const Gst.ClockTime CLOCK_TIME_NONE;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_AUTHOR")]
+       public const string ELEMENT_METADATA_AUTHOR;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_DESCRIPTION")]
+       public const string ELEMENT_METADATA_DESCRIPTION;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_DOC_URI")]
+       public const string ELEMENT_METADATA_DOC_URI;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_ICON_NAME")]
+       public const string ELEMENT_METADATA_ICON_NAME;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_KLASS")]
+       public const string ELEMENT_METADATA_KLASS;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_LONGNAME")]
+       public const string ELEMENT_METADATA_LONGNAME;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_ERROR_SYSTEM")]
+       public const string ERROR_SYSTEM;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_EVENT_NUM_SHIFT")]
+       public const int EVENT_NUM_SHIFT;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_EVENT_TYPE_BOTH")]
+       public const int EVENT_TYPE_BOTH;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_FORMAT_PERCENT_MAX")]
+       public const int64 FORMAT_PERCENT_MAX;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_FORMAT_PERCENT_SCALE")]
+       public const int64 FORMAT_PERCENT_SCALE;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_FOURCC_FORMAT")]
+       public const string FOURCC_FORMAT;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_LICENSE_UNKNOWN")]
+       public const string LICENSE_UNKNOWN;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_LOCK_FLAG_READWRITE")]
+       public const int LOCK_FLAG_READWRITE;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_MAP_READWRITE")]
+       public const int MAP_READWRITE;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_MSECOND")]
+       public const int MSECOND;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_NSECOND")]
+       public const int NSECOND;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_ALL_BOTH")]
+       public const int PAD_PROBE_TYPE_ALL_BOTH;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_BLOCKING")]
+       public const int PAD_PROBE_TYPE_BLOCKING;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM")]
+       public const int PAD_PROBE_TYPE_BLOCK_DOWNSTREAM;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_BLOCK_UPSTREAM")]
+       public const int PAD_PROBE_TYPE_BLOCK_UPSTREAM;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_DATA_BOTH")]
+       public const int PAD_PROBE_TYPE_DATA_BOTH;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_DATA_DOWNSTREAM")]
+       public const int PAD_PROBE_TYPE_DATA_DOWNSTREAM;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_EVENT_BOTH")]
+       public const int PAD_PROBE_TYPE_EVENT_BOTH;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_QUERY_BOTH")]
+       public const int PAD_PROBE_TYPE_QUERY_BOTH;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_SCHEDULING")]
+       public const int PAD_PROBE_TYPE_SCHEDULING;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_CONTROLLABLE")]
+       public const int PARAM_CONTROLLABLE;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_PAUSED")]
+       public const int PARAM_MUTABLE_PAUSED;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_PLAYING")]
+       public const int PARAM_MUTABLE_PLAYING;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_READY")]
+       public const int PARAM_MUTABLE_READY;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_USER_SHIFT")]
+       public const int PARAM_USER_SHIFT;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_QUERY_NUM_SHIFT")]
+       public const int QUERY_NUM_SHIFT;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_QUERY_TYPE_BOTH")]
+       public const int QUERY_TYPE_BOTH;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_SECOND")]
+       public const int SECOND;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_TIME_FORMAT")]
+       public const string TIME_FORMAT;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_USECOND")]
+       public const int USECOND;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_EQUAL")]
+       public const int VALUE_EQUAL;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_GREATER_THAN")]
+       public const int VALUE_GREATER_THAN;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_LESS_THAN")]
+       public const int VALUE_LESS_THAN;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_UNORDERED")]
+       public const int VALUE_UNORDERED;
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static bool child_proxy_lookup (GLib.Object object, string name, out GLib.Object target, out unowned GLib.ParamSpec pspec);
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static void deinit ();
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static string error_get_message (GLib.Quark domain, int code);
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static string filename_to_uri (string filename) throws GLib.Error;
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static GLib.Quark flow_to_quark (Gst.FlowReturn ret);
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static void init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv);
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static bool init_check ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref string[]? argv) throws GLib.Error;
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static GLib.OptionGroup init_get_option_group ();
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static bool is_initialized ();
+       [CCode (cheader_filename = "gst/gst.h")]
+       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);
+       [CCode (cheader_filename = "gst/gst.h", cname = "gst_parse_bin_from_description_full")]
+       public static Gst.Bin parse_bin_from_description (string bin_description, bool ghost_unlinked_pads, Gst.ParseContext? context = null, Gst.ParseFlags flags = Gst.ParseFlags.NONE) throws GLib.Error;
+       [CCode (cheader_filename = "gst/gst.h", cname = "gst_parse_launch_full")]
+       public static Gst.Element parse_launch (string pipeline_description, Gst.ParseContext? context = null, Gst.ParseFlags flags = Gst.ParseFlags.NONE) throws GLib.Error;
+       [CCode (cheader_filename = "gst/gst.h", cname = "gst_parse_launchv_full")]
+       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;
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static unowned string preset_get_app_dir ();
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static bool preset_set_app_dir (string app_dir);
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static bool segtrap_is_enabled ();
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static void segtrap_set_enabled (bool enabled);
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static bool update_registry ();
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static void version (out uint major, out uint minor, out uint micro, out uint nano);
+       [CCode (cheader_filename = "gst/gst.h")]
+       public static string version_string ();
+}
diff --git a/vapi/gstreamer-base-1.0.deps b/vapi/gstreamer-base-1.0.deps
new file mode 100644 (file)
index 0000000..26a0edb
--- /dev/null
@@ -0,0 +1 @@
+gstreamer-1.0
diff --git a/vapi/gstreamer-base-1.0.vapi b/vapi/gstreamer-base-1.0.vapi
new file mode 100644 (file)
index 0000000..99b735d
--- /dev/null
@@ -0,0 +1,715 @@
+/* gstreamer-base-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gst", gir_namespace = "GstBase", gir_version = "1.0", lower_case_cprefix = "gst_")]
+namespace Gst {
+       namespace Base {
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstAdapter", type_id = "gst_adapter_get_type ()")]
+               [GIR (name = "Adapter")]
+               public class Adapter : GLib.Object {
+                       [CCode (cname = "gst_adapter_new", has_construct_function = false)]
+                       public Adapter ();
+                       [CCode (cname = "gst_adapter_available")]
+                       public size_t available ();
+                       [CCode (cname = "gst_adapter_available_fast")]
+                       public size_t available_fast ();
+                       [CCode (cname = "gst_adapter_clear")]
+                       public void clear ();
+                       [CCode (cname = "gst_adapter_copy")]
+                       public void copy ([CCode (array_length_cname = "size", array_length_pos = 2.1, array_length_type = "gsize")] out unowned uint8[] dest, size_t offset);
+                       [CCode (cname = "gst_adapter_flush")]
+                       public void flush (size_t flush);
+                       [CCode (array_length_pos = 0.1, array_length_type = "gsize", cname = "gst_adapter_map")]
+                       public unowned uint8[] map ();
+                       [CCode (cname = "gst_adapter_masked_scan_uint32")]
+                       public size_t masked_scan_uint32 (uint32 mask, uint32 pattern, size_t offset, size_t size);
+                       [CCode (cname = "gst_adapter_masked_scan_uint32_peek")]
+                       public size_t masked_scan_uint32_peek (uint32 mask, uint32 pattern, size_t offset, size_t size, uint32 value);
+                       [CCode (cname = "gst_adapter_prev_dts")]
+                       public Gst.ClockTime prev_dts (out uint64 distance);
+                       [CCode (cname = "gst_adapter_prev_pts")]
+                       public Gst.ClockTime prev_pts (out uint64 distance);
+                       [CCode (cname = "gst_adapter_push")]
+                       public void push (owned Gst.Buffer buf);
+                       [CCode (array_length_pos = 0.1, array_length_type = "gsize", cname = "gst_adapter_take")]
+                       public uint8[] take ();
+                       [CCode (cname = "gst_adapter_take_buffer")]
+                       public Gst.Buffer take_buffer (size_t nbytes);
+                       [CCode (cname = "gst_adapter_take_list")]
+                       public GLib.List<Gst.Buffer> take_list (size_t nbytes);
+                       [CCode (cname = "gst_adapter_unmap")]
+                       public void unmap ();
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstBitReader")]
+               [Compact]
+               [GIR (name = "BitReader")]
+               public class BitReader {
+                       public uint bit;
+                       public uint byte;
+                       [CCode (array_length = false, array_null_terminated = true)]
+                       public weak uint8[] data;
+                       public BitReader ([CCode (array_length_type = "guint")] uint8[] data);
+                       [CCode (cname = "gst_bit_reader_free")]
+                       public void free ();
+                       [CCode (cname = "gst_bit_reader_get_bits_uint16")]
+                       public bool get_bits_uint16 (out uint16 val, uint nbits);
+                       [CCode (cname = "gst_bit_reader_get_bits_uint32")]
+                       public bool get_bits_uint32 (out uint32 val, uint nbits);
+                       [CCode (cname = "gst_bit_reader_get_bits_uint64")]
+                       public bool get_bits_uint64 (out uint64 val, uint nbits);
+                       [CCode (cname = "gst_bit_reader_get_bits_uint8")]
+                       public bool get_bits_uint8 (out uint8 val, uint nbits);
+                       [CCode (cname = "gst_bit_reader_get_pos")]
+                       public uint get_pos ();
+                       [CCode (cname = "gst_bit_reader_get_remaining")]
+                       public uint get_remaining ();
+                       [CCode (cname = "gst_bit_reader_get_size")]
+                       public uint get_size ();
+                       [CCode (cname = "gst_bit_reader_init")]
+                       public void init ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "guint")] uint8[] data);
+                       [CCode (cname = "gst_bit_reader_peek_bits_uint16")]
+                       public bool peek_bits_uint16 (out uint16 val, uint nbits);
+                       [CCode (cname = "gst_bit_reader_peek_bits_uint32")]
+                       public bool peek_bits_uint32 (out uint32 val, uint nbits);
+                       [CCode (cname = "gst_bit_reader_peek_bits_uint64")]
+                       public bool peek_bits_uint64 (out uint64 val, uint nbits);
+                       [CCode (cname = "gst_bit_reader_peek_bits_uint8")]
+                       public bool peek_bits_uint8 (out uint8 val, uint nbits);
+                       [CCode (cname = "gst_bit_reader_set_pos")]
+                       public bool set_pos (uint pos);
+                       [CCode (cname = "gst_bit_reader_skip")]
+                       public bool skip (uint nbits);
+                       [CCode (cname = "gst_bit_reader_skip_to_byte")]
+                       public bool skip_to_byte ();
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstBitReader")]
+               [Compact]
+               [GIR (name = "ByteReader")]
+               public class ByteReader {
+                       public uint byte;
+                       [CCode (array_length = false, array_null_terminated = true)]
+                       public weak uint8[] data;
+                       public ByteReader ([CCode (array_length_type = "guint")] uint8[] data);
+                       [CCode (cname = "gst_byte_reader_dup_data")]
+                       public bool dup_data ([CCode (array_length_cname = "size", array_length_pos = 0.5, array_length_type = "guint")] out uint8[] val);
+                       [CCode (cname = "gst_byte_reader_dup_string_utf16")]
+                       public bool dup_string_utf16 ([CCode (array_length = false, array_null_terminated = true)] out uint16[] str);
+                       [CCode (cname = "gst_byte_reader_dup_string_utf32")]
+                       public bool dup_string_utf32 ([CCode (array_length = false, array_null_terminated = true)] out uint32[] str);
+                       [CCode (cname = "gst_byte_reader_dup_string_utf8")]
+                       public bool dup_string_utf8 ([CCode (array_length = false, array_null_terminated = true)] out string[] str);
+                       [CCode (cname = "gst_byte_reader_free")]
+                       public void free ();
+                       [CCode (cname = "gst_byte_reader_get_data")]
+                       public bool get_data ([CCode (array_length_cname = "size", array_length_pos = 0.5, array_length_type = "guint")] out unowned uint8[] val);
+                       [CCode (cname = "gst_byte_reader_get_float32_be")]
+                       public bool get_float32_be (out float val);
+                       [CCode (cname = "gst_byte_reader_get_float32_le")]
+                       public bool get_float32_le (out float val);
+                       [CCode (cname = "gst_byte_reader_get_float64_be")]
+                       public bool get_float64_be (out double val);
+                       [CCode (cname = "gst_byte_reader_get_float64_le")]
+                       public bool get_float64_le (out double val);
+                       [CCode (cname = "gst_byte_reader_get_int16_be")]
+                       public bool get_int16_be (out int16 val);
+                       [CCode (cname = "gst_byte_reader_get_int16_le")]
+                       public bool get_int16_le (out int16 val);
+                       [CCode (cname = "gst_byte_reader_get_int24_be")]
+                       public bool get_int24_be (out int32 val);
+                       [CCode (cname = "gst_byte_reader_get_int24_le")]
+                       public bool get_int24_le (out int32 val);
+                       [CCode (cname = "gst_byte_reader_get_int32_be")]
+                       public bool get_int32_be (out int32 val);
+                       [CCode (cname = "gst_byte_reader_get_int32_le")]
+                       public bool get_int32_le (out int32 val);
+                       [CCode (cname = "gst_byte_reader_get_int64_be")]
+                       public bool get_int64_be (out int64 val);
+                       [CCode (cname = "gst_byte_reader_get_int64_le")]
+                       public bool get_int64_le (out int64 val);
+                       [CCode (cname = "gst_byte_reader_get_int8")]
+                       public bool get_int8 (out int8 val);
+                       [CCode (cname = "gst_byte_reader_get_pos")]
+                       public uint get_pos ();
+                       [CCode (cname = "gst_byte_reader_get_remaining")]
+                       public uint get_remaining ();
+                       [CCode (cname = "gst_byte_reader_get_size")]
+                       public uint get_size ();
+                       [CCode (cname = "gst_byte_reader_get_string_utf8")]
+                       public bool get_string_utf8 ([CCode (array_length = false, array_null_terminated = true)] out unowned string[] str);
+                       [CCode (cname = "gst_byte_reader_get_uint16_be")]
+                       public bool get_uint16_be (out uint16 val);
+                       [CCode (cname = "gst_byte_reader_get_uint16_le")]
+                       public bool get_uint16_le (out uint16 val);
+                       [CCode (cname = "gst_byte_reader_get_uint24_be")]
+                       public bool get_uint24_be (out uint32 val);
+                       [CCode (cname = "gst_byte_reader_get_uint24_le")]
+                       public bool get_uint24_le (out uint32 val);
+                       [CCode (cname = "gst_byte_reader_get_uint32_be")]
+                       public bool get_uint32_be (out uint32 val);
+                       [CCode (cname = "gst_byte_reader_get_uint32_le")]
+                       public bool get_uint32_le (out uint32 val);
+                       [CCode (cname = "gst_byte_reader_get_uint64_be")]
+                       public bool get_uint64_be (out uint64 val);
+                       [CCode (cname = "gst_byte_reader_get_uint64_le")]
+                       public bool get_uint64_le (out uint64 val);
+                       [CCode (cname = "gst_byte_reader_get_uint8")]
+                       public bool get_uint8 (out uint8 val);
+                       [CCode (cname = "gst_byte_reader_init")]
+                       public void init ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "guint")] uint8[] data);
+                       [CCode (cname = "gst_byte_reader_masked_scan_uint32")]
+                       public uint masked_scan_uint32 (uint32 mask, uint32 pattern, uint offset, uint size);
+                       [CCode (cname = "gst_byte_reader_peek_data")]
+                       public bool peek_data ([CCode (array_length_cname = "size", array_length_pos = 0.5, array_length_type = "guint")] out unowned uint8[] val);
+                       [CCode (cname = "gst_byte_reader_peek_float32_be")]
+                       public bool peek_float32_be (out float val);
+                       [CCode (cname = "gst_byte_reader_peek_float32_le")]
+                       public bool peek_float32_le (out float val);
+                       [CCode (cname = "gst_byte_reader_peek_float64_be")]
+                       public bool peek_float64_be (out double val);
+                       [CCode (cname = "gst_byte_reader_peek_float64_le")]
+                       public bool peek_float64_le (out double val);
+                       [CCode (cname = "gst_byte_reader_peek_int16_be")]
+                       public bool peek_int16_be (out int16 val);
+                       [CCode (cname = "gst_byte_reader_peek_int16_le")]
+                       public bool peek_int16_le (out int16 val);
+                       [CCode (cname = "gst_byte_reader_peek_int24_be")]
+                       public bool peek_int24_be (out int32 val);
+                       [CCode (cname = "gst_byte_reader_peek_int24_le")]
+                       public bool peek_int24_le (out int32 val);
+                       [CCode (cname = "gst_byte_reader_peek_int32_be")]
+                       public bool peek_int32_be (out int32 val);
+                       [CCode (cname = "gst_byte_reader_peek_int32_le")]
+                       public bool peek_int32_le (out int32 val);
+                       [CCode (cname = "gst_byte_reader_peek_int64_be")]
+                       public bool peek_int64_be (out int64 val);
+                       [CCode (cname = "gst_byte_reader_peek_int64_le")]
+                       public bool peek_int64_le (out int64 val);
+                       [CCode (cname = "gst_byte_reader_peek_int8")]
+                       public bool peek_int8 (out int8 val);
+                       [CCode (cname = "gst_byte_reader_peek_string_utf8")]
+                       public bool peek_string_utf8 ([CCode (array_length = false, array_null_terminated = true)] out unowned string[] str);
+                       [CCode (cname = "gst_byte_reader_peek_uint16_be")]
+                       public bool peek_uint16_be (out uint16 val);
+                       [CCode (cname = "gst_byte_reader_peek_uint16_le")]
+                       public bool peek_uint16_le (out uint16 val);
+                       [CCode (cname = "gst_byte_reader_peek_uint24_be")]
+                       public bool peek_uint24_be (out uint32 val);
+                       [CCode (cname = "gst_byte_reader_peek_uint24_le")]
+                       public bool peek_uint24_le (out uint32 val);
+                       [CCode (cname = "gst_byte_reader_peek_uint32_be")]
+                       public bool peek_uint32_be (out uint32 val);
+                       [CCode (cname = "gst_byte_reader_peek_uint32_le")]
+                       public bool peek_uint32_le (out uint32 val);
+                       [CCode (cname = "gst_byte_reader_peek_uint64_be")]
+                       public bool peek_uint64_be (out uint64 val);
+                       [CCode (cname = "gst_byte_reader_peek_uint64_le")]
+                       public bool peek_uint64_le (out uint64 val);
+                       [CCode (cname = "gst_byte_reader_peek_uint8")]
+                       public bool peek_uint8 (out uint8 val);
+                       [CCode (cname = "gst_byte_reader_set_pos")]
+                       public bool set_pos (uint pos);
+                       [CCode (cname = "gst_byte_reader_skip")]
+                       public bool skip (uint nbytes);
+                       [CCode (cname = "gst_byte_reader_skip_string_utf16")]
+                       public bool skip_string_utf16 ();
+                       [CCode (cname = "gst_byte_reader_skip_string_utf32")]
+                       public bool skip_string_utf32 ();
+                       [CCode (cname = "gst_byte_reader_skip_string_utf8")]
+                       public bool skip_string_utf8 ();
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstBitReader")]
+               [Compact]
+               [GIR (name = "ByteWriter")]
+               public class ByteWriter {
+                       public uint alloc_size;
+                       public bool fixed;
+                       public bool @owned;
+                       public weak Gst.Base.ByteReader parent;
+                       public ByteWriter ();
+                       [CCode (cname = "gst_byte_writer_ensure_free_space")]
+                       public bool ensure_free_space (uint size);
+                       [CCode (cname = "gst_byte_writer_fill")]
+                       public bool fill (uint8 value, uint size);
+                       [CCode (cname = "gst_byte_writer_free")]
+                       public void free ();
+                       [CCode (cname = "gst_byte_writer_free_and_get_buffer")]
+                       public Gst.Buffer free_and_get_buffer ();
+                       [CCode (cname = "gst_byte_writer_free_and_get_data")]
+                       public uint8 free_and_get_data ();
+                       [CCode (cname = "gst_byte_writer_get_remaining")]
+                       public uint get_remaining ();
+                       [CCode (cname = "gst_byte_writer_init")]
+                       public void init ();
+                       [CCode (cname = "gst_byte_writer_init_with_data")]
+                       public void init_with_data ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "guint")] uint8[] data, bool initialized);
+                       [CCode (cname = "gst_byte_writer_init_with_size")]
+                       public void init_with_size (uint size, bool fixed);
+                       [CCode (cname = "gst_byte_writer_put_buffer")]
+                       public bool put_buffer (Gst.Buffer buffer, size_t offset, ssize_t size);
+                       [CCode (cname = "gst_byte_writer_put_data")]
+                       public bool put_data ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "guint")] uint8[] data);
+                       [CCode (cname = "gst_byte_writer_put_float32_be")]
+                       public bool put_float32_be (float val);
+                       [CCode (cname = "gst_byte_writer_put_float32_le")]
+                       public bool put_float32_le (float val);
+                       [CCode (cname = "gst_byte_writer_put_float64_be")]
+                       public bool put_float64_be (double val);
+                       [CCode (cname = "gst_byte_writer_put_float64_le")]
+                       public bool put_float64_le (double val);
+                       [CCode (cname = "gst_byte_writer_put_int16_be")]
+                       public bool put_int16_be (int16 val);
+                       [CCode (cname = "gst_byte_writer_put_int16_le")]
+                       public bool put_int16_le (int16 val);
+                       [CCode (cname = "gst_byte_writer_put_int24_be")]
+                       public bool put_int24_be (int32 val);
+                       [CCode (cname = "gst_byte_writer_put_int24_le")]
+                       public bool put_int24_le (int32 val);
+                       [CCode (cname = "gst_byte_writer_put_int32_be")]
+                       public bool put_int32_be (int32 val);
+                       [CCode (cname = "gst_byte_writer_put_int32_le")]
+                       public bool put_int32_le (int32 val);
+                       [CCode (cname = "gst_byte_writer_put_int64_be")]
+                       public bool put_int64_be (int64 val);
+                       [CCode (cname = "gst_byte_writer_put_int64_le")]
+                       public bool put_int64_le (int64 val);
+                       [CCode (cname = "gst_byte_writer_put_int8")]
+                       public bool put_int8 (int8 val);
+                       [CCode (cname = "gst_byte_writer_put_string_utf16")]
+                       public bool put_string_utf16 ([CCode (array_length = false, array_null_terminated = true)] uint16[] data);
+                       [CCode (cname = "gst_byte_writer_put_string_utf32")]
+                       public bool put_string_utf32 ([CCode (array_length = false, array_null_terminated = true)] uint32[] data);
+                       [CCode (cname = "gst_byte_writer_put_string_utf8")]
+                       public bool put_string_utf8 ([CCode (array_length = false, array_null_terminated = true)] string[] data);
+                       [CCode (cname = "gst_byte_writer_put_uint16_be")]
+                       public bool put_uint16_be (uint16 val);
+                       [CCode (cname = "gst_byte_writer_put_uint16_le")]
+                       public bool put_uint16_le (uint16 val);
+                       [CCode (cname = "gst_byte_writer_put_uint24_be")]
+                       public bool put_uint24_be (uint32 val);
+                       [CCode (cname = "gst_byte_writer_put_uint24_le")]
+                       public bool put_uint24_le (uint32 val);
+                       [CCode (cname = "gst_byte_writer_put_uint32_be")]
+                       public bool put_uint32_be (uint32 val);
+                       [CCode (cname = "gst_byte_writer_put_uint32_le")]
+                       public bool put_uint32_le (uint32 val);
+                       [CCode (cname = "gst_byte_writer_put_uint64_be")]
+                       public bool put_uint64_be (uint64 val);
+                       [CCode (cname = "gst_byte_writer_put_uint64_le")]
+                       public bool put_uint64_le (uint64 val);
+                       [CCode (cname = "gst_byte_writer_put_uint8")]
+                       public bool put_uint8 (uint8 val);
+                       [CCode (cname = "gst_byte_writer_reset")]
+                       public void reset ();
+                       [CCode (cname = "gst_byte_writer_reset_and_get_buffer")]
+                       public Gst.Buffer reset_and_get_buffer ();
+                       [CCode (array_length = false, cname = "gst_byte_writer_reset_and_get_data")]
+                       public uint8[] reset_and_get_data ();
+                       public ByteWriter.with_data ([CCode (array_length_type = "guint")] uint8[] data, uint size, bool initialized);
+                       public ByteWriter.with_size (uint size, bool fixed);
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstCollectPads", type_id = "gst_collect_pads_get_type ()")]
+               [GIR (name = "CollectPads")]
+               public class CollectPads : Gst.Object {
+                       public weak GLib.SList<void*> data;
+                       [CCode (cname = "gst_collect_pads_new", has_construct_function = false)]
+                       public CollectPads ();
+                       [CCode (cname = "gst_collect_pads_available")]
+                       public uint available ();
+                       [CCode (cname = "gst_collect_pads_clip_running_time")]
+                       public Gst.FlowReturn clip_running_time (Gst.Base.CollectData cdata, Gst.Buffer buf, Gst.Buffer outbuf, void* user_data);
+                       [CCode (cname = "gst_collect_pads_event_default")]
+                       public bool event_default (Gst.Base.CollectData data, Gst.Event event, bool discard);
+                       [CCode (cname = "gst_collect_pads_flush")]
+                       public uint flush (Gst.Base.CollectData data, uint size);
+                       [CCode (cname = "gst_collect_pads_peek")]
+                       public Gst.Buffer peek (Gst.Base.CollectData data);
+                       [CCode (cname = "gst_collect_pads_pop")]
+                       public Gst.Buffer pop (Gst.Base.CollectData data);
+                       [CCode (cname = "gst_collect_pads_query_default")]
+                       public bool query_default (Gst.Base.CollectData data, Gst.Query query, bool discard);
+                       [CCode (cname = "gst_collect_pads_read_buffer")]
+                       public Gst.Buffer read_buffer (Gst.Base.CollectData data, uint size);
+                       [CCode (cname = "gst_collect_pads_remove_pad")]
+                       public bool remove_pad (Gst.Pad pad);
+                       [CCode (cname = "gst_collect_pads_set_flushing")]
+                       public void set_flushing (bool flushing);
+                       [CCode (cname = "gst_collect_pads_set_waiting")]
+                       public void set_waiting (Gst.Base.CollectData data, bool waiting);
+                       [CCode (cname = "gst_collect_pads_start")]
+                       public void start ();
+                       [CCode (cname = "gst_collect_pads_stop")]
+                       public void stop ();
+                       [CCode (cname = "gst_collect_pads_take_buffer")]
+                       public Gst.Buffer take_buffer (Gst.Base.CollectData data, uint size);
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", type_id = "gst_base_parse_get_type ()")]
+               [GIR (name = "BaseParse")]
+               public abstract class Parse : Gst.Element {
+                       public uint flags;
+                       public weak Gst.Segment segment;
+                       public weak Gst.Pad sinkpad;
+                       public weak Gst.Pad srcpad;
+                       [CCode (has_construct_function = false)]
+                       protected Parse ();
+                       public bool add_index_entry (uint64 offset, Gst.ClockTime ts, bool key, bool force);
+                       [NoWrapper]
+                       public virtual bool convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value);
+                       public bool convert_default (Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value);
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn detect (Gst.Buffer buffer);
+                       public Gst.FlowReturn finish_frame (Gst.Base.ParseFrame frame, int size);
+                       [NoWrapper]
+                       public virtual Gst.Caps get_sink_caps (Gst.Caps filter);
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn handle_frame (Gst.Base.ParseFrame frame, int skipsize);
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn pre_push_frame (Gst.Base.ParseFrame frame);
+                       public Gst.FlowReturn push_frame (Gst.Base.ParseFrame frame);
+                       public void set_average_bitrate (uint bitrate);
+                       public void set_duration (Gst.Format fmt, int64 duration, int interval);
+                       public void set_frame_rate (uint fps_num, uint fps_den, uint lead_in, uint lead_out);
+                       public void set_has_timing_info (bool has_timing);
+                       public void set_latency (Gst.ClockTime min_latency, Gst.ClockTime max_latency);
+                       public void set_min_frame_size (uint min_size);
+                       public void set_passthrough (bool passthrough);
+                       [NoWrapper]
+                       public virtual bool set_sink_caps (Gst.Caps caps);
+                       public void set_syncable (bool syncable);
+                       [NoWrapper]
+                       public virtual bool sink_event (Gst.Event event);
+                       [NoWrapper]
+                       public virtual bool src_event (Gst.Event event);
+                       [NoWrapper]
+                       public virtual bool start ();
+                       [NoWrapper]
+                       public virtual bool stop ();
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_base_parse_frame_get_type ()")]
+               [Compact]
+               [GIR (name = "BaseParseFrame")]
+               public class ParseFrame {
+                       public weak Gst.Buffer buffer;
+                       public uint flags;
+                       public uint64 offset;
+                       public weak Gst.Buffer out_buffer;
+                       public int overhead;
+                       [CCode (has_construct_function = false)]
+                       public ParseFrame (Gst.Buffer buffer, Gst.Base.ParseFrameFlags flags, int overhead);
+                       public void free ();
+                       public void init ();
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstPushSrc", type_id = "gst_push_src_get_type ()")]
+               [GIR (name = "PushSrc")]
+               public class PushSrc : Gst.Base.Src {
+                       [CCode (has_construct_function = false)]
+                       protected PushSrc ();
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn alloc (Gst.Buffer buf);
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn create (Gst.Buffer buf);
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn fill (Gst.Buffer buf);
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", type_id = "gst_base_sink_get_type ()")]
+               [GIR (name = "BaseSink")]
+               public abstract class Sink : Gst.Element {
+                       public bool can_activate_pull;
+                       public bool can_activate_push;
+                       public bool eos;
+                       public bool have_newsegment;
+                       public bool have_preroll;
+                       public bool need_preroll;
+                       public uint64 offset;
+                       public Gst.PadMode pad_mode;
+                       public bool playing_async;
+                       public weak GLib.Cond preroll_cond;
+                       public weak GLib.Mutex preroll_lock;
+                       public weak Gst.Segment segment;
+                       public weak Gst.Pad sinkpad;
+                       [CCode (has_construct_function = false)]
+                       protected Sink ();
+                       [NoWrapper]
+                       public virtual bool activate_pull (bool active);
+                       public Gst.FlowReturn do_preroll (Gst.MiniObject obj);
+                       [NoWrapper]
+                       public virtual bool event (Gst.Event event);
+                       [NoWrapper]
+                       public virtual Gst.Caps fixate (Gst.Caps caps);
+                       public uint get_blocksize ();
+                       [NoWrapper]
+                       public virtual Gst.Caps get_caps (Gst.Caps filter);
+                       public Gst.Sample get_last_sample ();
+                       public Gst.ClockTime get_latency ();
+                       public int64 get_max_lateness ();
+                       public Gst.ClockTime get_render_delay ();
+                       public bool get_sync ();
+                       public uint64 get_throttle_time ();
+                       [NoWrapper]
+                       public virtual void get_times (Gst.Buffer buffer, Gst.ClockTime start, Gst.ClockTime end);
+                       public Gst.ClockTimeDiff get_ts_offset ();
+                       public bool is_async_enabled ();
+                       public bool is_last_sample_enabled ();
+                       public bool is_qos_enabled ();
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn prepare (Gst.Buffer buffer);
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn prepare_list (Gst.BufferList buffer_list);
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn preroll (Gst.Buffer buffer);
+                       [NoWrapper]
+                       public virtual bool propose_allocation (Gst.Query query);
+                       [NoWrapper]
+                       public virtual bool query (Gst.Query query);
+                       public bool query_latency (out bool live, out bool upstream_live, out Gst.ClockTime min_latency, out Gst.ClockTime max_latency);
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn render (Gst.Buffer buffer);
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn render_list (Gst.BufferList buffer_list);
+                       public void set_async_enabled (bool enabled);
+                       public void set_blocksize (uint blocksize);
+                       [NoWrapper]
+                       public virtual bool set_caps (Gst.Caps caps);
+                       public void set_last_sample_enabled (bool enabled);
+                       public void set_max_lateness (int64 max_lateness);
+                       public void set_qos_enabled (bool enabled);
+                       public void set_render_delay (Gst.ClockTime delay);
+                       public void set_sync (bool sync);
+                       public void set_throttle_time (uint64 throttle);
+                       public void set_ts_offset (Gst.ClockTimeDiff offset);
+                       [NoWrapper]
+                       public virtual bool start ();
+                       [NoWrapper]
+                       public virtual bool stop ();
+                       [NoWrapper]
+                       public virtual bool unlock ();
+                       [NoWrapper]
+                       public virtual bool unlock_stop ();
+                       public Gst.FlowReturn wait (Gst.ClockTime time, out Gst.ClockTimeDiff jitter);
+                       public Gst.ClockReturn wait_clock (Gst.ClockTime time, out Gst.ClockTimeDiff jitter);
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn wait_eos (Gst.Event event);
+                       public Gst.FlowReturn wait_preroll ();
+                       [NoAccessorMethod]
+                       public bool @async { get; set; }
+                       public uint blocksize { get; set; }
+                       [NoAccessorMethod]
+                       public bool enable_last_sample { get; set; }
+                       public Gst.Sample last_sample { owned get; }
+                       public int64 max_lateness { get; set; }
+                       [NoAccessorMethod]
+                       public bool qos { get; set; }
+                       public uint64 render_delay { get; set; }
+                       public bool sync { get; set; }
+                       public uint64 throttle_time { get; set; }
+                       public int64 ts_offset { get; set; }
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", type_id = "gst_base_src_get_type ()")]
+               [GIR (name = "BaseSrc")]
+               public abstract class Src : Gst.Element {
+                       public bool can_activate_push;
+                       public Gst.ClockID clock_id;
+                       public weak GLib.Cond live_cond;
+                       public weak GLib.Mutex live_lock;
+                       public bool live_running;
+                       public bool need_newsegment;
+                       public int num_buffers_left;
+                       public weak Gst.Event pending_seek;
+                       public bool random_access;
+                       public bool running;
+                       public weak Gst.Segment segment;
+                       public weak Gst.Pad srcpad;
+                       [CCode (has_construct_function = false)]
+                       protected Src ();
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn alloc (uint64 offset, uint size, Gst.Buffer buf);
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn create (uint64 offset, uint size, Gst.Buffer buf);
+                       [NoWrapper]
+                       public virtual bool decide_allocation (Gst.Query query);
+                       [NoWrapper]
+                       public virtual bool do_seek (Gst.Segment segment);
+                       [NoWrapper]
+                       public virtual bool event (Gst.Event event);
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn fill (uint64 offset, uint size, Gst.Buffer buf);
+                       [NoWrapper]
+                       public virtual Gst.Caps fixate (Gst.Caps caps);
+                       public uint get_blocksize ();
+                       [NoWrapper]
+                       public virtual Gst.Caps get_caps (Gst.Caps filter);
+                       public bool get_do_timestamp ();
+                       [NoWrapper]
+                       public virtual bool get_size (uint64 size);
+                       [NoWrapper]
+                       public virtual void get_times (Gst.Buffer buffer, Gst.ClockTime start, Gst.ClockTime end);
+                       public bool is_async ();
+                       [NoWrapper]
+                       public virtual bool is_seekable ();
+                       [NoWrapper]
+                       public virtual bool negotiate ();
+                       public bool new_seamless_segment (int64 start, int64 stop, int64 position);
+                       [NoWrapper]
+                       public virtual bool prepare_seek_segment (Gst.Event seek, Gst.Segment segment);
+                       [NoWrapper]
+                       public virtual bool query (Gst.Query query);
+                       public bool query_latency (out bool live, out Gst.ClockTime min_latency, out Gst.ClockTime max_latency);
+                       public void set_async (bool @async);
+                       public void set_blocksize (uint blocksize);
+                       public virtual bool set_caps (Gst.Caps caps);
+                       public void set_do_timestamp (bool timestamp);
+                       public void set_dynamic_size (bool @dynamic);
+                       public void set_format (Gst.Format format);
+                       public void set_live (bool live);
+                       [NoWrapper]
+                       public virtual bool start ();
+                       public void start_complete (Gst.FlowReturn ret);
+                       public Gst.FlowReturn start_wait ();
+                       [NoWrapper]
+                       public virtual bool stop ();
+                       [NoWrapper]
+                       public virtual bool unlock ();
+                       [NoWrapper]
+                       public virtual bool unlock_stop ();
+                       public Gst.FlowReturn wait_playing ();
+                       public uint blocksize { get; set; }
+                       public bool do_timestamp { get; set; }
+                       [NoAccessorMethod]
+                       public int num_buffers { get; set; }
+                       [NoAccessorMethod]
+                       public bool typefind { get; set; }
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", type_id = "gst_base_transform_get_type ()")]
+               [GIR (name = "BaseTransform")]
+               public abstract class Transform : Gst.Element {
+                       public bool have_segment;
+                       public weak Gst.Segment segment;
+                       public weak Gst.Pad sinkpad;
+                       public weak Gst.Pad srcpad;
+                       [CCode (has_construct_function = false)]
+                       protected Transform ();
+                       [NoWrapper]
+                       public virtual bool accept_caps (Gst.PadDirection direction, Gst.Caps caps);
+                       [NoWrapper]
+                       public virtual void before_transform (Gst.Buffer buffer);
+                       [NoWrapper]
+                       public virtual bool copy_metadata (Gst.Buffer input, Gst.Buffer outbuf);
+                       [NoWrapper]
+                       public virtual bool decide_allocation (Gst.Query query);
+                       [NoWrapper]
+                       public virtual bool filter_meta (Gst.Query query, GLib.Type api, Gst.Structure @params);
+                       [NoWrapper]
+                       public virtual Gst.Caps fixate_caps (Gst.PadDirection direction, Gst.Caps caps, Gst.Caps othercaps);
+                       [NoWrapper]
+                       public virtual bool get_unit_size (Gst.Caps caps, size_t size);
+                       public bool is_in_place ();
+                       public bool is_passthrough ();
+                       public bool is_qos_enabled ();
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn prepare_output_buffer (Gst.Buffer input, Gst.Buffer outbuf);
+                       [NoWrapper]
+                       public virtual bool propose_allocation (Gst.Query decide_query, Gst.Query query);
+                       [NoWrapper]
+                       public virtual bool query (Gst.PadDirection direction, Gst.Query query);
+                       public void reconfigure_sink ();
+                       public void reconfigure_src ();
+                       [NoWrapper]
+                       public virtual bool set_caps (Gst.Caps incaps, Gst.Caps outcaps);
+                       public void set_gap_aware (bool gap_aware);
+                       public void set_in_place (bool in_place);
+                       public void set_passthrough (bool passthrough);
+                       public void set_qos_enabled (bool enabled);
+                       [NoWrapper]
+                       public virtual bool sink_event (Gst.Event event);
+                       [NoWrapper]
+                       public virtual bool src_event (Gst.Event event);
+                       [NoWrapper]
+                       public virtual bool start ();
+                       [NoWrapper]
+                       public virtual bool stop ();
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn transform (Gst.Buffer inbuf, Gst.Buffer outbuf);
+                       [NoWrapper]
+                       public virtual Gst.Caps transform_caps (Gst.PadDirection direction, Gst.Caps caps, Gst.Caps filter);
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn transform_ip (Gst.Buffer buf);
+                       [NoWrapper]
+                       public virtual bool transform_meta (Gst.Buffer outbuf, Gst.Meta meta, Gst.Buffer inbuf);
+                       [NoWrapper]
+                       public virtual bool transform_size (Gst.PadDirection direction, Gst.Caps caps, size_t size, Gst.Caps othercaps, size_t othersize);
+                       public void update_qos (double proportion, Gst.ClockTimeDiff diff, Gst.ClockTime timestamp);
+                       [NoAccessorMethod]
+                       public bool qos { get; set; }
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstCollectData", has_type_id = false)]
+               [GIR (name = "CollectData")]
+               public struct CollectData {
+                       public weak Gst.Base.CollectPads collect;
+                       public weak Gst.Pad pad;
+                       public weak Gst.Buffer buffer;
+                       public uint pos;
+                       public weak Gst.Segment segment;
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstCollectPadsStateFlags", cprefix = "GST_COLLECT_PADS_STATE_", has_type_id = false)]
+               [Flags]
+               [GIR (name = "CollectPadsStateFlags")]
+               public enum CollectPadsStateFlags {
+                       EOS,
+                       FLUSHING,
+                       NEW_SEGMENT,
+                       WAITING,
+                       LOCKED
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cprefix = "GST_BASE_PARSE_FRAME_FLAG_", has_type_id = false)]
+               [Flags]
+               [GIR (name = "BaseParseFrameFlags")]
+               public enum ParseFrameFlags {
+                       NONE,
+                       NEW_FRAME,
+                       NO_FRAME,
+                       CLIP,
+                       DROP,
+                       QUEUE
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cprefix = "GST_BASE_SRC_FLAG_", has_type_id = false)]
+               [Flags]
+               [GIR (name = "BaseSrcFlags")]
+               public enum SrcFlags {
+                       STARTING,
+                       STARTED,
+                       LAST
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstCollectDataDestroyNotify", has_target = false)]
+               public delegate void CollectDataDestroyNotify (Gst.Base.CollectData data);
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstCollectPadsBufferFunction", instance_pos = 3.9)]
+               public delegate Gst.FlowReturn CollectPadsBufferFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data, Gst.Buffer buffer);
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstCollectPadsClipFunction", instance_pos = 4.9)]
+               public delegate Gst.FlowReturn CollectPadsClipFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data, Gst.Buffer inbuffer, Gst.Buffer outbuffer);
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstCollectPadsCompareFunction", instance_pos = 5.9)]
+               public delegate int CollectPadsCompareFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data1, Gst.ClockTime timestamp1, Gst.Base.CollectData data2, Gst.ClockTime timestamp2);
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstCollectPadsEventFunction", instance_pos = 3.9)]
+               public delegate bool CollectPadsEventFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData pad, Gst.Event event);
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstCollectPadsFunction", instance_pos = 1.9)]
+               public delegate Gst.FlowReturn CollectPadsFunction (Gst.Base.CollectPads pads);
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstCollectPadsQueryFunction", instance_pos = 3.9)]
+               public delegate bool CollectPadsQueryFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData pad, Gst.Query query);
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstTypeFindHelperGetRangeFunction", has_target = false)]
+               public delegate Gst.FlowReturn TypeFindHelperGetRangeFunction (Gst.Object obj, Gst.Object parent, uint64 offset, uint length, Gst.Buffer buffer);
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GST_BASE_PARSE_FLAG_DRAINING")]
+               public const int PARSE_FLAG_DRAINING;
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GST_BASE_PARSE_FLAG_LOST_SYNC")]
+               public const int PARSE_FLAG_LOST_SYNC;
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GST_BASE_TRANSFORM_SINK_NAME")]
+               public const string TRANSFORM_SINK_NAME;
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GST_BASE_TRANSFORM_SRC_NAME")]
+               public const string TRANSFORM_SRC_NAME;
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "gst_type_find_helper")]
+               public static Gst.Caps type_find_helper (Gst.Pad src, uint64 size);
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "gst_type_find_helper_for_buffer")]
+               public static Gst.Caps type_find_helper_for_buffer (Gst.Object obj, Gst.Buffer buf, out Gst.TypeFindProbability prob);
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "gst_type_find_helper_for_data")]
+               public static Gst.Caps type_find_helper_for_data (Gst.Object obj, uint8 data, size_t size, out Gst.TypeFindProbability prob);
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "gst_type_find_helper_for_extension")]
+               public static Gst.Caps type_find_helper_for_extension (Gst.Object? obj, string extension);
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "gst_type_find_helper_get_range")]
+               public static Gst.Caps type_find_helper_get_range (Gst.Object obj, Gst.Object parent, Gst.Base.TypeFindHelperGetRangeFunction func, uint64 size, string extension, out Gst.TypeFindProbability prob);
+       }
+}
diff --git a/vapi/gstreamer-check-1.0.deps b/vapi/gstreamer-check-1.0.deps
new file mode 100644 (file)
index 0000000..26a0edb
--- /dev/null
@@ -0,0 +1 @@
+gstreamer-1.0
diff --git a/vapi/gstreamer-check-1.0.vapi b/vapi/gstreamer-check-1.0.vapi
new file mode 100644 (file)
index 0000000..ab2c94f
--- /dev/null
@@ -0,0 +1,65 @@
+/* gstreamer-check-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gst", gir_namespace = "GstCheck", gir_version = "1.0", lower_case_cprefix = "gst_")]
+namespace Gst {
+       namespace Check {
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h", cname = "GstStreamConsistency", cprefix = "gst_consistency_checker_", lower_case_cprefix = "gst_consistency_checker_")]
+               [Compact]
+               [GIR (name = "StreamConsistency")]
+               public class StreamConsistency {
+                       public StreamConsistency (Gst.Pad pad);
+                       public bool add_pad (Gst.Pad pad);
+                       public void free ();
+                       public void reset ();
+               }
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h", has_type_id = false)]
+               [GIR (name = "CheckABIStruct")]
+               public struct ABIStruct {
+                       public weak string name;
+                       public int size;
+                       public int abi_size;
+               }
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static void abi_list (Gst.Check.ABIStruct list, bool have_abi_sizes);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static void buffer_data (Gst.Buffer buffer, void* data, size_t size);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h", cname = "gst_buffer_straw_get_buffer")]
+               public static Gst.Buffer buffer_straw_get_buffer (Gst.Element bin, Gst.Pad pad);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h", cname = "gst_buffer_straw_start_pipeline")]
+               public static void buffer_straw_start_pipeline (Gst.Element bin, Gst.Pad pad);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h", cname = "gst_buffer_straw_stop_pipeline")]
+               public static void buffer_straw_stop_pipeline (Gst.Element bin, Gst.Pad pad);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static void caps_equal (Gst.Caps caps1, Gst.Caps caps2);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static Gst.FlowReturn chain_func (Gst.Pad pad, Gst.Object parent, Gst.Buffer buffer);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static void drop_buffers ();
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static void element_push_buffer (string element_name, Gst.Buffer buffer_in, Gst.Caps caps_in, Gst.Buffer buffer_out, Gst.Caps caps_out);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static void element_push_buffer_list (string element_name, owned GLib.List<Gst.Buffer> buffer_in, Gst.Caps caps_in, owned GLib.List<Gst.Buffer> buffer_out, Gst.Caps caps_out, Gst.FlowReturn last_flow_return);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static void init (int argc, string argv);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static void message_error (Gst.Message message, Gst.MessageType type, GLib.Quark domain, int code);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static Gst.Element setup_element (string factory);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static Gst.Pad setup_sink_pad (Gst.Element element, Gst.StaticPadTemplate tmpl);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static Gst.Pad setup_sink_pad_by_name (Gst.Element element, Gst.StaticPadTemplate tmpl, string name);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static Gst.Pad setup_src_pad (Gst.Element element, Gst.StaticPadTemplate tmpl);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static Gst.Pad setup_src_pad_by_name (Gst.Element element, Gst.StaticPadTemplate tmpl, string name);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static void teardown_element (Gst.Element element);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static void teardown_pad_by_name (Gst.Element element, string name);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static void teardown_sink_pad (Gst.Element element);
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h")]
+               public static void teardown_src_pad (Gst.Element element);
+       }
+}
diff --git a/vapi/gstreamer-controller-1.0.deps b/vapi/gstreamer-controller-1.0.deps
new file mode 100644 (file)
index 0000000..26a0edb
--- /dev/null
@@ -0,0 +1 @@
+gstreamer-1.0
diff --git a/vapi/gstreamer-controller-1.0.vapi b/vapi/gstreamer-controller-1.0.vapi
new file mode 100644 (file)
index 0000000..1717172
--- /dev/null
@@ -0,0 +1,113 @@
+/* gstreamer-controller-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gst", gir_namespace = "GstController", gir_version = "1.0", lower_case_cprefix = "gst_")]
+namespace Gst {
+       namespace Controller {
+               [CCode (cheader_filename = "gst/controller/gstargbcontrolbinding.h,gst/controller/gstdirectcontrolbinding.h,gst/controller/gstinterpolationcontrolsource.h,gst/controller/gstlfocontrolsource.h,gst/controller/gsttimedvaluecontrolsource.h,gst/controller/gsttriggercontrolsource.h", cname = "GstARGBControlBinding", type_id = "gst_argb_control_binding_get_type ()")]
+               [GIR (name = "ARGBControlBinding")]
+               public class ARGBControlBinding : Gst.ControlBinding {
+                       [CCode (cname = "gst_argb_control_binding_new", has_construct_function = false, type = "GstControlBinding*")]
+                       public ARGBControlBinding (Gst.Object object, string property_name, Gst.ControlSource cs_a, Gst.ControlSource cs_r, Gst.ControlSource cs_g, Gst.ControlSource cs_b);
+                       [NoAccessorMethod]
+                       public Gst.ControlSource control_source_a { owned get; construct; }
+                       [NoAccessorMethod]
+                       public Gst.ControlSource control_source_b { owned get; construct; }
+                       [NoAccessorMethod]
+                       public Gst.ControlSource control_source_g { owned get; construct; }
+                       [NoAccessorMethod]
+                       public Gst.ControlSource control_source_r { owned get; construct; }
+               }
+               [CCode (cheader_filename = "gst/controller/gstargbcontrolbinding.h,gst/controller/gstdirectcontrolbinding.h,gst/controller/gstinterpolationcontrolsource.h,gst/controller/gstlfocontrolsource.h,gst/controller/gsttimedvaluecontrolsource.h,gst/controller/gsttriggercontrolsource.h", cname = "GstDirectControlBinding", type_id = "gst_direct_control_binding_get_type ()")]
+               [GIR (name = "DirectControlBinding")]
+               public class DirectControlBinding : Gst.ControlBinding {
+                       [CCode (cname = "gst_direct_control_binding_new", has_construct_function = false, type = "GstControlBinding*")]
+                       public DirectControlBinding (Gst.Object object, string property_name, Gst.ControlSource cs);
+                       [NoAccessorMethod]
+                       public Gst.ControlSource control_source { owned get; construct; }
+               }
+               [CCode (cheader_filename = "gst/controller/gstargbcontrolbinding.h,gst/controller/gstdirectcontrolbinding.h,gst/controller/gstinterpolationcontrolsource.h,gst/controller/gstlfocontrolsource.h,gst/controller/gsttimedvaluecontrolsource.h,gst/controller/gsttriggercontrolsource.h", cname = "GstInterpolationControlSource", type_id = "gst_interpolation_control_source_get_type ()")]
+               [GIR (name = "InterpolationControlSource")]
+               public class InterpolationControlSource : Gst.Controller.TimedValueControlSource {
+                       [CCode (cname = "gst_interpolation_control_source_new", has_construct_function = false, type = "GstControlSource*")]
+                       public InterpolationControlSource ();
+                       [NoAccessorMethod]
+                       public Gst.Controller.InterpolationMode mode { get; set; }
+               }
+               [CCode (cheader_filename = "gst/controller/gstargbcontrolbinding.h,gst/controller/gstdirectcontrolbinding.h,gst/controller/gstinterpolationcontrolsource.h,gst/controller/gstlfocontrolsource.h,gst/controller/gsttimedvaluecontrolsource.h,gst/controller/gsttriggercontrolsource.h", cname = "GstLFOControlSource", type_id = "gst_lfo_control_source_get_type ()")]
+               [GIR (name = "LFOControlSource")]
+               public class LFOControlSource : Gst.ControlSource {
+                       [CCode (cname = "gst_lfo_control_source_new", has_construct_function = false, type = "GstControlSource*")]
+                       public LFOControlSource ();
+                       [NoAccessorMethod]
+                       public double amplitude { get; set; }
+                       [NoAccessorMethod]
+                       public double frequency { get; set; }
+                       [NoAccessorMethod]
+                       public double offset { get; set; }
+                       [NoAccessorMethod]
+                       public uint64 timeshift { get; set; }
+                       [NoAccessorMethod]
+                       public Gst.Controller.LFOWaveform waveform { get; set; }
+               }
+               [CCode (cheader_filename = "gst/controller/gstargbcontrolbinding.h,gst/controller/gstdirectcontrolbinding.h,gst/controller/gstinterpolationcontrolsource.h,gst/controller/gstlfocontrolsource.h,gst/controller/gsttimedvaluecontrolsource.h,gst/controller/gsttriggercontrolsource.h", cname = "GstTimedValueControlSource", type_id = "gst_timed_value_control_source_get_type ()")]
+               [GIR (name = "TimedValueControlSource")]
+               public abstract class TimedValueControlSource : Gst.ControlSource {
+                       public weak GLib.Mutex @lock;
+                       public int nvalues;
+                       public bool valid_cache;
+                       public GLib.Sequence<Gst.Controller.ControlPoint?> values;
+                       [CCode (has_construct_function = false)]
+                       protected TimedValueControlSource ();
+                       [CCode (cname = "gst_timed_value_control_source_find_control_point_iter")]
+                       public unowned GLib.SequenceIter find_control_point_iter (Gst.ClockTime timestamp);
+                       [CCode (cname = "gst_timed_value_control_source_get_count")]
+                       public int get_count ();
+                       [CCode (cname = "gst_timed_value_control_source_set")]
+                       public bool @set (Gst.ClockTime timestamp, double value);
+                       [CCode (cname = "gst_timed_value_control_source_unset")]
+                       public bool unset (Gst.ClockTime timestamp);
+                       [CCode (cname = "gst_timed_value_control_source_unset_all")]
+                       public void unset_all ();
+               }
+               [CCode (cheader_filename = "gst/controller/gstargbcontrolbinding.h,gst/controller/gstdirectcontrolbinding.h,gst/controller/gstinterpolationcontrolsource.h,gst/controller/gstlfocontrolsource.h,gst/controller/gsttimedvaluecontrolsource.h,gst/controller/gsttriggercontrolsource.h", cname = "GstTriggerControlSource", type_id = "gst_trigger_control_source_get_type ()")]
+               [GIR (name = "TriggerControlSource")]
+               public class TriggerControlSource : Gst.Controller.TimedValueControlSource {
+                       [CCode (cname = "gst_trigger_control_source_new", has_construct_function = false, type = "GstControlSource*")]
+                       public TriggerControlSource ();
+                       [NoAccessorMethod]
+                       public int64 tolerance { get; set; }
+               }
+               [CCode (cheader_filename = "gst/controller/gstargbcontrolbinding.h,gst/controller/gstdirectcontrolbinding.h,gst/controller/gstinterpolationcontrolsource.h,gst/controller/gstlfocontrolsource.h,gst/controller/gsttimedvaluecontrolsource.h,gst/controller/gsttriggercontrolsource.h", cname = "GstControlPoint", has_type_id = false)]
+               [GIR (name = "ControlPoint")]
+               public struct ControlPoint {
+                       public Gst.ClockTime timestamp;
+                       public double value;
+                       [CCode (cname = "cache.cubic.h")]
+                       public double cache_cubic_h;
+                       [CCode (cname = "cache.cubic.z")]
+                       public double cache_cubic_z;
+               }
+               [CCode (cheader_filename = "gst/controller/gstargbcontrolbinding.h,gst/controller/gstdirectcontrolbinding.h,gst/controller/gstinterpolationcontrolsource.h,gst/controller/gstlfocontrolsource.h,gst/controller/gsttimedvaluecontrolsource.h,gst/controller/gsttriggercontrolsource.h", cname = "GstInterpolationMode", cprefix = "GST_INTERPOLATION_MODE_", type_id = "gst_interpolation_mode_get_type ()")]
+               [GIR (name = "InterpolationMode")]
+               public enum InterpolationMode {
+                       NONE,
+                       LINEAR,
+                       CUBIC
+               }
+               [CCode (cheader_filename = "gst/controller/gstargbcontrolbinding.h,gst/controller/gstdirectcontrolbinding.h,gst/controller/gstinterpolationcontrolsource.h,gst/controller/gstlfocontrolsource.h,gst/controller/gsttimedvaluecontrolsource.h,gst/controller/gsttriggercontrolsource.h", cname = "GstLFOWaveform", cprefix = "GST_LFO_WAVEFORM_", type_id = "gst_lfo_waveform_get_type ()")]
+               [GIR (name = "LFOWaveform")]
+               public enum LFOWaveform {
+                       SINE,
+                       SQUARE,
+                       SAW,
+                       REVERSE_SAW,
+                       TRIANGLE
+               }
+               [CCode (cheader_filename = "gst/controller/gstargbcontrolbinding.h,gst/controller/gstdirectcontrolbinding.h,gst/controller/gstinterpolationcontrolsource.h,gst/controller/gstlfocontrolsource.h,gst/controller/gsttimedvaluecontrolsource.h,gst/controller/gsttriggercontrolsource.h", cname = "GstDirectControlBindingConvertGValue", has_target = false)]
+               public delegate void DirectControlBindingConvertGValue (Gst.Controller.DirectControlBinding self, double src_value, GLib.Value dest_value);
+               [CCode (cheader_filename = "gst/controller/gstargbcontrolbinding.h,gst/controller/gstdirectcontrolbinding.h,gst/controller/gstinterpolationcontrolsource.h,gst/controller/gstlfocontrolsource.h,gst/controller/gsttimedvaluecontrolsource.h,gst/controller/gsttriggercontrolsource.h", cname = "GstDirectControlBindingConvertValue", has_target = false)]
+               public delegate void DirectControlBindingConvertValue (Gst.Controller.DirectControlBinding self, double src_value, void* dest_value);
+               [CCode (cheader_filename = "gst/controller/gstargbcontrolbinding.h,gst/controller/gstdirectcontrolbinding.h,gst/controller/gstinterpolationcontrolsource.h,gst/controller/gstlfocontrolsource.h,gst/controller/gsttimedvaluecontrolsource.h,gst/controller/gsttriggercontrolsource.h", cname = "gst_timed_value_control_invalidate_cache")]
+               public static void timed_value_control_invalidate_cache (Gst.Controller.TimedValueControlSource self);
+       }
+}
diff --git a/vapi/gstreamer-net-1.0.deps b/vapi/gstreamer-net-1.0.deps
new file mode 100644 (file)
index 0000000..26a0edb
--- /dev/null
@@ -0,0 +1 @@
+gstreamer-1.0
diff --git a/vapi/gstreamer-net-1.0.vapi b/vapi/gstreamer-net-1.0.vapi
new file mode 100644 (file)
index 0000000..fe3e93c
--- /dev/null
@@ -0,0 +1,57 @@
+/* gstreamer-net-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gst", gir_namespace = "GstNet", gir_version = "1.0", lower_case_cprefix = "gst_")]
+namespace Gst {
+       namespace Net {
+               [CCode (cheader_filename = "gst/net/gstnet.h", type_id = "gst_net_client_clock_get_type ()")]
+               [GIR (name = "NetClientClock")]
+               public class ClientClock : Gst.SystemClock {
+                       [CCode (has_construct_function = false, type = "GstClock*")]
+                       public ClientClock (string name, string remote_address, int remote_port, Gst.ClockTime base_time);
+                       [NoAccessorMethod]
+                       public string address { owned get; set; }
+                       [NoAccessorMethod]
+                       public int port { get; set; }
+               }
+               [CCode (cheader_filename = "gst/net/gstnet.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_net_time_packet_get_type ()")]
+               [Compact]
+               [GIR (name = "NetTimePacket")]
+               public class TimePacket {
+                       public Gst.ClockTime local_time;
+                       public Gst.ClockTime remote_time;
+                       [CCode (cname = "GST_NET_TIME_PACKET_SIZE")]
+                       public const int SIZE;
+                       [CCode (has_construct_function = false)]
+                       public TimePacket ([CCode (array_length = false)] uint8[] buffer);
+                       public Gst.Net.TimePacket copy ();
+                       public void free ();
+                       public static Gst.Net.TimePacket receive (GLib.Socket socket, out GLib.SocketAddress src_address) throws GLib.Error;
+                       public bool send (GLib.Socket socket, GLib.SocketAddress dest_address) throws GLib.Error;
+                       public uint8 serialize ();
+               }
+               [CCode (cheader_filename = "gst/net/gstnet.h", type_id = "gst_net_time_provider_get_type ()")]
+               [GIR (name = "NetTimeProvider")]
+               public class TimeProvider : Gst.Object {
+                       [CCode (has_construct_function = false)]
+                       public TimeProvider (Gst.Clock clock, string address, int port);
+                       [NoAccessorMethod]
+                       public bool active { get; set; }
+                       [NoAccessorMethod]
+                       public string address { owned get; set; }
+                       [NoAccessorMethod]
+                       public Gst.Clock clock { owned get; set; }
+                       [NoAccessorMethod]
+                       public int port { get; set; }
+               }
+               [CCode (cheader_filename = "gst/net/gstnet.h", has_type_id = false)]
+               [GIR (name = "NetAddressMeta")]
+               public struct AddressMeta {
+                       public Gst.Meta meta;
+                       public weak GLib.SocketAddress addr;
+               }
+               [CCode (cheader_filename = "gst/net/gstnet.h")]
+               public static GLib.Type address_meta_api_get_type ();
+               [CCode (cheader_filename = "gst/net/gstnet.h")]
+               public static Gst.MetaInfo address_meta_get_info ();
+       }
+}
diff --git a/vapi/metadata/Gst-1.0-custom.vala b/vapi/metadata/Gst-1.0-custom.vala
new file mode 100644 (file)
index 0000000..108aea3
--- /dev/null
@@ -0,0 +1,33 @@
+namespace Gst {
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_buffer_get_type ()")]
+       [Compact]
+       public class Buffer {
+               [CCode (has_construct_function = false, simple_generics = true)]
+               public static Buffer new_wrapped_full<T> (Gst.MemoryFlags flags, [CCode (array_length_cname = "size", array_length_pos = 4.5, array_length_type = "gsize")] uint8[] data, size_t maxsize, size_t offset, owned T user_data);
+       }
+
+
+       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_mini_object_ref", unref_function = "gst_mini_object_unref")]
+       [Compact]
+       public abstract class MiniObject {
+               [CCode (simple_generics = true)]
+               public T get_qdata<T> (GLib.Quark quark);
+               [CCode (simple_generics = true)]
+               public void set_qdata<T> (GLib.Quark quark, owned T data);
+       }
+
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_atomic_queue_get_type ()")]
+       [Compact]
+       public class AtomicQueue<T> {
+               public unowned T? peek<T> ();
+               public T pop ();
+               public void push (owned T data);
+       }
+
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_FLOW_")]
+       public enum FlowReturn {
+               CUSTOM_ERROR_2;
+               [CCode (cname = "gst_flow_get_name")]
+               public unowned string get_name ();
+       }
+}
\ No newline at end of file
diff --git a/vapi/metadata/Gst-1.0.metadata b/vapi/metadata/Gst-1.0.metadata
new file mode 100644 (file)
index 0000000..af3eb4a
--- /dev/null
@@ -0,0 +1,130 @@
+Gst experimental
+Bin
+  .children unowned=false
+  .child_bus unowned=false
+  .clock_provider unowned=false
+  .messages unowned=false
+  .provided_clock unowned=false
+Bus
+  .add_watch_full name="add_watch"
+Element
+  .bus unowned=false
+  .clock unowned=false
+  .pads unowned=false
+  .sinkpads type="GLib.List<unowned Gst.Pad>"
+  .srcpads type="GLib.List<unowned Gst.Pad>"
+  .state_cond unowned=false
+MapInfo
+  .data array array_length_field="size"
+init_get_option_group skip=false
+init.argv unowned
+
+ControlSource
+  .get_value_array.values array array_length_idx=2
+
+// Nullability of return values
+Buffer
+  .get_meta nullable
+  .iterate_meta nullable
+ElementFactory
+  .get_metadata_keys nullable
+
+// Variadic
+Bin
+  .add_many skip=false
+Element
+  .link_many skip=false
+
+// Generics
+AtomicQueue
+  .peek skip
+  .pop skip
+  .push skip
+MiniObject
+  .get_qdata skip
+  .set_qdata skip
+Buffer
+  .new_wrapped_full skip
+
+// Rename *_full functions
+Bus
+  .add_signal_watch skip
+  .add_signal_watch_full name="add_signal_watch"
+Caps
+  .intersect skip
+  .intersect_full name="intersect"
+Element
+  .link_pads skip
+  .link_pads_full name="link_pads"
+Pad
+  .link skip
+  .link_full name="link"
+  .set_activate_function_full name="set_activate_function"
+  .set_activatemode_function_full name="set_activatemode_function"
+  .set_chain_function_full name="set_chain_function"
+  .set_chain_list_function_full name="set_chain_list_function"
+  .set_event_function_full name="set_event_function"
+  .set_getrange_function_full name="set_getrange_function"
+  .set_iterate_internal_links_function_full name="set_iterate_internal_links_function"
+  .set_link_function_full name="set_link_function"
+  .set_query_function_full name="set_query_function"
+  .set_unlink_function_full name="set_unlink_function"
+parse_bin_from_description skip
+parse_bin_from_description_full name="parse_bin_from_description"
+parse_launch skip
+parse_launch_full name="parse_launch"
+parse_launchv skip
+parse_launchv_full name="parse_launchv"
+
+// Default values
+Bus
+  .add_signal_watch_full.priority default=GLib.Priority.DEFAULT
+Caps
+  .intersect_full.mode default=Gst.CapsIntersectMode.ZIG_ZAG
+Element
+  .link_pads_full.flags default=Gst.PadLinkCheck.DEFAULT
+Pad
+  .link_full.flags default=Gst.PadLinkCheck.DEFAULT
+parse_bin_from_description_full.context default=null
+parse_bin_from_description_full.flags default=Gst.ParseFlags.NONE
+parse_launch_full.context default=null
+parse_launch_full.flags default=Gst.ParseFlags.NONE
+parse_launchv_full.context default=null
+parse_launchv_full.flags default=Gst.ParseFlags.NONE
+
+// Gst.MiniObject inheritance
+MiniObject struct=false
+  .make_writable skip=false
+Buffer base_type="Gst.MiniObject"
+  .mini_object skip
+Caps base_type="Gst.MiniObject"
+  .mini_object skip
+Event base_type="Gst.MiniObject"
+  .mini_object skip
+Memory base_type="Gst.MiniObject"
+  .mini_object skip
+Message base_type="Gst.MiniObject"
+  .mini_object skip
+Query base_type="Gst.MiniObject"
+  .mini_object skip
+TagList base_type="Gst.MiniObject"
+  .mini_object skip
+Toc base_type="Gst.MiniObject"
+TocEntry base_type="Gst.MiniObject"
+
+// Reparenting
+TAG_* parent="Gst.Tags" name="TAG_(.+)"
+tag_* parent="Gst.Tags" name="tag_(.+)"
+value_* parent="Gst.Value" name="value_(.+)"
+util_* parent="Gst.Util" name="util_(.+)"
+debug_* parent="Gst.Debug" name="debug_(.+)"
+DEBUG_* parent="Gst.Debug" name="DEBUG_(.+)"
+ELEMENT_FACTORY_KLASS_* parent="Gst.ElementFactoryKlass" name="ELEMENT_FACTORY_KLASS_(.+)"
+ELEMENT_FACTORY_TYPE_* parent="Gst.ElementFactoryType" name="ELEMENT_FACTORY_TYPE_(.+)"
+uri_* parent="Gst.URI" name="uri_(.+)"
+
+formats_contains parent="Gst.Format" name="contains"
+
+// No way to make reparented functions instance methods
+FlowReturn.custom_error_2 skip
+flow_get_name skip // parent="Gst.FlowReturn" name="get_name"
diff --git a/vapi/metadata/GstBase-1.0-custom.vala b/vapi/metadata/GstBase-1.0-custom.vala
new file mode 100644 (file)
index 0000000..773ab1b
--- /dev/null
@@ -0,0 +1,21 @@
+namespace Gst {
+       namespace Base {
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstBitReader")]
+               [Compact]
+               public class BitReader {
+                       public BitReader ([CCode (array_length_type = "guint")] uint8[] data);
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstBitReader")]
+               [Compact]
+               public class ByteReader {
+                       public ByteReader ([CCode (array_length_type = "guint")] uint8[] data);
+               }
+               [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstBitReader")]
+               [Compact]
+               public class ByteWriter {
+                       public ByteWriter ();
+public ByteWriter.with_size (uint size, bool fixed);
+public ByteWriter.with_data ([CCode (array_length_type = "guint")] uint8[] data, uint size, bool initialized);
+               }
+       }
+}
\ No newline at end of file
diff --git a/vapi/metadata/GstBase-1.0.metadata b/vapi/metadata/GstBase-1.0.metadata
new file mode 100644 (file)
index 0000000..4fe18c6
--- /dev/null
@@ -0,0 +1,17 @@
+* parent="Gst.Base"
+Base* name="Base(.+)"
+BASE_* name="BASE_(.+)"
+
+// Fields
+BitReader
+  .data array array_length_field="size"
+  .size skip
+ByteReader
+  .data array array_length_field="size"
+  .size skip
+ByteWriter struct=false
+  .new* skip=false
+
+// Non-boxed types
+BitReader struct=false
+ByteReader struct=false
diff --git a/vapi/metadata/GstCheck-1.0-custom.vala b/vapi/metadata/GstCheck-1.0-custom.vala
new file mode 100644 (file)
index 0000000..a83b67c
--- /dev/null
@@ -0,0 +1,12 @@
+namespace Gst {
+       namespace Check {
+               [CCode (cheader_filename = "gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h", cname = "GstStreamConsistency", lower_case_cprefix = "gst_consistency_checker_")]
+               [Compact]
+               public class StreamConsistency {
+                       public StreamConsistency (Gst.Pad pad);
+                       public bool add_pad (Gst.Pad pad);
+                       public void free ();
+                       public void reset ();
+               }
+       }
+}
diff --git a/vapi/metadata/GstCheck-1.0.metadata b/vapi/metadata/GstCheck-1.0.metadata
new file mode 100644 (file)
index 0000000..21ecca5
--- /dev/null
@@ -0,0 +1,7 @@
+* parent="Gst.Check"
+Check* name="Check(.+)"
+check_* name="check_(.+)"
+
+consistency_checker_add_pad skip
+consistency_checker_free skip
+consistency_checker_reset skip
diff --git a/vapi/metadata/GstController-1.0.metadata b/vapi/metadata/GstController-1.0.metadata
new file mode 100644 (file)
index 0000000..72e3909
--- /dev/null
@@ -0,0 +1,5 @@
+* parent="Gst.Controller"
+
+TimedValueControlSource
+  .find_control_point_iter skip=false
+  .values type="GLib.Sequence<Gst.Controller.ControlPoint?>"
diff --git a/vapi/metadata/GstNet-1.0.metadata b/vapi/metadata/GstNet-1.0.metadata
new file mode 100644 (file)
index 0000000..f313682
--- /dev/null
@@ -0,0 +1,6 @@
+* parent="Gst.Net"
+Net* name="Net(.+)"
+net_* name="net_(.+)"
+
+NET_TIME_PACKET_SIZE parent="Gst.Net.TimePacket" name="SIZE"
+net_time_packet_* parent="Gst.Net.TimePacket" name="net_time_packet_(.+)"