[vala] Add gst-plugins-base-1.0 bindings.



commit 24549e9535cbacf2784ff69923d4ac72c50387e7
Author: Evan Nemerson <evan coeus-group com>
Date:   Mon Aug 20 01:35:29 2012 -0700

    Add gst-plugins-base-1.0 bindings.

 vapi/Makefile.am                       |   54 ++
 vapi/gstreamer-app-1.0.deps            |    1 +
 vapi/gstreamer-app-1.0.vapi            |   79 +++
 vapi/gstreamer-audio-1.0.deps          |    1 +
 vapi/gstreamer-audio-1.0.vapi          |  656 +++++++++++++++++++++++++
 vapi/gstreamer-fft-1.0.deps            |    1 +
 vapi/gstreamer-fft-1.0.vapi            |   82 ++++
 vapi/gstreamer-pbutils-1.0.deps        |    1 +
 vapi/gstreamer-pbutils-1.0.vapi        |  389 +++++++++++++++
 vapi/gstreamer-rtp-1.0.deps            |    1 +
 vapi/gstreamer-rtp-1.0.vapi            |  422 ++++++++++++++++
 vapi/gstreamer-rtsp-1.0.deps           |    3 +
 vapi/gstreamer-rtsp-1.0.vapi           |  477 ++++++++++++++++++
 vapi/gstreamer-sdp-1.0.deps            |    1 +
 vapi/gstreamer-sdp-1.0.vapi            |  191 ++++++++
 vapi/gstreamer-tag-1.0.deps            |    1 +
 vapi/gstreamer-tag-1.0.vapi            |  251 ++++++++++
 vapi/gstreamer-video-1.0.deps          |    1 +
 vapi/gstreamer-video-1.0.vapi          |  825 ++++++++++++++++++++++++++++++++
 vapi/metadata/GstApp-1.0.metadata      |    2 +
 vapi/metadata/GstAudio-1.0.metadata    |   15 +
 vapi/metadata/GstFft-1.0-custom.vala   |   20 +
 vapi/metadata/GstFft-1.0.metadata      |    2 +
 vapi/metadata/GstPbutils-1.0.metadata  |    8 +
 vapi/metadata/GstRtp-1.0.metadata      |   19 +
 vapi/metadata/GstRtsp-1.0.metadata     |    5 +
 vapi/metadata/GstSdp-1.0.metadata      |    6 +
 vapi/metadata/GstTag-1.0.metadata      |   11 +
 vapi/metadata/GstVideo-1.0-custom.vala |   13 +
 vapi/metadata/GstVideo-1.0.metadata    |   15 +
 30 files changed, 3553 insertions(+), 0 deletions(-)
---
diff --git a/vapi/Makefile.am b/vapi/Makefile.am
index c8d9f2a..7084b25 100644
--- a/vapi/Makefile.am
+++ b/vapi/Makefile.am
@@ -114,14 +114,32 @@ dist_vapi_DATA = \
 	gstreamer-video-0.10.deps \
 	gstreamer-video-0.10.vapi \
 	gstreamer-1.0.vapi \
+	gstreamer-app-1.0.vapi \
+	gstreamer-app-1.0.deps \
+	gstreamer-audio-1.0.vapi \
+	gstreamer-audio-1.0.deps \
 	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-fft-1.0.vapi \
+	gstreamer-fft-1.0.deps \
 	gstreamer-net-1.0.vapi \
 	gstreamer-net-1.0.deps \
+	gstreamer-pbutils-1.0.vapi \
+	gstreamer-pbutils-1.0.deps \
+	gstreamer-rtp-1.0.vapi \
+	gstreamer-rtp-1.0.deps \
+	gstreamer-rtsp-1.0.vapi \
+	gstreamer-rtsp-1.0.deps \
+	gstreamer-sdp-1.0.vapi \
+	gstreamer-sdp-1.0.deps \
+	gstreamer-tag-1.0.vapi \
+	gstreamer-tag-1.0.deps \
+	gstreamer-video-1.0.vapi \
+	gstreamer-video-1.0.deps \
 	gtk+-2.0.deps \
 	gtk+-2.0.vapi \
 	gtk+-3.0.deps \
@@ -333,6 +351,15 @@ GSTREAMER_1_0_BINDINGS = \
 	gstreamer-check-1.0 \
 	gstreamer-controller-1.0 \
 	gstreamer-net-1.0 \
+	gstreamer-app-1.0 \
+	gstreamer-audio-1.0 \
+	gstreamer-fft-1.0 \
+	gstreamer-pbutils-1.0 \
+	gstreamer-rtp-1.0 \
+	gstreamer-sdp-1.0 \
+	gstreamer-rtsp-1.0 \
+	gstreamer-tag-1.0 \
+	gstreamer-video-1.0 \
 	$(NULL)
 
 GIR_BINDINGS = \
@@ -518,18 +545,45 @@ gstreamer-video-0.10:
 gstreamer-1.0:
 	$(GENVAPI) --library $(srcdir)/gstreamer-1.0 --metadatadir $(METADATADIR) $(METADATADIR)/Gst-1.0-custom.vala $(GIRDIR)/Gst-1.0.gir
 
+gstreamer-app-1.0:
+	$(GENVAPI) --library $(srcdir)/gstreamer-app-1.0 --pkg gstreamer-base-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstApp-1.0.gir
+
+gstreamer-audio-1.0:
+	$(GENVAPI) --library $(srcdir)/gstreamer-audio-1.0 --pkg gstreamer-base-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstAudio-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-fft-1.0:
+	$(GENVAPI) --library $(srcdir)/gstreamer-fft-1.0 --pkg gstreamer-1.0 --metadatadir $(METADATADIR) $(METADATADIR)/GstFft-1.0-custom.vala $(GIRDIR)/GstFft-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
 
+gstreamer-pbutils-1.0:
+	$(GENVAPI) --library $(srcdir)/gstreamer-pbutils-1.0 --pkg gstreamer-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstPbutils-1.0.gir
+
+gstreamer-rtp-1.0:
+	$(GENVAPI) --library $(srcdir)/gstreamer-rtp-1.0 --pkg gstreamer-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstRtp-1.0.gir
+
+gstreamer-rtsp-1.0:
+	$(GENVAPI) --library $(srcdir)/gstreamer-rtsp-1.0 --pkg gstreamer-sdp-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstRtsp-1.0.gir
+
+gstreamer-sdp-1.0:
+	$(GENVAPI) --library $(srcdir)/gstreamer-sdp-1.0 --pkg gstreamer-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstSdp-1.0.gir
+
+gstreamer-tag-1.0:
+	$(GENVAPI) --library $(srcdir)/gstreamer-tag-1.0 --pkg gstreamer-base-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstTag-1.0.gir
+
+gstreamer-video-1.0:
+	$(GENVAPI) --library $(srcdir)/gstreamer-video-1.0 --pkg gstreamer-base-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstVideo-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-app-1.0.deps b/vapi/gstreamer-app-1.0.deps
new file mode 100644
index 0000000..2efe26d
--- /dev/null
+++ b/vapi/gstreamer-app-1.0.deps
@@ -0,0 +1 @@
+gstreamer-base-1.0
diff --git a/vapi/gstreamer-app-1.0.vapi b/vapi/gstreamer-app-1.0.vapi
new file mode 100644
index 0000000..34acd17
--- /dev/null
+++ b/vapi/gstreamer-app-1.0.vapi
@@ -0,0 +1,79 @@
+/* gstreamer-app-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gst", gir_namespace = "GstApp", gir_version = "1.0", lower_case_cprefix = "gst_")]
+namespace Gst {
+	namespace App {
+		[CCode (cheader_filename = "gst/app/gstappsink.h,gst/app/gstappsrc.h", type_id = "gst_app_sink_get_type ()")]
+		[GIR (name = "AppSink")]
+		public class Sink : Gst.Base.Sink, Gst.URIHandler {
+			[CCode (has_construct_function = false)]
+			protected Sink ();
+			public Gst.Caps get_caps ();
+			public bool get_drop ();
+			public bool get_emit_signals ();
+			public uint get_max_buffers ();
+			public bool is_eos ();
+			public void set_caps (Gst.Caps caps);
+			public void set_drop (bool drop);
+			public void set_emit_signals (bool emit);
+			public void set_max_buffers (uint max);
+			public Gst.Caps caps { owned get; set; }
+			public bool drop { get; set; }
+			public bool emit_signals { get; set; }
+			[NoAccessorMethod]
+			public virtual bool eos { get; }
+			public uint max_buffers { get; set; }
+			public virtual signal void new_preroll ();
+			public virtual signal void new_sample ();
+			[HasEmitter]
+			public virtual signal Gst.Sample pull_preroll ();
+			[HasEmitter]
+			public virtual signal Gst.Sample pull_sample ();
+		}
+		[CCode (cheader_filename = "gst/app/gstappsink.h,gst/app/gstappsrc.h", type_id = "gst_app_src_get_type ()")]
+		[GIR (name = "AppSrc")]
+		public class Src : Gst.Base.Src, Gst.URIHandler {
+			[CCode (has_construct_function = false)]
+			protected Src ();
+			public virtual Gst.FlowReturn end_of_stream ();
+			public Gst.Caps get_caps ();
+			public bool get_emit_signals ();
+			public void get_latency (uint64 min, uint64 max);
+			public uint64 get_max_bytes ();
+			public int64 get_size ();
+			public Gst.App.StreamType get_stream_type ();
+			public virtual Gst.FlowReturn push_buffer (Gst.Buffer buffer);
+			public void set_caps (Gst.Caps caps);
+			public void set_emit_signals (bool emit);
+			public void set_latency (uint64 min, uint64 max);
+			public void set_max_bytes (uint64 max);
+			public void set_size (int64 size);
+			public void set_stream_type (Gst.App.StreamType type);
+			[NoAccessorMethod]
+			public bool block { get; set; }
+			public Gst.Caps caps { owned get; set; }
+			public bool emit_signals { get; set; }
+			[NoAccessorMethod]
+			public bool is_live { get; set; }
+			public uint64 max_bytes { get; set; }
+			[NoAccessorMethod]
+			public int64 max_latency { get; set; }
+			[NoAccessorMethod]
+			public int64 min_latency { get; set; }
+			[NoAccessorMethod]
+			public uint min_percent { get; set; }
+			public int64 size { get; set; }
+			public Gst.App.StreamType stream_type { get; set; }
+			public virtual signal void enough_data ();
+			public virtual signal void need_data (uint length);
+			public virtual signal bool seek_data (uint64 offset);
+		}
+		[CCode (cheader_filename = "gst/app/gstappsink.h,gst/app/gstappsrc.h", cprefix = "GST_APP_STREAM_TYPE_", type_id = "gst_app_stream_type_get_type ()")]
+		[GIR (name = "AppStreamType")]
+		public enum StreamType {
+			STREAM,
+			SEEKABLE,
+			RANDOM_ACCESS
+		}
+	}
+}
diff --git a/vapi/gstreamer-audio-1.0.deps b/vapi/gstreamer-audio-1.0.deps
new file mode 100644
index 0000000..2efe26d
--- /dev/null
+++ b/vapi/gstreamer-audio-1.0.deps
@@ -0,0 +1 @@
+gstreamer-base-1.0
diff --git a/vapi/gstreamer-audio-1.0.vapi b/vapi/gstreamer-audio-1.0.vapi
new file mode 100644
index 0000000..5e307ec
--- /dev/null
+++ b/vapi/gstreamer-audio-1.0.vapi
@@ -0,0 +1,656 @@
+/* gstreamer-audio-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gst", gir_namespace = "GstAudio", gir_version = "1.0", lower_case_cprefix = "gst_")]
+namespace Gst {
+	namespace Audio {
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", type_id = "gst_audio_base_sink_get_type ()")]
+		[GIR (name = "AudioBaseSink")]
+		public class BaseSink : Gst.Base.Sink {
+			public bool eos_rendering;
+			public uint64 next_sample;
+			public Gst.Clock provided_clock;
+			public weak Gst.Audio.RingBuffer ringbuffer;
+			[CCode (has_construct_function = false)]
+			protected BaseSink ();
+			public virtual unowned Gst.Audio.RingBuffer create_ringbuffer ();
+			public Gst.ClockTime get_alignment_threshold ();
+			public Gst.ClockTime get_discont_wait ();
+			public int64 get_drift_tolerance ();
+			public bool get_provide_clock ();
+			public Gst.Audio.BaseSinkSlaveMethod get_slave_method ();
+			[NoWrapper]
+			public virtual Gst.Buffer payload (Gst.Buffer buffer);
+			public void set_alignment_threshold (Gst.ClockTime alignment_threshold);
+			public void set_discont_wait (Gst.ClockTime discont_wait);
+			public void set_drift_tolerance (int64 drift_tolerance);
+			public void set_provide_clock (bool provide);
+			public void set_slave_method (Gst.Audio.BaseSinkSlaveMethod method);
+			public uint64 alignment_threshold { get; set; }
+			[NoAccessorMethod]
+			public int64 buffer_time { get; set; }
+			[NoAccessorMethod]
+			public bool can_activate_pull { get; set; }
+			public uint64 discont_wait { get; set; }
+			public int64 drift_tolerance { get; set; }
+			[NoAccessorMethod]
+			public int64 latency_time { get; set; }
+			public bool provide_clock { get; set; }
+			public Gst.Audio.BaseSinkSlaveMethod slave_method { get; set; }
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", type_id = "gst_audio_base_src_get_type ()")]
+		[GIR (name = "AudioBaseSrc")]
+		public class BaseSrc : Gst.Base.PushSrc {
+			public weak Gst.Clock clock;
+			public uint64 next_sample;
+			public weak Gst.Audio.RingBuffer ringbuffer;
+			[CCode (has_construct_function = false)]
+			protected BaseSrc ();
+			public virtual unowned Gst.Audio.RingBuffer create_ringbuffer ();
+			public bool get_provide_clock ();
+			public Gst.Audio.BaseSrcSlaveMethod get_slave_method ();
+			public void set_provide_clock (bool provide);
+			public void set_slave_method (Gst.Audio.BaseSrcSlaveMethod method);
+			[NoAccessorMethod]
+			public int64 actual_buffer_time { get; }
+			[NoAccessorMethod]
+			public int64 actual_latency_time { get; }
+			[NoAccessorMethod]
+			public int64 buffer_time { get; set; }
+			[NoAccessorMethod]
+			public int64 latency_time { get; set; }
+			public bool provide_clock { get; set; }
+			public Gst.Audio.BaseSrcSlaveMethod slave_method { get; set; }
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", type_id = "gst_audio_cd_src_get_type ()")]
+		[GIR (name = "AudioCdSrc")]
+		public class CdSrc : Gst.Base.PushSrc, Gst.URIHandler {
+			public weak Gst.TagList tags;
+			[CCode (has_construct_function = false)]
+			protected CdSrc ();
+			public bool add_track (Gst.Audio.CdSrcTrack track);
+			[NoWrapper]
+			public virtual void close ();
+			[NoWrapper]
+			public virtual bool open (string device);
+			[NoWrapper]
+			public virtual Gst.Buffer read_sector (int sector);
+			[NoAccessorMethod]
+			public string device { owned get; set; }
+			[NoAccessorMethod]
+			public Gst.Audio.CdSrcMode mode { get; set; }
+			[NoAccessorMethod]
+			public uint track { get; set; }
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", type_id = "gst_audio_clock_get_type ()")]
+		[GIR (name = "AudioClock")]
+		public class Clock : Gst.SystemClock {
+			[CCode (has_construct_function = false, type = "GstClock*")]
+			public Clock (string name, owned Gst.Audio.ClockGetTimeFunc func);
+			public static Gst.ClockTime adjust (Gst.Clock clock, Gst.ClockTime time);
+			public static Gst.ClockTime get_time (Gst.Clock clock);
+			public static void invalidate (Gst.Clock clock);
+			public void reset (Gst.ClockTime time);
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", type_id = "gst_audio_decoder_get_type ()")]
+		[GIR (name = "AudioDecoder")]
+		public abstract class Decoder : Gst.Element {
+			public weak Gst.Segment input_segment;
+			public weak Gst.Segment output_segment;
+			public weak Gst.Pad sinkpad;
+			public weak Gst.Pad srcpad;
+			public GLib.RecMutex stream_lock;
+			[CCode (has_construct_function = false)]
+			protected Decoder ();
+			public Gst.Buffer allocate_output_buffer (size_t size);
+			[NoWrapper]
+			public virtual bool close ();
+			[NoWrapper]
+			public virtual bool decide_allocation (Gst.Query query);
+			public Gst.FlowReturn finish_frame (Gst.Buffer buf, int frames);
+			[NoWrapper]
+			public virtual void flush (bool hard);
+			public Gst.Audio.Info get_audio_info ();
+			public int get_delay ();
+			public bool get_drainable ();
+			public int get_estimate_rate ();
+			public void get_latency (out Gst.ClockTime min, out Gst.ClockTime max);
+			public int get_max_errors ();
+			public int64 get_min_latency ();
+			public bool get_needs_format ();
+			public void get_parse_state (bool sync, bool eos);
+			public bool get_plc ();
+			public int get_plc_aware ();
+			public int64 get_tolerance ();
+			[NoWrapper]
+			public virtual Gst.FlowReturn handle_frame (Gst.Buffer buffer);
+			public void merge_tags (Gst.TagList tags, Gst.TagMergeMode mode);
+			public virtual bool negotiate ();
+			[NoWrapper]
+			public virtual bool open ();
+			[NoWrapper]
+			public virtual Gst.FlowReturn parse (Gst.Base.Adapter adapter, int offset, int length);
+			[NoWrapper]
+			public virtual Gst.FlowReturn pre_push (Gst.Buffer buffer);
+			[NoWrapper]
+			public virtual bool propose_allocation (Gst.Query query);
+			public void set_drainable (bool enabled);
+			public void set_estimate_rate (bool enabled);
+			[NoWrapper]
+			public virtual bool set_format (Gst.Caps caps);
+			public void set_latency (Gst.ClockTime min, Gst.ClockTime max);
+			public void set_max_errors (int num);
+			public void set_min_latency (int64 num);
+			public void set_needs_format (bool enabled);
+			public bool set_output_format (Gst.Audio.Info info);
+			public void set_plc (bool enabled);
+			public void set_plc_aware (bool plc);
+			public void set_tolerance (int64 tolerance);
+			[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 ();
+			public int64 min_latency { get; set; }
+			public bool plc { get; set; }
+			public int64 tolerance { get; set; }
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", type_id = "gst_audio_encoder_get_type ()")]
+		[GIR (name = "AudioEncoder")]
+		public abstract class Encoder : Gst.Element, Gst.Preset {
+			public weak Gst.Segment input_segment;
+			public weak Gst.Segment output_segment;
+			public weak Gst.Pad sinkpad;
+			public weak Gst.Pad srcpad;
+			public GLib.RecMutex stream_lock;
+			[CCode (has_construct_function = false)]
+			protected Encoder ();
+			public Gst.Buffer allocate_output_buffer (size_t size);
+			[NoWrapper]
+			public virtual bool close ();
+			[NoWrapper]
+			public virtual bool decide_allocation (Gst.Query query);
+			public Gst.FlowReturn finish_frame (Gst.Buffer buffer, int samples);
+			[NoWrapper]
+			public virtual void flush ();
+			public Gst.Audio.Info get_audio_info ();
+			public bool get_drainable ();
+			public int get_frame_max ();
+			public int get_frame_samples_max ();
+			public int get_frame_samples_min ();
+			public bool get_hard_min ();
+			public bool get_hard_resync ();
+			public void get_latency (out Gst.ClockTime min, out Gst.ClockTime max);
+			public int get_lookahead ();
+			public bool get_mark_granule ();
+			public bool get_perfect_timestamp ();
+			public int64 get_tolerance ();
+			[NoWrapper]
+			public virtual Gst.Caps getcaps (Gst.Caps filter);
+			[NoWrapper]
+			public virtual Gst.FlowReturn handle_frame (Gst.Buffer buffer);
+			public void merge_tags (Gst.TagList tags, Gst.TagMergeMode mode);
+			public virtual bool negotiate ();
+			[NoWrapper]
+			public virtual bool open ();
+			[NoWrapper]
+			public virtual Gst.FlowReturn pre_push (Gst.Buffer buffer);
+			[NoWrapper]
+			public virtual bool propose_allocation (Gst.Query query);
+			public Gst.Caps proxy_getcaps (Gst.Caps caps, Gst.Caps filter);
+			public void set_drainable (bool enabled);
+			[NoWrapper]
+			public virtual bool set_format (Gst.Audio.Info info);
+			public void set_frame_max (int num);
+			public void set_frame_samples_max (int num);
+			public void set_frame_samples_min (int num);
+			public void set_hard_min (bool enabled);
+			public void set_hard_resync (bool enabled);
+			public void set_headers (owned GLib.List<Gst.Buffer> headers);
+			public void set_latency (Gst.ClockTime min, Gst.ClockTime max);
+			public void set_lookahead (int num);
+			public void set_mark_granule (bool enabled);
+			public bool set_output_format (Gst.Caps caps);
+			public void set_perfect_timestamp (bool enabled);
+			public void set_tolerance (int64 tolerance);
+			[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 ();
+			public bool hard_resync { get; set; }
+			public bool mark_granule { get; }
+			public bool perfect_timestamp { get; set; }
+			public int64 tolerance { get; set; }
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", type_id = "gst_audio_filter_get_type ()")]
+		[GIR (name = "AudioFilter")]
+		public abstract class Filter : Gst.Base.Transform {
+			public weak Gst.Audio.Info info;
+			[CCode (has_construct_function = false)]
+			protected Filter ();
+			[NoWrapper]
+			public virtual bool setup (Gst.Audio.Info info);
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_audio_info_get_type ()")]
+		[Compact]
+		[GIR (name = "AudioInfo")]
+		public class Info {
+			public int bpf;
+			public int channels;
+			public Gst.Audio.FormatInfo finfo;
+			public Gst.Audio.Flags flags;
+			public Gst.Audio.Layout layout;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak Gst.Audio.ChannelPosition[] position;
+			public int rate;
+			[CCode (has_construct_function = false)]
+			public Info ();
+			public bool convert (Gst.Format src_fmt, int64 src_val, Gst.Format dest_fmt, int64 dest_val);
+			public Gst.Audio.Info copy ();
+			public void free ();
+			public bool from_caps (Gst.Caps caps);
+			public void init ();
+			public void set_format (Gst.Audio.Format format, int rate, int channels, Gst.Audio.ChannelPosition position);
+			public Gst.Caps to_caps ();
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", type_id = "gst_audio_ring_buffer_get_type ()")]
+		[GIR (name = "AudioRingBuffer")]
+		public abstract class RingBuffer : Gst.Object {
+			public bool acquired;
+			public weak GLib.Cond cond;
+			public uint8 empty_seg;
+			public uint8 memory;
+			public bool open;
+			public int samples_per_seg;
+			public int segbase;
+			public int segdone;
+			public size_t size;
+			public Gst.Audio.RingBufferSpec spec;
+			public int state;
+			public int waiting;
+			[CCode (has_construct_function = false)]
+			protected RingBuffer ();
+			public virtual bool acquire (Gst.Audio.RingBufferSpec spec);
+			public virtual bool activate (bool active);
+			public void advance (uint advance);
+			public void clear (int segment);
+			public virtual void clear_all ();
+			public virtual bool close_device ();
+			public virtual uint commit (uint64 sample, uint8 data, int in_samples, int out_samples, int accum);
+			public bool convert (Gst.Format src_fmt, int64 src_val, Gst.Format dest_fmt, int64 dest_val);
+			public static void debug_spec_buff (Gst.Audio.RingBufferSpec spec);
+			public static void debug_spec_caps (Gst.Audio.RingBufferSpec spec);
+			public virtual uint delay ();
+			public bool device_is_open ();
+			public bool is_acquired ();
+			public bool is_active ();
+			public void may_start (bool allowed);
+			public virtual bool open_device ();
+			public static bool parse_caps (Gst.Audio.RingBufferSpec spec, Gst.Caps caps);
+			public virtual bool pause ();
+			public bool prepare_read (int segment, uint8 readptr, int len);
+			public uint read (uint64 sample, uint8 data, uint len);
+			public virtual bool release ();
+			[NoWrapper]
+			public virtual bool resume ();
+			public uint64 samples_done ();
+			public void set_channel_positions (Gst.Audio.ChannelPosition position);
+			public void set_flushing (bool flushing);
+			public void set_sample (uint64 sample);
+			public virtual bool start ();
+			public virtual bool stop ();
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", type_id = "gst_audio_sink_get_type ()")]
+		[GIR (name = "AudioSink")]
+		public class Sink : Gst.Audio.BaseSink {
+			[CCode (has_construct_function = false)]
+			protected Sink ();
+			[NoWrapper]
+			public virtual bool close ();
+			[NoWrapper]
+			public virtual uint delay ();
+			[NoWrapper]
+			public virtual bool open ();
+			[NoWrapper]
+			public virtual bool prepare (Gst.Audio.RingBufferSpec spec);
+			[NoWrapper]
+			public virtual void reset ();
+			[NoWrapper]
+			public virtual bool unprepare ();
+			[NoWrapper]
+			public virtual int write ([CCode (array_length_cname = "length", array_length_pos = 1.1, array_length_type = "guint", type = "gpointer")] uint8[] data);
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", type_id = "gst_audio_src_get_type ()")]
+		[GIR (name = "AudioSrc")]
+		public class Src : Gst.Audio.BaseSrc {
+			[CCode (has_construct_function = false)]
+			protected Src ();
+			[NoWrapper]
+			public virtual bool close ();
+			[NoWrapper]
+			public virtual uint delay ();
+			[NoWrapper]
+			public virtual bool open ();
+			[NoWrapper]
+			public virtual bool prepare (Gst.Audio.RingBufferSpec spec);
+			[NoWrapper]
+			public virtual uint read ([CCode (array_length_cname = "length", array_length_pos = 1.1, array_length_type = "guint", type = "gpointer")] uint8[] data);
+			[NoWrapper]
+			public virtual void reset ();
+			[NoWrapper]
+			public virtual bool unprepare ();
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GstStreamVolume", type_cname = "GstStreamVolumeInterface", type_id = "gst_stream_volume_get_type ()")]
+		[GIR (name = "StreamVolume")]
+		public interface StreamVolume : GLib.Object {
+			[CCode (cname = "gst_stream_volume_convert_volume")]
+			public static double convert_volume (Gst.Audio.StreamVolumeFormat from, Gst.Audio.StreamVolumeFormat to, double val);
+			[CCode (cname = "gst_stream_volume_get_mute")]
+			public bool get_mute ();
+			[CCode (cname = "gst_stream_volume_get_volume")]
+			public double get_volume (Gst.Audio.StreamVolumeFormat format);
+			[CCode (cname = "gst_stream_volume_set_mute")]
+			public void set_mute (bool mute);
+			[CCode (cname = "gst_stream_volume_set_volume")]
+			public void set_volume (Gst.Audio.StreamVolumeFormat format, double val);
+			[NoAccessorMethod]
+			public abstract bool mute { get; set; }
+			[NoAccessorMethod]
+			public abstract double volume { get; set; }
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", has_type_id = false)]
+		[GIR (name = "AudioCdSrcTrack")]
+		public struct CdSrcTrack {
+			public bool is_audio;
+			public uint num;
+			public uint start;
+			public uint end;
+			public weak Gst.TagList tags;
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", has_type_id = false)]
+		[GIR (name = "AudioDownmixMeta")]
+		public struct DownmixMeta {
+			public Gst.Meta meta;
+			public Gst.Audio.ChannelPosition from_position;
+			public Gst.Audio.ChannelPosition to_position;
+			public int from_channels;
+			public int to_channels;
+			public float matrix;
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", has_type_id = false)]
+		[GIR (name = "AudioFormatInfo")]
+		public struct FormatInfo {
+			public Gst.Audio.Format format;
+			public weak string name;
+			public weak string description;
+			public Gst.Audio.FormatFlags flags;
+			public int endianness;
+			public int width;
+			public int depth;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak uint8[] silence;
+			public Gst.Audio.Format unpack_format;
+			public weak Gst.Audio.FormatUnpack unpack_func;
+			public weak Gst.Audio.FormatPack pack_func;
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", has_type_id = false)]
+		[GIR (name = "AudioRingBufferSpec")]
+		public struct RingBufferSpec {
+			public weak Gst.Caps caps;
+			public Gst.Audio.RingBufferFormatType type;
+			public weak Gst.Audio.Info info;
+			public uint64 latency_time;
+			public uint64 buffer_time;
+			public int segsize;
+			public int segtotal;
+			public int seglatency;
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cprefix = "GST_AUDIO_BASE_SINK_SLAVE_", type_id = "gst_audio_base_sink_slave_method_get_type ()")]
+		[GIR (name = "AudioBaseSinkSlaveMethod")]
+		public enum BaseSinkSlaveMethod {
+			RESAMPLE,
+			SKEW,
+			NONE
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cprefix = "GST_AUDIO_BASE_SRC_SLAVE_", type_id = "gst_audio_base_src_slave_method_get_type ()")]
+		[GIR (name = "AudioBaseSrcSlaveMethod")]
+		public enum BaseSrcSlaveMethod {
+			RESAMPLE,
+			[CCode (cname = "GST_AUDIO_BASE_SRC_SLAVE_RETIMESTAMP")]
+			RE_TIMESTAMP,
+			SKEW,
+			NONE
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cprefix = "", type_id = "gst_audio_cd_src_mode_get_type ()")]
+		[GIR (name = "AudioCdSrcMode")]
+		public enum CdSrcMode {
+			[CCode (cname = "Stream consists of a single track")]
+			NORMAL,
+			[CCode (cname = "Stream consists of the whole disc")]
+			CONTINUOUS
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cprefix = "GST_AUDIO_CHANNEL_POSITION_", type_id = "gst_audio_channel_position_get_type ()")]
+		[GIR (name = "AudioChannelPosition")]
+		public enum ChannelPosition {
+			NONE,
+			MONO,
+			INVALID,
+			FRONT_LEFT,
+			FRONT_RIGHT,
+			FRONT_CENTER,
+			LFE1,
+			REAR_LEFT,
+			REAR_RIGHT,
+			FRONT_LEFT_OF_CENTER,
+			FRONT_RIGHT_OF_CENTER,
+			REAR_CENTER,
+			LFE2,
+			SIDE_LEFT,
+			SIDE_RIGHT,
+			TOP_FRONT_LEFT,
+			TOP_FRONT_RIGHT,
+			TOP_FRONT_CENTER,
+			TOP_CENTER,
+			TOP_REAR_LEFT,
+			TOP_REAR_RIGHT,
+			TOP_SIDE_LEFT,
+			TOP_SIDE_RIGHT,
+			TOP_REAR_CENTER,
+			BOTTOM_FRONT_CENTER,
+			BOTTOM_FRONT_LEFT,
+			BOTTOM_FRONT_RIGHT,
+			WIDE_LEFT,
+			WIDE_RIGHT,
+			SURROUND_LEFT,
+			SURROUND_RIGHT
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cprefix = "GST_AUDIO_FLAG_", type_id = "gst_audio_flags_get_type ()")]
+		[Flags]
+		[GIR (name = "AudioFlags")]
+		public enum Flags {
+			NONE,
+			UNPOSITIONED
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cprefix = "GST_AUDIO_FORMAT_", type_id = "gst_audio_format_get_type ()")]
+		[GIR (name = "AudioFormat")]
+		public enum Format {
+			UNKNOWN,
+			ENCODED,
+			S8,
+			U8,
+			S16LE,
+			S16BE,
+			U16LE,
+			U16BE,
+			S24_32LE,
+			S24_32BE,
+			U24_32LE,
+			U24_32BE,
+			S32LE,
+			S32BE,
+			U32LE,
+			U32BE,
+			S24LE,
+			S24BE,
+			U24LE,
+			U24BE,
+			S20LE,
+			S20BE,
+			U20LE,
+			U20BE,
+			S18LE,
+			S18BE,
+			U18LE,
+			U18BE,
+			F32LE,
+			F32BE,
+			F64LE,
+			F64BE,
+			S16,
+			U16,
+			S24_32,
+			U24_32,
+			S32,
+			U32,
+			S24,
+			U24,
+			S20,
+			U20,
+			S18,
+			U18,
+			F32,
+			F64
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cprefix = "GST_AUDIO_FORMAT_FLAG_", type_id = "gst_audio_format_flags_get_type ()")]
+		[Flags]
+		[GIR (name = "AudioFormatFlags")]
+		public enum FormatFlags {
+			INTEGER,
+			FLOAT,
+			SIGNED,
+			COMPLEX,
+			UNPACK
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cprefix = "GST_AUDIO_LAYOUT_", type_id = "gst_audio_layout_get_type ()")]
+		[GIR (name = "AudioLayout")]
+		public enum Layout {
+			INTERLEAVED,
+			NON_INTERLEAVED
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cprefix = "GST_AUDIO_PACK_FLAG_", type_id = "gst_audio_pack_flags_get_type ()")]
+		[GIR (name = "AudioPackFlags")]
+		public enum PackFlags {
+			NONE
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cprefix = "GST_AUDIO_RING_BUFFER_FORMAT_TYPE_", type_id = "gst_audio_ring_buffer_format_type_get_type ()")]
+		[GIR (name = "AudioRingBufferFormatType")]
+		public enum RingBufferFormatType {
+			RAW,
+			MU_LAW,
+			A_LAW,
+			IMA_ADPCM,
+			MPEG,
+			GSM,
+			IEC958,
+			AC3,
+			EAC3,
+			DTS,
+			MPEG2_AAC,
+			MPEG4_AAC
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cprefix = "GST_AUDIO_RING_BUFFER_STATE_", type_id = "gst_audio_ring_buffer_state_get_type ()")]
+		[GIR (name = "AudioRingBufferState")]
+		public enum RingBufferState {
+			STOPPED,
+			PAUSED,
+			STARTED
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GstStreamVolumeFormat", cprefix = "GST_STREAM_VOLUME_FORMAT_", has_type_id = false)]
+		[GIR (name = "StreamVolumeFormat")]
+		public enum StreamVolumeFormat {
+			LINEAR,
+			CUBIC,
+			DB
+		}
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", instance_pos = 1.9)]
+		public delegate Gst.ClockTime ClockGetTimeFunc (Gst.Clock clock);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", has_target = false)]
+		public delegate void FormatPack (Gst.Audio.FormatInfo info, Gst.Audio.PackFlags flags, [CCode (array_length = false)] uint8[] src, [CCode (array_length = false)] uint8[] data, int length);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", has_target = false)]
+		public delegate void FormatUnpack (Gst.Audio.FormatInfo info, Gst.Audio.PackFlags flags, [CCode (array_length = false)] uint8[] dest, [CCode (array_length = false)] uint8[] data, int length);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", instance_pos = 2.9)]
+		public delegate void RingBufferCallback (Gst.Audio.RingBuffer rbuf, [CCode (array_length_cname = "len", array_length_pos = 2.1, array_length_type = "guint")] uint8[] data);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GST_AUDIO_CHANNELS_RANGE")]
+		public const string CHANNELS_RANGE;
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GST_AUDIO_DECODER_MAX_ERRORS")]
+		public const int DECODER_MAX_ERRORS;
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GST_AUDIO_DECODER_SINK_NAME")]
+		public const string DECODER_SINK_NAME;
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GST_AUDIO_DECODER_SRC_NAME")]
+		public const string DECODER_SRC_NAME;
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GST_AUDIO_DEF_CHANNELS")]
+		public const int DEF_CHANNELS;
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GST_AUDIO_DEF_FORMAT")]
+		public const string DEF_FORMAT;
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GST_AUDIO_DEF_RATE")]
+		public const int DEF_RATE;
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GST_AUDIO_ENCODER_SINK_NAME")]
+		public const string ENCODER_SINK_NAME;
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GST_AUDIO_ENCODER_SRC_NAME")]
+		public const string ENCODER_SRC_NAME;
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GST_AUDIO_FORMATS_ALL")]
+		public const string FORMATS_ALL;
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GST_AUDIO_RATE_RANGE")]
+		public const string RATE_RANGE;
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GST_TAG_CDDA_TRACK_TAGS")]
+		public const string TAG_CDDA_TRACK_TAGS;
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_buffer_clip")]
+		public static Gst.Buffer audio_buffer_clip (Gst.Buffer buffer, Gst.Segment segment, int rate, int bpf);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_buffer_reorder_channels")]
+		public static bool audio_buffer_reorder_channels (Gst.Buffer buffer, Gst.Audio.Format format, int channels, [CCode (array_length = false)] Gst.Audio.ChannelPosition[] from, [CCode (array_length = false)] Gst.Audio.ChannelPosition[] to);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_channel_positions_from_mask")]
+		public static bool audio_channel_positions_from_mask (uint64 channel_mask, [CCode (array_length_cname = "channels", array_length_pos = 0.5)] Gst.Audio.ChannelPosition[] position);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_channel_positions_to_mask")]
+		public static bool audio_channel_positions_to_mask ([CCode (array_length_cname = "channels", array_length_pos = 1.5)] Gst.Audio.ChannelPosition[] position, bool force_order, [CCode (array_length = false)] uint64[] channel_mask);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_channel_positions_to_valid_order")]
+		public static bool audio_channel_positions_to_valid_order ([CCode (array_length_cname = "channels", array_length_pos = 1.1)] Gst.Audio.ChannelPosition[] position);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_check_valid_channel_positions")]
+		public static bool audio_check_valid_channel_positions ([CCode (array_length_cname = "channels", array_length_pos = 1.5)] Gst.Audio.ChannelPosition[] position, bool force_order);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_downmix_meta_api_get_type")]
+		public static GLib.Type audio_downmix_meta_api_get_type ();
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_downmix_meta_get_info")]
+		public static Gst.MetaInfo audio_downmix_meta_get_info ();
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_format_build_integer")]
+		public static Gst.Audio.Format audio_format_build_integer (bool sign, int endianness, int width, int depth);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_format_fill_silence")]
+		public static void audio_format_fill_silence (Gst.Audio.FormatInfo info, [CCode (array_length_cname = "length", array_length_pos = 2.1, array_length_type = "gsize")] uint8[] dest);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_format_from_string")]
+		public static Gst.Audio.Format audio_format_from_string (string format);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_format_get_info")]
+		public static Gst.Audio.FormatInfo audio_format_get_info (Gst.Audio.Format format);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_format_info_get_type")]
+		public static GLib.Type audio_format_info_get_type ();
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_format_to_string")]
+		public static unowned string audio_format_to_string (Gst.Audio.Format format);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_get_channel_reorder_map")]
+		public static bool audio_get_channel_reorder_map (int channels, [CCode (array_length = false)] Gst.Audio.ChannelPosition[] from, [CCode (array_length = false)] Gst.Audio.ChannelPosition[] to, [CCode (array_length = false)] int[] reorder_map);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_iec61937_frame_size")]
+		public static uint audio_iec61937_frame_size (Gst.Audio.RingBufferSpec spec);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_iec61937_payload")]
+		public static bool audio_iec61937_payload ([CCode (array_length_cname = "src_n", array_length_pos = 1.5, array_length_type = "guint")] uint8[] src, [CCode (array_length_cname = "dst_n", array_length_pos = 2.5, array_length_type = "guint")] uint8[] dst, Gst.Audio.RingBufferSpec spec);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_reorder_channels")]
+		public static bool audio_reorder_channels ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] data, Gst.Audio.Format format, int channels, [CCode (array_length = false)] Gst.Audio.ChannelPosition[] from, [CCode (array_length = false)] Gst.Audio.ChannelPosition[] to);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_buffer_add_audio_downmix_meta")]
+		public static Gst.Audio.DownmixMeta buffer_add_audio_downmix_meta (Gst.Buffer buffer, [CCode (array_length_cname = "from_channels", array_length_pos = 2.5)] Gst.Audio.ChannelPosition[] from_position, [CCode (array_length_cname = "to_channels", array_length_pos = 3.5)] Gst.Audio.ChannelPosition[] to_position, float matrix);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_buffer_get_audio_downmix_meta_for_channels")]
+		public static Gst.Audio.DownmixMeta buffer_get_audio_downmix_meta_for_channels (Gst.Buffer buffer, [CCode (array_length_cname = "to_channels", array_length_pos = 2.1)] Gst.Audio.ChannelPosition[] to_position);
+		[CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_stream_volume_convert_volume")]
+		public static double stream_volume_convert_volume (Gst.Audio.StreamVolumeFormat from, Gst.Audio.StreamVolumeFormat to, double val);
+	}
+}
diff --git a/vapi/gstreamer-fft-1.0.deps b/vapi/gstreamer-fft-1.0.deps
new file mode 100644
index 0000000..26a0edb
--- /dev/null
+++ b/vapi/gstreamer-fft-1.0.deps
@@ -0,0 +1 @@
+gstreamer-1.0
diff --git a/vapi/gstreamer-fft-1.0.vapi b/vapi/gstreamer-fft-1.0.vapi
new file mode 100644
index 0000000..88c7165
--- /dev/null
+++ b/vapi/gstreamer-fft-1.0.vapi
@@ -0,0 +1,82 @@
+/* gstreamer-fft-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gst", gir_namespace = "GstFft", gir_version = "1.0", lower_case_cprefix = "gst_")]
+namespace Gst {
+	namespace FFT {
+		[CCode (cheader_filename = "gst/fft/gstfft.h,gst/fft/gstfftf32.h,gst/fft/gstfftf64.h,gst/fft/gstffts16.h,gst/fft/gstffts32.h")]
+		[Compact]
+		[GIR (name = "FFTF32")]
+		public class F32 {
+			public F32 (int len, bool inverse);
+			public void fft (float timedata, Gst.FFT.F32Complex freqdata);
+			public void free ();
+			public void inverse_fft (Gst.FFT.F32Complex freqdata, float timedata);
+			public void window (float timedata, Gst.FFT.Window window);
+		}
+		[CCode (cheader_filename = "gst/fft/gstfft.h,gst/fft/gstfftf32.h,gst/fft/gstfftf64.h,gst/fft/gstffts16.h,gst/fft/gstffts32.h")]
+		[Compact]
+		[GIR (name = "FFTF64")]
+		public class F64 {
+			public F64 (int len, bool inverse);
+			public void fft (double timedata, Gst.FFT.F64Complex freqdata);
+			public void free ();
+			public void inverse_fft (Gst.FFT.F64Complex freqdata, double timedata);
+			public void window (double timedata, Gst.FFT.Window window);
+		}
+		[CCode (cheader_filename = "gst/fft/gstfft.h,gst/fft/gstfftf32.h,gst/fft/gstfftf64.h,gst/fft/gstffts16.h,gst/fft/gstffts32.h")]
+		[Compact]
+		[GIR (name = "FFTS16")]
+		public class S16 {
+			public S16 (int len, bool inverse);
+			public void fft (int16 timedata, Gst.FFT.S16Complex freqdata);
+			public void free ();
+			public void inverse_fft (Gst.FFT.S16Complex freqdata, int16 timedata);
+			public void window (int16 timedata, Gst.FFT.Window window);
+		}
+		[CCode (cheader_filename = "gst/fft/gstfft.h,gst/fft/gstfftf32.h,gst/fft/gstfftf64.h,gst/fft/gstffts16.h,gst/fft/gstffts32.h")]
+		[Compact]
+		[GIR (name = "FFTS32")]
+		public class S32 {
+			public S32 (int len, bool inverse);
+			public void fft (int32 timedata, Gst.FFT.S32Complex freqdata);
+			public void free ();
+			public void inverse_fft (Gst.FFT.S32Complex freqdata, int32 timedata);
+			public void window (int32 timedata, Gst.FFT.Window window);
+		}
+		[CCode (cheader_filename = "gst/fft/gstfft.h,gst/fft/gstfftf32.h,gst/fft/gstfftf64.h,gst/fft/gstffts16.h,gst/fft/gstffts32.h", has_type_id = false)]
+		[GIR (name = "FFTF32Complex")]
+		public struct F32Complex {
+			public float r;
+			public float i;
+		}
+		[CCode (cheader_filename = "gst/fft/gstfft.h,gst/fft/gstfftf32.h,gst/fft/gstfftf64.h,gst/fft/gstffts16.h,gst/fft/gstffts32.h", has_type_id = false)]
+		[GIR (name = "FFTF64Complex")]
+		public struct F64Complex {
+			public double r;
+			public double i;
+		}
+		[CCode (cheader_filename = "gst/fft/gstfft.h,gst/fft/gstfftf32.h,gst/fft/gstfftf64.h,gst/fft/gstffts16.h,gst/fft/gstffts32.h", has_type_id = false)]
+		[GIR (name = "FFTS16Complex")]
+		public struct S16Complex {
+			public int16 r;
+			public int16 i;
+		}
+		[CCode (cheader_filename = "gst/fft/gstfft.h,gst/fft/gstfftf32.h,gst/fft/gstfftf64.h,gst/fft/gstffts16.h,gst/fft/gstffts32.h", has_type_id = false)]
+		[GIR (name = "FFTS32Complex")]
+		public struct S32Complex {
+			public int32 r;
+			public int32 i;
+		}
+		[CCode (cheader_filename = "gst/fft/gstfft.h,gst/fft/gstfftf32.h,gst/fft/gstfftf64.h,gst/fft/gstffts16.h,gst/fft/gstffts32.h", cprefix = "GST_FFT_WINDOW_", has_type_id = false)]
+		[GIR (name = "FFTWindow")]
+		public enum Window {
+			RECTANGULAR,
+			HAMMING,
+			HANN,
+			BARTLETT,
+			BLACKMAN
+		}
+		[CCode (cheader_filename = "gst/fft/gstfft.h,gst/fft/gstfftf32.h,gst/fft/gstfftf64.h,gst/fft/gstffts16.h,gst/fft/gstffts32.h", cname = "gst_fft_next_fast_length")]
+		public static int fft_next_fast_length (int n);
+	}
+}
diff --git a/vapi/gstreamer-pbutils-1.0.deps b/vapi/gstreamer-pbutils-1.0.deps
new file mode 100644
index 0000000..26a0edb
--- /dev/null
+++ b/vapi/gstreamer-pbutils-1.0.deps
@@ -0,0 +1 @@
+gstreamer-1.0
diff --git a/vapi/gstreamer-pbutils-1.0.vapi b/vapi/gstreamer-pbutils-1.0.vapi
new file mode 100644
index 0000000..20482fb
--- /dev/null
+++ b/vapi/gstreamer-pbutils-1.0.vapi
@@ -0,0 +1,389 @@
+/* gstreamer-pbutils-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gst", gir_namespace = "GstPbutils", gir_version = "1.0", lower_case_cprefix = "gst_")]
+namespace Gst {
+	namespace PbUtils {
+		namespace Codec {
+			namespace AAC {
+				[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_codec_utils_aac_caps_set_level_and_profile")]
+				public static bool caps_set_level_and_profile (Gst.Caps caps, uint8 audio_config, uint len);
+				[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_codec_utils_aac_get_level")]
+				public static unowned string get_level (uint8 audio_config, uint len);
+				[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_codec_utils_aac_get_profile")]
+				public static unowned string get_profile (uint8 audio_config, uint len);
+				[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_codec_utils_aac_get_sample_rate_from_index")]
+				public static uint get_sample_rate_from_index (uint sr_idx);
+			}
+			namespace H264 {
+				[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_codec_utils_h264_caps_set_level_and_profile")]
+				public static bool caps_set_level_and_profile (Gst.Caps caps, uint8 sps, uint len);
+				[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_codec_utils_h264_get_level")]
+				public static unowned string get_level (uint8 sps, uint len);
+				[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_codec_utils_h264_get_level_idc")]
+				public static uint8 get_level_idc (string level);
+				[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_codec_utils_h264_get_profile")]
+				public static unowned string get_profile (uint8 sps, uint len);
+			}
+			namespace MPEG4Video {
+				[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_codec_utils_mpeg4video_caps_set_level_and_profile")]
+				public static bool caps_set_level_and_profile (Gst.Caps caps, uint8 vis_obj_seq, uint len);
+				[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_codec_utils_mpeg4video_get_level")]
+				public static unowned string get_level (uint8 vis_obj_seq, uint len);
+				[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_codec_utils_mpeg4video_get_profile")]
+				public static unowned string get_profile (uint8 vis_obj_seq, uint len);
+			}
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstDiscoverer", type_id = "gst_discoverer_get_type ()")]
+		[GIR (name = "Discoverer")]
+		public class Discoverer : GLib.Object {
+			[CCode (cname = "gst_discoverer_new", has_construct_function = false)]
+			public Discoverer (Gst.ClockTime timeout) throws GLib.Error;
+			[CCode (cname = "gst_discoverer_discover_uri")]
+			public Gst.PbUtils.DiscovererInfo discover_uri (string uri) throws GLib.Error;
+			[CCode (cname = "gst_discoverer_discover_uri_async")]
+			public bool discover_uri_async (string uri);
+			[CCode (cname = "gst_discoverer_start")]
+			public void start ();
+			[CCode (cname = "gst_discoverer_stop")]
+			public void stop ();
+			[NoAccessorMethod]
+			public uint64 timeout { get; set construct; }
+			public virtual signal void discovered (Gst.PbUtils.DiscovererInfo info, GLib.Error err);
+			public virtual signal void finished ();
+			public virtual signal void source_setup (Gst.Element source);
+			public virtual signal void starting ();
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstDiscovererAudioInfo", type_id = "gst_discoverer_audio_info_get_type ()")]
+		[GIR (name = "DiscovererAudioInfo")]
+		public class DiscovererAudioInfo : Gst.PbUtils.DiscovererStreamInfo {
+			[CCode (has_construct_function = false)]
+			protected DiscovererAudioInfo ();
+			[CCode (cname = "gst_discoverer_audio_info_get_bitrate")]
+			public uint get_bitrate ();
+			[CCode (cname = "gst_discoverer_audio_info_get_channels")]
+			public uint get_channels ();
+			[CCode (cname = "gst_discoverer_audio_info_get_depth")]
+			public uint get_depth ();
+			[CCode (cname = "gst_discoverer_audio_info_get_language")]
+			public unowned string get_language ();
+			[CCode (cname = "gst_discoverer_audio_info_get_max_bitrate")]
+			public uint get_max_bitrate ();
+			[CCode (cname = "gst_discoverer_audio_info_get_sample_rate")]
+			public uint get_sample_rate ();
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstDiscovererContainerInfo", type_id = "gst_discoverer_container_info_get_type ()")]
+		[GIR (name = "DiscovererContainerInfo")]
+		public class DiscovererContainerInfo : Gst.PbUtils.DiscovererStreamInfo {
+			[CCode (has_construct_function = false)]
+			protected DiscovererContainerInfo ();
+			[CCode (cname = "gst_discoverer_container_info_get_streams")]
+			public GLib.List<Gst.PbUtils.DiscovererStreamInfo> get_streams ();
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstDiscovererInfo", type_id = "gst_discoverer_info_get_type ()")]
+		[GIR (name = "DiscovererInfo")]
+		public class DiscovererInfo : GLib.Object {
+			[CCode (has_construct_function = false)]
+			protected DiscovererInfo ();
+			[CCode (cname = "gst_discoverer_info_copy")]
+			public Gst.PbUtils.DiscovererInfo copy ();
+			[CCode (cname = "gst_discoverer_info_get_audio_streams")]
+			public GLib.List<Gst.PbUtils.DiscovererStreamInfo> get_audio_streams ();
+			[CCode (cname = "gst_discoverer_info_get_container_streams")]
+			public GLib.List<Gst.PbUtils.DiscovererStreamInfo> get_container_streams ();
+			[CCode (cname = "gst_discoverer_info_get_duration")]
+			public Gst.ClockTime get_duration ();
+			[CCode (cname = "gst_discoverer_info_get_misc")]
+			public unowned Gst.Structure get_misc ();
+			[CCode (cname = "gst_discoverer_info_get_result")]
+			public Gst.PbUtils.DiscovererResult get_result ();
+			[CCode (cname = "gst_discoverer_info_get_seekable")]
+			public bool get_seekable ();
+			[CCode (cname = "gst_discoverer_info_get_stream_info")]
+			public Gst.PbUtils.DiscovererStreamInfo get_stream_info ();
+			[CCode (cname = "gst_discoverer_info_get_stream_list")]
+			public GLib.List<Gst.PbUtils.DiscovererStreamInfo> get_stream_list ();
+			[CCode (cname = "gst_discoverer_info_get_streams")]
+			public GLib.List<Gst.PbUtils.DiscovererStreamInfo> get_streams (GLib.Type streamtype);
+			[CCode (cname = "gst_discoverer_info_get_subtitle_streams")]
+			public GLib.List<Gst.PbUtils.DiscovererStreamInfo> get_subtitle_streams ();
+			[CCode (cname = "gst_discoverer_info_get_tags")]
+			public unowned Gst.TagList get_tags ();
+			[CCode (cname = "gst_discoverer_info_get_toc")]
+			public unowned Gst.Toc get_toc ();
+			[CCode (cname = "gst_discoverer_info_get_uri")]
+			public unowned string get_uri ();
+			[CCode (cname = "gst_discoverer_info_get_video_streams")]
+			public GLib.List<Gst.PbUtils.DiscovererStreamInfo> get_video_streams ();
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstDiscovererStreamInfo", type_id = "gst_discoverer_stream_info_get_type ()")]
+		[GIR (name = "DiscovererStreamInfo")]
+		public class DiscovererStreamInfo : GLib.Object {
+			[CCode (has_construct_function = false)]
+			protected DiscovererStreamInfo ();
+			[CCode (cname = "gst_discoverer_stream_info_get_caps")]
+			public Gst.Caps get_caps ();
+			[CCode (cname = "gst_discoverer_stream_info_get_misc")]
+			public unowned Gst.Structure get_misc ();
+			[CCode (cname = "gst_discoverer_stream_info_get_next")]
+			public Gst.PbUtils.DiscovererStreamInfo get_next ();
+			[CCode (cname = "gst_discoverer_stream_info_get_previous")]
+			public Gst.PbUtils.DiscovererStreamInfo get_previous ();
+			[CCode (cname = "gst_discoverer_stream_info_get_stream_type_nick")]
+			public unowned string get_stream_type_nick ();
+			[CCode (cname = "gst_discoverer_stream_info_get_tags")]
+			public unowned Gst.TagList get_tags ();
+			[CCode (cname = "gst_discoverer_stream_info_get_toc")]
+			public unowned Gst.Toc get_toc ();
+			[CCode (cname = "gst_discoverer_stream_info_list_free")]
+			public static void list_free (GLib.List<Gst.PbUtils.DiscovererStreamInfo> infos);
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstDiscovererSubtitleInfo", type_id = "gst_discoverer_subtitle_info_get_type ()")]
+		[GIR (name = "DiscovererSubtitleInfo")]
+		public class DiscovererSubtitleInfo : Gst.PbUtils.DiscovererStreamInfo {
+			[CCode (has_construct_function = false)]
+			protected DiscovererSubtitleInfo ();
+			[CCode (cname = "gst_discoverer_subtitle_info_get_language")]
+			public unowned string get_language ();
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstDiscovererVideoInfo", type_id = "gst_discoverer_video_info_get_type ()")]
+		[GIR (name = "DiscovererVideoInfo")]
+		public class DiscovererVideoInfo : Gst.PbUtils.DiscovererStreamInfo {
+			[CCode (has_construct_function = false)]
+			protected DiscovererVideoInfo ();
+			[CCode (cname = "gst_discoverer_video_info_get_bitrate")]
+			public uint get_bitrate ();
+			[CCode (cname = "gst_discoverer_video_info_get_depth")]
+			public uint get_depth ();
+			[CCode (cname = "gst_discoverer_video_info_get_framerate_denom")]
+			public uint get_framerate_denom ();
+			[CCode (cname = "gst_discoverer_video_info_get_framerate_num")]
+			public uint get_framerate_num ();
+			[CCode (cname = "gst_discoverer_video_info_get_height")]
+			public uint get_height ();
+			[CCode (cname = "gst_discoverer_video_info_get_max_bitrate")]
+			public uint get_max_bitrate ();
+			[CCode (cname = "gst_discoverer_video_info_get_par_denom")]
+			public uint get_par_denom ();
+			[CCode (cname = "gst_discoverer_video_info_get_par_num")]
+			public uint get_par_num ();
+			[CCode (cname = "gst_discoverer_video_info_get_width")]
+			public uint get_width ();
+			[CCode (cname = "gst_discoverer_video_info_is_image")]
+			public bool is_image ();
+			[CCode (cname = "gst_discoverer_video_info_is_interlaced")]
+			public bool is_interlaced ();
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstEncodingAudioProfile", type_id = "gst_encoding_audio_profile_get_type ()")]
+		[GIR (name = "EncodingAudioProfile")]
+		public class EncodingAudioProfile : Gst.PbUtils.EncodingProfile {
+			[CCode (cname = "gst_encoding_audio_profile_new", has_construct_function = false)]
+			public EncodingAudioProfile (Gst.Caps format, string? preset, Gst.Caps? restriction, uint presence);
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstEncodingContainerProfile", type_id = "gst_encoding_container_profile_get_type ()")]
+		[GIR (name = "EncodingContainerProfile")]
+		public class EncodingContainerProfile : Gst.PbUtils.EncodingProfile {
+			[CCode (cname = "gst_encoding_container_profile_new", has_construct_function = false)]
+			public EncodingContainerProfile (string? name, string? description, Gst.Caps format, string? preset);
+			[CCode (cname = "gst_encoding_container_profile_add_profile")]
+			public bool add_profile (owned Gst.PbUtils.EncodingProfile profile);
+			[CCode (cname = "gst_encoding_container_profile_contains_profile")]
+			public bool contains_profile (Gst.PbUtils.EncodingProfile profile);
+			[CCode (cname = "gst_encoding_container_profile_get_profiles")]
+			public unowned GLib.List<Gst.PbUtils.EncodingProfile> get_profiles ();
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstEncodingProfile", type_id = "gst_encoding_profile_get_type ()")]
+		[GIR (name = "EncodingProfile")]
+		public class EncodingProfile : GLib.Object {
+			[CCode (has_construct_function = false)]
+			protected EncodingProfile ();
+			[CCode (cname = "gst_encoding_profile_find")]
+			public static Gst.PbUtils.EncodingProfile find (string targetname, string profilename, string? category);
+			[CCode (cname = "gst_encoding_profile_from_discoverer")]
+			public static Gst.PbUtils.EncodingProfile from_discoverer (Gst.PbUtils.DiscovererInfo info);
+			[CCode (cname = "gst_encoding_profile_get_description")]
+			public unowned string get_description ();
+			[CCode (cname = "gst_encoding_profile_get_format")]
+			public Gst.Caps get_format ();
+			[CCode (cname = "gst_encoding_profile_get_input_caps")]
+			public Gst.Caps get_input_caps ();
+			[CCode (cname = "gst_encoding_profile_get_name")]
+			public unowned string get_name ();
+			[CCode (cname = "gst_encoding_profile_get_presence")]
+			public uint get_presence ();
+			[CCode (cname = "gst_encoding_profile_get_preset")]
+			public unowned string get_preset ();
+			[CCode (cname = "gst_encoding_profile_get_restriction")]
+			public Gst.Caps get_restriction ();
+			[CCode (cname = "gst_encoding_profile_get_type_nick")]
+			public unowned string get_type_nick ();
+			[CCode (cname = "gst_encoding_profile_is_equal")]
+			public bool is_equal (Gst.PbUtils.EncodingProfile b);
+			[CCode (cname = "gst_encoding_profile_set_description")]
+			public void set_description (string description);
+			[CCode (cname = "gst_encoding_profile_set_format")]
+			public void set_format (Gst.Caps format);
+			[CCode (cname = "gst_encoding_profile_set_name")]
+			public void set_name (string name);
+			[CCode (cname = "gst_encoding_profile_set_presence")]
+			public void set_presence (uint presence);
+			[CCode (cname = "gst_encoding_profile_set_preset")]
+			public void set_preset (string preset);
+			[CCode (cname = "gst_encoding_profile_set_restriction")]
+			public void set_restriction (Gst.Caps restriction);
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstEncodingTarget", type_id = "gst_encoding_target_get_type ()")]
+		[GIR (name = "EncodingTarget")]
+		public class EncodingTarget : GLib.Object {
+			[CCode (cname = "gst_encoding_target_new", has_construct_function = false)]
+			public EncodingTarget (string name, string category, string description, GLib.List<Gst.PbUtils.EncodingProfile> profiles);
+			[CCode (cname = "gst_encoding_target_add_profile")]
+			public bool add_profile (owned Gst.PbUtils.EncodingProfile profile);
+			[CCode (cname = "gst_encoding_target_get_category")]
+			public unowned string get_category ();
+			[CCode (cname = "gst_encoding_target_get_description")]
+			public unowned string get_description ();
+			[CCode (cname = "gst_encoding_target_get_name")]
+			public unowned string get_name ();
+			[CCode (cname = "gst_encoding_target_get_profile")]
+			public Gst.PbUtils.EncodingProfile get_profile (string name);
+			[CCode (cname = "gst_encoding_target_get_profiles")]
+			public unowned GLib.List<Gst.PbUtils.EncodingProfile> get_profiles ();
+			[CCode (cname = "gst_encoding_target_load")]
+			public static Gst.PbUtils.EncodingTarget load (string name, string? category) throws GLib.Error;
+			[CCode (cname = "gst_encoding_target_load_from_file")]
+			public static Gst.PbUtils.EncodingTarget load_from_file (string filepath) throws GLib.Error;
+			[CCode (cname = "gst_encoding_target_save")]
+			public bool save () throws GLib.Error;
+			[CCode (cname = "gst_encoding_target_save_to_file")]
+			public bool save_to_file (string filepath) throws GLib.Error;
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstEncodingVideoProfile", type_id = "gst_encoding_video_profile_get_type ()")]
+		[GIR (name = "EncodingVideoProfile")]
+		public class EncodingVideoProfile : Gst.PbUtils.EncodingProfile {
+			[CCode (cname = "gst_encoding_video_profile_new", has_construct_function = false)]
+			public EncodingVideoProfile (Gst.Caps format, string? preset, Gst.Caps? restriction, uint presence);
+			[CCode (cname = "gst_encoding_video_profile_get_pass")]
+			public uint get_pass ();
+			[CCode (cname = "gst_encoding_video_profile_get_variableframerate")]
+			public bool get_variableframerate ();
+			[CCode (cname = "gst_encoding_video_profile_set_pass")]
+			public void set_pass (uint pass);
+			[CCode (cname = "gst_encoding_video_profile_set_variableframerate")]
+			public void set_variableframerate (bool variableframerate);
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstInstallPluginsContext", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_install_plugins_context_get_type ()")]
+		[Compact]
+		[GIR (name = "InstallPluginsContext")]
+		public class InstallPluginsContext {
+			[CCode (cname = "gst_install_plugins_context_new", has_construct_function = false)]
+			public InstallPluginsContext ();
+			[CCode (cname = "gst_install_plugins_context_free")]
+			public void free ();
+			[CCode (cname = "gst_install_plugins_context_set_xid")]
+			public void set_xid (uint xid);
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstDiscovererResult", cprefix = "GST_DISCOVERER_", type_id = "gst_discoverer_result_get_type ()")]
+		[GIR (name = "DiscovererResult")]
+		public enum DiscovererResult {
+			OK,
+			URI_INVALID,
+			ERROR,
+			TIMEOUT,
+			BUSY,
+			MISSING_PLUGINS
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstInstallPluginsReturn", cprefix = "GST_INSTALL_PLUGINS_", type_id = "gst_install_plugins_return_get_type ()")]
+		[GIR (name = "InstallPluginsReturn")]
+		public enum InstallPluginsReturn {
+			SUCCESS,
+			NOT_FOUND,
+			ERROR,
+			PARTIAL_SUCCESS,
+			USER_ABORT,
+			CRASHED,
+			INVALID,
+			STARTED_OK,
+			INTERNAL_FAILURE,
+			HELPER_MISSING,
+			INSTALL_IN_PROGRESS
+		}
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstInstallPluginsResultFunc", instance_pos = 1.9)]
+		public delegate void InstallPluginsResultFunc (Gst.PbUtils.InstallPluginsReturn result);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GST_ENCODING_CATEGORY_CAPTURE")]
+		public const string ENCODING_CATEGORY_CAPTURE;
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GST_ENCODING_CATEGORY_DEVICE")]
+		public const string ENCODING_CATEGORY_DEVICE;
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GST_ENCODING_CATEGORY_ONLINE_SERVICE")]
+		public const string ENCODING_CATEGORY_ONLINE_SERVICE;
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GST_ENCODING_CATEGORY_STORAGE_EDITING")]
+		public const string ENCODING_CATEGORY_STORAGE_EDITING;
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GST_PLUGINS_BASE_VERSION_MAJOR")]
+		public const int PLUGINS_BASE_VERSION_MAJOR;
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GST_PLUGINS_BASE_VERSION_MICRO")]
+		public const int PLUGINS_BASE_VERSION_MICRO;
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GST_PLUGINS_BASE_VERSION_MINOR")]
+		public const int PLUGINS_BASE_VERSION_MINOR;
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GST_PLUGINS_BASE_VERSION_NANO")]
+		public const int PLUGINS_BASE_VERSION_NANO;
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h")]
+		public static bool add_codec_description_to_tag_list (Gst.TagList taglist, string codec_tag, Gst.Caps caps);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_encoding_list_all_targets")]
+		public static GLib.List<Gst.PbUtils.EncodingTarget> encoding_list_all_targets (string? categoryname);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_encoding_list_available_categories")]
+		public static GLib.List<string> encoding_list_available_categories ();
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h")]
+		public static string get_codec_description (Gst.Caps caps);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h")]
+		public static string get_decoder_description (Gst.Caps caps);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h")]
+		public static string get_element_description (string factory_name);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h")]
+		public static string get_encoder_description (Gst.Caps caps);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h")]
+		public static string get_sink_description (string protocol);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h")]
+		public static string get_source_description (string protocol);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h")]
+		public static void init ();
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_install_plugins_async")]
+		public static Gst.PbUtils.InstallPluginsReturn install_plugins_async ([CCode (array_length = false, array_null_terminated = true)] string[] details, Gst.PbUtils.InstallPluginsContext? ctx, Gst.PbUtils.InstallPluginsResultFunc func);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_install_plugins_installation_in_progress")]
+		public static bool install_plugins_installation_in_progress ();
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_install_plugins_return_get_name")]
+		public static unowned string install_plugins_return_get_name (Gst.PbUtils.InstallPluginsReturn ret);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_install_plugins_supported")]
+		public static bool install_plugins_supported ();
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_install_plugins_sync")]
+		public static Gst.PbUtils.InstallPluginsReturn install_plugins_sync ([CCode (array_length = false, array_null_terminated = true)] string[] details, Gst.PbUtils.InstallPluginsContext? ctx);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_is_missing_plugin_message")]
+		public static bool is_missing_plugin_message (Gst.Message msg);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_missing_decoder_installer_detail_new")]
+		public static string missing_decoder_installer_detail_new (Gst.Caps decode_caps);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_missing_decoder_message_new")]
+		public static Gst.Message missing_decoder_message_new (Gst.Element element, Gst.Caps decode_caps);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_missing_element_installer_detail_new")]
+		public static string missing_element_installer_detail_new (string factory_name);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_missing_element_message_new")]
+		public static Gst.Message missing_element_message_new (Gst.Element element, string factory_name);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_missing_encoder_installer_detail_new")]
+		public static string missing_encoder_installer_detail_new (Gst.Caps encode_caps);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_missing_encoder_message_new")]
+		public static Gst.Message missing_encoder_message_new (Gst.Element element, Gst.Caps encode_caps);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_missing_plugin_message_get_description")]
+		public static string missing_plugin_message_get_description (Gst.Message msg);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_missing_plugin_message_get_installer_detail")]
+		public static string missing_plugin_message_get_installer_detail (Gst.Message msg);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_missing_uri_sink_installer_detail_new")]
+		public static string missing_uri_sink_installer_detail_new (string protocol);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_missing_uri_sink_message_new")]
+		public static Gst.Message missing_uri_sink_message_new (Gst.Element element, string protocol);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_missing_uri_source_installer_detail_new")]
+		public static string missing_uri_source_installer_detail_new (string protocol);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_missing_uri_source_message_new")]
+		public static Gst.Message missing_uri_source_message_new (Gst.Element element, string protocol);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_plugins_base_version")]
+		public static void plugins_base_version (out uint major, out uint minor, out uint micro, out uint nano);
+		[CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "gst_plugins_base_version_string")]
+		public static string plugins_base_version_string ();
+	}
+}
diff --git a/vapi/gstreamer-rtp-1.0.deps b/vapi/gstreamer-rtp-1.0.deps
new file mode 100644
index 0000000..2efe26d
--- /dev/null
+++ b/vapi/gstreamer-rtp-1.0.deps
@@ -0,0 +1 @@
+gstreamer-base-1.0
diff --git a/vapi/gstreamer-rtp-1.0.vapi b/vapi/gstreamer-rtp-1.0.vapi
new file mode 100644
index 0000000..44157e4
--- /dev/null
+++ b/vapi/gstreamer-rtp-1.0.vapi
@@ -0,0 +1,422 @@
+/* gstreamer-rtp-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gst", gir_namespace = "GstRtp", gir_version = "1.0", lower_case_cprefix = "gst_")]
+namespace Gst {
+	namespace RTP {
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", type_id = "gst_rtp_base_audio_payload_get_type ()")]
+		[GIR (name = "RTPBaseAudioPayload")]
+		public class BaseAudioPayload : Gst.RTP.BasePayload {
+			public Gst.ClockTime base_ts;
+			public int frame_duration;
+			public int frame_size;
+			public int sample_size;
+			[CCode (has_construct_function = false)]
+			protected BaseAudioPayload ();
+			public Gst.FlowReturn flush (uint payload_len, Gst.ClockTime timestamp);
+			public Gst.Base.Adapter get_adapter ();
+			public Gst.FlowReturn push (uint8 data, uint payload_len, Gst.ClockTime timestamp);
+			public void set_frame_based ();
+			public void set_frame_options (int frame_duration, int frame_size);
+			public void set_sample_based ();
+			public void set_sample_options (int sample_size);
+			public void set_samplebits_options (int sample_size);
+			[NoAccessorMethod]
+			public bool buffer_list { get; set; }
+		}
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", type_id = "gst_rtp_base_depayload_get_type ()")]
+		[GIR (name = "RTPBaseDepayload")]
+		public abstract class BaseDepayload : Gst.Element {
+			public uint clock_rate;
+			public bool need_newsegment;
+			public weak Gst.Segment segment;
+			public weak Gst.Pad sinkpad;
+			public weak Gst.Pad srcpad;
+			[CCode (has_construct_function = false)]
+			protected BaseDepayload ();
+			[NoWrapper]
+			public virtual bool handle_event (Gst.Event event);
+			[NoWrapper]
+			public virtual bool packet_lost (Gst.Event event);
+			[NoWrapper]
+			public virtual Gst.Buffer process (Gst.Buffer @in);
+			public Gst.FlowReturn push (Gst.Buffer out_buf);
+			public Gst.FlowReturn push_list (Gst.BufferList out_list);
+			[NoWrapper]
+			public virtual bool set_caps (Gst.Caps caps);
+		}
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", type_id = "gst_rtp_base_payload_get_type ()")]
+		[GIR (name = "RTPBasePayload")]
+		public abstract class BasePayload : Gst.Element {
+			[CCode (has_construct_function = false)]
+			protected BasePayload ();
+			[NoWrapper]
+			public virtual Gst.Caps get_caps (Gst.Pad pad, Gst.Caps filter);
+			[NoWrapper]
+			public virtual Gst.FlowReturn handle_buffer (Gst.Buffer buffer);
+			public bool is_filled (uint size, Gst.ClockTime duration);
+			public Gst.FlowReturn push (Gst.Buffer buffer);
+			public Gst.FlowReturn push_list (Gst.BufferList list);
+			[NoWrapper]
+			public virtual bool query (Gst.Pad pad, Gst.Query query);
+			[NoWrapper]
+			public virtual bool set_caps (Gst.Caps caps);
+			public void set_options (string media, bool @dynamic, string encoding_name, uint32 clock_rate);
+			[NoWrapper]
+			public virtual bool sink_event (Gst.Event event);
+			[NoWrapper]
+			public virtual bool src_event (Gst.Event event);
+			[NoAccessorMethod]
+			public int64 max_ptime { get; set; }
+			[NoAccessorMethod]
+			public int64 min_ptime { get; set; }
+			[NoAccessorMethod]
+			public uint mtu { get; set; }
+			[NoAccessorMethod]
+			public bool perfect_rtptime { get; set; }
+			[NoAccessorMethod]
+			public uint pt { get; set; }
+			[NoAccessorMethod]
+			public int64 ptime_multiple { get; set; }
+			[NoAccessorMethod]
+			public uint seqnum { get; }
+			[NoAccessorMethod]
+			public int seqnum_offset { get; set; }
+			[NoAccessorMethod]
+			public uint ssrc { get; set; }
+			[NoAccessorMethod]
+			public uint timestamp { get; }
+			[NoAccessorMethod]
+			public uint timestamp_offset { get; set; }
+		}
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
+		[Compact]
+		[GIR (name = "RTPBuffer")]
+		public class Buffer : Gst.Buffer {
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak void*[] data;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public Gst.MapInfo[] map;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak size_t[] size;
+			public uint state;
+			public bool add_extension_onebyte_header (uint8 id, [CCode (array_length_cname = "size", array_length_pos = 2.1, array_length_type = "guint")] uint8[] data);
+			public bool add_extension_twobytes_header (uint8 appbits, uint8 id, [CCode (array_length_cname = "size", array_length_pos = 3.1, array_length_type = "guint")] uint8[] data);
+			public uint32 get_csrc (uint8 idx);
+			public uint8 get_csrc_count ();
+			public bool get_extension ();
+			public bool get_extension_data (out uint16 bits, [CCode (array_length = false)] out unowned uint8[] data, out uint wordlen);
+			public bool get_extension_onebyte_header (uint8 id, uint nth, [CCode (array_length_cname = "size", array_length_pos = 3.1, array_length_type = "guint")] out unowned uint8[] data);
+			public bool get_extension_twobytes_header (out uint8 appbits, uint8 id, uint nth, [CCode (array_length_cname = "size", array_length_pos = 4.1, array_length_type = "guint")] out unowned uint8[] data);
+			public uint get_header_len ();
+			public bool get_marker ();
+			public uint get_packet_len ();
+			public bool get_padding ();
+			[CCode (array_length = false)]
+			public unowned uint8[] get_payload ();
+			public Gst.Buffer get_payload_buffer ();
+			public uint get_payload_len ();
+			public Gst.Buffer get_payload_subbuffer (uint offset, uint len);
+			public uint8 get_payload_type ();
+			public uint16 get_seq ();
+			public uint32 get_ssrc ();
+			public uint32 get_timestamp ();
+			public uint8 get_version ();
+			public void pad_to (uint len);
+			public void set_csrc (uint8 idx, uint32 csrc);
+			public void set_extension (bool extension);
+			public bool set_extension_data (uint16 bits, uint16 length);
+			public void set_marker (bool marker);
+			public void set_packet_len (uint len);
+			public void set_padding (bool padding);
+			public void set_payload_type (uint8 payload_type);
+			public void set_seq (uint16 seq);
+			public void set_ssrc (uint32 ssrc);
+			public void set_timestamp (uint32 timestamp);
+			public void set_version (uint8 version);
+			public void unmap ();
+		}
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", has_type_id = false)]
+		[GIR (name = "RTPPayloadInfo")]
+		public struct PayloadInfo {
+			public uint8 payload_type;
+			public weak string media;
+			public weak string encoding_name;
+			public uint clock_rate;
+			public weak string encoding_parameters;
+			public uint bitrate;
+		}
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cprefix = "GST_RTP_PAYLOAD_", has_type_id = false)]
+		[GIR (name = "RTPPayload")]
+		public enum Payload {
+			PCMU,
+			@1016,
+			G721,
+			GSM,
+			G723,
+			DVI4_8000,
+			DVI4_16000,
+			LPC,
+			PCMA,
+			G722,
+			L16_STEREO,
+			L16_MONO,
+			QCELP,
+			CN,
+			MPA,
+			G728,
+			DVI4_11025,
+			DVI4_22050,
+			G729,
+			CELLB,
+			JPEG,
+			NV,
+			H261,
+			MPV,
+			MP2T,
+			H263;
+			public const string @1016_STRING;
+			public const string CELLB_STRING;
+			public const string CN_STRING;
+			public const string DVI4_11025_STRING;
+			public const string DVI4_16000_STRING;
+			public const string DVI4_22050_STRING;
+			public const string DVI4_8000_STRING;
+			public const string DYNAMIC_STRING;
+			public const string G721_STRING;
+			public const string G722_STRING;
+			public const int G723_53;
+			public const string G723_53_STRING;
+			public const int G723_63;
+			public const string G723_63_STRING;
+			public const string G723_STRING;
+			public const string G728_STRING;
+			public const string G729_STRING;
+			public const string GSM_STRING;
+			public const string H261_STRING;
+			public const string H263_STRING;
+			public const string JPEG_STRING;
+			public const string L16_MONO_STRING;
+			public const string L16_STEREO_STRING;
+			public const string LPC_STRING;
+			public const string MP2T_STRING;
+			public const string MPA_STRING;
+			public const string MPV_STRING;
+			public const string NV_STRING;
+			public const string PCMA_STRING;
+			public const string PCMU_STRING;
+			public const string QCELP_STRING;
+			public const int TS41;
+			public const string TS41_STRING;
+			public const int TS48;
+			public const string TS48_STRING;
+		}
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "GST_RTP_VERSION")]
+		public const int VERSION;
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
+		public static void buffer_allocate_data (Gst.Buffer buffer, uint payload_len, uint8 pad_len, uint8 csrc_count);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
+		public static uint buffer_calc_header_len (uint8 csrc_count);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
+		public static uint buffer_calc_packet_len (uint payload_len, uint8 pad_len, uint8 csrc_count);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
+		public static uint buffer_calc_payload_len (uint packet_len, uint8 pad_len, uint8 csrc_count);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
+		public static int buffer_compare_seqnum (uint16 seqnum1, uint16 seqnum2);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
+		public static uint32 buffer_default_clock_rate (uint8 payload_type);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
+		public static uint64 buffer_ext_timestamp (uint64 exttimestamp, uint32 timestamp);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
+		public static bool buffer_map (Gst.Buffer buffer, Gst.MapFlags flags, out unowned Gst.RTP.Buffer rtp);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
+		public static Gst.Buffer buffer_new_allocate (uint payload_len, uint8 pad_len, uint8 csrc_count);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
+		public static Gst.Buffer buffer_new_allocate_len (uint packet_len, uint8 pad_len, uint8 csrc_count);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
+		public static Gst.Buffer buffer_new_copy_data ([CCode (array_length_cname = "len", array_length_pos = 1.1, array_length_type = "gsize")] uint8[] data);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
+		public static Gst.Buffer buffer_new_take_data ([CCode (array_length_cname = "len", array_length_pos = 1.1, array_length_type = "gsize")] owned uint8[] data);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
+		public static Gst.RTP.PayloadInfo payload_info_for_name (string media, string encoding_name);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
+		public static Gst.RTP.PayloadInfo payload_info_for_pt (uint8 payload_type);
+	}
+	namespace RTPC {
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "GstRTCPBuffer")]
+		[Compact]
+		[GIR (name = "RTCPBuffer")]
+		public class Buffer : Gst.Buffer {
+			public Gst.MapInfo map;
+			[CCode (cname = "gst_rtcp_buffer_add_packet")]
+			public bool add_packet (Gst.RTPC.Type type, Gst.RTPC.Packet packet);
+			[CCode (cname = "gst_rtcp_buffer_get_first_packet")]
+			public bool get_first_packet (Gst.RTPC.Packet packet);
+			[CCode (cname = "gst_rtcp_buffer_get_packet_count")]
+			public uint get_packet_count ();
+			[CCode (cname = "gst_rtcp_buffer_unmap")]
+			public bool unmap ();
+		}
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "GstRTCPPacket", has_type_id = false)]
+		[GIR (name = "RTCPPacket")]
+		public struct Packet {
+			public weak Gst.RTPC.Buffer rtcp;
+			public uint offset;
+			[CCode (cname = "gst_rtcp_packet_add_rb")]
+			public bool add_rb (uint32 ssrc, uint8 fractionlost, int32 packetslost, uint32 exthighestseq, uint32 jitter, uint32 lsr, uint32 dlsr);
+			[CCode (cname = "gst_rtcp_packet_bye_add_ssrc")]
+			public bool bye_add_ssrc (uint32 ssrc);
+			[CCode (cname = "gst_rtcp_packet_bye_add_ssrcs")]
+			public bool bye_add_ssrcs (uint32 ssrc, uint len);
+			[CCode (cname = "gst_rtcp_packet_bye_get_nth_ssrc")]
+			public uint32 bye_get_nth_ssrc (uint nth);
+			[CCode (cname = "gst_rtcp_packet_bye_get_reason")]
+			public string bye_get_reason ();
+			[CCode (cname = "gst_rtcp_packet_bye_get_reason_len")]
+			public uint8 bye_get_reason_len ();
+			[CCode (cname = "gst_rtcp_packet_bye_get_ssrc_count")]
+			public uint bye_get_ssrc_count ();
+			[CCode (cname = "gst_rtcp_packet_bye_set_reason")]
+			public bool bye_set_reason (string reason);
+			[CCode (cname = "gst_rtcp_packet_fb_get_fci")]
+			public uint8 fb_get_fci ();
+			[CCode (cname = "gst_rtcp_packet_fb_get_fci_length")]
+			public uint16 fb_get_fci_length ();
+			[CCode (cname = "gst_rtcp_packet_fb_get_media_ssrc")]
+			public uint32 fb_get_media_ssrc ();
+			[CCode (cname = "gst_rtcp_packet_fb_get_sender_ssrc")]
+			public uint32 fb_get_sender_ssrc ();
+			[CCode (cname = "gst_rtcp_packet_fb_get_type")]
+			public Gst.RTPC.FBType fb_get_type ();
+			[CCode (cname = "gst_rtcp_packet_fb_set_fci_length")]
+			public bool fb_set_fci_length (uint16 wordlen);
+			[CCode (cname = "gst_rtcp_packet_fb_set_media_ssrc")]
+			public void fb_set_media_ssrc (uint32 ssrc);
+			[CCode (cname = "gst_rtcp_packet_fb_set_sender_ssrc")]
+			public void fb_set_sender_ssrc (uint32 ssrc);
+			[CCode (cname = "gst_rtcp_packet_fb_set_type")]
+			public void fb_set_type (Gst.RTPC.FBType type);
+			[CCode (cname = "gst_rtcp_packet_get_count")]
+			public uint8 get_count ();
+			[CCode (cname = "gst_rtcp_packet_get_length")]
+			public uint16 get_length ();
+			[CCode (cname = "gst_rtcp_packet_get_padding")]
+			public bool get_padding ();
+			[CCode (cname = "gst_rtcp_packet_get_rb")]
+			public void get_rb (uint nth, uint32 ssrc, uint8 fractionlost, int32 packetslost, uint32 exthighestseq, uint32 jitter, uint32 lsr, uint32 dlsr);
+			[CCode (cname = "gst_rtcp_packet_get_rb_count")]
+			public uint get_rb_count ();
+			[CCode (cname = "gst_rtcp_packet_get_type")]
+			public Gst.RTPC.Type get_type ();
+			[CCode (cname = "gst_rtcp_packet_move_to_next")]
+			public bool move_to_next ();
+			[CCode (cname = "gst_rtcp_packet_remove")]
+			public bool remove ();
+			[CCode (cname = "gst_rtcp_packet_rr_get_ssrc")]
+			public uint32 rr_get_ssrc ();
+			[CCode (cname = "gst_rtcp_packet_rr_set_ssrc")]
+			public void rr_set_ssrc (uint32 ssrc);
+			[CCode (cname = "gst_rtcp_packet_sdes_add_entry")]
+			public bool sdes_add_entry (Gst.RTPC.SDESType type, [CCode (array_length_cname = "len", array_length_pos = 1.5, array_length_type = "guint8")] uint8[] data);
+			[CCode (cname = "gst_rtcp_packet_sdes_add_item")]
+			public bool sdes_add_item (uint32 ssrc);
+			[CCode (cname = "gst_rtcp_packet_sdes_copy_entry")]
+			public bool sdes_copy_entry (Gst.RTPC.SDESType type, [CCode (array_length_cname = "len", array_length_pos = 1.5, array_length_type = "guint8")] out uint8[] data);
+			[CCode (cname = "gst_rtcp_packet_sdes_first_entry")]
+			public bool sdes_first_entry ();
+			[CCode (cname = "gst_rtcp_packet_sdes_first_item")]
+			public bool sdes_first_item ();
+			[CCode (cname = "gst_rtcp_packet_sdes_get_entry")]
+			public bool sdes_get_entry (Gst.RTPC.SDESType type, [CCode (array_length_cname = "len", array_length_pos = 1.5, array_length_type = "guint8")] out unowned uint8[] data);
+			[CCode (cname = "gst_rtcp_packet_sdes_get_item_count")]
+			public uint sdes_get_item_count ();
+			[CCode (cname = "gst_rtcp_packet_sdes_get_ssrc")]
+			public uint32 sdes_get_ssrc ();
+			[CCode (cname = "gst_rtcp_packet_sdes_next_entry")]
+			public bool sdes_next_entry ();
+			[CCode (cname = "gst_rtcp_packet_sdes_next_item")]
+			public bool sdes_next_item ();
+			[CCode (cname = "gst_rtcp_packet_set_rb")]
+			public void set_rb (uint nth, uint32 ssrc, uint8 fractionlost, int32 packetslost, uint32 exthighestseq, uint32 jitter, uint32 lsr, uint32 dlsr);
+			[CCode (cname = "gst_rtcp_packet_sr_get_sender_info")]
+			public void sr_get_sender_info (uint32 ssrc, uint64 ntptime, uint32 rtptime, uint32 packet_count, uint32 octet_count);
+			[CCode (cname = "gst_rtcp_packet_sr_set_sender_info")]
+			public void sr_set_sender_info (uint32 ssrc, uint64 ntptime, uint32 rtptime, uint32 packet_count, uint32 octet_count);
+		}
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "GstRTCPFBType", cprefix = "GST_RTCP_", has_type_id = false)]
+		[GIR (name = "RTCPFBType")]
+		public enum FBType {
+			FB_TYPE_INVALID,
+			RTPFB_TYPE_NACK,
+			RTPFB_TYPE_TMMBR,
+			RTPFB_TYPE_TMMBN,
+			PSFB_TYPE_PLI,
+			PSFB_TYPE_SLI,
+			PSFB_TYPE_RPSI,
+			PSFB_TYPE_AFB,
+			PSFB_TYPE_FIR,
+			PSFB_TYPE_TSTR,
+			PSFB_TYPE_TSTN,
+			PSFB_TYPE_VBCN
+		}
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "GstRTCPSDESType", cprefix = "GST_RTCP_SDES_", has_type_id = false)]
+		[GIR (name = "RTCPSDESType")]
+		public enum SDESType {
+			INVALID,
+			END,
+			CNAME,
+			NAME,
+			EMAIL,
+			PHONE,
+			LOC,
+			TOOL,
+			NOTE,
+			PRIV
+		}
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "GstRTCPType", cprefix = "GST_RTCP_TYPE_", has_type_id = false)]
+		[GIR (name = "RTCPType")]
+		public enum Type {
+			INVALID,
+			SR,
+			RR,
+			SDES,
+			BYE,
+			APP,
+			RTPFB,
+			PSFB
+		}
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "GST_RTCP_MAX_BYE_SSRC_COUNT")]
+		public const int MAX_BYE_SSRC_COUNT;
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "GST_RTCP_MAX_RB_COUNT")]
+		public const int MAX_RB_COUNT;
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "GST_RTCP_MAX_SDES")]
+		public const int MAX_SDES;
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "GST_RTCP_MAX_SDES_ITEM_COUNT")]
+		public const int MAX_SDES_ITEM_COUNT;
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "GST_RTCP_VALID_MASK")]
+		public const int VALID_MASK;
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "GST_RTCP_VALID_VALUE")]
+		public const int VALID_VALUE;
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "GST_RTCP_VERSION")]
+		public const int VERSION;
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "gst_rtcp_buffer_map")]
+		public static bool buffer_map (Gst.Buffer buffer, Gst.MapFlags flags, Gst.RTPC.Buffer rtcp);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "gst_rtcp_buffer_new")]
+		public static Gst.Buffer buffer_new (uint mtu);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "gst_rtcp_buffer_new_copy_data")]
+		public static Gst.Buffer buffer_new_copy_data ([CCode (array_length_cname = "len", array_length_pos = 1.1, array_length_type = "guint")] uint8[] data);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "gst_rtcp_buffer_new_take_data")]
+		public static Gst.Buffer buffer_new_take_data ([CCode (array_length_cname = "len", array_length_pos = 1.1, array_length_type = "guint")] uint8[] data);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "gst_rtcp_buffer_validate")]
+		public static bool buffer_validate (Gst.Buffer buffer);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "gst_rtcp_buffer_validate_data")]
+		public static bool buffer_validate_data ([CCode (array_length_cname = "len", array_length_pos = 1.1, array_length_type = "guint")] uint8[] data);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "gst_rtcp_ntp_to_unix")]
+		public static uint64 ntp_to_unix (uint64 ntptime);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "gst_rtcp_sdes_name_to_type")]
+		public static Gst.RTPC.SDESType sdes_name_to_type (string name);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "gst_rtcp_sdes_type_to_name")]
+		public static unowned string sdes_type_to_name (Gst.RTPC.SDESType type);
+		[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "gst_rtcp_unix_to_ntp")]
+		public static uint64 unix_to_ntp (uint64 unixtime);
+	}
+}
diff --git a/vapi/gstreamer-rtsp-1.0.deps b/vapi/gstreamer-rtsp-1.0.deps
new file mode 100644
index 0000000..eed504d
--- /dev/null
+++ b/vapi/gstreamer-rtsp-1.0.deps
@@ -0,0 +1,3 @@
+gstreamer-1.0
+gstreamer-sdp-1.0
+gio-2.0
diff --git a/vapi/gstreamer-rtsp-1.0.vapi b/vapi/gstreamer-rtsp-1.0.vapi
new file mode 100644
index 0000000..f9149d0
--- /dev/null
+++ b/vapi/gstreamer-rtsp-1.0.vapi
@@ -0,0 +1,477 @@
+/* gstreamer-rtsp-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gst", gir_namespace = "GstRtsp", gir_version = "1.0", lower_case_cprefix = "gst_")]
+namespace Gst {
+	namespace RTSP {
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		[Compact]
+		[GIR (name = "RTSPConnection")]
+		public class Connection {
+			public void clear_auth_params ();
+			public Gst.RTSP.Result close ();
+			public Gst.RTSP.Result connect (GLib.TimeVal timeout);
+			public Gst.RTSP.Result do_tunnel (Gst.RTSP.Connection conn2);
+			public Gst.RTSP.Result flush (bool flush);
+			public Gst.RTSP.Result free ();
+			public unowned string get_ip ();
+			public unowned string get_tunnelid ();
+			public Gst.RTSP.Url get_url ();
+			public bool is_tunneled ();
+			public Gst.RTSP.Result next_timeout (GLib.TimeVal timeout);
+			public Gst.RTSP.Result poll (Gst.RTSP.Event events, Gst.RTSP.Event revents, GLib.TimeVal timeout);
+			public Gst.RTSP.Result read (uint8 data, uint size, GLib.TimeVal timeout);
+			public Gst.RTSP.Result receive (Gst.RTSP.Message message, GLib.TimeVal timeout);
+			public Gst.RTSP.Result reset_timeout ();
+			public Gst.RTSP.Result send (Gst.RTSP.Message message, GLib.TimeVal timeout);
+			public Gst.RTSP.Result set_auth (Gst.RTSP.AuthMethod method, string user, string pass);
+			public void set_auth_param (string param, string value);
+			public void set_http_mode (bool enable);
+			public void set_ip (string ip);
+			public Gst.RTSP.Result set_proxy (string host, uint port);
+			public Gst.RTSP.Result set_qos_dscp (uint qos_dscp);
+			public void set_tunneled (bool tunneled);
+			public Gst.RTSP.Result write (uint8 data, uint size, GLib.TimeVal timeout);
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_rtsp_url_get_type ()")]
+		[Compact]
+		[GIR (name = "RTSPUrl")]
+		public class Url {
+			public weak string abspath;
+			public Gst.RTSP.Family family;
+			public weak string host;
+			public weak string passwd;
+			public uint16 port;
+			public weak string query;
+			public Gst.RTSP.LowerTrans transports;
+			public weak string user;
+			public Gst.RTSP.Url copy ();
+			public void free ();
+			public Gst.RTSP.Result get_port (uint16 port);
+			public string get_request_uri ();
+			public Gst.RTSP.Result set_port (uint16 port);
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		[Compact]
+		[GIR (name = "RTSPWatch")]
+		public class Watch {
+			public uint attach (GLib.MainContext context);
+			public void reset ();
+			public Gst.RTSP.Result send_message (Gst.RTSP.Message message, uint id);
+			public void unref ();
+			public Gst.RTSP.Result write_data (uint8 data, uint size, uint id);
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", type_id = "gst_rtsp_extension_get_type ()")]
+		[GIR (name = "RTSPExtension")]
+		public interface Extension : GLib.Object {
+			public abstract Gst.RTSP.Result after_send (Gst.RTSP.Message req, Gst.RTSP.Message resp);
+			public abstract Gst.RTSP.Result before_send (Gst.RTSP.Message req);
+			public abstract bool configure_stream (Gst.Caps caps);
+			public abstract bool detect_server (Gst.RTSP.Message resp);
+			public abstract Gst.RTSP.Result get_transports (Gst.RTSP.LowerTrans protocols, string transport);
+			public abstract Gst.RTSP.Result parse_sdp (Gst.SDP.Message sdp, Gst.Structure s);
+			public abstract Gst.RTSP.Result receive_request (Gst.RTSP.Message req);
+			public abstract Gst.RTSP.Result setup_media (Gst.SDP.Media media);
+			public abstract Gst.RTSP.Result stream_select (Gst.RTSP.Url url);
+			[HasEmitter]
+			public virtual signal Gst.RTSP.Result send (void* req, void* resp);
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", has_type_id = false)]
+		[GIR (name = "RTSPMessage")]
+		public struct Message {
+			public Gst.RTSP.MsgType type;
+			[CCode (cname = "type_data.request.method")]
+			public Gst.RTSP.Method type_data_request_method;
+			[CCode (cname = "type_data.request.uri")]
+			public weak string type_data_request_uri;
+			[CCode (cname = "type_data.request.version")]
+			public Gst.RTSP.Version type_data_request_version;
+			[CCode (cname = "type_data.response.code")]
+			public Gst.RTSP.StatusCode type_data_response_code;
+			[CCode (cname = "type_data.response.reason")]
+			public weak string type_data_response_reason;
+			[CCode (cname = "type_data.response.version")]
+			public Gst.RTSP.Version type_data_response_version;
+			[CCode (cname = "type_data.data.channel")]
+			public uint8 type_data_data_channel;
+			public Gst.RTSP.Result add_header (Gst.RTSP.HeaderField field, string value);
+			public Gst.RTSP.Result append_headers (GLib.StringBuilder str);
+			public Gst.RTSP.Result dump ();
+			public Gst.RTSP.Result free ();
+			public Gst.RTSP.Result get_body (uint8 data, uint size);
+			public Gst.RTSP.Result get_header (Gst.RTSP.HeaderField field, string value, int indx);
+			public Gst.RTSP.MsgType get_type ();
+			public Gst.RTSP.Result init ();
+			public Gst.RTSP.Result init_data (uint8 channel);
+			public Gst.RTSP.Result init_request (Gst.RTSP.Method method, string uri);
+			public Gst.RTSP.Result init_response (Gst.RTSP.StatusCode code, string reason, Gst.RTSP.Message request);
+			public Gst.RTSP.Result parse_data (uint8 channel);
+			public Gst.RTSP.Result parse_request (Gst.RTSP.Method method, string uri, Gst.RTSP.Version version);
+			public Gst.RTSP.Result parse_response (Gst.RTSP.StatusCode code, string reason, Gst.RTSP.Version version);
+			public Gst.RTSP.Result remove_header (Gst.RTSP.HeaderField field, int indx);
+			public Gst.RTSP.Result set_body (uint8 data, uint size);
+			public Gst.RTSP.Result steal_body (uint8 data, uint size);
+			public Gst.RTSP.Result take_body (uint8 data, uint size);
+			public Gst.RTSP.Result take_header (Gst.RTSP.HeaderField field, string value);
+			public Gst.RTSP.Result unset ();
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", has_type_id = false)]
+		[GIR (name = "RTSPRange")]
+		public struct Range {
+			public int min;
+			public int max;
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", has_type_id = false)]
+		[GIR (name = "RTSPTime")]
+		public struct Time {
+			public Gst.RTSP.TimeType type;
+			public double seconds;
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", has_type_id = false)]
+		[GIR (name = "RTSPTimeRange")]
+		public struct TimeRange {
+			public Gst.RTSP.RangeUnit unit;
+			public Gst.RTSP.Time min;
+			public Gst.RTSP.Time max;
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", has_type_id = false)]
+		[GIR (name = "RTSPTransport")]
+		public struct Transport {
+			public Gst.RTSP.TransMode trans;
+			public Gst.RTSP.Profile profile;
+			public Gst.RTSP.LowerTrans lower_transport;
+			public weak string destination;
+			public weak string source;
+			public uint layers;
+			public bool mode_play;
+			public bool mode_record;
+			public bool append;
+			public Gst.RTSP.Range interleaved;
+			public uint ttl;
+			public Gst.RTSP.Range port;
+			public Gst.RTSP.Range client_port;
+			public Gst.RTSP.Range server_port;
+			public uint ssrc;
+			public string as_text ();
+			public Gst.RTSP.Result free ();
+			public Gst.RTSP.Result init ();
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cprefix = "GST_RTSP_AUTH_", type_id = "gst_rtsp_auth_method_get_type ()")]
+		[GIR (name = "RTSPAuthMethod")]
+		public enum AuthMethod {
+			NONE,
+			BASIC,
+			DIGEST
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cprefix = "GST_RTSP_EV_", type_id = "gst_rtsp_event_get_type ()")]
+		[Flags]
+		[GIR (name = "RTSPEvent")]
+		public enum Event {
+			READ,
+			WRITE
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cprefix = "GST_RTSP_FAM_", type_id = "gst_rtsp_family_get_type ()")]
+		[GIR (name = "RTSPFamily")]
+		public enum Family {
+			NONE,
+			INET,
+			INET6
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cprefix = "GST_RTSP_HDR_", type_id = "gst_rtsp_header_field_get_type ()")]
+		[GIR (name = "RTSPHeaderField")]
+		public enum HeaderField {
+			INVALID,
+			ACCEPT,
+			ACCEPT_ENCODING,
+			ACCEPT_LANGUAGE,
+			ALLOW,
+			AUTHORIZATION,
+			BANDWIDTH,
+			BLOCKSIZE,
+			CACHE_CONTROL,
+			CONFERENCE,
+			CONNECTION,
+			CONTENT_BASE,
+			CONTENT_ENCODING,
+			CONTENT_LANGUAGE,
+			CONTENT_LENGTH,
+			CONTENT_LOCATION,
+			CONTENT_TYPE,
+			CSEQ,
+			DATE,
+			EXPIRES,
+			FROM,
+			IF_MODIFIED_SINCE,
+			LAST_MODIFIED,
+			PROXY_AUTHENTICATE,
+			PROXY_REQUIRE,
+			PUBLIC,
+			RANGE,
+			REFERER,
+			REQUIRE,
+			RETRY_AFTER,
+			RTP_INFO,
+			SCALE,
+			SESSION,
+			SERVER,
+			SPEED,
+			TRANSPORT,
+			UNSUPPORTED,
+			USER_AGENT,
+			VIA,
+			WWW_AUTHENTICATE,
+			CLIENT_CHALLENGE,
+			REAL_CHALLENGE1,
+			REAL_CHALLENGE2,
+			REAL_CHALLENGE3,
+			SUBSCRIBE,
+			ALERT,
+			CLIENT_ID,
+			COMPANY_ID,
+			GUID,
+			REGION_DATA,
+			MAX_ASM_WIDTH,
+			LANGUAGE,
+			PLAYER_START_TIME,
+			LOCATION,
+			ETAG,
+			IF_MATCH,
+			ACCEPT_CHARSET,
+			SUPPORTED,
+			VARY,
+			X_ACCELERATE_STREAMING,
+			X_ACCEPT_AUTHENT,
+			X_ACCEPT_PROXY_AUTHENT,
+			X_BROADCAST_ID,
+			X_BURST_STREAMING,
+			X_NOTICE,
+			X_PLAYER_LAG_TIME,
+			X_PLAYLIST,
+			X_PLAYLIST_CHANGE_NOTICE,
+			X_PLAYLIST_GEN_ID,
+			X_PLAYLIST_SEEK_ID,
+			X_PROXY_CLIENT_AGENT,
+			X_PROXY_CLIENT_VERB,
+			X_RECEDING_PLAYLISTCHANGE,
+			X_RTP_INFO,
+			X_STARTUPPROFILE,
+			TIMESTAMP,
+			AUTHENTICATION_INFO,
+			HOST,
+			PRAGMA,
+			X_SERVER_IP_ADDRESS,
+			X_SESSIONCOOKIE,
+			RTCP_INTERVAL,
+			LAST
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cprefix = "GST_RTSP_LOWER_TRANS_", type_id = "gst_rtsp_lower_trans_get_type ()")]
+		[Flags]
+		[GIR (name = "RTSPLowerTrans")]
+		public enum LowerTrans {
+			[CCode (cname = "GST_RTSP_LOWER_TRANS_UDP")]
+			UDP_UNICAST,
+			[CCode (cname = "GST_RTSP_LOWER_TRANS_UDP_MCAST")]
+			UDP_MULTICAST,
+			TCP,
+			HTTP
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cprefix = "GST_RTSP_", type_id = "gst_rtsp_method_get_type ()")]
+		[Flags]
+		[GIR (name = "RTSPMethod")]
+		public enum Method {
+			INVALID,
+			DESCRIBE,
+			ANNOUNCE,
+			GET_PARAMETER,
+			OPTIONS,
+			PAUSE,
+			PLAY,
+			RECORD,
+			REDIRECT,
+			SETUP,
+			SET_PARAMETER,
+			TEARDOWN,
+			GET,
+			POST
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cprefix = "GST_RTSP_MESSAGE_", has_type_id = false)]
+		[GIR (name = "RTSPMsgType")]
+		public enum MsgType {
+			INVALID,
+			REQUEST,
+			RESPONSE,
+			HTTP_REQUEST,
+			HTTP_RESPONSE,
+			DATA
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cprefix = "GST_RTSP_PROFILE_", has_type_id = false)]
+		[Flags]
+		[GIR (name = "RTSPProfile")]
+		public enum Profile {
+			UNKNOWN,
+			AVP,
+			SAVP
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cprefix = "GST_RTSP_RANGE_", has_type_id = false)]
+		[GIR (name = "RTSPRangeUnit")]
+		public enum RangeUnit {
+			SMPTE,
+			SMPTE_30_DROP,
+			SMPTE_25,
+			NPT,
+			CLOCK
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cprefix = "GST_RTSP_", type_id = "gst_rtsp_result_get_type ()")]
+		[GIR (name = "RTSPResult")]
+		public enum Result {
+			OK,
+			ERROR,
+			EINVAL,
+			EINTR,
+			ENOMEM,
+			ERESOLV,
+			ENOTIMPL,
+			ESYS,
+			EPARSE,
+			EWSASTART,
+			EWSAVERSION,
+			EEOF,
+			ENET,
+			ENOTIP,
+			ETIMEOUT,
+			ETGET,
+			ETPOST,
+			ELAST
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cprefix = "GST_RTSP_STATE_", type_id = "gst_rtsp_state_get_type ()")]
+		[GIR (name = "RTSPState")]
+		public enum State {
+			INVALID,
+			INIT,
+			READY,
+			SEEKING,
+			PLAYING,
+			RECORDING
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cprefix = "GST_RTSP_STS_", type_id = "gst_rtsp_status_code_get_type ()")]
+		[GIR (name = "RTSPStatusCode")]
+		public enum StatusCode {
+			INVALID,
+			CONTINUE,
+			OK,
+			CREATED,
+			LOW_ON_STORAGE,
+			MULTIPLE_CHOICES,
+			MOVED_PERMANENTLY,
+			MOVE_TEMPORARILY,
+			SEE_OTHER,
+			NOT_MODIFIED,
+			USE_PROXY,
+			BAD_REQUEST,
+			UNAUTHORIZED,
+			PAYMENT_REQUIRED,
+			FORBIDDEN,
+			NOT_FOUND,
+			METHOD_NOT_ALLOWED,
+			NOT_ACCEPTABLE,
+			PROXY_AUTH_REQUIRED,
+			REQUEST_TIMEOUT,
+			GONE,
+			LENGTH_REQUIRED,
+			PRECONDITION_FAILED,
+			REQUEST_ENTITY_TOO_LARGE,
+			REQUEST_URI_TOO_LARGE,
+			UNSUPPORTED_MEDIA_TYPE,
+			PARAMETER_NOT_UNDERSTOOD,
+			CONFERENCE_NOT_FOUND,
+			NOT_ENOUGH_BANDWIDTH,
+			SESSION_NOT_FOUND,
+			METHOD_NOT_VALID_IN_THIS_STATE,
+			HEADER_FIELD_NOT_VALID_FOR_RESOURCE,
+			INVALID_RANGE,
+			PARAMETER_IS_READONLY,
+			AGGREGATE_OPERATION_NOT_ALLOWED,
+			ONLY_AGGREGATE_OPERATION_ALLOWED,
+			UNSUPPORTED_TRANSPORT,
+			DESTINATION_UNREACHABLE,
+			INTERNAL_SERVER_ERROR,
+			NOT_IMPLEMENTED,
+			BAD_GATEWAY,
+			SERVICE_UNAVAILABLE,
+			GATEWAY_TIMEOUT,
+			RTSP_VERSION_NOT_SUPPORTED,
+			OPTION_NOT_SUPPORTED
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cprefix = "GST_RTSP_TIME_", has_type_id = false)]
+		[GIR (name = "RTSPTimeType")]
+		public enum TimeType {
+			SECONDS,
+			NOW,
+			END
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cprefix = "GST_RTSP_TRANS_", has_type_id = false)]
+		[Flags]
+		[GIR (name = "RTSPTransMode")]
+		public enum TransMode {
+			UNKNOWN,
+			RTP,
+			RDT
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cprefix = "GST_RTSP_VERSION_", type_id = "gst_rtsp_version_get_type ()")]
+		[GIR (name = "RTSPVersion")]
+		public enum Version {
+			INVALID,
+			@1_0,
+			@1_1
+		}
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cname = "GST_RTSP_DEFAULT_PORT")]
+		public const int _DEFAULT_PORT;
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static Gst.RTSP.Result connection_accept (GLib.Socket socket, Gst.RTSP.Connection conn, GLib.Cancellable? cancellable = null);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static Gst.RTSP.Result connection_create (Gst.RTSP.Url url, Gst.RTSP.Connection conn);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static Gst.RTSP.Result connection_create_from_socket (GLib.Socket socket, string ip, uint16 port, string initial_buffer, Gst.RTSP.Connection conn);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static Gst.RTSP.HeaderField find_header_field (string header);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static Gst.RTSP.Method find_method (string method);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static bool header_allow_multiple (Gst.RTSP.HeaderField field);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static unowned string header_as_text (Gst.RTSP.HeaderField field);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static Gst.RTSP.Result message_new (Gst.RTSP.Message msg);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static Gst.RTSP.Result message_new_data (Gst.RTSP.Message msg, uint8 channel);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static Gst.RTSP.Result message_new_request (Gst.RTSP.Message msg, Gst.RTSP.Method method, string uri);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static Gst.RTSP.Result message_new_response (Gst.RTSP.Message msg, Gst.RTSP.StatusCode code, string reason, Gst.RTSP.Message request);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static unowned string method_as_text (Gst.RTSP.Method method);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static string options_as_text (Gst.RTSP.Method options);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static void range_free (Gst.RTSP.TimeRange range);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static Gst.RTSP.Result range_parse (string rangestr, Gst.RTSP.TimeRange range);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static string range_to_string (Gst.RTSP.TimeRange range);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static unowned string status_as_text (Gst.RTSP.StatusCode code);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static string strresult (Gst.RTSP.Result result);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static Gst.RTSP.Result transport_get_manager (Gst.RTSP.TransMode trans, string manager, uint option);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static Gst.RTSP.Result transport_get_mime (Gst.RTSP.TransMode trans, string mime);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static Gst.RTSP.Result transport_new (Gst.RTSP.Transport transport);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static Gst.RTSP.Result transport_parse (string str, Gst.RTSP.Transport transport);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static Gst.RTSP.Result url_parse (string urlstr, Gst.RTSP.Url url);
+		[CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
+		public static unowned string version_as_text (Gst.RTSP.Version version);
+	}
+}
diff --git a/vapi/gstreamer-sdp-1.0.deps b/vapi/gstreamer-sdp-1.0.deps
new file mode 100644
index 0000000..26a0edb
--- /dev/null
+++ b/vapi/gstreamer-sdp-1.0.deps
@@ -0,0 +1 @@
+gstreamer-1.0
diff --git a/vapi/gstreamer-sdp-1.0.vapi b/vapi/gstreamer-sdp-1.0.vapi
new file mode 100644
index 0000000..190d17e
--- /dev/null
+++ b/vapi/gstreamer-sdp-1.0.vapi
@@ -0,0 +1,191 @@
+/* gstreamer-sdp-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gst", gir_namespace = "GstSdp", gir_version = "1.0", lower_case_cprefix = "gst_")]
+namespace Gst {
+	namespace SDP {
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h")]
+		[Compact]
+		[GIR (name = "SDPMessage")]
+		public class Message {
+			public weak GLib.Array<void*> attributes;
+			public weak GLib.Array<void*> bandwidths;
+			public Gst.SDP.Connection connection;
+			public weak GLib.Array<void*> emails;
+			public weak string information;
+			public Gst.SDP.Key key;
+			public weak GLib.Array<void*> medias;
+			public Gst.SDP.Origin origin;
+			public weak GLib.Array<void*> phones;
+			public weak string session_name;
+			public weak GLib.Array<void*> times;
+			public weak string uri;
+			public weak string version;
+			public weak GLib.Array<void*> zones;
+			public Gst.SDP.Result add_attribute (string key, string value);
+			public Gst.SDP.Result add_bandwidth (string bwtype, uint bandwidth);
+			public Gst.SDP.Result add_email (string email);
+			public Gst.SDP.Result add_media (Gst.SDP.Media media);
+			public Gst.SDP.Result add_phone (string phone);
+			public Gst.SDP.Result add_time (string start, string stop, [CCode (array_length = false)] string[] repeat);
+			public Gst.SDP.Result add_zone (string adj_time, string typed_time);
+			public string as_text ();
+			public uint attributes_len ();
+			public uint bandwidths_len ();
+			public Gst.SDP.Result dump ();
+			public uint emails_len ();
+			public Gst.SDP.Result free ();
+			public Gst.SDP.Attribute get_attribute (uint idx);
+			public unowned string get_attribute_val (string key);
+			public unowned string get_attribute_val_n (string key, uint nth);
+			public Gst.SDP.Bandwidth get_bandwidth (uint idx);
+			public Gst.SDP.Connection get_connection ();
+			public unowned string get_email (uint idx);
+			public unowned string get_information ();
+			public Gst.SDP.Key get_key ();
+			public Gst.SDP.Media get_media (uint idx);
+			public Gst.SDP.Origin get_origin ();
+			public unowned string get_phone (uint idx);
+			public unowned string get_session_name ();
+			public Gst.SDP.Time get_time (uint idx);
+			public unowned string get_uri ();
+			public unowned string get_version ();
+			public Gst.SDP.Zone get_zone (uint idx);
+			public Gst.SDP.Result init ();
+			public uint medias_len ();
+			public uint phones_len ();
+			public Gst.SDP.Result set_connection (string nettype, string addrtype, string address, uint ttl, uint addr_number);
+			public Gst.SDP.Result set_information (string information);
+			public Gst.SDP.Result set_key (string type, string data);
+			public Gst.SDP.Result set_origin (string username, string sess_id, string sess_version, string nettype, string addrtype, string addr);
+			public Gst.SDP.Result set_session_name (string session_name);
+			public Gst.SDP.Result set_uri (string uri);
+			public Gst.SDP.Result set_version (string version);
+			public uint times_len ();
+			public Gst.SDP.Result uninit ();
+			public uint zones_len ();
+		}
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h", has_type_id = false)]
+		[GIR (name = "SDPAttribute")]
+		public struct Attribute {
+			public weak string key;
+			public weak string value;
+		}
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h", has_type_id = false)]
+		[GIR (name = "SDPBandwidth")]
+		public struct Bandwidth {
+			public weak string bwtype;
+			public uint bandwidth;
+		}
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h", has_type_id = false)]
+		[GIR (name = "SDPConnection")]
+		public struct Connection {
+			public weak string nettype;
+			public weak string addrtype;
+			public weak string address;
+			public uint ttl;
+			public uint addr_number;
+		}
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h", has_type_id = false)]
+		[GIR (name = "SDPKey")]
+		public struct Key {
+			public weak string type;
+			public weak string data;
+		}
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h", has_type_id = false)]
+		[GIR (name = "SDPMedia")]
+		public struct Media {
+			public weak string media;
+			public uint port;
+			public uint num_ports;
+			public weak string proto;
+			public weak GLib.Array<void*> fmts;
+			public weak string information;
+			public weak GLib.Array<void*> connections;
+			public weak GLib.Array<void*> bandwidths;
+			public Gst.SDP.Key key;
+			public weak GLib.Array<void*> attributes;
+			public Gst.SDP.Result add_attribute (string key, string value);
+			public Gst.SDP.Result add_bandwidth (string bwtype, uint bandwidth);
+			public Gst.SDP.Result add_connection (string nettype, string addrtype, string address, uint ttl, uint addr_number);
+			public Gst.SDP.Result add_format (string format);
+			public string as_text ();
+			public uint attributes_len ();
+			public uint bandwidths_len ();
+			public uint connections_len ();
+			public uint formats_len ();
+			public Gst.SDP.Result free ();
+			public Gst.SDP.Attribute get_attribute (uint idx);
+			public unowned string get_attribute_val (string key);
+			public unowned string get_attribute_val_n (string key, uint nth);
+			public Gst.SDP.Bandwidth get_bandwidth (uint idx);
+			public Gst.SDP.Connection get_connection (uint idx);
+			public unowned string get_format (uint idx);
+			public unowned string get_information ();
+			public Gst.SDP.Key get_key ();
+			public unowned string get_media ();
+			public uint get_num_ports ();
+			public uint get_port ();
+			public unowned string get_proto ();
+			public Gst.SDP.Result init ();
+			public Gst.SDP.Result set_information (string information);
+			public Gst.SDP.Result set_key (string type, string data);
+			public Gst.SDP.Result set_media (string med);
+			public Gst.SDP.Result set_port_info (uint port, uint num_ports);
+			public Gst.SDP.Result set_proto (string proto);
+			public Gst.SDP.Result uninit ();
+		}
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h", has_type_id = false)]
+		[GIR (name = "SDPOrigin")]
+		public struct Origin {
+			public weak string username;
+			public weak string sess_id;
+			public weak string sess_version;
+			public weak string nettype;
+			public weak string addrtype;
+			public weak string addr;
+		}
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h", has_type_id = false)]
+		[GIR (name = "SDPTime")]
+		public struct Time {
+			public weak string start;
+			public weak string stop;
+			public weak GLib.Array<void*> repeat;
+		}
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h", has_type_id = false)]
+		[GIR (name = "SDPZone")]
+		public struct Zone {
+			public weak string time;
+			public weak string typed_time;
+		}
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h", cprefix = "GST_SDP_", has_type_id = false)]
+		[GIR (name = "SDPResult")]
+		public enum Result {
+			OK,
+			EINVAL
+		}
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h", cname = "GST_SDP_BWTYPE_AS")]
+		public const string BWTYPE_AS;
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h", cname = "GST_SDP_BWTYPE_CT")]
+		public const string BWTYPE_CT;
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h", cname = "GST_SDP_BWTYPE_EXT_PREFIX")]
+		public const string BWTYPE_EXT_PREFIX;
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h", cname = "GST_SDP_BWTYPE_RR")]
+		public const string BWTYPE_RR;
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h", cname = "GST_SDP_BWTYPE_RS")]
+		public const string BWTYPE_RS;
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h", cname = "GST_SDP_BWTYPE_TIAS")]
+		public const string BWTYPE_TIAS;
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h")]
+		public static bool address_is_multicast (string nettype, string addrtype, string addr);
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h")]
+		public static Gst.SDP.Result media_new (out Gst.SDP.Media media);
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h")]
+		public static string message_as_uri (string scheme, Gst.SDP.Message msg);
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h")]
+		public static Gst.SDP.Result message_new (out Gst.SDP.Message msg);
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h")]
+		public static Gst.SDP.Result message_parse_buffer (uint8 data, uint size, Gst.SDP.Message msg);
+		[CCode (cheader_filename = "gst/sdp/gstsdp.h,gst/sdp/gstsdpmessage.h")]
+		public static Gst.SDP.Result message_parse_uri (string uri, Gst.SDP.Message msg);
+	}
+}
diff --git a/vapi/gstreamer-tag-1.0.deps b/vapi/gstreamer-tag-1.0.deps
new file mode 100644
index 0000000..26a0edb
--- /dev/null
+++ b/vapi/gstreamer-tag-1.0.deps
@@ -0,0 +1 @@
+gstreamer-1.0
diff --git a/vapi/gstreamer-tag-1.0.vapi b/vapi/gstreamer-tag-1.0.vapi
new file mode 100644
index 0000000..4241fa0
--- /dev/null
+++ b/vapi/gstreamer-tag-1.0.vapi
@@ -0,0 +1,251 @@
+/* gstreamer-tag-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gst", gir_namespace = "GstTag", gir_version = "1.0", lower_case_cprefix = "gst_")]
+namespace Gst {
+	namespace Tag {
+		namespace CDDA {
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CDDA_CDDB_DISCID")]
+			public const string CDDB_DISCID;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CDDA_CDDB_DISCID_FULL")]
+			public const string CDDB_DISCID_FULL;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CDDA_MUSICBRAINZ_DISCID")]
+			public const string MUSICBRAINZ_DISCID;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL")]
+			public const string MUSICBRAINZ_DISCID_FULL;
+		}
+		namespace CMML {
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CMML_CLIP")]
+			public const string CLIP;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CMML_HEAD")]
+			public const string HEAD;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CMML_STREAM")]
+			public const string STREAM;
+		}
+		namespace Capturing {
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_CONTRAST")]
+			public const string CONTRAST;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_DIGITAL_ZOOM_RATIO")]
+			public const string DIGITAL_ZOOM_RATIO;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_EXPOSURE_COMPENSATION")]
+			public const string EXPOSURE_COMPENSATION;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_EXPOSURE_MODE")]
+			public const string EXPOSURE_MODE;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_EXPOSURE_PROGRAM")]
+			public const string EXPOSURE_PROGRAM;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_FLASH_FIRED")]
+			public const string FLASH_FIRED;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_FLASH_MODE")]
+			public const string FLASH_MODE;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_FOCAL_LENGTH")]
+			public const string FOCAL_LENGTH;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_FOCAL_RATIO")]
+			public const string FOCAL_RATIO;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_GAIN_ADJUSTMENT")]
+			public const string GAIN_ADJUSTMENT;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_ISO_SPEED")]
+			public const string ISO_SPEED;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_METERING_MODE")]
+			public const string METERING_MODE;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_SATURATION")]
+			public const string SATURATION;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_SCENE_CAPTURE_TYPE")]
+			public const string SCENE_CAPTURE_TYPE;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_SHARPNESS")]
+			public const string SHARPNESS;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_SHUTTER_SPEED")]
+			public const string SHUTTER_SPEED;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_SOURCE")]
+			public const string SOURCE;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_CAPTURING_WHITE_BALANCE")]
+			public const string WHITE_BALANCE;
+		}
+		namespace Image {
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_IMAGE_HORIZONTAL_PPI")]
+			public const string HORIZONTAL_PPI;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_IMAGE_VERTICAL_PPI")]
+			public const string VERTICAL_PPI;
+		}
+		namespace List {
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+			public static bool add_id3_image (Gst.TagList tag_list, uint8 image_data, uint image_data_len, uint id3_picture_type);
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+			public static Gst.TagList from_exif_buffer (Gst.Buffer buffer, int byte_order, uint32 base_offset);
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+			public static Gst.TagList from_exif_buffer_with_tiff_header (Gst.Buffer buffer);
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+			public static Gst.TagList from_id3v2_tag (Gst.Buffer buffer);
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+			public static Gst.TagList from_vorbiscomment (uint8 data, size_t size, uint8 id_data, uint id_data_length, string vendor_string);
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+			public static Gst.TagList from_vorbiscomment_buffer (Gst.Buffer buffer, uint8 id_data, uint id_data_length, string vendor_string);
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+			public static Gst.TagList from_xmp_buffer (Gst.Buffer buffer);
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+			public static Gst.TagList new_from_id3v1 (uint8 data);
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+			public static Gst.Buffer to_exif_buffer (Gst.TagList taglist, int byte_order, uint32 base_offset);
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+			public static Gst.Buffer to_exif_buffer_with_tiff_header (Gst.TagList taglist);
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+			public static Gst.Buffer to_vorbiscomment_buffer (Gst.TagList list, uint8 id_data, uint id_data_length, string vendor_string);
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+			public static Gst.Buffer to_xmp_buffer (Gst.TagList list, bool read_only);
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+			public static Gst.Buffer to_xmp_buffer_full (Gst.TagList list, bool read_only, string schemas);
+		}
+		namespace MusicBrainz {
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_MUSICBRAINZ_ALBUMARTISTID")]
+			public const string ALBUMARTISTID;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_MUSICBRAINZ_ALBUMID")]
+			public const string ALBUMID;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_MUSICBRAINZ_ARTISTID")]
+			public const string ARTISTID;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_MUSICBRAINZ_TRACKID")]
+			public const string TRACKID;
+			[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_MUSICBRAINZ_TRMID")]
+			public const string TRMID;
+		}
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", type_id = "gst_tag_demux_get_type ()")]
+		[GIR (name = "TagDemux")]
+		public abstract class Demux : Gst.Element {
+			[CCode (has_construct_function = false)]
+			protected Demux ();
+			[NoWrapper]
+			public virtual bool identify_tag (Gst.Buffer buffer, bool start_tag, uint tag_size);
+			[NoWrapper]
+			public virtual Gst.TagList merge_tags (Gst.TagList start_tags, Gst.TagList end_tags);
+			[NoWrapper]
+			public virtual Gst.Tag.DemuxResult parse_tag (Gst.Buffer buffer, bool start_tag, uint tag_size, Gst.TagList tags);
+		}
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", type_id = "gst_tag_mux_get_type ()")]
+		[GIR (name = "TagMux")]
+		public abstract class Mux : Gst.Element, Gst.TagSetter {
+			[CCode (has_construct_function = false)]
+			protected Mux ();
+			[NoWrapper]
+			public virtual Gst.Buffer render_end_tag (Gst.TagList tag_list);
+			[NoWrapper]
+			public virtual Gst.Buffer render_start_tag (Gst.TagList tag_list);
+		}
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", type_id = "gst_tag_xmp_writer_get_type ()")]
+		[GIR (name = "TagXmpWriter")]
+		public interface XmpWriter : Gst.Element {
+			public void add_all_schemas ();
+			public void add_schema (string schema);
+			public bool has_schema (string schema);
+			public void remove_all_schemas ();
+			public void remove_schema (string schema);
+			public Gst.Buffer tag_list_to_xmp_buffer (Gst.TagList taglist, bool read_only);
+		}
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cprefix = "GST_TAG_DEMUX_RESULT_", type_id = "gst_tag_demux_result_get_type ()")]
+		[GIR (name = "TagDemuxResult")]
+		public enum DemuxResult {
+			BROKEN_TAG,
+			AGAIN,
+			OK
+		}
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cprefix = "GST_TAG_IMAGE_TYPE_", type_id = "gst_tag_image_type_get_type ()")]
+		[GIR (name = "TagImageType")]
+		public enum ImageType {
+			NONE,
+			UNDEFINED,
+			FRONT_COVER,
+			BACK_COVER,
+			LEAFLET_PAGE,
+			MEDIUM,
+			LEAD_ARTIST,
+			ARTIST,
+			CONDUCTOR,
+			BAND_ORCHESTRA,
+			COMPOSER,
+			LYRICIST,
+			RECORDING_LOCATION,
+			DURING_RECORDING,
+			DURING_PERFORMANCE,
+			VIDEO_CAPTURE,
+			FISH,
+			ILLUSTRATION,
+			[CCode (cname = "GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO")]
+			ARTIST_LOGO,
+			PUBLISHER_STUDIO_LOGO
+		}
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cprefix = "GST_TAG_LICENSE_", type_id = "gst_tag_license_flags_get_type ()")]
+		[Flags]
+		[GIR (name = "TagLicenseFlags")]
+		public enum LicenseFlags {
+			PERMITS_REPRODUCTION,
+			PERMITS_DISTRIBUTION,
+			PERMITS_DERIVATIVE_WORKS,
+			PERMITS_SHARING,
+			REQUIRES_NOTICE,
+			[CCode (cname = "GST_TAG_LICENSE_REQUIRES_ATTRIBUTION")]
+			REQUIRES_ATTRIBUTIONS,
+			REQUIRES_SHARE_ALIKE,
+			REQUIRES_SOURCE_CODE,
+			REQUIRES_COPYLEFT,
+			REQUIRES_LESSER_COPYLEFT,
+			PROHIBITS_COMMERCIAL_USE,
+			PROHIBITS_HIGH_INCOME_NATION_USE,
+			CREATIVE_COMMONS_LICENSE,
+			FREE_SOFTWARE_FOUNDATION_LICENSE
+		}
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "GST_TAG_ID3V2_HEADER_SIZE")]
+		public const int ID3V2_HEADER_SIZE;
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static bool check_language_code (string lang_code);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static string freeform_string_to_utf8 (string data, int size, string env_vars);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string from_id3_tag (string id3_tag);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string from_id3_user_tag (string type, string id3_user_tag);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string from_vorbis_tag (string vorbis_tag);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static uint get_id3v2_tag_size (Gst.Buffer buffer);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string get_language_code_iso_639_1 (string lang_code);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string get_language_code_iso_639_2B (string lang_code);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string get_language_code_iso_639_2T (string lang_code);
+		[CCode (array_length = false, array_null_terminated = true, cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static string[] get_language_codes ();
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string get_language_name (string language_code);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string get_license_description (string license_ref);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static Gst.Tag.LicenseFlags get_license_flags (string license_ref);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string get_license_jurisdiction (string license_ref);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string get_license_nick (string license_ref);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string get_license_title (string license_ref);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string get_license_version (string license_ref);
+		[CCode (array_length = false, array_null_terminated = true, cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static string[] get_licenses ();
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static uint id3_genre_count ();
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string id3_genre_get (uint id);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static Gst.Sample image_data_to_image_sample (uint8 image_data, uint image_data_len, Gst.Tag.ImageType image_type);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static bool parse_extended_comment (string ext_comment, string key, string lang, string value, bool fail_if_no_key);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static void register_musicbrainz_tags ();
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string to_id3_tag (string gst_tag);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static GLib.List<string> to_vorbis_comments (Gst.TagList list, string tag);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string to_vorbis_tag (string gst_tag);
+		[CCode (cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h", cname = "gst_vorbis_tag_add")]
+		public static void vorbis_tag_add (Gst.TagList list, string tag, string value);
+		[CCode (array_length = false, array_null_terminated = true, cheader_filename = "gst/tag/gsttagdemux.h,gst/tag/gsttagmux.h,gst/tag/tag.h,gst/tag/xmpwriter.h")]
+		public static unowned string[] xmp_list_schemas ();
+	}
+}
diff --git a/vapi/gstreamer-video-1.0.deps b/vapi/gstreamer-video-1.0.deps
new file mode 100644
index 0000000..26a0edb
--- /dev/null
+++ b/vapi/gstreamer-video-1.0.deps
@@ -0,0 +1 @@
+gstreamer-1.0
diff --git a/vapi/gstreamer-video-1.0.vapi b/vapi/gstreamer-video-1.0.vapi
new file mode 100644
index 0000000..74f9ec6
--- /dev/null
+++ b/vapi/gstreamer-video-1.0.vapi
@@ -0,0 +1,825 @@
+/* gstreamer-video-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gst", gir_namespace = "GstVideo", gir_version = "1.0", lower_case_cprefix = "gst_")]
+namespace Gst {
+	namespace Video {
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", type_id = "gst_video_buffer_pool_get_type ()")]
+		[GIR (name = "VideoBufferPool")]
+		public class BufferPool : Gst.BufferPool {
+			[CCode (has_construct_function = false, type = "GstBufferPool*")]
+			public BufferPool ();
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_video_codec_frame_get_type ()")]
+		[Compact]
+		[GIR (name = "VideoCodecFrame")]
+		public class CodecFrame {
+			public Gst.ClockTime deadline;
+			public uint32 decode_frame_number;
+			public int distance_from_sync;
+			public Gst.ClockTime dts;
+			public Gst.ClockTime duration;
+			public weak Gst.Buffer input_buffer;
+			public weak Gst.Buffer output_buffer;
+			public uint32 presentation_frame_number;
+			public Gst.ClockTime pts;
+			public uint32 system_frame_number;
+			public Gst.Video.CodecFrame @ref ();
+			public void unref ();
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_video_codec_state_get_type ()")]
+		[Compact]
+		[GIR (name = "VideoCodecState")]
+		public class CodecState {
+			public weak Gst.Caps caps;
+			public weak Gst.Buffer codec_data;
+			public Gst.Video.Info info;
+			public Gst.Video.CodecState @ref ();
+			public void unref ();
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GstColorBalanceChannel", type_id = "gst_color_balance_channel_get_type ()")]
+		[GIR (name = "ColorBalanceChannel")]
+		public class ColorBalanceChannel : GLib.Object {
+			public weak string label;
+			public int max_value;
+			public int min_value;
+			[CCode (has_construct_function = false)]
+			protected ColorBalanceChannel ();
+			public virtual signal void value_changed (int value);
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", type_id = "gst_video_decoder_get_type ()")]
+		[GIR (name = "VideoDecoder")]
+		public abstract class Decoder : Gst.Element {
+			[CCode (has_construct_function = false)]
+			protected Decoder ();
+			public void add_to_frame (int n_bytes);
+			public Gst.Buffer allocate_output_buffer ();
+			public Gst.FlowReturn allocate_output_frame (Gst.Video.CodecFrame frame);
+			[NoWrapper]
+			public virtual bool close ();
+			[NoWrapper]
+			public virtual bool decide_allocation (Gst.Query query);
+			public Gst.FlowReturn drop_frame (owned Gst.Video.CodecFrame frame);
+			[NoWrapper]
+			public virtual Gst.FlowReturn finish ();
+			public Gst.FlowReturn finish_frame (owned Gst.Video.CodecFrame frame);
+			public int get_estimate_rate ();
+			public Gst.Video.CodecFrame get_frame (int frame_number);
+			public void get_latency (out Gst.ClockTime min_latency, out Gst.ClockTime max_latency);
+			public Gst.ClockTimeDiff get_max_decode_time (Gst.Video.CodecFrame frame);
+			public int get_max_errors ();
+			public Gst.Video.CodecFrame get_oldest_frame ();
+			public Gst.Video.CodecState get_output_state ();
+			public bool get_packetized ();
+			[NoWrapper]
+			public virtual Gst.FlowReturn handle_frame (Gst.Video.CodecFrame frame);
+			public Gst.FlowReturn have_frame ();
+			public void merge_tags (Gst.TagList tags, Gst.TagMergeMode mode);
+			public virtual bool negotiate ();
+			[NoWrapper]
+			public virtual bool open ();
+			[NoWrapper]
+			public virtual Gst.FlowReturn parse (Gst.Video.CodecFrame frame, Gst.Base.Adapter adapter, bool at_eos);
+			[NoWrapper]
+			public virtual bool propose_allocation (Gst.Query query);
+			[NoWrapper]
+			public virtual bool reset (bool hard);
+			public void set_estimate_rate (bool enabled);
+			[NoWrapper]
+			public virtual bool set_format (Gst.Video.CodecState state);
+			public void set_latency (Gst.ClockTime min_latency, Gst.ClockTime max_latency);
+			public void set_max_errors (int num);
+			public Gst.Video.CodecState set_output_state (Gst.Video.Format fmt, uint width, uint height, Gst.Video.CodecState? reference);
+			public void set_packetized (bool packetized);
+			[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/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", type_id = "gst_video_encoder_get_type ()")]
+		[GIR (name = "VideoEncoder")]
+		public abstract class Encoder : Gst.Element, Gst.Preset {
+			[CCode (has_construct_function = false)]
+			protected Encoder ();
+			public Gst.Buffer allocate_output_buffer (size_t size);
+			public Gst.FlowReturn allocate_output_frame (Gst.Video.CodecFrame frame, size_t size);
+			[NoWrapper]
+			public virtual bool close ();
+			[NoWrapper]
+			public virtual bool decide_allocation (Gst.Query query);
+			[NoWrapper]
+			public virtual Gst.FlowReturn finish ();
+			public Gst.FlowReturn finish_frame (owned Gst.Video.CodecFrame frame);
+			public bool get_discont ();
+			public Gst.Video.CodecFrame get_frame (int frame_number);
+			public void get_latency (out Gst.ClockTime min_latency, out Gst.ClockTime max_latency);
+			public Gst.Video.CodecFrame get_oldest_frame ();
+			public Gst.Video.CodecState get_output_state ();
+			[NoWrapper]
+			public virtual Gst.Caps getcaps (Gst.Caps filter);
+			[NoWrapper]
+			public virtual Gst.FlowReturn handle_frame (Gst.Video.CodecFrame frame);
+			public void merge_tags (Gst.TagList tags, Gst.TagMergeMode mode);
+			public virtual bool negotiate ();
+			[NoWrapper]
+			public virtual bool open ();
+			[NoWrapper]
+			public virtual Gst.FlowReturn pre_push (Gst.Video.CodecFrame frame);
+			[NoWrapper]
+			public virtual bool propose_allocation (Gst.Query query);
+			public Gst.Caps proxy_getcaps (Gst.Caps caps, Gst.Caps filter);
+			[NoWrapper]
+			public virtual bool reset (bool hard);
+			public void set_discont ();
+			[NoWrapper]
+			public virtual bool set_format (Gst.Video.CodecState state);
+			public void set_headers (owned GLib.List<Gst.Buffer> headers);
+			public void set_latency (Gst.ClockTime min_latency, Gst.ClockTime max_latency);
+			public Gst.Video.CodecState set_output_state (owned Gst.Caps caps, Gst.Video.CodecState? reference);
+			[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/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", type_id = "gst_video_filter_get_type ()")]
+		[GIR (name = "VideoFilter")]
+		public abstract class Filter : Gst.Base.Transform {
+			public Gst.Video.Info in_info;
+			public bool negotiated;
+			public Gst.Video.Info out_info;
+			[CCode (has_construct_function = false)]
+			protected Filter ();
+			[NoWrapper]
+			public virtual bool set_info (Gst.Caps incaps, Gst.Video.Info in_info, Gst.Caps outcaps, Gst.Video.Info out_info);
+			[NoWrapper]
+			public virtual Gst.FlowReturn transform_frame (Gst.Video.Frame inframe, Gst.Video.Frame outframe);
+			[NoWrapper]
+			public virtual Gst.FlowReturn transform_frame_ip (Gst.Video.Frame frame);
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_video_overlay_composition_get_type ()")]
+		[Compact]
+		[GIR (name = "VideoOverlayComposition")]
+		public class OverlayComposition {
+			[CCode (has_construct_function = false)]
+			public OverlayComposition (Gst.Video.OverlayRectangle rectangle);
+			public void add_rectangle (Gst.Video.OverlayRectangle rectangle);
+			public bool blend (Gst.Video.Frame video_buf);
+			public Gst.Video.OverlayComposition copy ();
+			public unowned Gst.Video.OverlayRectangle get_rectangle (uint n);
+			public uint get_seqnum ();
+			public Gst.Video.OverlayComposition make_writable ();
+			public uint n_rectangles ();
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_video_overlay_rectangle_get_type ()")]
+		[Compact]
+		[GIR (name = "VideoOverlayRectangle")]
+		public class OverlayRectangle {
+			[CCode (has_construct_function = false)]
+			public OverlayRectangle.argb (Gst.Buffer pixels, int render_x, int render_y, uint render_width, uint render_height, Gst.Video.OverlayFormatFlags flags);
+			public Gst.Video.OverlayRectangle copy ();
+			public Gst.Video.OverlayFormatFlags get_flags ();
+			public float get_global_alpha ();
+			public unowned Gst.Buffer get_pixels_argb (Gst.Video.OverlayFormatFlags flags);
+			public unowned Gst.Buffer get_pixels_unscaled_argb (Gst.Video.OverlayFormatFlags flags);
+			public bool get_render_rectangle (out int render_x, out int render_y, out uint render_width, out uint render_height);
+			public uint get_seqnum ();
+			public void set_global_alpha (float global_alpha);
+			public void set_render_rectangle (int render_x, int render_y, uint render_width, uint render_height);
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", type_id = "gst_video_sink_get_type ()")]
+		[GIR (name = "VideoSink")]
+		public class Sink : Gst.Base.Sink {
+			public int height;
+			public int width;
+			[CCode (has_construct_function = false)]
+			protected Sink ();
+			public static void center_rect (Gst.Video.Rectangle src, Gst.Video.Rectangle dst, Gst.Video.Rectangle result, bool scaling);
+			[NoWrapper]
+			public virtual Gst.FlowReturn show_frame (Gst.Buffer buf);
+			[NoAccessorMethod]
+			public bool show_preroll_frame { get; set construct; }
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GstColorBalance", type_cname = "GstColorBalanceInterface", type_id = "gst_color_balance_get_type ()")]
+		[GIR (name = "ColorBalance")]
+		public interface ColorBalance : GLib.Object {
+			public abstract Gst.Video.ColorBalanceType get_balance_type ();
+			public abstract int get_value (Gst.Video.ColorBalanceChannel channel);
+			public abstract void set_value (Gst.Video.ColorBalanceChannel channel, int value);
+			[HasEmitter]
+			public virtual signal void value_changed (Gst.Video.ColorBalanceChannel channel, int value);
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GstNavigation", type_cname = "GstNavigationInterface", type_id = "gst_navigation_get_type ()")]
+		[GIR (name = "Navigation")]
+		public interface Navigation : GLib.Object {
+			[CCode (cname = "gst_navigation_event_get_type")]
+			public static Gst.Video.NavigationEventType event_get_type (Gst.Event event);
+			[CCode (cname = "gst_navigation_event_parse_command")]
+			public static bool event_parse_command (Gst.Event event, Gst.Video.NavigationCommand command);
+			[CCode (cname = "gst_navigation_event_parse_key_event")]
+			public static bool event_parse_key_event (Gst.Event event, string key);
+			[CCode (cname = "gst_navigation_event_parse_mouse_button_event")]
+			public static bool event_parse_mouse_button_event (Gst.Event event, int button, double x, double y);
+			[CCode (cname = "gst_navigation_event_parse_mouse_move_event")]
+			public static bool event_parse_mouse_move_event (Gst.Event event, double x, double y);
+			[CCode (cname = "gst_navigation_message_get_type")]
+			public static Gst.Video.NavigationMessageType message_get_type (Gst.Message message);
+			[CCode (cname = "gst_navigation_message_new_angles_changed")]
+			public static Gst.Message message_new_angles_changed (Gst.Object src, uint cur_angle, uint n_angles);
+			[CCode (cname = "gst_navigation_message_new_commands_changed")]
+			public static Gst.Message message_new_commands_changed (Gst.Object src);
+			[CCode (cname = "gst_navigation_message_new_mouse_over")]
+			public static Gst.Message message_new_mouse_over (Gst.Object src, bool active);
+			[CCode (cname = "gst_navigation_message_parse_angles_changed")]
+			public static bool message_parse_angles_changed (Gst.Message message, uint cur_angle, uint n_angles);
+			[CCode (cname = "gst_navigation_message_parse_mouse_over")]
+			public static bool message_parse_mouse_over (Gst.Message message, bool active);
+			[CCode (cname = "gst_navigation_query_get_type")]
+			public static Gst.Video.NavigationQueryType query_get_type (Gst.Query query);
+			[CCode (cname = "gst_navigation_query_new_angles")]
+			public static Gst.Query query_new_angles ();
+			[CCode (cname = "gst_navigation_query_new_commands")]
+			public static Gst.Query query_new_commands ();
+			[CCode (cname = "gst_navigation_query_parse_angles")]
+			public static bool query_parse_angles (Gst.Query query, uint cur_angle, uint n_angles);
+			[CCode (cname = "gst_navigation_query_parse_commands_length")]
+			public static bool query_parse_commands_length (Gst.Query query, uint n_cmds);
+			[CCode (cname = "gst_navigation_query_parse_commands_nth")]
+			public static bool query_parse_commands_nth (Gst.Query query, uint nth, Gst.Video.NavigationCommand cmd);
+			[CCode (cname = "gst_navigation_query_set_angles")]
+			public static void query_set_angles (Gst.Query query, uint cur_angle, uint n_angles);
+			[CCode (cname = "gst_navigation_query_set_commandsv")]
+			public static void query_set_commandsv (Gst.Query query, int n_cmds, Gst.Video.NavigationCommand cmds);
+			[CCode (cname = "gst_navigation_send_command")]
+			public void send_command (Gst.Video.NavigationCommand command);
+			public abstract void send_event (Gst.Structure structure);
+			[CCode (cname = "gst_navigation_send_key_event")]
+			public void send_key_event (string event, string key);
+			[CCode (cname = "gst_navigation_send_mouse_event")]
+			public void send_mouse_event (string event, int button, double x, double y);
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", type_id = "gst_video_orientation_get_type ()")]
+		[GIR (name = "VideoOrientation")]
+		public interface Orientation : GLib.Object {
+			public abstract bool get_hcenter (int center);
+			public abstract bool get_hflip (bool flip);
+			public abstract bool get_vcenter (int center);
+			public abstract bool get_vflip (bool flip);
+			public abstract bool set_hcenter (int center);
+			public abstract bool set_hflip (bool flip);
+			public abstract bool set_vcenter (int center);
+			public abstract bool set_vflip (bool flip);
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", type_id = "gst_video_overlay_get_type ()")]
+		[GIR (name = "VideoOverlay")]
+		public interface Overlay : GLib.Object {
+			public abstract void expose ();
+			public void got_window_handle ([CCode (type = "guintptr")] uint* handle);
+			public abstract void handle_events (bool handle_events);
+			public void prepare_window_handle ();
+			[NoWrapper]
+			public virtual void set_render_rectangle (int x, int y, int width, int height);
+			public abstract void set_window_handle ([CCode (type = "guintptr")] uint* handle);
+			[CCode (cname = "gst_video_overlay_set_render_rectangle")]
+			public bool try_set_render_rectangle (int x, int y, int width, int height);
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", has_type_id = false)]
+		[GIR (name = "VideoAlignment")]
+		public struct Alignment {
+			public uint padding_top;
+			public uint padding_bottom;
+			public uint padding_left;
+			public uint padding_right;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak uint[] stride_align;
+			public void reset ();
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", has_type_id = false)]
+		[GIR (name = "VideoColorimetry")]
+		public struct Colorimetry {
+			public Gst.Video.ColorRange range;
+			public Gst.Video.ColorMatrix matrix;
+			public Gst.Video.TransferFunction transfer;
+			public Gst.Video.ColorPrimaries primaries;
+			public bool from_string (string color);
+			public bool matches (string color);
+			public string to_string ();
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", has_type_id = false)]
+		[GIR (name = "VideoCropMeta")]
+		public struct CropMeta {
+			public Gst.Meta meta;
+			public uint x;
+			public uint y;
+			public uint width;
+			public uint height;
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", has_type_id = false)]
+		[GIR (name = "VideoFormatInfo")]
+		public struct FormatInfo {
+			public Gst.Video.Format format;
+			public weak string name;
+			public weak string description;
+			public Gst.Video.FormatFlags flags;
+			public uint bits;
+			public uint n_components;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak uint[] shift;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak uint[] depth;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak int[] pixel_stride;
+			public uint n_planes;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak uint[] plane;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak uint[] poffset;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak uint[] w_sub;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak uint[] h_sub;
+			public Gst.Video.Format unpack_format;
+			public weak Gst.Video.FormatUnpack unpack_func;
+			public int pack_lines;
+			public weak Gst.Video.FormatPack pack_func;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak void*[] _gst_reserved;
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", has_type_id = false)]
+		[GIR (name = "VideoFrame")]
+		public struct Frame {
+			public Gst.Video.Info info;
+			public Gst.Video.FrameFlags flags;
+			public weak Gst.Buffer buffer;
+			public void* meta;
+			public int id;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak void*[] data;
+			public bool copy (Gst.Video.Frame src);
+			public bool copy_plane (Gst.Video.Frame src, uint plane);
+			public bool map (Gst.Video.Info info, Gst.Buffer buffer, Gst.MapFlags flags);
+			public bool map_id (Gst.Video.Info info, Gst.Buffer buffer, int id, Gst.MapFlags flags);
+			public void unmap ();
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", has_type_id = false)]
+		[GIR (name = "VideoInfo")]
+		public struct Info {
+			public Gst.Video.FormatInfo finfo;
+			public Gst.Video.InterlaceMode interlace_mode;
+			public Gst.Video.Flags flags;
+			public int width;
+			public int height;
+			public size_t size;
+			public int views;
+			public Gst.Video.ChromaSite chroma_site;
+			public Gst.Video.Colorimetry colorimetry;
+			public int par_n;
+			public int par_d;
+			public int fps_n;
+			public int fps_d;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak size_t[] offset;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak int[] stride;
+			public bool convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value);
+			public bool from_caps (Gst.Caps caps);
+			public void init ();
+			public bool is_equal (Gst.Video.Info other);
+			public void set_format (Gst.Video.Format format, uint width, uint height);
+			public Gst.Caps to_caps ();
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", has_type_id = false)]
+		[GIR (name = "VideoMeta")]
+		public struct Meta {
+			public Gst.Meta meta;
+			public weak Gst.Buffer buffer;
+			public Gst.Video.FrameFlags flags;
+			public Gst.Video.Format format;
+			public int id;
+			public uint width;
+			public uint height;
+			public uint n_planes;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak size_t[] offset;
+			[CCode (array_length = false, array_null_terminated = true)]
+			public weak int[] stride;
+			public bool map (uint plane, Gst.MapInfo info, void* data, int stride, Gst.MapFlags flags);
+			public bool unmap (uint plane, Gst.MapInfo info);
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", has_type_id = false)]
+		[GIR (name = "VideoMetaTransform")]
+		public struct MetaTransform {
+			public Gst.Video.Info in_info;
+			public Gst.Video.Info out_info;
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", has_type_id = false)]
+		[GIR (name = "VideoOverlayCompositionMeta")]
+		public struct OverlayCompositionMeta {
+			public Gst.Meta meta;
+			public weak Gst.Video.OverlayComposition overlay;
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", has_type_id = false)]
+		[GIR (name = "VideoRectangle")]
+		public struct Rectangle {
+			public int x;
+			public int y;
+			public int w;
+			public int h;
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cprefix = "GST_VIDEO_BUFFER_FLAG_", has_type_id = false)]
+		[Flags]
+		[GIR (name = "VideoBufferFlags")]
+		public enum BufferFlags {
+			INTERLACED,
+			TFF,
+			RFF,
+			ONEFIELD,
+			LAST
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cprefix = "GST_VIDEO_CHROMA_SITE_", type_id = "gst_video_chroma_site_get_type ()")]
+		[Flags]
+		[GIR (name = "VideoChromaSite")]
+		public enum ChromaSite {
+			UNKNOWN,
+			NONE,
+			H_COSITED,
+			V_COSITED,
+			ALT_LINE,
+			COSITED,
+			JPEG,
+			MPEG2,
+			DV
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cprefix = "GST_VIDEO_CODEC_FRAME_FLAG_", has_type_id = false)]
+		[Flags]
+		[GIR (name = "VideoCodecFrameFlags")]
+		public enum CodecFrameFlags {
+			DECODE_ONLY,
+			SYNC_POINT,
+			FORCE_KEYFRAME,
+			FORCE_KEYFRAME_HEADERS
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GstColorBalanceType", cprefix = "GST_COLOR_BALANCE_", type_id = "gst_color_balance_type_get_type ()")]
+		[GIR (name = "ColorBalanceType")]
+		public enum ColorBalanceType {
+			HARDWARE,
+			SOFTWARE
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cprefix = "GST_VIDEO_COLOR_MATRIX_", type_id = "gst_video_color_matrix_get_type ()")]
+		[GIR (name = "VideoColorMatrix")]
+		public enum ColorMatrix {
+			UNKNOWN,
+			RGB,
+			FCC,
+			BT709,
+			BT601,
+			SMPTE240M
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cprefix = "GST_VIDEO_COLOR_PRIMARIES_", type_id = "gst_video_color_primaries_get_type ()")]
+		[GIR (name = "VideoColorPrimaries")]
+		public enum ColorPrimaries {
+			UNKNOWN,
+			BT709,
+			BT470M,
+			BT470BG,
+			SMPTE170M,
+			SMPTE240M,
+			FILM
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cprefix = "GST_VIDEO_COLOR_RANGE_", type_id = "gst_video_color_range_get_type ()")]
+		[GIR (name = "VideoColorRange")]
+		public enum ColorRange {
+			UNKNOWN,
+			@0_255,
+			@16_235
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cprefix = "GST_VIDEO_FLAG_", type_id = "gst_video_flags_get_type ()")]
+		[Flags]
+		[GIR (name = "VideoFlags")]
+		public enum Flags {
+			NONE,
+			VARIABLE_FPS,
+			PREMULTIPLIED_ALPHA
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cprefix = "GST_VIDEO_FORMAT_", type_id = "gst_video_format_get_type ()")]
+		[GIR (name = "VideoFormat")]
+		public enum Format {
+			UNKNOWN,
+			ENCODED,
+			I420,
+			YV12,
+			YUY2,
+			UYVY,
+			AYUV,
+			[CCode (cname = "GST_VIDEO_FORMAT_RGBx")]
+			RGBX,
+			[CCode (cname = "GST_VIDEO_FORMAT_BGRx")]
+			BGRX,
+			[CCode (cname = "GST_VIDEO_FORMAT_xRGB")]
+			XRGB,
+			[CCode (cname = "GST_VIDEO_FORMAT_xBGR")]
+			XBGR,
+			RGBA,
+			BGRA,
+			ARGB,
+			ABGR,
+			RGB,
+			BGR,
+			Y41B,
+			Y42B,
+			YVYU,
+			Y444,
+			[CCode (cname = "GST_VIDEO_FORMAT_v210")]
+			V210,
+			[CCode (cname = "GST_VIDEO_FORMAT_v216")]
+			V216,
+			NV12,
+			NV21,
+			GRAY8,
+			GRAY16_BE,
+			GRAY16_LE,
+			[CCode (cname = "GST_VIDEO_FORMAT_v308")]
+			V308,
+			RGB16,
+			BGR16,
+			RGB15,
+			BGR15,
+			UYVP,
+			A420,
+			RGB8P,
+			YUV9,
+			YVU9,
+			IYU1,
+			ARGB64,
+			AYUV64,
+			[CCode (cname = "GST_VIDEO_FORMAT_r210")]
+			R210,
+			I420_10BE,
+			I420_10LE
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cprefix = "GST_VIDEO_FORMAT_FLAG_", type_id = "gst_video_format_flags_get_type ()")]
+		[Flags]
+		[GIR (name = "VideoFormatFlags")]
+		public enum FormatFlags {
+			YUV,
+			RGB,
+			GRAY,
+			ALPHA,
+			LE,
+			PALETTE,
+			COMPLEX,
+			UNPACK
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cprefix = "GST_VIDEO_FRAME_FLAG_", has_type_id = false)]
+		[Flags]
+		[GIR (name = "VideoFrameFlags")]
+		public enum FrameFlags {
+			NONE,
+			INTERLACED,
+			TFF,
+			RFF,
+			ONEFIELD
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cprefix = "GST_VIDEO_INTERLACE_MODE_", type_id = "gst_video_interlace_mode_get_type ()")]
+		[GIR (name = "VideoInterlaceMode")]
+		public enum InterlaceMode {
+			PROGRESSIVE,
+			INTERLEAVED,
+			MIXED,
+			FIELDS
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GstNavigationCommand", cprefix = "GST_NAVIGATION_COMMAND_", type_id = "gst_navigation_command_get_type ()")]
+		[GIR (name = "NavigationCommand")]
+		public enum NavigationCommand {
+			INVALID,
+			MENU1,
+			MENU2,
+			MENU3,
+			MENU4,
+			MENU5,
+			MENU6,
+			MENU7,
+			LEFT,
+			RIGHT,
+			UP,
+			DOWN,
+			ACTIVATE,
+			PREV_ANGLE,
+			NEXT_ANGLE
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GstNavigationEventType", cprefix = "GST_NAVIGATION_EVENT_", type_id = "gst_navigation_event_type_get_type ()")]
+		[GIR (name = "NavigationEventType")]
+		public enum NavigationEventType {
+			INVALID,
+			KEY_PRESS,
+			KEY_RELEASE,
+			MOUSE_BUTTON_PRESS,
+			MOUSE_BUTTON_RELEASE,
+			MOUSE_MOVE,
+			COMMAND
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GstNavigationMessageType", cprefix = "GST_NAVIGATION_MESSAGE_", type_id = "gst_navigation_message_type_get_type ()")]
+		[GIR (name = "NavigationMessageType")]
+		public enum NavigationMessageType {
+			INVALID,
+			MOUSE_OVER,
+			COMMANDS_CHANGED,
+			ANGLES_CHANGED
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GstNavigationQueryType", cprefix = "GST_NAVIGATION_QUERY_", type_id = "gst_navigation_query_type_get_type ()")]
+		[GIR (name = "NavigationQueryType")]
+		public enum NavigationQueryType {
+			INVALID,
+			COMMANDS,
+			ANGLES
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cprefix = "GST_VIDEO_OVERLAY_FORMAT_FLAG_", has_type_id = false)]
+		[GIR (name = "VideoOverlayFormatFlags")]
+		public enum OverlayFormatFlags {
+			NONE,
+			PREMULTIPLIED_ALPHA,
+			GLOBAL_ALPHA
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cprefix = "GST_VIDEO_PACK_FLAG_", type_id = "gst_video_pack_flags_get_type ()")]
+		[GIR (name = "VideoPackFlags")]
+		public enum PackFlags {
+			NONE,
+			TRUNCATE_RANGE
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cprefix = "GST_VIDEO_TRANSFER_", type_id = "gst_video_transfer_function_get_type ()")]
+		[GIR (name = "VideoTransferFunction")]
+		public enum TransferFunction {
+			UNKNOWN,
+			GAMMA10,
+			GAMMA18,
+			GAMMA20,
+			GAMMA22,
+			BT709,
+			SMPTE240M,
+			SRGB,
+			GAMMA28,
+			LOG100,
+			LOG316
+		}
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", instance_pos = 2.9)]
+		public delegate void ConvertSampleCallback (Gst.Sample sample, GLib.Error error);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", has_target = false)]
+		public delegate void FormatPack (Gst.Video.FormatInfo info, Gst.Video.PackFlags flags, void* src, int sstride, void* data, int stride, Gst.Video.ChromaSite chroma_site, int y, int width);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", has_target = false)]
+		public delegate void FormatUnpack (Gst.Video.FormatInfo info, Gst.Video.PackFlags flags, void* dest, void* data, int stride, int x, int y, int width);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT")]
+		public const string BUFFER_POOL_OPTION_VIDEO_ALIGNMENT;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_BUFFER_POOL_OPTION_VIDEO_META")]
+		public const string BUFFER_POOL_OPTION_VIDEO_META;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_COLORIMETRY_BT601")]
+		public const string COLORIMETRY_BT601;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_COLORIMETRY_BT709")]
+		public const string COLORIMETRY_BT709;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_COLORIMETRY_SMPTE240M")]
+		public const string COLORIMETRY_SMPTE240M;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_COMP_A")]
+		public const int COMP_A;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_COMP_B")]
+		public const int COMP_B;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_COMP_G")]
+		public const int COMP_G;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_COMP_INDEX")]
+		public const int COMP_INDEX;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_COMP_PALETTE")]
+		public const int COMP_PALETTE;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_COMP_R")]
+		public const int COMP_R;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_COMP_U")]
+		public const int COMP_U;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_COMP_V")]
+		public const int COMP_V;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_COMP_Y")]
+		public const int COMP_Y;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_DECODER_MAX_ERRORS")]
+		public const int DECODER_MAX_ERRORS;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_DECODER_SINK_NAME")]
+		public const string DECODER_SINK_NAME;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_DECODER_SRC_NAME")]
+		public const string DECODER_SRC_NAME;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_ENCODER_SINK_NAME")]
+		public const string ENCODER_SINK_NAME;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_ENCODER_SRC_NAME")]
+		public const string ENCODER_SRC_NAME;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_FORMATS_ALL")]
+		public const string FORMATS_ALL;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_FPS_RANGE")]
+		public const string FPS_RANGE;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_MAX_COMPONENTS")]
+		public const int MAX_COMPONENTS;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_MAX_PLANES")]
+		public const int MAX_PLANES;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "GST_VIDEO_SIZE_RANGE")]
+		public const string SIZE_RANGE;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static bool blend (Gst.Video.Frame dest, Gst.Video.Frame src, int x, int y, float global_alpha);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static void blend_scale_linear_RGBA (Gst.Video.Info src, Gst.Buffer src_buffer, int dest_height, int dest_width, Gst.Video.Info dest, Gst.Buffer dest_buffer);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_buffer_pool_config_get_video_alignment")]
+		public static bool buffer_pool_config_get_video_alignment (Gst.Structure config, Gst.Video.Alignment align);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_buffer_pool_config_set_video_alignment")]
+		public static void buffer_pool_config_set_video_alignment (Gst.Structure config, Gst.Video.Alignment align);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static bool calculate_display_ratio (uint dar_n, uint dar_d, uint video_width, uint video_height, uint video_par_n, uint video_par_d, uint display_par_n, uint display_par_d);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static Gst.Video.ChromaSite chroma_from_string (string s);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static unowned string chroma_to_string (Gst.Video.ChromaSite site);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static void color_range_offsets (Gst.Video.ColorRange range, Gst.Video.FormatInfo info, int offset, out int scale);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static Gst.Sample convert_sample (Gst.Sample sample, Gst.Caps to_caps, Gst.ClockTime timeout) throws GLib.Error;
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static void convert_sample_async (Gst.Sample sample, Gst.Caps to_caps, Gst.ClockTime timeout, owned Gst.Video.ConvertSampleCallback callback);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static GLib.Type crop_meta_api_get_type ();
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static Gst.MetaInfo crop_meta_get_info ();
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static bool event_is_force_key_unit (Gst.Event event);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static Gst.Event event_new_downstream_force_key_unit (Gst.ClockTime timestamp, Gst.ClockTime stream_time, Gst.ClockTime running_time, bool all_headers, uint count);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static Gst.Event event_new_still_frame (bool in_still);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static Gst.Event event_new_upstream_force_key_unit (Gst.ClockTime running_time, bool all_headers, uint count);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static bool event_parse_downstream_force_key_unit (Gst.Event event, out Gst.ClockTime timestamp, out Gst.ClockTime stream_time, out Gst.ClockTime running_time, out bool all_headers, out uint count);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static bool event_parse_still_frame (Gst.Event event, bool in_still);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static bool event_parse_upstream_force_key_unit (Gst.Event event, out Gst.ClockTime running_time, out bool all_headers, out uint count);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static Gst.Video.Format format_from_fourcc (uint32 fourcc);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static Gst.Video.Format format_from_masks (int depth, int bpp, int endianness, int red_mask, int green_mask, int blue_mask, int alpha_mask);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static Gst.Video.Format format_from_string (string format);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static Gst.Video.FormatInfo format_get_info (Gst.Video.Format format);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static uint32 format_to_fourcc (Gst.Video.Format format);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static unowned string format_to_string (Gst.Video.Format format);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_is_video_overlay_prepare_window_handle_message")]
+		public static bool is_video_overlay_prepare_window_handle_message (Gst.Message msg);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static GLib.Type meta_api_get_type ();
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static Gst.MetaInfo meta_get_info ();
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static GLib.Quark meta_transform_scale_get_quark ();
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_event_get_type")]
+		public static Gst.Video.NavigationEventType navigation_event_get_type (Gst.Event event);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_event_parse_command")]
+		public static bool navigation_event_parse_command (Gst.Event event, Gst.Video.NavigationCommand command);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_event_parse_key_event")]
+		public static bool navigation_event_parse_key_event (Gst.Event event, string key);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_event_parse_mouse_button_event")]
+		public static bool navigation_event_parse_mouse_button_event (Gst.Event event, int button, double x, double y);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_event_parse_mouse_move_event")]
+		public static bool navigation_event_parse_mouse_move_event (Gst.Event event, double x, double y);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_message_get_type")]
+		public static Gst.Video.NavigationMessageType navigation_message_get_type (Gst.Message message);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_message_new_angles_changed")]
+		public static Gst.Message navigation_message_new_angles_changed (Gst.Object src, uint cur_angle, uint n_angles);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_message_new_commands_changed")]
+		public static Gst.Message navigation_message_new_commands_changed (Gst.Object src);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_message_new_mouse_over")]
+		public static Gst.Message navigation_message_new_mouse_over (Gst.Object src, bool active);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_message_parse_angles_changed")]
+		public static bool navigation_message_parse_angles_changed (Gst.Message message, uint cur_angle, uint n_angles);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_message_parse_mouse_over")]
+		public static bool navigation_message_parse_mouse_over (Gst.Message message, bool active);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_query_get_type")]
+		public static Gst.Video.NavigationQueryType navigation_query_get_type (Gst.Query query);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_query_new_angles")]
+		public static Gst.Query navigation_query_new_angles ();
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_query_new_commands")]
+		public static Gst.Query navigation_query_new_commands ();
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_query_parse_angles")]
+		public static bool navigation_query_parse_angles (Gst.Query query, uint cur_angle, uint n_angles);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_query_parse_commands_length")]
+		public static bool navigation_query_parse_commands_length (Gst.Query query, uint n_cmds);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_query_parse_commands_nth")]
+		public static bool navigation_query_parse_commands_nth (Gst.Query query, uint nth, Gst.Video.NavigationCommand cmd);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_query_set_angles")]
+		public static void navigation_query_set_angles (Gst.Query query, uint cur_angle, uint n_angles);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_query_set_commandsv")]
+		public static void navigation_query_set_commandsv (Gst.Query query, int n_cmds, Gst.Video.NavigationCommand cmds);
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static GLib.Type overlay_composition_meta_api_get_type ();
+		[CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
+		public static Gst.MetaInfo overlay_composition_meta_get_info ();
+	}
+}
diff --git a/vapi/metadata/GstApp-1.0.metadata b/vapi/metadata/GstApp-1.0.metadata
new file mode 100644
index 0000000..2cc922f
--- /dev/null
+++ b/vapi/metadata/GstApp-1.0.metadata
@@ -0,0 +1,2 @@
+* parent="Gst.App"
+App* name="App(.+)"
diff --git a/vapi/metadata/GstAudio-1.0.metadata b/vapi/metadata/GstAudio-1.0.metadata
new file mode 100644
index 0000000..162dfa7
--- /dev/null
+++ b/vapi/metadata/GstAudio-1.0.metadata
@@ -0,0 +1,15 @@
+* parent="Gst.Audio"
+Audio* name="Audio(.+)"
+AUDIO_* name="AUDIO_(.+)"
+
+// Field ownership
+AudioBaseSink.provided_clock unowned=false
+AudioClock.*#field skip
+
+// Non-boxed return type
+buffer_get_audio_downmix_meta_for_channels skip=false
+buffer_add_audio_downmix_meta skip=false
+
+// No way to annotate virtual methods without invokers
+AudioSink.write.data type="uint8[]" array_length_idx=1
+AudioSrc.read.data type="uint8[]" array_length_idx=1
diff --git a/vapi/metadata/GstFft-1.0-custom.vala b/vapi/metadata/GstFft-1.0-custom.vala
new file mode 100644
index 0000000..f3a52c2
--- /dev/null
+++ b/vapi/metadata/GstFft-1.0-custom.vala
@@ -0,0 +1,20 @@
+namespace Gst {
+	namespace FFT {
+		[Compact]
+		public class F32 {
+			public F32 (int len, bool inverse);
+		}
+		[Compact]
+		public class F64 {
+			public F64 (int len, bool inverse);
+		}
+		[Compact]
+		public class S16 {
+			public S16 (int len, bool inverse);
+		}
+		[Compact]
+		public class S32 {
+			public S32 (int len, bool inverse);
+		}
+	}
+}
diff --git a/vapi/metadata/GstFft-1.0.metadata b/vapi/metadata/GstFft-1.0.metadata
new file mode 100644
index 0000000..7b78001
--- /dev/null
+++ b/vapi/metadata/GstFft-1.0.metadata
@@ -0,0 +1,2 @@
+* parent="Gst.FFT"
+FFT* name="FFT(.+)"
diff --git a/vapi/metadata/GstPbutils-1.0.metadata b/vapi/metadata/GstPbutils-1.0.metadata
new file mode 100644
index 0000000..3042a12
--- /dev/null
+++ b/vapi/metadata/GstPbutils-1.0.metadata
@@ -0,0 +1,8 @@
+* parent="Gst.PbUtils"
+pb_utils_* name="pb_utils_(.+)"
+
+*Class skip
+
+codec_utils_aac_* parent="Gst.PbUtils.Codec.AAC" name="codec_utils_aac_(.+)"
+codec_utils_h264_* parent="Gst.PbUtils.Codec.H264" name="codec_utils_h264_(.+)"
+codec_utils_mpeg4video_* parent="Gst.PbUtils.Codec.MPEG4Video" name="codec_utils_mpeg4video_(.+)"
diff --git a/vapi/metadata/GstRtp-1.0.metadata b/vapi/metadata/GstRtp-1.0.metadata
new file mode 100644
index 0000000..28b3aab
--- /dev/null
+++ b/vapi/metadata/GstRtp-1.0.metadata
@@ -0,0 +1,19 @@
+* parent="Gst.RTP"
+RTP* name="RTP(.+)"
+RTP_* name="RTP_(.+)"
+rtp_* name="rtp_(.+)"
+
+RTP_PAYLOAD_* parent="Gst.RTP.Payload" name="RTP_PAYLOAD_(.+)"
+
+RTPBuffer struct=false base_type="Gst.Buffer"
+  .buffer skip
+  .n_map skip
+  .map unowned=false
+
+RTCP* parent="Gst.RTPC" name="RTCP(.+)"
+RTCP_* parent="Gst.RTPC" name="RTCP_(.+)"
+rtcp_* parent="Gst.RTPC" name="rtcp_(.+)"
+
+RTCPBuffer struct=false base_type="Gst.Buffer"
+  .buffer skip
+  .map unowned=false
diff --git a/vapi/metadata/GstRtsp-1.0.metadata b/vapi/metadata/GstRtsp-1.0.metadata
new file mode 100644
index 0000000..3ba3c0a
--- /dev/null
+++ b/vapi/metadata/GstRtsp-1.0.metadata
@@ -0,0 +1,5 @@
+* parent="Gst.RTSP"
+RTSP* name="RTSP(.+)"
+rtsp_* name="rtsp_(.+)"
+
+RTSPWatchFuncs skip
\ No newline at end of file
diff --git a/vapi/metadata/GstSdp-1.0.metadata b/vapi/metadata/GstSdp-1.0.metadata
new file mode 100644
index 0000000..c5d7349
--- /dev/null
+++ b/vapi/metadata/GstSdp-1.0.metadata
@@ -0,0 +1,6 @@
+* parent="Gst.SDP"
+SDP* name="SDP(.+)"
+SDP_* name="SDP_(.+)"
+sdp_* name="sdp_(.+)"
+
+SDPMessage struct=false
diff --git a/vapi/metadata/GstTag-1.0.metadata b/vapi/metadata/GstTag-1.0.metadata
new file mode 100644
index 0000000..571e94a
--- /dev/null
+++ b/vapi/metadata/GstTag-1.0.metadata
@@ -0,0 +1,11 @@
+* parent="Gst.Tag"
+Tag* name="Tag(.+)"
+TAG_* name="TAG_(.+)"
+tag_* name="tag_(.+)"
+
+TAG_CAPTURING_* parent="Gst.Tag.Capturing" name="TAG_CAPTURING_(.+)"
+TAG_CDDA_* parent="Gst.Tag.CDDA" name="TAG_CDDA_(.+)"
+TAG_CMML_* parent="Gst.Tag.CMML" name="TAG_CMML_(.+)"
+TAG_IMAGE_* parent="Gst.Tag.Image" name="TAG_IMAGE_(.+)"
+TAG_MUSICBRAINZ_* parent="Gst.Tag.MusicBrainz" name="TAG_MUSICBRAINZ_(.+)"
+tag_list_* parent="Gst.Tag.List" name="tag_list_(.+)"
diff --git a/vapi/metadata/GstVideo-1.0-custom.vala b/vapi/metadata/GstVideo-1.0-custom.vala
new file mode 100644
index 0000000..8d6d568
--- /dev/null
+++ b/vapi/metadata/GstVideo-1.0-custom.vala
@@ -0,0 +1,13 @@
+namespace Gst {
+	namespace Video {
+		[CCode (cheader_filename = "gst/video/gstvideoutils.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_video_codec_frame_get_type ()")]
+		[Compact]
+		[GIR (name = "VideoCodecFrame")]
+		public class CodecFrame {
+			[CCode (simple_generics = true)]
+			public T get_user_data<T> ();
+			[CCode (simple_generics = true)]
+			public void set_user_data<T> (owned T user_data);
+		}
+	}
+}
diff --git a/vapi/metadata/GstVideo-1.0.metadata b/vapi/metadata/GstVideo-1.0.metadata
new file mode 100644
index 0000000..6058618
--- /dev/null
+++ b/vapi/metadata/GstVideo-1.0.metadata
@@ -0,0 +1,15 @@
+* parent="Gst.Video"
+Video* name="Video(.+)"
+VIDEO_* name="VIDEO_(.+)"
+video_* name="video_(.+)"
+
+VideoOverlay
+  .set_render_rectangle#virtual_method virtual
+  .set_render_rectangle#method name="try_set_render_rectangle"
+  .set_window_handle.handle type="uint*"
+  .got_window_handle.handle type="uint*"
+
+// Generics
+VideoCodecFrame
+  .get_user_data skip
+  .set_user_data skip



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]