[vala] gstreamer-0.10: Update to GStreamer 0.10.24



commit cb1e3130cc616a01add313f383c38aed1c9a79b0
Author: Jürg Billeter <j bitron ch>
Date:   Thu Oct 1 08:50:43 2009 +0200

    gstreamer-0.10: Update to GStreamer 0.10.24

 vapi/gstreamer-0.10.vapi                           |  276 ++++++-
 vapi/gstreamer-audio-0.10.vapi                     |    8 +-
 vapi/gstreamer-base-0.10.vapi                      |   14 +
 vapi/gstreamer-controller-0.10.vapi                |    2 +-
 vapi/gstreamer-dataprotocol-0.10.vapi              |    2 +-
 vapi/gstreamer-interfaces-0.10.vapi                |  221 +++++-
 vapi/gstreamer-netbuffer-0.10.vapi                 |    4 +
 vapi/gstreamer-pbutils-0.10.vapi                   |    2 +-
 vapi/gstreamer-riff-0.10.vapi                      |    2 +
 vapi/gstreamer-rtp-0.10.vapi                       |   41 +-
 vapi/gstreamer-rtsp-0.10.vapi                      |   23 +-
 vapi/gstreamer-video-0.10.vapi                     |  182 ++++-
 vapi/packages/gstreamer-0.10/gstreamer-0.10.gi     |  989 +++++++++++++++++++-
 .../gstreamer-audio-0.10/gstreamer-audio-0.10.gi   |   45 +-
 .../gstreamer-base-0.10/gstreamer-base-0.10.gi     |   95 ++
 .../gstreamer-controller-0.10.gi                   |    3 +-
 .../gstreamer-dataprotocol-0.10.gi                 |    2 +-
 .../gstreamer-interfaces-0.10.gi                   |  531 +++++++++++-
 .../gstreamer-interfaces-0.10.metadata             |    1 +
 .../gstreamer-netbuffer-0.10.gi                    |    9 +
 .../gstreamer-pbutils-0.10.gi                      |    2 +-
 .../gstreamer-riff-0.10/gstreamer-riff-0.10.gi     |    1 +
 .../gstreamer-rtp-0.10/gstreamer-rtp-0.10.gi       |  120 +++
 .../gstreamer-rtsp-0.10/gstreamer-rtsp-0.10.gi     |   28 +
 .../gstreamer-video-0.10/gstreamer-video-0.10.gi   |  445 +++++++++-
 .../gstreamer-video-0.10.metadata                  |    8 +
 26 files changed, 2997 insertions(+), 59 deletions(-)
---
diff --git a/vapi/gstreamer-0.10.vapi b/vapi/gstreamer-0.10.vapi
index 3ab5f55..30903d2 100644
--- a/vapi/gstreamer-0.10.vapi
+++ b/vapi/gstreamer-0.10.vapi
@@ -38,6 +38,7 @@ namespace Gst {
 		public virtual bool add_element (Gst.Element element);
 		public void add_many (params owned Gst.Element[] elements);
 		public Gst.Pad find_unconnected_pad (Gst.PadDirection direction);
+		public unowned Gst.Pad find_unlinked_pad (Gst.PadDirection direction);
 		public Gst.Element get_by_interface (GLib.Type iface);
 		public Gst.Element get_by_name (string name);
 		public Gst.Element get_by_name_recurse_up (string name);
@@ -49,12 +50,14 @@ namespace Gst {
 		public Gst.Iterator iterate_sinks ();
 		public Gst.Iterator iterate_sorted ();
 		public Gst.Iterator iterate_sources ();
+		public bool recalculate_latency ();
 		public bool remove (Gst.Element element);
 		[NoWrapper]
 		public virtual bool remove_element (Gst.Element element);
 		public void remove_many (Gst.Element element_1, ...);
 		[NoAccessorMethod]
 		public bool async_handling { get; set; }
+		public virtual signal bool do_latency ();
 		public virtual signal void element_added (Gst.Element child);
 		public virtual signal void element_removed (Gst.Element child);
 	}
@@ -64,6 +67,7 @@ namespace Gst {
 		[CCode (array_length = false)]
 		public weak uchar[] data;
 		public Gst.ClockTime duration;
+		public weak GLib.FreeFunc free_func;
 		public uchar malloc_data;
 		public uint64 offset;
 		public uint64 offset_end;
@@ -98,6 +102,34 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/gst.h")]
 	public class BufferClass : Gst.MiniObjectClass {
 	}
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
+	public class BufferList {
+		[CCode (has_construct_function = false)]
+		public BufferList ();
+		public void @foreach (Gst.BufferListFunc func);
+		public unowned Gst.Buffer @get (uint group, uint idx);
+		public unowned Gst.BufferListIterator iterate ();
+		public uint n_groups ();
+	}
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
+	public class BufferListClass {
+	}
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
+	public class BufferListIterator {
+		public void add (Gst.Buffer buffer);
+		public void add_group ();
+		public unowned Gst.Buffer @do (Gst.BufferListDoFunction do_func);
+		public unowned Gst.Buffer merge_group ();
+		public uint n_buffers ();
+		public unowned Gst.Buffer next ();
+		public bool next_group ();
+		public void remove ();
+		public unowned Gst.Buffer steal ();
+		public void take (Gst.Buffer buffer);
+	}
 	[CCode (cheader_filename = "gst/gst.h")]
 	public class Bus : Gst.Object {
 		public uint num_signal_watchers;
@@ -184,6 +216,7 @@ namespace Gst {
 	}
 	[CCode (cheader_filename = "gst/gst.h")]
 	public class Clock : Gst.Object {
+		public void* ABI;
 		public weak Gst.ClockID clockid;
 		public weak GLib.List entries;
 		public weak GLib.Cond entries_changed;
@@ -341,6 +374,7 @@ namespace Gst {
 		public class unowned GLib.List<Gst.PadTemplate> get_pad_template_list ();
 		public virtual Gst.QueryType get_query_types ();
 		public unowned Gst.Pad get_request_pad (string name);
+		public Gst.ClockTime get_start_time ();
 		public virtual Gst.StateChangeReturn get_state (out Gst.State state, out Gst.State pending, Gst.ClockTime timeout);
 		public Gst.Pad? get_static_pad (string name);
 		public bool implements_interface (GLib.Type iface_type);
@@ -357,6 +391,7 @@ namespace Gst {
 		public bool link_pads (string srcpadname, Gst.Element dest, string destpadname);
 		public bool link_pads_filtered (string srcpadname, Gst.Element dest, string destpadname, Gst.Caps filter);
 		public void lost_state ();
+		public void lost_state_full (bool new_base_time);
 		public static Gst.Element? make_from_uri (Gst.URIType type, string uri, string? elementname);
 		public void message_full (Gst.MessageType type, GLib.Quark domain, int code, string text, string debug, string file, string function, int line);
 		public bool post_message (owned Gst.Message message);
@@ -386,6 +421,7 @@ namespace Gst {
 		public class void set_details_simple (string longname, string classification, string description, string author);
 		public virtual void set_index (Gst.Index index);
 		public bool set_locked_state (bool locked_state);
+		public void set_start_time (Gst.ClockTime time);
 		public virtual Gst.StateChangeReturn set_state (Gst.State state);
 		public bool sync_state_with_parent ();
 		public void unlink (Gst.Element dest);
@@ -423,6 +459,7 @@ namespace Gst {
 	}
 	[CCode (ref_function = "gst_event_ref", unref_function = "gst_event_unref", cheader_filename = "gst/gst.h")]
 	public class Event {
+		public void* abidata;
 		public weak Gst.Object src;
 		public weak Gst.Structure structure;
 		public uint64 timestamp;
@@ -437,6 +474,7 @@ namespace Gst {
 		public Event.flush_start ();
 		[CCode (has_construct_function = false)]
 		public Event.flush_stop ();
+		public uint32 get_seqnum ();
 		public unowned Gst.Structure get_structure ();
 		public bool has_name (string name);
 		[CCode (has_construct_function = false)]
@@ -453,11 +491,15 @@ namespace Gst {
 		public void parse_new_segment_full (out bool update, out double rate, out double applied_rate, out Gst.Format format, out int64 start, out int64 stop, out int64 position);
 		public void parse_qos (out double proportion, out Gst.ClockTimeDiff diff, out Gst.ClockTime timestamp);
 		public void parse_seek (out double rate, out Gst.Format format, out Gst.SeekFlags flags, out Gst.SeekType start_type, out int64 start, out Gst.SeekType stop_type, out int64 stop);
+		public void parse_step (Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate);
 		public void parse_tag (out Gst.TagList taglist);
 		[CCode (has_construct_function = false)]
 		public Event.qos (double proportion, Gst.ClockTimeDiff diff, Gst.ClockTime timestamp);
 		[CCode (has_construct_function = false)]
 		public Event.seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, int64 start, Gst.SeekType stop_type, int64 stop);
+		public void set_seqnum (uint32 seqnum);
+		[CCode (has_construct_function = false)]
+		public Event.step (Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate);
 		[CCode (has_construct_function = false)]
 		public Event.tag (Gst.TagList taglist);
 		public static Gst.EventTypeFlags type_get_flags (Gst.EventType type);
@@ -471,6 +513,7 @@ namespace Gst {
 	public class GhostPad : Gst.Pad {
 		[CCode (type = "GstPad*", has_construct_function = false)]
 		public GhostPad (string? name, Gst.Pad target);
+		public bool @construct ();
 		[CCode (type = "GstPad*", has_construct_function = false)]
 		public GhostPad.from_template (string name, Gst.Pad target, Gst.PadTemplate templ);
 		public unowned Gst.Pad get_target ();
@@ -517,7 +560,7 @@ namespace Gst {
 		public void set_resolver (Gst.IndexResolver resolver);
 		public void set_resolver_full (Gst.IndexResolver resolver, GLib.DestroyNotify user_data_destroy);
 		[NoAccessorMethod]
-		public Gst.IndexResolver resolver { get; set; }
+		public Gst.IndexResolver resolver { owned get; set; }
 		public virtual signal void entry_added (Gst.IndexEntry entry);
 	}
 	[Compact]
@@ -578,6 +621,7 @@ namespace Gst {
 	}
 	[CCode (ref_function = "gst_message_ref", unref_function = "gst_message_unref", cheader_filename = "gst/gst.h")]
 	public class Message {
+		public void* abidata;
 		public weak GLib.Cond cond;
 		public weak GLib.Mutex @lock;
 		public weak Gst.Object src;
@@ -606,6 +650,8 @@ namespace Gst {
 		public Message.eos (Gst.Object src);
 		[CCode (has_construct_function = false)]
 		public Message.error (Gst.Object src, GLib.Error error, string debug);
+		public uint32 get_seqnum ();
+		public Gst.Value get_stream_status_object ();
 		public unowned Gst.Structure get_structure ();
 		[CCode (has_construct_function = false)]
 		public Message.info (Gst.Object src, GLib.Error error, string debug);
@@ -624,22 +670,42 @@ namespace Gst {
 		public void parse_error (out GLib.Error gerror, out string debug);
 		public void parse_info (out GLib.Error gerror, out string debug);
 		public void parse_new_clock (out unowned Gst.Clock clock);
+		public void parse_request_state (Gst.State state);
 		public void parse_segment_done (out Gst.Format format, out int64 position);
 		public void parse_segment_start (out Gst.Format format, out int64 position);
 		public void parse_state_changed (out Gst.State oldstate, out Gst.State newstate, out Gst.State pending);
+		public void parse_step_done (Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate, uint64 duration, bool eos);
+		public void parse_step_start (bool active, Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate);
+		public void parse_stream_status (Gst.StreamStatusType type, out unowned Gst.Element owner);
+		public void parse_structure_change (Gst.StructureChangeType type, out unowned Gst.Element owner, bool busy);
 		public void parse_tag (out Gst.TagList tag_list);
+		public void parse_tag_full (out unowned Gst.Pad pad, out unowned Gst.TagList tag_list);
 		public void parse_warning (out GLib.Error gerror, out string debug);
 		[CCode (has_construct_function = false)]
+		public Message.request_state (Gst.Object src, Gst.State state);
+		[CCode (has_construct_function = false)]
 		public Message.segment_done (Gst.Object src, Gst.Format format, int64 position);
 		[CCode (has_construct_function = false)]
 		public Message.segment_start (Gst.Object src, Gst.Format format, int64 position);
 		public void set_buffering_stats (Gst.BufferingMode mode, int avg_in, int avg_out, int64 buffering_left);
+		public void set_seqnum (uint32 seqnum);
+		public void set_stream_status_object (Gst.Value object);
 		[CCode (has_construct_function = false)]
 		public Message.state_changed (Gst.Object src, Gst.State oldstate, Gst.State newstate, Gst.State pending);
 		[CCode (has_construct_function = false)]
 		public Message.state_dirty (Gst.Object src);
 		[CCode (has_construct_function = false)]
+		public Message.step_done (Gst.Object src, Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate, uint64 duration, bool eos);
+		[CCode (has_construct_function = false)]
+		public Message.step_start (Gst.Object src, bool active, Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate);
+		[CCode (has_construct_function = false)]
+		public Message.stream_status (Gst.Object src, Gst.StreamStatusType type, Gst.Element owner);
+		[CCode (has_construct_function = false)]
+		public Message.structure_change (Gst.Object src, Gst.StructureChangeType type, Gst.Element owner, bool busy);
+		[CCode (has_construct_function = false)]
 		public Message.tag (Gst.Object src, Gst.TagList tag_list);
+		[CCode (has_construct_function = false)]
+		public Message.tag_full (Gst.Object src, Gst.Pad pad, Gst.TagList tag_list);
 		public static GLib.Quark type_to_quark (Gst.MessageType type);
 		[CCode (has_construct_function = false)]
 		public Message.warning (Gst.Object src, GLib.Error error, string debug);
@@ -682,6 +748,7 @@ namespace Gst {
 		public string get_path_string ();
 		public bool has_ancestor (Gst.Object ancestor);
 		public unowned Gst.Object @ref ();
+		public static void ref_sink (void* object);
 		public static void replace (ref Gst.Object oldobj, Gst.Object newobj);
 		public virtual void restore_thyself (void* self);
 		public virtual void* save_thyself (void* parent);
@@ -699,6 +766,7 @@ namespace Gst {
 	}
 	[CCode (cheader_filename = "gst/gst.h")]
 	public class Pad : Gst.Object {
+		public void* abidata;
 		public weak Gst.PadAcceptCapsFunction acceptcapsfunc;
 		public weak Gst.PadActivateFunction activatefunc;
 		public weak Gst.PadActivateModeFunction activatepullfunc;
@@ -706,6 +774,7 @@ namespace Gst {
 		public weak Gst.PadBlockCallback block_callback;
 		public weak GLib.Cond block_cond;
 		public void* block_data;
+		public weak GLib.DestroyNotify block_destroy_data;
 		public weak Gst.PadBufferAllocFunction bufferallocfunc;
 		public weak Gst.PadChainFunction chainfunc;
 		public weak Gst.PadCheckGetRangeFunction checkgetrangefunc;
@@ -717,6 +786,7 @@ namespace Gst {
 		public weak Gst.PadGetCapsFunction getcapsfunc;
 		public weak Gst.PadGetRangeFunction getrangefunc;
 		public weak Gst.PadIntLinkFunction intlinkfunc;
+		public weak Gst.PadIterIntLinkFunction iterintlinkfunc;
 		public weak Gst.PadLinkFunction linkfunc;
 		public Gst.ActivateMode mode;
 		public weak Gst.PadTemplate padtemplate;
@@ -744,6 +814,7 @@ namespace Gst {
 		public Gst.FlowReturn alloc_buffer_and_set_caps (uint64 offset, int size, Gst.Caps caps, out unowned Gst.Buffer buf);
 		public bool can_link (Gst.Pad sinkpad);
 		public Gst.FlowReturn chain (owned Gst.Buffer buffer);
+		public Gst.FlowReturn chain_list (Gst.BufferList list);
 		public bool check_pull_range ();
 		public bool dispatcher (Gst.PadDispatcherFunction dispatch, void* data);
 		public bool event_default (Gst.Event event);
@@ -771,6 +842,8 @@ namespace Gst {
 		public bool is_blocked ();
 		public bool is_blocking ();
 		public bool is_linked ();
+		public unowned Gst.Iterator iterate_internal_links ();
+		public unowned Gst.Iterator iterate_internal_links_default ();
 		public Gst.PadLinkReturn link (Gst.Pad sinkpad);
 		public void load_and_link (Gst.Object parent);
 		public bool pause_task ();
@@ -782,6 +855,7 @@ namespace Gst {
 		public Gst.FlowReturn pull_range (uint64 offset, uint size, out unowned Gst.Buffer buffer);
 		public Gst.FlowReturn push (owned Gst.Buffer buffer);
 		public bool push_event (owned Gst.Event event);
+		public Gst.FlowReturn push_list (Gst.BufferList list);
 		public bool query (Gst.Query query);
 		public bool query_convert (Gst.Format src_format, int64 src_val, Gst.Format dest_format, int64 dest_val);
 		public bool query_default (Gst.Query query);
@@ -801,9 +875,11 @@ namespace Gst {
 		public bool set_active (bool active);
 		public bool set_blocked (bool blocked);
 		public bool set_blocked_async (bool blocked, Gst.PadBlockCallback callback);
+		public bool set_blocked_async_full (bool blocked, Gst.PadBlockCallback callback, GLib.DestroyNotify destroy_data);
 		public void set_bufferalloc_function (Gst.PadBufferAllocFunction bufalloc);
 		public bool set_caps (Gst.Caps? caps);
 		public void set_chain_function (Gst.PadChainFunction chain);
+		public void set_chain_list_function (Gst.PadChainListFunction chainlist);
 		public void set_checkgetrange_function (Gst.PadCheckGetRangeFunction check);
 		public void set_element_private (void* priv);
 		public void set_event_function (Gst.PadEventFunction event);
@@ -811,6 +887,7 @@ namespace Gst {
 		public void set_getcaps_function (Gst.PadGetCapsFunction getcaps);
 		public void set_getrange_function (Gst.PadGetRangeFunction @get);
 		public void set_internal_link_function (Gst.PadIntLinkFunction intlink);
+		public void set_iterate_internal_links_function (Gst.PadIterIntLinkFunction iterintlink);
 		public void set_link_function (Gst.PadLinkFunction link);
 		public void set_query_function (Gst.PadQueryFunction query);
 		public void set_setcaps_function (Gst.PadSetCapsFunction setcaps);
@@ -830,13 +907,16 @@ namespace Gst {
 	}
 	[CCode (cheader_filename = "gst/gst.h")]
 	public class PadTemplate : Gst.Object {
-		public weak Gst.Caps caps;
-		public Gst.PadDirection direction;
-		public weak string name_template;
-		public Gst.PadPresence presence;
 		[CCode (has_construct_function = false)]
 		public PadTemplate (string name_template, Gst.PadDirection direction, Gst.PadPresence presence, owned Gst.Caps caps);
 		public unowned Gst.Caps get_caps ();
+		public Gst.Caps caps { get; construct; }
+		[NoAccessorMethod]
+		public Gst.PadDirection direction { get; construct; }
+		[NoAccessorMethod]
+		public string name_template { owned get; construct; }
+		[NoAccessorMethod]
+		public Gst.PadPresence presence { get; construct; }
 		[HasEmitter]
 		public virtual signal void pad_created (Gst.Pad pad);
 	}
@@ -852,6 +932,13 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/gst.h")]
 	public class ParamSpecMiniObject : GLib.ParamSpec {
 	}
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
+	public class ParseContext {
+		[CCode (has_construct_function = false)]
+		public ParseContext ();
+		public unowned string get_missing_elements ();
+	}
 	[CCode (cheader_filename = "gst/gst.h")]
 	public class Pipeline : Gst.Bin, Gst.ChildProxy {
 		public weak Gst.Clock fixed_clock;
@@ -883,7 +970,10 @@ namespace Gst {
 		public weak GLib.Module module;
 		public weak Gst.PluginDesc orig_desc;
 		public bool registered;
+		public void add_dependency (string env_vars, string paths, string names, Gst.PluginDependencyFlags flags);
+		public void add_dependency_simple (string env_vars, string paths, string names, Gst.PluginDependencyFlags flags);
 		public static GLib.Quark error_quark ();
+		public unowned Gst.Structure get_cache_data ();
 		public unowned string get_description ();
 		public unowned string get_filename ();
 		public unowned string get_license ();
@@ -900,6 +990,8 @@ namespace Gst {
 		public static unowned Gst.Plugin load_file (string filename) throws GLib.Error;
 		public bool name_filter (string name);
 		public static bool register_static (int major_version, int minor_version, string name, string description, Gst.PluginInitFunc init_func, string version, string license, string source, string package, string origin);
+		public static bool register_static_full (int major_version, int minor_version, string name, string description, Gst.PluginInitFullFunc init_full_func, string version, string license, string source, string package, string origin);
+		public void set_cache_data (Gst.Structure cache_data);
 	}
 	[Compact]
 	[CCode (cheader_filename = "gst/gst.h")]
@@ -936,11 +1028,15 @@ namespace Gst {
 		[CCode (has_construct_function = false)]
 		public Poll (bool controllable);
 		public bool add_fd (Gst.PollFD fd);
+		public bool read_control ();
 		public bool remove_fd (Gst.PollFD fd);
 		public void restart ();
 		public bool set_controllable (bool controllable);
 		public void set_flushing (bool flushing);
+		[CCode (has_construct_function = false)]
+		public Poll.timer ();
 		public int wait (Gst.ClockTime timeout);
+		public bool write_control ();
 	}
 	[Compact]
 	[CCode (cheader_filename = "gst/gst.h")]
@@ -956,6 +1052,9 @@ namespace Gst {
 		public static void ignored (Gst.Poll @set, Gst.PollFD fd);
 		public void init ();
 	}
+	[CCode (cheader_filename = "gst/gst.h")]
+	public class ProxyPad : Gst.Pad {
+	}
 	[CCode (ref_function = "gst_query_ref", unref_function = "gst_query_unref", cheader_filename = "gst/gst.h")]
 	public class Query {
 		public weak Gst.Structure structure;
@@ -986,6 +1085,7 @@ namespace Gst {
 		public void parse_position (out Gst.Format format, out int64 cur);
 		public void parse_seeking (out Gst.Format format, out bool seekable, out int64 segment_start, out int64 segment_end);
 		public void parse_segment (out double rate, out Gst.Format format, out int64 start_value, out int64 stop_value);
+		public void parse_uri (string uri);
 		[CCode (has_construct_function = false)]
 		public Query.position (Gst.Format format);
 		[CCode (has_construct_function = false)]
@@ -1003,12 +1103,15 @@ namespace Gst {
 		public void set_position (Gst.Format format, int64 cur);
 		public void set_seeking (Gst.Format format, bool seekable, int64 segment_start, int64 segment_end);
 		public void set_segment (double rate, Gst.Format format, int64 start_value, int64 stop_value);
+		public void set_uri (string uri);
 		public static Gst.QueryType type_get_by_nick (string nick);
 		public static unowned Gst.QueryTypeDefinition type_get_details (Gst.QueryType type);
 		public static unowned Gst.Iterator type_iterate_definitions ();
 		public static Gst.QueryType type_register (string nick, string description);
 		public static GLib.Quark type_to_quark (Gst.QueryType query);
 		public static bool types_contains (Gst.QueryType types, Gst.QueryType type);
+		[CCode (has_construct_function = false)]
+		public Query.uri ();
 	}
 	[Compact]
 	[CCode (cheader_filename = "gst/gst.h")]
@@ -1076,7 +1179,9 @@ namespace Gst {
 		public void set_last_stop (Gst.Format format, int64 position);
 		public void set_newsegment (bool update, double rate, Gst.Format format, int64 start, int64 stop, int64 time);
 		public void set_newsegment_full (bool update, double rate, double applied_rate, Gst.Format format, int64 start, int64 stop, int64 time);
+		public bool set_running_time (Gst.Format format, int64 running_time);
 		public void set_seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, int64 start, Gst.SeekType stop_type, int64 stop, bool update);
+		public int64 to_position (Gst.Format format, int64 running_time);
 		public int64 to_running_time (Gst.Format format, int64 position);
 		public int64 to_stream_time (Gst.Format format, int64 position);
 	}
@@ -1099,6 +1204,7 @@ namespace Gst {
 		public bool fixate_field_nearest_int (string field_name, int target);
 		public bool @foreach (Gst.StructureForeachFunc func);
 		public static Gst.Structure? from_string (string str, out unowned string end);
+		public bool @get (...);
 		public bool get_boolean (string fieldname, out bool value);
 		public bool get_clock_time (string fieldname, Gst.ClockTime value);
 		public bool get_date (string fieldname, out GLib.Date value);
@@ -1112,13 +1218,17 @@ namespace Gst {
 		public GLib.Quark get_name_id ();
 		public unowned string get_string (string fieldname);
 		public bool get_uint (string fieldname, out uint value);
+		public bool get_valist (string first_fieldname, void* args);
 		public unowned Gst.Value? get_value (string fieldname);
 		public bool has_field (string fieldname);
 		public bool has_field_typed (string fieldname, GLib.Type type);
 		public bool has_name (string name);
 		[CCode (cname = "gst_structure_id_empty_new", has_construct_function = false)]
 		public Structure.id_empty (GLib.Quark quark);
+		public bool id_get (...);
+		public bool id_get_valist (GLib.Quark first_field_id, void* args);
 		public unowned Gst.Value? id_get_value (GLib.Quark field);
+		public static unowned Gst.Structure id_new (GLib.Quark name_quark, GLib.Quark field_quark);
 		public void id_set (GLib.Quark fieldname, ...);
 		public void id_set_valist (GLib.Quark fieldname, void* varargs);
 		public void id_set_value (GLib.Quark field, Gst.Value value);
@@ -1143,6 +1253,8 @@ namespace Gst {
 		public bool stopping;
 		public weak GLib.Thread thread;
 		public static unowned Gst.Clock obtain ();
+		[NoAccessorMethod]
+		public Gst.ClockType clock_type { get; set; }
 	}
 	[Compact]
 	[CCode (copy_function = "gst_tag_list_copy", cheader_filename = "gst/gst.h")]
@@ -1152,12 +1264,19 @@ namespace Gst {
 		public void add (Gst.TagMergeMode mode, string tag, ...);
 		public void add_valist (Gst.TagMergeMode mode, string tag, void* var_args);
 		public void add_valist_values (Gst.TagMergeMode mode, string tag, void* var_args);
+		public void add_value (Gst.TagMergeMode mode, string tag, Gst.Value value);
 		public void add_values (Gst.TagMergeMode mode, string tag, ...);
 		public Gst.TagList copy ();
 		public static bool copy_value (out Gst.Value dest, Gst.TagList list, string tag);
 		public void @foreach (Gst.TagForeachFunc func);
+		[CCode (has_construct_function = false)]
+		public TagList.full (string tag);
+		[CCode (has_construct_function = false)]
+		public TagList.full_valist (void* var_args);
 		public bool get_boolean (string tag, out bool value);
 		public bool get_boolean_index (string tag, uint index, out bool value);
+		public bool get_buffer (string tag, out unowned Gst.Buffer value);
+		public bool get_buffer_index (string tag, uint index, out unowned Gst.Buffer value);
 		public bool get_char (string tag, out char value);
 		public bool get_char_index (string tag, uint index, out char value);
 		public bool get_date (string tag, out GLib.Date? value);
@@ -1202,13 +1321,34 @@ namespace Gst {
 		public Gst.TaskState state;
 		public static void cleanup_all ();
 		public static unowned Gst.Task create (Gst.TaskFunction func, void* data);
+		public unowned Gst.TaskPool get_pool ();
 		public Gst.TaskState get_state ();
 		public bool join ();
 		public bool pause ();
 		public void set_lock (void* mutex);
+		public void set_pool (Gst.TaskPool pool);
+		public void set_priority (GLib.ThreadPriority priority);
+		public bool set_state (Gst.TaskState state);
+		public void set_thread_callbacks (Gst.TaskThreadCallbacks callbacks, GLib.DestroyNotify notify);
 		public bool start ();
 		public bool stop ();
 	}
+	[CCode (cheader_filename = "gst/gst.h")]
+	public class TaskPool : Gst.Object {
+		public weak GLib.ThreadPool pool;
+		[CCode (has_construct_function = false)]
+		public TaskPool ();
+		public virtual void cleanup ();
+		public virtual void join (void* id);
+		public virtual void prepare () throws GLib.Error;
+		public virtual void* push (Gst.TaskPoolFunction func) throws GLib.Error;
+	}
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
+	public class TaskThreadCallbacks {
+		public weak GLib.Callback enter_thread;
+		public weak GLib.Callback leave_thread;
+	}
 	[Compact]
 	[CCode (free_function = "gst_trace_destroy", cheader_filename = "gst/gst.h")]
 	public class Trace {
@@ -1245,6 +1385,8 @@ namespace Gst {
 		public static bool register (Gst.Plugin plugin, string name, uint rank, Gst.TypeFindFunction func, string extensions, Gst.Caps possible_caps, void* data, GLib.DestroyNotify data_notify);
 		[CCode (cname = "gst_type_find_suggest")]
 		public void suggest (uint probability, Gst.Caps caps);
+		[CCode (cname = "gst_type_find_suggest_simple")]
+		public void suggest_simple (uint probability, string media_type, string fieldname);
 	}
 	[CCode (cheader_filename = "gst/gst.h")]
 	public class TypeFindFactory : Gst.PluginFeature {
@@ -1319,6 +1461,17 @@ namespace Gst {
 		public abstract bool supported (GLib.Type iface_type);
 	}
 	[CCode (cheader_filename = "gst/gst.h")]
+	public interface Preset {
+		public abstract bool delete_preset (string name);
+		public abstract bool get_meta (string name, string tag, string value);
+		public abstract unowned string get_preset_names ();
+		public abstract unowned string get_property_names ();
+		public abstract bool load_preset (string name);
+		public abstract bool rename_preset (string old_name, string new_name);
+		public abstract bool save_preset (string name);
+		public abstract bool set_meta (string name, string tag, string value);
+	}
+	[CCode (cheader_filename = "gst/gst.h")]
 	public interface URIHandler {
 		public abstract unowned string[] get_protocols ();
 		[NoWrapper]
@@ -1495,8 +1648,17 @@ namespace Gst {
 		IN_CAPS,
 		GAP,
 		DELTA_UNIT,
+		MEDIA1,
+		MEDIA2,
+		MEDIA3,
 		LAST
 	}
+	[CCode (cprefix = "GST_BUFFER_LIST_", cheader_filename = "gst/gst.h")]
+	public enum BufferListItem {
+		CONTINUE,
+		SKIP_GROUP,
+		END
+	}
 	[CCode (cprefix = "GST_BUFFERING_", cheader_filename = "gst/gst.h")]
 	public enum BufferingMode {
 		STREAM,
@@ -1547,6 +1709,11 @@ namespace Gst {
 		ERROR,
 		UNSUPPORTED
 	}
+	[CCode (cprefix = "GST_CLOCK_TYPE_", cheader_filename = "gst/gst.h")]
+	public enum ClockType {
+		REALTIME,
+		MONOTONIC
+	}
 	[CCode (cprefix = "GST_CORE_ERROR_", cheader_filename = "gst/gst.h")]
 	public enum CoreError {
 		FAILED,
@@ -1603,6 +1770,8 @@ namespace Gst {
 		INFO,
 		DEBUG,
 		LOG,
+		FIXME,
+		MEMDUMP,
 		COUNT;
 		[CCode (cname = "gst_debug_level_get_name")]
 		public unowned string to_string ();
@@ -1628,6 +1797,7 @@ namespace Gst {
 		SEEK,
 		NAVIGATION,
 		LATENCY,
+		STEP,
 		CUSTOM_UPSTREAM,
 		CUSTOM_DOWNSTREAM,
 		CUSTOM_DOWNSTREAM_OOB,
@@ -1748,6 +1918,8 @@ namespace Gst {
 		LATENCY,
 		ASYNC_START,
 		ASYNC_DONE,
+		REQUEST_STATE,
+		STEP_START,
 		ANY;
 		[CCode (cname = "gst_message_type_get_name")]
 		public unowned string to_string ();
@@ -1813,12 +1985,26 @@ namespace Gst {
 		EMPTY_BIN,
 		EMPTY
 	}
+	[CCode (cprefix = "GST_PARSE_FLAG_", cheader_filename = "gst/gst.h")]
+	[Flags]
+	public enum ParseFlags {
+		NONE,
+		FATAL_ERRORS
+	}
 	[CCode (cprefix = "GST_PIPELINE_FLAG_", cheader_filename = "gst/gst.h")]
 	[Flags]
 	public enum PipelineFlags {
 		FIXED_CLOCK,
 		LAST
 	}
+	[CCode (cprefix = "GST_PLUGIN_DEPENDENCY_FLAG_", cheader_filename = "gst/gst.h")]
+	[Flags]
+	public enum PluginDependencyFlags {
+		NONE,
+		RECURSE,
+		PATHS_ARE_DEFAULT_ONLY,
+		FILE_NAME_IS_SUFFIX
+	}
 	[CCode (cprefix = "GST_PLUGIN_ERROR_", cheader_filename = "gst/gst.h")]
 	public enum PluginError {
 		MODULE,
@@ -1842,7 +2028,9 @@ namespace Gst {
 		SEGMENT,
 		CONVERT,
 		FORMATS,
-		BUFFERING;
+		BUFFERING,
+		CUSTOM,
+		URI;
 		[CCode (cname = "gst_query_type_get_name")]
 		public unowned string to_string ();
 	}
@@ -1871,6 +2059,12 @@ namespace Gst {
 		NO_SPACE_LEFT,
 		NUM_ERRORS
 	}
+	[CCode (cprefix = "GST_SEARCH_MODE_", cheader_filename = "gst/gst.h")]
+	public enum SearchMode {
+		EXACT,
+		BEFORE,
+		AFTER
+	}
 	[CCode (cprefix = "GST_SEEK_FLAG_", cheader_filename = "gst/gst.h")]
 	[Flags]
 	public enum SeekFlags {
@@ -1878,7 +2072,8 @@ namespace Gst {
 		FLUSH,
 		ACCURATE,
 		KEY_UNIT,
-		SEGMENT
+		SEGMENT,
+		SKIP
 	}
 	[CCode (cprefix = "GST_SEEK_TYPE_", cheader_filename = "gst/gst.h")]
 	public enum SeekType {
@@ -1932,6 +2127,21 @@ namespace Gst {
 		DECRYPT_NOKEY,
 		NUM_ERRORS
 	}
+	[CCode (cprefix = "GST_STREAM_STATUS_TYPE_", cheader_filename = "gst/gst.h")]
+	public enum StreamStatusType {
+		CREATE,
+		ENTER,
+		LEAVE,
+		DESTROY,
+		START,
+		PAUSE,
+		STOP
+	}
+	[CCode (cprefix = "GST_STRUCTURE_CHANGE_TYPE_PAD_", cheader_filename = "gst/gst.h")]
+	public enum StructureChangeType {
+		LINK,
+		UNLINK
+	}
 	[CCode (cprefix = "GST_TAG_FLAG_", cheader_filename = "gst/gst.h")]
 	public enum TagFlag {
 		UNDEFINED,
@@ -1972,6 +2182,10 @@ namespace Gst {
 		SRC
 	}
 	[CCode (cheader_filename = "gst/gst.h")]
+	public delegate unowned Gst.Buffer BufferListDoFunction (Gst.Buffer buffer);
+	[CCode (cheader_filename = "gst/gst.h")]
+	public delegate Gst.BufferListItem BufferListFunc (out unowned Gst.Buffer buffer, uint group, uint idx);
+	[CCode (cheader_filename = "gst/gst.h")]
 	public delegate bool BufferProbeCallback (Gst.Pad pad, Gst.Buffer buffer);
 	[CCode (cheader_filename = "gst/gst.h")]
 	public delegate bool BusFunc (Gst.Bus bus, Gst.Message message);
@@ -2022,6 +2236,8 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/gst.h", has_target = false)]
 	public delegate Gst.FlowReturn PadChainFunction (Gst.Pad pad, owned Gst.Buffer buffer);
 	[CCode (cheader_filename = "gst/gst.h", has_target = false)]
+	public delegate Gst.FlowReturn PadChainListFunction (Gst.Pad pad, Gst.BufferList list);
+	[CCode (cheader_filename = "gst/gst.h", has_target = false)]
 	public delegate bool PadCheckGetRangeFunction (Gst.Pad pad);
 	[CCode (cheader_filename = "gst/gst.h")]
 	public delegate bool PadDispatcherFunction (Gst.Pad pad);
@@ -2036,6 +2252,8 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/gst.h", has_target = false)]
 	public delegate unowned GLib.List PadIntLinkFunction (Gst.Pad pad);
 	[CCode (cheader_filename = "gst/gst.h", has_target = false)]
+	public delegate unowned Gst.Iterator PadIterIntLinkFunction (Gst.Pad pad);
+	[CCode (cheader_filename = "gst/gst.h", has_target = false)]
 	public delegate Gst.PadLinkReturn PadLinkFunction (Gst.Pad pad, Gst.Pad peer);
 	[CCode (cheader_filename = "gst/gst.h", has_target = false)]
 	public delegate bool PadQueryFunction (Gst.Pad pad, Gst.Query query);
@@ -2049,6 +2267,8 @@ namespace Gst {
 	public delegate bool PluginFeatureFilter (Gst.PluginFeature feature);
 	[CCode (cheader_filename = "gst/gst.h")]
 	public delegate bool PluginFilter (Gst.Plugin plugin);
+	[CCode (cheader_filename = "gst/gst.h")]
+	public delegate bool PluginInitFullFunc (Gst.Plugin plugin);
 	[CCode (cheader_filename = "gst/gst.h", has_target = false)]
 	public delegate bool PluginInitFunc (Gst.Plugin plugin);
 	[CCode (cheader_filename = "gst/gst.h")]
@@ -2062,6 +2282,8 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/gst.h")]
 	public delegate void TaskFunction ();
 	[CCode (cheader_filename = "gst/gst.h")]
+	public delegate void TaskPoolFunction ();
+	[CCode (cheader_filename = "gst/gst.h")]
 	public delegate void TypeFindFunction (Gst.TypeFind find);
 	[CCode (cheader_filename = "gst/gst.h", has_target = false)]
 	public delegate int ValueCompareFunc (Gst.Value value1, Gst.Value value2);
@@ -2112,6 +2334,12 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/gst.h")]
 	public const int PARAM_CONTROLLABLE;
 	[CCode (cheader_filename = "gst/gst.h")]
+	public const int PARAM_MUTABLE_PAUSED;
+	[CCode (cheader_filename = "gst/gst.h")]
+	public const int PARAM_MUTABLE_PLAYING;
+	[CCode (cheader_filename = "gst/gst.h")]
+	public const int PARAM_MUTABLE_READY;
+	[CCode (cheader_filename = "gst/gst.h")]
 	public const int PARAM_USER_SHIFT;
 	[CCode (cheader_filename = "gst/gst.h")]
 	public const int SECOND;
@@ -2132,6 +2360,8 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/gst.h")]
 	public const string TAG_ARTIST_SORTNAME;
 	[CCode (cheader_filename = "gst/gst.h")]
+	public const string TAG_ATTACHMENT;
+	[CCode (cheader_filename = "gst/gst.h")]
 	public const string TAG_AUDIO_CODEC;
 	[CCode (cheader_filename = "gst/gst.h")]
 	public const string TAG_BEATS_PER_MINUTE;
@@ -2146,6 +2376,8 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/gst.h")]
 	public const string TAG_CONTACT;
 	[CCode (cheader_filename = "gst/gst.h")]
+	public const string TAG_CONTAINER_FORMAT;
+	[CCode (cheader_filename = "gst/gst.h")]
 	public const string TAG_COPYRIGHT;
 	[CCode (cheader_filename = "gst/gst.h")]
 	public const string TAG_COPYRIGHT_URI;
@@ -2164,10 +2396,22 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/gst.h")]
 	public const string TAG_GENRE;
 	[CCode (cheader_filename = "gst/gst.h")]
+	public const string TAG_GEO_LOCATION_ELEVATION;
+	[CCode (cheader_filename = "gst/gst.h")]
+	public const string TAG_GEO_LOCATION_LATITUDE;
+	[CCode (cheader_filename = "gst/gst.h")]
+	public const string TAG_GEO_LOCATION_LONGITUDE;
+	[CCode (cheader_filename = "gst/gst.h")]
+	public const string TAG_GEO_LOCATION_NAME;
+	[CCode (cheader_filename = "gst/gst.h")]
+	public const string TAG_HOMEPAGE;
+	[CCode (cheader_filename = "gst/gst.h")]
 	public const string TAG_IMAGE;
 	[CCode (cheader_filename = "gst/gst.h")]
 	public const string TAG_ISRC;
 	[CCode (cheader_filename = "gst/gst.h")]
+	public const string TAG_KEYWORDS;
+	[CCode (cheader_filename = "gst/gst.h")]
 	public const string TAG_LANGUAGE_CODE;
 	[CCode (cheader_filename = "gst/gst.h")]
 	public const string TAG_LICENSE;
@@ -2192,6 +2436,8 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/gst.h")]
 	public const string TAG_SERIAL;
 	[CCode (cheader_filename = "gst/gst.h")]
+	public const string TAG_SUBTITLE_CODEC;
+	[CCode (cheader_filename = "gst/gst.h")]
 	public const string TAG_TITLE;
 	[CCode (cheader_filename = "gst/gst.h")]
 	public const string TAG_TITLE_SORTNAME;
@@ -2240,6 +2486,8 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/gst.h")]
 	public static unowned string debug_construct_term_color (uint colorinfo);
 	[CCode (cheader_filename = "gst/gst.h")]
+	public static int debug_construct_win_color (uint colorinfo);
+	[CCode (cheader_filename = "gst/gst.h")]
 	public static unowned GLib.SList debug_get_all_categories ();
 	[CCode (cheader_filename = "gst/gst.h")]
 	public static Gst.DebugLevel debug_get_default_threshold ();
@@ -2348,14 +2596,20 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/gst.h")]
 	public static unowned GLib.ParamSpec param_spec_mini_object (string name, string nick, string blurb, GLib.Type object_type, GLib.ParamFlags flags);
 	[CCode (cheader_filename = "gst/gst.h")]
-	public static Gst.Element? parse_bin_from_description (string bin_description, bool ghost_unconnected_pads) throws GLib.Error;
+	public static Gst.Element? parse_bin_from_description (string bin_description, bool ghost_unlinked_pads) throws GLib.Error;
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static unowned Gst.Element parse_bin_from_description_full (string bin_description, bool ghost_unlinked_pads, Gst.ParseContext context, Gst.ParseFlags flags) throws GLib.Error;
 	[CCode (cheader_filename = "gst/gst.h")]
 	public static GLib.Quark parse_error_quark ();
 	[CCode (cheader_filename = "gst/gst.h")]
 	public static Gst.Element? parse_launch (string pipeline_description) throws GLib.Error;
 	[CCode (cheader_filename = "gst/gst.h")]
+	public static unowned Gst.Element parse_launch_full (string pipeline_description, Gst.ParseContext context, Gst.ParseFlags flags) throws GLib.Error;
+	[CCode (cheader_filename = "gst/gst.h")]
 	public static Gst.Element? parse_launchv ([CCode (array_length = false)] string[] argv) throws GLib.Error;
 	[CCode (cheader_filename = "gst/gst.h")]
+	public static unowned Gst.Element parse_launchv_full (string argv, Gst.ParseContext context, Gst.ParseFlags flags) throws GLib.Error;
+	[CCode (cheader_filename = "gst/gst.h")]
 	public static void print_element_args (GLib.StringBuilder buf, int indent, Gst.Element element);
 	[CCode (cheader_filename = "gst/gst.h")]
 	public static void print_pad_caps (GLib.StringBuilder buf, int indent, Gst.Pad pad);
@@ -2402,6 +2656,8 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/gst.h")]
 	public static bool uri_protocol_is_valid (string protocol);
 	[CCode (cheader_filename = "gst/gst.h")]
+	public static void* util_array_binary_search (void* array, uint num_elements, size_t element_size, GLib.CompareDataFunc search_func, Gst.SearchMode mode, void* search_data);
+	[CCode (cheader_filename = "gst/gst.h")]
 	public static void util_dump_mem (uchar[] mem, uint size);
 	[CCode (cheader_filename = "gst/gst.h")]
 	public static uint64 util_gdouble_to_guint64 (double value);
@@ -2410,6 +2666,10 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/gst.h")]
 	public static double util_guint64_to_gdouble (uint64 value);
 	[CCode (cheader_filename = "gst/gst.h")]
+	public static int32 util_seqnum_compare (uint32 s1, uint32 s2);
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static uint32 util_seqnum_next ();
+	[CCode (cheader_filename = "gst/gst.h")]
 	public static void util_set_object_arg (GLib.Object object, string name, string value);
 	[CCode (cheader_filename = "gst/gst.h")]
 	public static void util_set_value_from_string (Gst.Value value, string value_str);
diff --git a/vapi/gstreamer-audio-0.10.vapi b/vapi/gstreamer-audio-0.10.vapi
index 619a21f..2688d43 100644
--- a/vapi/gstreamer-audio-0.10.vapi
+++ b/vapi/gstreamer-audio-0.10.vapi
@@ -10,6 +10,8 @@ namespace Gst {
 		public void* user_data;
 		[CCode (type = "GstClock*", has_construct_function = false)]
 		public AudioClock (string name, Gst.AudioClockGetTimeFunc func);
+		public static Gst.ClockTime adjust (Gst.Clock clock, Gst.ClockTime time);
+		public static Gst.ClockTime get_time (Gst.Clock clock);
 		public void reset (Gst.ClockTime time);
 	}
 	[CCode (cheader_filename = "gst/audio/gstaudiofilter.h")]
@@ -69,6 +71,8 @@ namespace Gst {
 		[NoAccessorMethod]
 		public int64 buffer_time { get; set; }
 		[NoAccessorMethod]
+		public bool can_activate_pull { get; set; }
+		[NoAccessorMethod]
 		public int64 latency_time { get; set; }
 		public bool provide_clock { get; set; }
 		public Gst.BaseAudioSinkSlaveMethod slave_method { get; set; }
@@ -115,9 +119,9 @@ namespace Gst {
 		public virtual bool activate (bool active);
 		public void advance (uint advance);
 		public void clear (int segment);
-		public void clear_all ();
+		public virtual void clear_all ();
 		public virtual bool close_device ();
-		public uint commit (uint64 sample, uchar[] data, uint len);
+		public virtual uint commit (uint64 sample, uchar[] data, uint len);
 		public uint commit_full (uint64 sample, uchar[] data, int in_samples, int out_samples, ref int accum);
 		public bool convert (Gst.Format src_fmt, int64 src_val, Gst.Format dest_fmt, out int64 dest_val);
 		public static void debug_spec_buff (Gst.RingBufferSpec spec);
diff --git a/vapi/gstreamer-base-0.10.vapi b/vapi/gstreamer-base-0.10.vapi
index a3c483e..660a570 100644
--- a/vapi/gstreamer-base-0.10.vapi
+++ b/vapi/gstreamer-base-0.10.vapi
@@ -11,8 +11,10 @@ namespace Gst {
 		public void clear ();
 		public void copy (uchar dest, uint offset, uint size);
 		public void flush (uint flush);
+		public uint masked_scan_uint32 (uint32 mask, uint32 pattern, uint offset, uint size);
 		[CCode (array_length = false)]
 		public unowned uchar[] peek (uint size);
+		public Gst.ClockTime prev_timestamp (uint64 distance);
 		public void push (owned Gst.Buffer buf);
 		public uchar take (uint nbytes);
 		public Gst.Buffer take_buffer (uint nbytes);
@@ -68,6 +70,8 @@ namespace Gst {
 		public bool query_latency (bool live, bool upstream_live, out Gst.ClockTime min_latency, out Gst.ClockTime max_latency);
 		[NoWrapper]
 		public virtual Gst.FlowReturn render (Gst.Buffer buffer);
+		[NoWrapper]
+		public virtual Gst.FlowReturn render_list (Gst.BufferList buffer_list);
 		public void set_async_enabled (bool enabled);
 		public void set_blocksize (uint blocksize);
 		[NoWrapper]
@@ -264,6 +268,10 @@ namespace Gst {
 		public uint size;
 		[CCode (has_construct_function = false)]
 		public ByteReader (uchar data, uint size);
+		public bool dup_data (uint size, uchar val);
+		public bool dup_string_utf16 (uint16 str);
+		public bool dup_string_utf32 (uint32 str);
+		public bool dup_string_utf8 (string str);
 		[CCode (has_construct_function = false)]
 		public ByteReader.from_buffer (Gst.Buffer buffer);
 		public bool get_data (uint size, out uchar val);
@@ -282,6 +290,7 @@ namespace Gst {
 		public bool get_int8 (out char val);
 		public uint get_pos ();
 		public uint get_remaining ();
+		public bool get_string_utf8 (string str);
 		public bool get_uint16_be (out uint16 val);
 		public bool get_uint16_le (out uint16 val);
 		public bool get_uint24_be (out uint32 val);
@@ -293,6 +302,7 @@ namespace Gst {
 		public bool get_uint8 (out uchar val);
 		public void init (uchar data, uint size);
 		public void init_from_buffer (Gst.Buffer buffer);
+		public uint masked_scan_uint32 (uint32 mask, uint32 pattern, uint offset, uint size);
 		public bool peek_data (uint size, out uchar val);
 		public bool peek_float32_be (out float val);
 		public bool peek_float32_le (out float val);
@@ -307,6 +317,7 @@ namespace Gst {
 		public bool peek_int64_be (out int64 val);
 		public bool peek_int64_le (out int64 val);
 		public bool peek_int8 (out char val);
+		public bool peek_string_utf8 (string str);
 		public bool peek_uint16_be (out uint16 val);
 		public bool peek_uint16_le (out uint16 val);
 		public bool peek_uint24_be (out uint32 val);
@@ -318,6 +329,9 @@ namespace Gst {
 		public bool peek_uint8 (out uchar val);
 		public bool set_pos (uint pos);
 		public bool skip (uint nbytes);
+		public bool skip_string_utf16 ();
+		public bool skip_string_utf32 ();
+		public bool skip_string_utf8 ();
 	}
 	[Compact]
 	[CCode (cheader_filename = "gst/base/gstcollectpads.h")]
diff --git a/vapi/gstreamer-controller-0.10.vapi b/vapi/gstreamer-controller-0.10.vapi
index f4e96a1..2fa7b7e 100644
--- a/vapi/gstreamer-controller-0.10.vapi
+++ b/vapi/gstreamer-controller-0.10.vapi
@@ -94,7 +94,7 @@ namespace Gst {
 		CUBIC,
 		USER
 	}
-	[CCode (cprefix = "", has_type_id = "0", cheader_filename = "gst/controller/gstlfocontrolsource.h")]
+	[CCode (cprefix = "", cheader_filename = "gst/controller/gstlfocontrolsource.h")]
 	public enum LFOWaveform {
 		Sine waveform (default),
 		Square waveform,
diff --git a/vapi/gstreamer-dataprotocol-0.10.vapi b/vapi/gstreamer-dataprotocol-0.10.vapi
index 930b2af..1bdd19d 100644
--- a/vapi/gstreamer-dataprotocol-0.10.vapi
+++ b/vapi/gstreamer-dataprotocol-0.10.vapi
@@ -26,7 +26,7 @@ namespace Gst {
 		CAPS,
 		EVENT_NONE
 	}
-	[CCode (cprefix = "", has_type_id = "0", cheader_filename = "gst/dataprotocol/dataprotocol.h")]
+	[CCode (cprefix = "", cheader_filename = "gst/dataprotocol/dataprotocol.h")]
 	public enum DPVersion {
 		GDP Version 0.2,
 		GDP Version 1.0
diff --git a/vapi/gstreamer-interfaces-0.10.vapi b/vapi/gstreamer-interfaces-0.10.vapi
index 43d62c2..c8c97a5 100644
--- a/vapi/gstreamer-interfaces-0.10.vapi
+++ b/vapi/gstreamer-interfaces-0.10.vapi
@@ -12,12 +12,15 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/interfaces/mixer.h")]
 	public class MixerOptions : Gst.MixerTrack {
 		public unowned GLib.List<string> get_values ();
+		public static void list_changed (Gst.Mixer mixer, Gst.MixerOptions opts);
 	}
 	[CCode (cheader_filename = "gst/interfaces/mixer.h")]
 	public class MixerTrack : GLib.Object {
 		[NoAccessorMethod]
 		public uint flags { get; }
 		[NoAccessorMethod]
+		public uint index { get; construct; }
+		[NoAccessorMethod]
 		public string label { owned get; }
 		[NoAccessorMethod]
 		public int max_volume { get; }
@@ -28,6 +31,46 @@ namespace Gst {
 		[NoAccessorMethod]
 		public string untranslated_label { owned get; construct; }
 	}
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
+	public class PhotoSettings {
+		public uint aperture;
+		public float ev_compensation;
+		public uint32 exposure;
+		public Gst.FlashMode flash_mode;
+		public uint iso_speed;
+		public Gst.SceneMode scene_mode;
+		public Gst.ColourToneMode tone_mode;
+		public Gst.WhiteBalanceMode wb_mode;
+		public float zoom;
+	}
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
+	public class Photography {
+		public bool get_aperture (uint aperture);
+		public Gst.PhotoCaps get_capabilities ();
+		public bool get_colour_tone_mode (Gst.ColourToneMode tone_mode);
+		public bool get_config (Gst.PhotoSettings config);
+		public bool get_ev_compensation (float ev_comp);
+		public bool get_exposure (uint32 exposure);
+		public bool get_flash_mode (Gst.FlashMode flash_mode);
+		public bool get_iso_speed (uint iso_speed);
+		public bool get_scene_mode (Gst.SceneMode scene_mode);
+		public bool get_white_balance_mode (Gst.WhiteBalanceMode wb_mode);
+		public bool get_zoom (float zoom);
+		public bool prepare_for_capture (Gst.PhotoCapturePrepared func, Gst.Caps capture_caps);
+		public bool set_aperture (uint aperture);
+		public void set_autofocus (bool on);
+		public bool set_colour_tone_mode (Gst.ColourToneMode tone_mode);
+		public bool set_config (Gst.PhotoSettings config);
+		public bool set_ev_compensation (float ev_comp);
+		public bool set_exposure (uint exposure);
+		public bool set_flash_mode (Gst.FlashMode flash_mode);
+		public bool set_iso_speed (uint iso_speed);
+		public bool set_scene_mode (Gst.SceneMode scene_mode);
+		public bool set_white_balance_mode (Gst.WhiteBalanceMode wb_mode);
+		public bool set_zoom (float zoom);
+	}
 	[CCode (cheader_filename = "gst/interfaces/tuner.h")]
 	public class TunerChannel : GLib.Object {
 		public Gst.TunerChannelFlags flags;
@@ -49,6 +92,7 @@ namespace Gst {
 	}
 	[CCode (cheader_filename = "gst/interfaces/colorbalance.h")]
 	public interface ColorBalance : Gst.ImplementsInterface, Gst.Element {
+		public Gst.ColorBalanceType get_balance_type ();
 		public abstract int get_value (Gst.ColorBalanceChannel channel);
 		public abstract unowned GLib.List<Gst.ColorBalanceChannel> list_channels ();
 		public abstract void set_value (Gst.ColorBalanceChannel channel, int value);
@@ -58,14 +102,17 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/interfaces/mixer.h")]
 	public interface Mixer : Gst.ImplementsInterface, Gst.Element {
 		public abstract Gst.MixerFlags get_mixer_flags ();
+		public Gst.MixerType get_mixer_type ();
 		public abstract unowned string get_option (Gst.MixerOptions opts);
 		public abstract void get_volume (Gst.MixerTrack track, int volumes);
 		public abstract unowned GLib.List<Gst.MixerTrack> list_tracks ();
 		public static Gst.MixerMessageType message_get_type (Gst.Message message);
 		public static void message_parse_mute_toggled (Gst.Message message, out unowned Gst.MixerTrack track, bool mute);
 		public static void message_parse_option_changed (Gst.Message message, out unowned Gst.MixerOptions options, string value);
+		public static void message_parse_options_list_changed (Gst.Message message, out unowned Gst.MixerOptions options);
 		public static void message_parse_record_toggled (Gst.Message message, out unowned Gst.MixerTrack track, bool record);
 		public static void message_parse_volume_changed (Gst.Message message, out unowned Gst.MixerTrack track, int volumes, int num_channels);
+		public void mixer_changed ();
 		public abstract void set_mute (Gst.MixerTrack track, bool mute);
 		public abstract void set_option (Gst.MixerOptions opts, string value);
 		public abstract void set_record (Gst.MixerTrack track, bool record);
@@ -81,6 +128,27 @@ namespace Gst {
 	}
 	[CCode (cheader_filename = "gst/interfaces/navigation.h")]
 	public interface Navigation : Gst.Element {
+		public static Gst.NavigationEventType event_get_type (Gst.Event event);
+		public static bool event_parse_command (Gst.Event event, Gst.NavigationCommand command);
+		public static bool event_parse_key_event (Gst.Event event, string key);
+		public static bool event_parse_mouse_button_event (Gst.Event event, int button, double x, double y);
+		public static bool event_parse_mouse_move_event (Gst.Event event, double x, double y);
+		public static Gst.NavigationMessageType message_get_type (Gst.Message message);
+		public static unowned Gst.Message message_new_angles_changed (Gst.Object src, uint cur_angle, uint n_angles);
+		public static unowned Gst.Message message_new_commands_changed (Gst.Object src);
+		public static unowned Gst.Message message_new_mouse_over (Gst.Object src, bool active);
+		public static bool message_parse_angles_changed (Gst.Message message, uint cur_angle, uint n_angles);
+		public static bool message_parse_mouse_over (Gst.Message message, bool active);
+		public static Gst.NavigationQueryType query_get_type (Gst.Query query);
+		public static unowned Gst.Query query_new_angles ();
+		public static unowned Gst.Query query_new_commands ();
+		public static bool query_parse_angles (Gst.Query query, uint cur_angle, uint n_angles);
+		public static bool query_parse_commands_length (Gst.Query query, uint n_cmds);
+		public static bool query_parse_commands_nth (Gst.Query query, uint nth, Gst.NavigationCommand cmd);
+		public static void query_set_angles (Gst.Query query, uint cur_angle, uint n_angles);
+		public static void query_set_commands (Gst.Query query, int n_cmds);
+		public static void query_set_commandsv (Gst.Query query, int n_cmds, Gst.NavigationCommand cmds);
+		public void send_command (Gst.NavigationCommand command);
 		public abstract void send_event (Gst.Structure structure);
 		public void send_key_event (string event, string key);
 		public void send_mouse_event (string event, int button, double x, double y);
@@ -138,26 +206,57 @@ namespace Gst {
 		public void prepare_xwindow_id ();
 		public abstract void set_xwindow_id (ulong xwindow_id);
 	}
-	[CCode (cprefix = "GST_COLOR_BALANCE_", has_type_id = "0", cheader_filename = "gst/interfaces/colorbalance.h")]
+	[CCode (cprefix = "GST_COLOR_BALANCE_", cheader_filename = "gst/interfaces/colorbalance.h")]
 	public enum ColorBalanceType {
 		HARDWARE,
 		SOFTWARE
 	}
-	[CCode (cprefix = "GST_MIXER_FLAG_", has_type_id = "0", cheader_filename = "gst/interfaces/mixer.h")]
+	[CCode (cprefix = "GST_PHOTOGRAPHY_COLOUR_TONE_MODE_", has_type_id = "0", cheader_filename = "gst/gst.h")]
+	public enum ColourToneMode {
+		NORMAL,
+		SEPIA,
+		NEGATIVE,
+		GRAYSCALE,
+		NATURAL,
+		VIVID,
+		COLORSWAP,
+		SOLARIZE,
+		OUT_OF_FOCUS
+	}
+	[CCode (cprefix = "GST_PHOTOGRAPHY_FLASH_MODE_", has_type_id = "0", cheader_filename = "gst/gst.h")]
+	public enum FlashMode {
+		AUTO,
+		OFF,
+		ON,
+		FILL_IN,
+		RED_EYE
+	}
+	[CCode (cprefix = "GST_PHOTOGRAPHY_FOCUS_STATUS_", has_type_id = "0", cheader_filename = "gst/gst.h")]
+	public enum FocusStatus {
+		NONE,
+		RUNNING,
+		FAIL,
+		SUCCESS
+	}
+	[CCode (cprefix = "GST_MIXER_FLAG_", cheader_filename = "gst/interfaces/mixer.h")]
 	[Flags]
 	public enum MixerFlags {
 		NONE,
-		AUTO_NOTIFICATIONS
+		AUTO_NOTIFICATIONS,
+		HAS_WHITELIST,
+		GROUPING
 	}
-	[CCode (cprefix = "GST_MIXER_MESSAGE_", has_type_id = "0", cheader_filename = "gst/interfaces/mixer.h")]
+	[CCode (cprefix = "GST_MIXER_MESSAGE_", cheader_filename = "gst/interfaces/mixer.h")]
 	public enum MixerMessageType {
 		INVALID,
 		MUTE_TOGGLED,
 		RECORD_TOGGLED,
 		VOLUME_CHANGED,
-		OPTION_CHANGED
+		OPTION_CHANGED,
+		OPTIONS_LIST_CHANGED,
+		MIXER_CHANGED
 	}
-	[CCode (cprefix = "GST_MIXER_TRACK_", has_type_id = "0", cheader_filename = "gst/interfaces/mixertrack.h")]
+	[CCode (cprefix = "GST_MIXER_TRACK_", cheader_filename = "gst/interfaces/mixertrack.h")]
 	[Flags]
 	public enum MixerTrackFlags {
 		INPUT,
@@ -165,14 +264,89 @@ namespace Gst {
 		MUTE,
 		RECORD,
 		MASTER,
-		SOFTWARE
+		SOFTWARE,
+		NO_RECORD,
+		NO_MUTE,
+		WHITELIST
 	}
-	[CCode (cprefix = "GST_MIXER_", has_type_id = "0", cheader_filename = "gst/interfaces/mixer.h")]
+	[CCode (cprefix = "GST_MIXER_", cheader_filename = "gst/interfaces/mixer.h")]
 	public enum MixerType {
 		HARDWARE,
 		SOFTWARE
 	}
-	[CCode (cprefix = "GST_TUNER_CHANNEL_", has_type_id = "0", cheader_filename = "gst/interfaces/tuner.h")]
+	[CCode (cprefix = "GST_NAVIGATION_COMMAND_", cheader_filename = "gst/gst.h")]
+	public enum NavigationCommand {
+		INVALID,
+		MENU1,
+		MENU2,
+		MENU3,
+		MENU4,
+		MENU5,
+		MENU6,
+		MENU7,
+		LEFT,
+		RIGHT,
+		UP,
+		DOWN,
+		ACTIVATE,
+		PREV_ANGLE,
+		NEXT_ANGLE
+	}
+	[CCode (cprefix = "GST_NAVIGATION_EVENT_", cheader_filename = "gst/gst.h")]
+	public enum NavigationEventType {
+		INVALID,
+		KEY_PRESS,
+		KEY_RELEASE,
+		MOUSE_BUTTON_PRESS,
+		MOUSE_BUTTON_RELEASE,
+		MOUSE_MOVE,
+		COMMAND
+	}
+	[CCode (cprefix = "GST_NAVIGATION_MESSAGE_", cheader_filename = "gst/gst.h")]
+	public enum NavigationMessageType {
+		INVALID,
+		MOUSE_OVER,
+		COMMANDS_CHANGED,
+		ANGLES_CHANGED
+	}
+	[CCode (cprefix = "GST_NAVIGATION_QUERY_", cheader_filename = "gst/gst.h")]
+	public enum NavigationQueryType {
+		INVALID,
+		COMMANDS,
+		ANGLES
+	}
+	[CCode (cprefix = "GST_PHOTOGRAPHY_CAPS_", has_type_id = "0", cheader_filename = "gst/gst.h")]
+	public enum PhotoCaps {
+		NONE,
+		EV_COMP,
+		ISO_SPEED,
+		WB_MODE,
+		TONE,
+		SCENE,
+		FLASH,
+		ZOOM,
+		FOCUS,
+		APERTURE,
+		EXPOSURE,
+		SHAKE
+	}
+	[CCode (cprefix = "GST_PHOTOGRAPHY_SHAKE_RISK_", has_type_id = "0", cheader_filename = "gst/gst.h")]
+	public enum PhotoShakeRisk {
+		LOW,
+		MEDIUM,
+		HIGH
+	}
+	[CCode (cprefix = "GST_PHOTOGRAPHY_SCENE_MODE_", has_type_id = "0", cheader_filename = "gst/gst.h")]
+	public enum SceneMode {
+		MANUAL,
+		CLOSEUP,
+		PORTRAIT,
+		LANDSCAPE,
+		SPORT,
+		NIGHT,
+		AUTO
+	}
+	[CCode (cprefix = "GST_TUNER_CHANNEL_", cheader_filename = "gst/interfaces/tuner.h")]
 	[Flags]
 	public enum TunerChannelFlags {
 		INPUT,
@@ -180,4 +354,33 @@ namespace Gst {
 		FREQUENCY,
 		AUDIO
 	}
+	[CCode (cprefix = "GST_PHOTOGRAPHY_WB_MODE_", has_type_id = "0", cheader_filename = "gst/gst.h")]
+	public enum WhiteBalanceMode {
+		AUTO,
+		DAYLIGHT,
+		CLOUDY,
+		SUNSET,
+		TUNGSTEN,
+		FLUORESCENT
+	}
+	[CCode (cheader_filename = "gst/gst.h", has_target = false)]
+	public delegate void PhotoCapturePrepared (void* data, Gst.Caps configured_caps);
+	[CCode (cheader_filename = "gst/gst.h")]
+	public const string PHOTOGRAPHY_AUTOFOCUS_DONE;
+	[CCode (cheader_filename = "gst/gst.h")]
+	public const string PHOTOGRAPHY_SHAKE_RISK;
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static GLib.Type colour_tone_mode_get_type ();
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static GLib.Type flash_mode_get_type ();
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static GLib.Type focus_status_get_type ();
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static GLib.Type photo_caps_get_type ();
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static GLib.Type photo_shake_risk_get_type ();
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static GLib.Type scene_mode_get_type ();
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static GLib.Type white_balance_mode_get_type ();
 }
diff --git a/vapi/gstreamer-netbuffer-0.10.vapi b/vapi/gstreamer-netbuffer-0.10.vapi
index a3d295a..ad5269b 100644
--- a/vapi/gstreamer-netbuffer-0.10.vapi
+++ b/vapi/gstreamer-netbuffer-0.10.vapi
@@ -36,6 +36,8 @@ namespace Gst {
 		public void set_ip4_address (uint32 address, uint16 port);
 		[CCode (cname = "gst_netaddress_set_ip6_address")]
 		public void set_ip6_address ([CCode (array_length = false)] uchar[] address, uint16 port);
+		[CCode (cname = "gst_netaddress_to_string")]
+		public int to_string (string dest, ulong len);
 	}
 	[CCode (cprefix = "GST_NET_TYPE_", has_type_id = "0", cheader_filename = "gst/netbuffer/gstnetbuffer.h")]
 	public enum NetType {
@@ -43,4 +45,6 @@ namespace Gst {
 		IP4,
 		IP6
 	}
+	[CCode (cheader_filename = "gst/netbuffer/gstnetbuffer.h")]
+	public const int NETADDRESS_MAX_LEN;
 }
diff --git a/vapi/gstreamer-pbutils-0.10.vapi b/vapi/gstreamer-pbutils-0.10.vapi
index e8d1a87..07aa1f3 100644
--- a/vapi/gstreamer-pbutils-0.10.vapi
+++ b/vapi/gstreamer-pbutils-0.10.vapi
@@ -9,7 +9,7 @@ namespace Gst {
 		public InstallPluginsContext ();
 		public void set_xid (uint xid);
 	}
-	[CCode (cprefix = "GST_INSTALL_PLUGINS_", has_type_id = "0", cheader_filename = "gst/pbutils/pbutils.h")]
+	[CCode (cprefix = "GST_INSTALL_PLUGINS_", cheader_filename = "gst/pbutils/pbutils.h")]
 	public enum InstallPluginsReturn {
 		SUCCESS,
 		NOT_FOUND,
diff --git a/vapi/gstreamer-riff-0.10.vapi b/vapi/gstreamer-riff-0.10.vapi
index 1f9015f..06ea630 100644
--- a/vapi/gstreamer-riff-0.10.vapi
+++ b/vapi/gstreamer-riff-0.10.vapi
@@ -317,6 +317,8 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/riff/riff-ids.h")]
 	public const int RIFF_WAVE_FORMAT_SIPROLAB_KELVIN;
 	[CCode (cheader_filename = "gst/riff/riff-ids.h")]
+	public const int RIFF_WAVE_FORMAT_SIREN;
+	[CCode (cheader_filename = "gst/riff/riff-ids.h")]
 	public const int RIFF_WAVE_FORMAT_SOFTSOUND;
 	[CCode (cheader_filename = "gst/riff/riff-ids.h")]
 	public const int RIFF_WAVE_FORMAT_SONARC;
diff --git a/vapi/gstreamer-rtp-0.10.vapi b/vapi/gstreamer-rtp-0.10.vapi
index bbb1af4..160ab03 100644
--- a/vapi/gstreamer-rtp-0.10.vapi
+++ b/vapi/gstreamer-rtp-0.10.vapi
@@ -68,6 +68,8 @@ namespace Gst {
 		public bool is_filled (uint size, Gst.ClockTime duration);
 		[CCode (cname = "gst_basertppayload_push")]
 		public Gst.FlowReturn push (Gst.Buffer buffer);
+		[CCode (cname = "gst_basertppayload_push_list")]
+		public Gst.FlowReturn push_list (Gst.BufferList list);
 		[NoWrapper]
 		public virtual bool set_caps (Gst.Caps caps);
 		[CCode (cname = "gst_basertppayload_set_options")]
@@ -124,6 +126,12 @@ namespace Gst {
 		public uchar bye_get_reason_len ();
 		public uint bye_get_ssrc_count ();
 		public bool bye_set_reason (string reason);
+		public uint32 fb_get_media_ssrc ();
+		public uint32 fb_get_sender_ssrc ();
+		public Gst.RTCPFBType fb_get_type ();
+		public void fb_set_media_ssrc (uint32 ssrc);
+		public void fb_set_sender_ssrc (uint32 ssrc);
+		public void fb_set_type (Gst.RTCPFBType type);
 		public uchar get_count ();
 		public uint16 get_length ();
 		public bool get_padding ();
@@ -147,6 +155,15 @@ namespace Gst {
 		public void sr_get_sender_info (uint32 ssrc, uint64 ntptime, uint32 rtptime, uint32 packet_count, uint32 octet_count);
 		public void sr_set_sender_info (uint32 ssrc, uint64 ntptime, uint32 rtptime, uint32 packet_count, uint32 octet_count);
 	}
+	[CCode (cprefix = "GST_RTCP_", has_type_id = "0", cheader_filename = "gst/gst.h")]
+	public enum RTCPFBType {
+		FB_TYPE_INVALID,
+		RTPFB_TYPE_NACK,
+		PSFB_TYPE_PLI,
+		PSFB_TYPE_SLI,
+		PSFB_TYPE_RPSI,
+		PSFB_TYPE_AFB
+	}
 	[CCode (cprefix = "GST_RTCP_SDES_", has_type_id = "0", cheader_filename = "gst/rtp/gstrtcpbuffer.h")]
 	public enum RTCPSDESType {
 		INVALID,
@@ -167,7 +184,9 @@ namespace Gst {
 		RR,
 		SDES,
 		BYE,
-		APP
+		APP,
+		RTPFB,
+		PSFB
 	}
 	[CCode (cprefix = "GST_RTP_PAYLOAD_", has_type_id = "0", cheader_filename = "gst/rtp/gstbasertpaudiopayload.h")]
 	public enum RTPPayload {
@@ -354,6 +373,26 @@ namespace Gst {
 	public static uint32 rtp_buffer_get_timestamp (Gst.Buffer buffer);
 	[CCode (cheader_filename = "gst/rtp/gstrtpbuffer.h")]
 	public static uchar rtp_buffer_get_version (Gst.Buffer buffer);
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static uint rtp_buffer_list_get_payload_len (Gst.BufferList list);
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static uchar rtp_buffer_list_get_payload_type (Gst.BufferList list);
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static uint16 rtp_buffer_list_get_seq (Gst.BufferList list);
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static uint32 rtp_buffer_list_get_ssrc (Gst.BufferList list);
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static uint32 rtp_buffer_list_get_timestamp (Gst.BufferList list);
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static void rtp_buffer_list_set_payload_type (Gst.BufferList list, uchar payload_type);
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static uint16 rtp_buffer_list_set_seq (Gst.BufferList list, uint16 seq);
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static void rtp_buffer_list_set_ssrc (Gst.BufferList list, uint32 ssrc);
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static void rtp_buffer_list_set_timestamp (Gst.BufferList list, uint32 timestamp);
+	[CCode (cheader_filename = "gst/gst.h")]
+	public static bool rtp_buffer_list_validate (Gst.BufferList list);
 	[CCode (cheader_filename = "gst/rtp/gstrtpbuffer.h")]
 	public static unowned Gst.Buffer rtp_buffer_new_allocate (uint payload_len, uchar pad_len, uchar csrc_count);
 	[CCode (cheader_filename = "gst/rtp/gstrtpbuffer.h")]
diff --git a/vapi/gstreamer-rtsp-0.10.vapi b/vapi/gstreamer-rtsp-0.10.vapi
index 5e338b0..9553c20 100644
--- a/vapi/gstreamer-rtsp-0.10.vapi
+++ b/vapi/gstreamer-rtsp-0.10.vapi
@@ -132,6 +132,7 @@ namespace Gst {
 		[CCode (has_construct_function = false)]
 		public RTSPWatch (Gst.RTSPConnection conn, Gst.RTSPWatchFuncs funcs, GLib.DestroyNotify notify);
 		public uint attach (GLib.MainContext context);
+		public uint queue_data (uchar data, uint size);
 		public uint queue_message (Gst.RTSPMessage message);
 		public void reset ();
 	}
@@ -234,7 +235,27 @@ namespace Gst {
 		PLAYER_START_TIME,
 		LOCATION,
 		ETAG,
-		IF_MATCH
+		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
 	}
 	[CCode (cprefix = "GST_RTSP_LOWER_TRANS_", has_type_id = "0", cheader_filename = "gst/rtsp/gstrtspextension.h")]
 	public enum RTSPLowerTrans {
diff --git a/vapi/gstreamer-video-0.10.vapi b/vapi/gstreamer-video-0.10.vapi
index 22c162e..f5beaac 100644
--- a/vapi/gstreamer-video-0.10.vapi
+++ b/vapi/gstreamer-video-0.10.vapi
@@ -106,11 +106,142 @@ namespace Gst {
 		[CCode (cname = "GST_VIDEO_SIZE_RANGE", cheader_filename = "gst/video/video.h")]
 		public const string SIZE;
 	}
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public class BaseVideoCodec : Gst.Element {
+		public weak Gst.Element element;
+		public weak Gst.Adapter input_adapter;
+		public weak Gst.Adapter output_adapter;
+		public weak Gst.Pad sinkpad;
+		public weak Gst.Pad srcpad;
+		public uint64 system_frame_number;
+		public Gst.ClockTime timestamp_offset;
+		[CCode (type = "GstVideoFrame*", has_construct_function = false)]
+		public BaseVideoCodec.frame (Gst.BaseVideoCodec base_video_codec);
+		public static void free_frame (Gst.VideoFrame frame);
+	}
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public class BaseVideoDecoder : Gst.BaseVideoCodec {
+		public uint64 base_picture_number;
+		public weak Gst.BaseVideoCodec base_video_codec;
+		public Gst.ClockTime buffer_timestamp;
+		public weak Gst.Caps caps;
+		public weak Gst.Buffer codec_data;
+		public weak Gst.VideoFrame current_frame;
+		public bool discont;
+		public int distance_from_sync;
+		public Gst.ClockTime earliest_time;
+		public int field_index;
+		public weak GLib.List frames;
+		public bool have_src_caps;
+		public bool have_sync;
+		public weak Gst.Adapter input_adapter;
+		public Gst.ClockTime last_sink_offset_end;
+		public Gst.ClockTime last_sink_timestamp;
+		public Gst.ClockTime last_timestamp;
+		public uint64 offset;
+		public weak Gst.Adapter output_adapter;
+		public uint64 presentation_frame_number;
+		public double proportion;
+		public int reorder_depth;
+		public bool sink_clipping;
+		public bool started;
+		public weak Gst.VideoState state;
+		public uint64 system_frame_number;
+		public Gst.ClockTime timestamp_offset;
+		public void add_to_frame (int n_bytes);
+		public Gst.FlowReturn end_of_stream (Gst.Buffer buffer);
+		public Gst.FlowReturn finish_frame (Gst.VideoFrame frame);
+		public unowned Gst.VideoFrame get_frame (int frame_number);
+		public int get_height ();
+		public unowned Gst.VideoState get_state ();
+		public uint64 get_timestamp_offset ();
+		public int get_width ();
+		public Gst.FlowReturn have_frame ();
+		public void lost_sync ();
+		public void set_src_caps ();
+		public void set_state (Gst.VideoState state);
+		public void set_sync_point ();
+	}
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public class BaseVideoEncoder : Gst.BaseVideoCodec {
+		public weak Gst.BaseVideoCodec base_video_codec;
+		public weak Gst.Caps caps;
+		public int distance_from_sync;
+		public weak GLib.List frames;
+		public int64 max_latency;
+		public int64 min_latency;
+		public uint64 presentation_frame_number;
+		public bool set_output_caps;
+		public bool sink_clipping;
+		public weak Gst.VideoState state;
+		public uint64 system_frame_number;
+		public Gst.FlowReturn end_of_stream (Gst.Buffer buffer);
+		public Gst.FlowReturn finish_frame (Gst.VideoFrame frame);
+		public unowned Gst.VideoFrame get_frame (int frame_number);
+		public int get_height ();
+		public unowned Gst.VideoState get_state ();
+		public uint64 get_timestamp_offset ();
+		public int get_width ();
+		public void set_latency (Gst.ClockTime min_latency, Gst.ClockTime max_latency);
+		public void set_latency_fields (int n_fields);
+	}
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public class BaseVideoParse : Gst.BaseVideoCodec {
+		public weak Gst.BaseVideoCodec base_video_codec;
+		public weak Gst.Caps caps;
+		public weak Gst.VideoFrame current_frame;
+		public bool discont;
+		public int distance_from_sync;
+		public bool have_sync;
+		public weak Gst.Adapter input_adapter;
+		public Gst.ClockTime last_timestamp;
+		public weak Gst.Adapter output_adapter;
+		public uint64 presentation_frame_number;
+		public int reorder_depth;
+		public bool set_output_caps;
+		public bool sink_clipping;
+		public bool started;
+		public weak Gst.VideoState state;
+		public uint64 system_frame_number;
+		public int64 timestamp_offset;
+		public void add_to_frame (int n_bytes);
+		public Gst.FlowReturn end_of_stream (Gst.Buffer buffer);
+		public Gst.FlowReturn finish_frame ();
+		public unowned Gst.VideoFrame get_frame ();
+		public int get_height ();
+		public unowned Gst.VideoState get_state ();
+		public uint64 get_timestamp_offset ();
+		public int get_width ();
+		public void lost_sync ();
+		public Gst.FlowReturn push (Gst.Buffer buffer);
+		public bool set_src_caps (Gst.Caps caps);
+		public void set_state (Gst.VideoState state);
+		public void set_sync_point ();
+	}
 	[CCode (cheader_filename = "gst/video/gstvideofilter.h")]
 	public class VideoFilter : Gst.BaseTransform {
 		public bool inited;
 	}
 	[Compact]
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public class VideoFrame {
+		public void* coder_hook;
+		public int decode_frame_number;
+		public uint64 decode_timestamp;
+		public int distance_from_sync;
+		public int field_index;
+		public bool is_eos;
+		public bool is_sync_point;
+		public int n_fields;
+		public uint64 presentation_duration;
+		public int presentation_frame_number;
+		public uint64 presentation_timestamp;
+		public weak Gst.Buffer sink_buffer;
+		public weak Gst.Buffer src_buffer;
+		public int system_frame_number;
+		public static Gst.Value rate (Gst.Pad pad);
+	}
+	[Compact]
 	[CCode (cheader_filename = "gst/video/gstvideosink.h")]
 	public class VideoRectangle {
 		public int h;
@@ -124,6 +255,27 @@ namespace Gst {
 		public int width;
 		public static void center_rect (Gst.VideoRectangle src, Gst.VideoRectangle dst, Gst.VideoRectangle _result, bool scaling);
 	}
+	[Compact]
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public class VideoState {
+		public int bytes_per_picture;
+		public int clean_height;
+		public int clean_offset_left;
+		public int clean_offset_top;
+		public int clean_width;
+		public Gst.VideoFormat format;
+		public int fps_d;
+		public int fps_n;
+		public int height;
+		public bool interlaced;
+		public int par_d;
+		public int par_n;
+		public int picture_number;
+		public weak Gst.Segment segment;
+		public bool top_field_first;
+		public int width;
+		public Gst.ClockTime get_timestamp (int frame_number);
+	}
 	[CCode (cprefix = "GST_VIDEO_FORMAT_", cheader_filename = "gst/video/video.h")]
 	public enum VideoFormat {
 		UNKNOWN,
@@ -143,9 +295,35 @@ namespace Gst {
 		RGB,
 		BGR,
 		Y41B,
-		Y42B
+		Y42B,
+		YVYU,
+		Y444,
+		v210,
+		v216
 	}
 	[CCode (cheader_filename = "gst/video/video.h")]
+	public const string BASE_VIDEO_CODEC_SINK_NAME;
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public const string BASE_VIDEO_CODEC_SRC_NAME;
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public const string BASE_VIDEO_DECODER_SINK_NAME;
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public const string BASE_VIDEO_DECODER_SRC_NAME;
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public const string BASE_VIDEO_ENCODER_SINK_NAME;
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public const string BASE_VIDEO_ENCODER_SRC_NAME;
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public const string BASE_VIDEO_PARSE_SINK_NAME;
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public const string BASE_VIDEO_PARSE_SRC_NAME;
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public static bool base_video_encoded_video_convert (Gst.VideoState state, Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value);
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public static bool base_video_rawvideo_convert (Gst.VideoState state, Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value);
+	[CCode (cheader_filename = "gst/video/video.h")]
+	public static bool base_video_state_from_caps (Gst.VideoState state, Gst.Caps caps);
+	[CCode (cheader_filename = "gst/video/video.h")]
 	public static bool video_calculate_display_ratio (ref uint dar_n, ref 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/video.h")]
 	public static bool video_format_convert (Gst.VideoFormat format, int width, int height, int fps_n, int fps_d, Gst.Format src_format, int64 src_value, Gst.Format dest_format, ref int64 dest_value);
@@ -180,8 +358,6 @@ namespace Gst {
 	[CCode (cheader_filename = "gst/video/video.h")]
 	public static uint32 video_format_to_fourcc (Gst.VideoFormat format);
 	[CCode (cheader_filename = "gst/video/video.h")]
-	public static Gst.Value video_frame_rate (Gst.Pad pad);
-	[CCode (cheader_filename = "gst/video/video.h")]
 	public static bool video_get_size (Gst.Pad pad, ref int width, ref int height);
 	[CCode (cheader_filename = "gst/video/video.h")]
 	public static bool video_parse_caps_framerate (Gst.Caps caps, ref int fps_n, ref int fps_d);
diff --git a/vapi/packages/gstreamer-0.10/gstreamer-0.10.gi b/vapi/packages/gstreamer-0.10/gstreamer-0.10.gi
index ad40bbd..bbb75ff 100644
--- a/vapi/packages/gstreamer-0.10/gstreamer-0.10.gi
+++ b/vapi/packages/gstreamer-0.10/gstreamer-0.10.gi
@@ -41,6 +41,12 @@
 				<parameter name="colorinfo" type="guint"/>
 			</parameters>
 		</function>
+		<function name="debug_construct_win_color" symbol="gst_debug_construct_win_color">
+			<return-type type="gint"/>
+			<parameters>
+				<parameter name="colorinfo" type="guint"/>
+			</parameters>
+		</function>
 		<function name="debug_get_all_categories" symbol="gst_debug_get_all_categories">
 			<return-type type="GSList*"/>
 		</function>
@@ -471,7 +477,17 @@
 			<return-type type="GstElement*"/>
 			<parameters>
 				<parameter name="bin_description" type="gchar*"/>
-				<parameter name="ghost_unconnected_pads" type="gboolean"/>
+				<parameter name="ghost_unlinked_pads" type="gboolean"/>
+				<parameter name="err" type="GError**"/>
+			</parameters>
+		</function>
+		<function name="parse_bin_from_description_full" symbol="gst_parse_bin_from_description_full">
+			<return-type type="GstElement*"/>
+			<parameters>
+				<parameter name="bin_description" type="gchar*"/>
+				<parameter name="ghost_unlinked_pads" type="gboolean"/>
+				<parameter name="context" type="GstParseContext*"/>
+				<parameter name="flags" type="GstParseFlags"/>
 				<parameter name="err" type="GError**"/>
 			</parameters>
 		</function>
@@ -485,6 +501,15 @@
 				<parameter name="error" type="GError**"/>
 			</parameters>
 		</function>
+		<function name="parse_launch_full" symbol="gst_parse_launch_full">
+			<return-type type="GstElement*"/>
+			<parameters>
+				<parameter name="pipeline_description" type="gchar*"/>
+				<parameter name="context" type="GstParseContext*"/>
+				<parameter name="flags" type="GstParseFlags"/>
+				<parameter name="error" type="GError**"/>
+			</parameters>
+		</function>
 		<function name="parse_launchv" symbol="gst_parse_launchv">
 			<return-type type="GstElement*"/>
 			<parameters>
@@ -492,6 +517,15 @@
 				<parameter name="error" type="GError**"/>
 			</parameters>
 		</function>
+		<function name="parse_launchv_full" symbol="gst_parse_launchv_full">
+			<return-type type="GstElement*"/>
+			<parameters>
+				<parameter name="argv" type="gchar**"/>
+				<parameter name="context" type="GstParseContext*"/>
+				<parameter name="flags" type="GstParseFlags"/>
+				<parameter name="error" type="GError**"/>
+			</parameters>
+		</function>
 		<function name="print_element_args" symbol="gst_print_element_args">
 			<return-type type="void"/>
 			<parameters>
@@ -650,6 +684,18 @@
 				<parameter name="protocol" type="gchar*"/>
 			</parameters>
 		</function>
+		<function name="util_array_binary_search" symbol="gst_util_array_binary_search">
+			<return-type type="gpointer"/>
+			<parameters>
+				<parameter name="array" type="gpointer"/>
+				<parameter name="num_elements" type="guint"/>
+				<parameter name="element_size" type="gsize"/>
+				<parameter name="search_func" type="GCompareDataFunc"/>
+				<parameter name="mode" type="GstSearchMode"/>
+				<parameter name="search_data" type="gconstpointer"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</function>
 		<function name="util_dump_mem" symbol="gst_util_dump_mem">
 			<return-type type="void"/>
 			<parameters>
@@ -672,6 +718,16 @@
 				<parameter name="value" type="guint64"/>
 			</parameters>
 		</function>
+		<function name="util_seqnum_compare" symbol="gst_util_seqnum_compare">
+			<return-type type="gint32"/>
+			<parameters>
+				<parameter name="s1" type="guint32"/>
+				<parameter name="s2" type="guint32"/>
+			</parameters>
+		</function>
+		<function name="util_seqnum_next" symbol="gst_util_seqnum_next">
+			<return-type type="guint32"/>
+		</function>
 		<function name="util_set_object_arg" symbol="gst_util_set_object_arg">
 			<return-type type="void"/>
 			<parameters>
@@ -1082,6 +1138,22 @@
 		<function name="version_string" symbol="gst_version_string">
 			<return-type type="gchar*"/>
 		</function>
+		<callback name="GstBufferListDoFunction">
+			<return-type type="GstBuffer*"/>
+			<parameters>
+				<parameter name="buffer" type="GstBuffer*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GstBufferListFunc">
+			<return-type type="GstBufferListItem"/>
+			<parameters>
+				<parameter name="buffer" type="GstBuffer**"/>
+				<parameter name="group" type="guint"/>
+				<parameter name="idx" type="guint"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
 		<callback name="GstBusFunc">
 			<return-type type="gboolean"/>
 			<parameters>
@@ -1244,6 +1316,13 @@
 				<parameter name="buffer" type="GstBuffer*"/>
 			</parameters>
 		</callback>
+		<callback name="GstPadChainListFunction">
+			<return-type type="GstFlowReturn"/>
+			<parameters>
+				<parameter name="pad" type="GstPad*"/>
+				<parameter name="list" type="GstBufferList*"/>
+			</parameters>
+		</callback>
 		<callback name="GstPadCheckGetRangeFunction">
 			<return-type type="gboolean"/>
 			<parameters>
@@ -1292,6 +1371,12 @@
 				<parameter name="pad" type="GstPad*"/>
 			</parameters>
 		</callback>
+		<callback name="GstPadIterIntLinkFunction">
+			<return-type type="GstIterator*"/>
+			<parameters>
+				<parameter name="pad" type="GstPad*"/>
+			</parameters>
+		</callback>
 		<callback name="GstPadLinkFunction">
 			<return-type type="GstPadLinkReturn"/>
 			<parameters>
@@ -1339,6 +1424,13 @@
 				<parameter name="user_data" type="gpointer"/>
 			</parameters>
 		</callback>
+		<callback name="GstPluginInitFullFunc">
+			<return-type type="gboolean"/>
+			<parameters>
+				<parameter name="plugin" type="GstPlugin*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
 		<callback name="GstPluginInitFunc">
 			<return-type type="gboolean"/>
 			<parameters>
@@ -1382,6 +1474,12 @@
 				<parameter name="data" type="void*"/>
 			</parameters>
 		</callback>
+		<callback name="GstTaskPoolFunction">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="data" type="void*"/>
+			</parameters>
+		</callback>
 		<callback name="GstTypeFindFunction">
 			<return-type type="void"/>
 			<parameters>
@@ -1582,11 +1680,119 @@
 			<field name="offset" type="guint64"/>
 			<field name="offset_end" type="guint64"/>
 			<field name="malloc_data" type="guint8*"/>
+			<field name="free_func" type="GFreeFunc"/>
 			<field name="_gst_reserved" type="gpointer[]"/>
 		</struct>
 		<struct name="GstBufferClass">
 			<field name="mini_object_class" type="GstMiniObjectClass"/>
 		</struct>
+		<struct name="GstBufferList">
+			<method name="foreach" symbol="gst_buffer_list_foreach">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="list" type="GstBufferList*"/>
+					<parameter name="func" type="GstBufferListFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="get" symbol="gst_buffer_list_get">
+				<return-type type="GstBuffer*"/>
+				<parameters>
+					<parameter name="list" type="GstBufferList*"/>
+					<parameter name="group" type="guint"/>
+					<parameter name="idx" type="guint"/>
+				</parameters>
+			</method>
+			<method name="iterate" symbol="gst_buffer_list_iterate">
+				<return-type type="GstBufferListIterator*"/>
+				<parameters>
+					<parameter name="list" type="GstBufferList*"/>
+				</parameters>
+			</method>
+			<method name="n_groups" symbol="gst_buffer_list_n_groups">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="list" type="GstBufferList*"/>
+				</parameters>
+			</method>
+			<method name="new" symbol="gst_buffer_list_new">
+				<return-type type="GstBufferList*"/>
+			</method>
+		</struct>
+		<struct name="GstBufferListClass">
+		</struct>
+		<struct name="GstBufferListIterator">
+			<method name="add" symbol="gst_buffer_list_iterator_add">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="it" type="GstBufferListIterator*"/>
+					<parameter name="buffer" type="GstBuffer*"/>
+				</parameters>
+			</method>
+			<method name="add_group" symbol="gst_buffer_list_iterator_add_group">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="it" type="GstBufferListIterator*"/>
+				</parameters>
+			</method>
+			<method name="do" symbol="gst_buffer_list_iterator_do">
+				<return-type type="GstBuffer*"/>
+				<parameters>
+					<parameter name="it" type="GstBufferListIterator*"/>
+					<parameter name="do_func" type="GstBufferListDoFunction"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="free" symbol="gst_buffer_list_iterator_free">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="it" type="GstBufferListIterator*"/>
+				</parameters>
+			</method>
+			<method name="merge_group" symbol="gst_buffer_list_iterator_merge_group">
+				<return-type type="GstBuffer*"/>
+				<parameters>
+					<parameter name="it" type="GstBufferListIterator*"/>
+				</parameters>
+			</method>
+			<method name="n_buffers" symbol="gst_buffer_list_iterator_n_buffers">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="it" type="GstBufferListIterator*"/>
+				</parameters>
+			</method>
+			<method name="next" symbol="gst_buffer_list_iterator_next">
+				<return-type type="GstBuffer*"/>
+				<parameters>
+					<parameter name="it" type="GstBufferListIterator*"/>
+				</parameters>
+			</method>
+			<method name="next_group" symbol="gst_buffer_list_iterator_next_group">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="it" type="GstBufferListIterator*"/>
+				</parameters>
+			</method>
+			<method name="remove" symbol="gst_buffer_list_iterator_remove">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="it" type="GstBufferListIterator*"/>
+				</parameters>
+			</method>
+			<method name="steal" symbol="gst_buffer_list_iterator_steal">
+				<return-type type="GstBuffer*"/>
+				<parameters>
+					<parameter name="it" type="GstBufferListIterator*"/>
+				</parameters>
+			</method>
+			<method name="take" symbol="gst_buffer_list_iterator_take">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="it" type="GstBufferListIterator*"/>
+					<parameter name="buffer" type="GstBuffer*"/>
+				</parameters>
+			</method>
+		</struct>
 		<struct name="GstClockEntry">
 			<field name="refcount" type="gint"/>
 			<field name="clock" type="GstClock*"/>
@@ -1714,6 +1920,12 @@
 			<field name="_gst_reserved" type="gpointer[]"/>
 		</struct>
 		<struct name="GstEvent">
+			<method name="get_seqnum" symbol="gst_event_get_seqnum">
+				<return-type type="guint32"/>
+				<parameters>
+					<parameter name="event" type="GstEvent*"/>
+				</parameters>
+			</method>
 			<method name="get_structure" symbol="gst_event_get_structure">
 				<return-type type="GstStructure*"/>
 				<parameters>
@@ -1807,6 +2019,16 @@
 					<parameter name="stop" type="gint64"/>
 				</parameters>
 			</method>
+			<method name="new_step" symbol="gst_event_new_step">
+				<return-type type="GstEvent*"/>
+				<parameters>
+					<parameter name="format" type="GstFormat"/>
+					<parameter name="amount" type="guint64"/>
+					<parameter name="rate" type="gdouble"/>
+					<parameter name="flush" type="gboolean"/>
+					<parameter name="intermediate" type="gboolean"/>
+				</parameters>
+			</method>
 			<method name="new_tag" symbol="gst_event_new_tag">
 				<return-type type="GstEvent*"/>
 				<parameters>
@@ -1877,6 +2099,17 @@
 					<parameter name="stop" type="gint64*"/>
 				</parameters>
 			</method>
+			<method name="parse_step" symbol="gst_event_parse_step">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="event" type="GstEvent*"/>
+					<parameter name="format" type="GstFormat*"/>
+					<parameter name="amount" type="guint64*"/>
+					<parameter name="rate" type="gdouble*"/>
+					<parameter name="flush" type="gboolean*"/>
+					<parameter name="intermediate" type="gboolean*"/>
+				</parameters>
+			</method>
 			<method name="parse_tag" symbol="gst_event_parse_tag">
 				<return-type type="void"/>
 				<parameters>
@@ -1884,6 +2117,13 @@
 					<parameter name="taglist" type="GstTagList**"/>
 				</parameters>
 			</method>
+			<method name="set_seqnum" symbol="gst_event_set_seqnum">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="event" type="GstEvent*"/>
+					<parameter name="seqnum" type="guint32"/>
+				</parameters>
+			</method>
 			<method name="type_get_flags" symbol="gst_event_type_get_flags">
 				<return-type type="GstEventTypeFlags"/>
 				<parameters>
@@ -1907,7 +2147,7 @@
 			<field name="timestamp" type="guint64"/>
 			<field name="src" type="GstObject*"/>
 			<field name="structure" type="GstStructure*"/>
-			<field name="_gst_reserved" type="gpointer"/>
+			<field name="abidata" type="gpointer"/>
 		</struct>
 		<struct name="GstEventClass">
 			<field name="mini_object_class" type="GstMiniObjectClass"/>
@@ -1919,8 +2159,6 @@
 			<field name="description" type="gchar*"/>
 			<field name="quark" type="GQuark"/>
 		</struct>
-		<struct name="GstGhostPadClass">
-		</struct>
 		<struct name="GstIndexAssociation">
 			<field name="format" type="GstFormat"/>
 			<field name="value" type="gint64"/>
@@ -2028,6 +2266,18 @@
 			<field name="_gst_reserved" type="gpointer[]"/>
 		</struct>
 		<struct name="GstMessage">
+			<method name="get_seqnum" symbol="gst_message_get_seqnum">
+				<return-type type="guint32"/>
+				<parameters>
+					<parameter name="message" type="GstMessage*"/>
+				</parameters>
+			</method>
+			<method name="get_stream_status_object" symbol="gst_message_get_stream_status_object">
+				<return-type type="GValue*"/>
+				<parameters>
+					<parameter name="message" type="GstMessage*"/>
+				</parameters>
+			</method>
 			<method name="get_structure" symbol="gst_message_get_structure">
 				<return-type type="GstStructure*"/>
 				<parameters>
@@ -2134,6 +2384,13 @@
 					<parameter name="clock" type="GstClock*"/>
 				</parameters>
 			</method>
+			<method name="new_request_state" symbol="gst_message_new_request_state">
+				<return-type type="GstMessage*"/>
+				<parameters>
+					<parameter name="src" type="GstObject*"/>
+					<parameter name="state" type="GstState"/>
+				</parameters>
+			</method>
 			<method name="new_segment_done" symbol="gst_message_new_segment_done">
 				<return-type type="GstMessage*"/>
 				<parameters>
@@ -2165,6 +2422,48 @@
 					<parameter name="src" type="GstObject*"/>
 				</parameters>
 			</method>
+			<method name="new_step_done" symbol="gst_message_new_step_done">
+				<return-type type="GstMessage*"/>
+				<parameters>
+					<parameter name="src" type="GstObject*"/>
+					<parameter name="format" type="GstFormat"/>
+					<parameter name="amount" type="guint64"/>
+					<parameter name="rate" type="gdouble"/>
+					<parameter name="flush" type="gboolean"/>
+					<parameter name="intermediate" type="gboolean"/>
+					<parameter name="duration" type="guint64"/>
+					<parameter name="eos" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="new_step_start" symbol="gst_message_new_step_start">
+				<return-type type="GstMessage*"/>
+				<parameters>
+					<parameter name="src" type="GstObject*"/>
+					<parameter name="active" type="gboolean"/>
+					<parameter name="format" type="GstFormat"/>
+					<parameter name="amount" type="guint64"/>
+					<parameter name="rate" type="gdouble"/>
+					<parameter name="flush" type="gboolean"/>
+					<parameter name="intermediate" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="new_stream_status" symbol="gst_message_new_stream_status">
+				<return-type type="GstMessage*"/>
+				<parameters>
+					<parameter name="src" type="GstObject*"/>
+					<parameter name="type" type="GstStreamStatusType"/>
+					<parameter name="owner" type="GstElement*"/>
+				</parameters>
+			</method>
+			<method name="new_structure_change" symbol="gst_message_new_structure_change">
+				<return-type type="GstMessage*"/>
+				<parameters>
+					<parameter name="src" type="GstObject*"/>
+					<parameter name="type" type="GstStructureChangeType"/>
+					<parameter name="owner" type="GstElement*"/>
+					<parameter name="busy" type="gboolean"/>
+				</parameters>
+			</method>
 			<method name="new_tag" symbol="gst_message_new_tag">
 				<return-type type="GstMessage*"/>
 				<parameters>
@@ -2172,6 +2471,14 @@
 					<parameter name="tag_list" type="GstTagList*"/>
 				</parameters>
 			</method>
+			<method name="new_tag_full" symbol="gst_message_new_tag_full">
+				<return-type type="GstMessage*"/>
+				<parameters>
+					<parameter name="src" type="GstObject*"/>
+					<parameter name="pad" type="GstPad*"/>
+					<parameter name="tag_list" type="GstTagList*"/>
+				</parameters>
+			</method>
 			<method name="new_warning" symbol="gst_message_new_warning">
 				<return-type type="GstMessage*"/>
 				<parameters>
@@ -2250,6 +2557,13 @@
 					<parameter name="clock" type="GstClock**"/>
 				</parameters>
 			</method>
+			<method name="parse_request_state" symbol="gst_message_parse_request_state">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="message" type="GstMessage*"/>
+					<parameter name="state" type="GstState*"/>
+				</parameters>
+			</method>
 			<method name="parse_segment_done" symbol="gst_message_parse_segment_done">
 				<return-type type="void"/>
 				<parameters>
@@ -2275,6 +2589,48 @@
 					<parameter name="pending" type="GstState*"/>
 				</parameters>
 			</method>
+			<method name="parse_step_done" symbol="gst_message_parse_step_done">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="message" type="GstMessage*"/>
+					<parameter name="format" type="GstFormat*"/>
+					<parameter name="amount" type="guint64*"/>
+					<parameter name="rate" type="gdouble*"/>
+					<parameter name="flush" type="gboolean*"/>
+					<parameter name="intermediate" type="gboolean*"/>
+					<parameter name="duration" type="guint64*"/>
+					<parameter name="eos" type="gboolean*"/>
+				</parameters>
+			</method>
+			<method name="parse_step_start" symbol="gst_message_parse_step_start">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="message" type="GstMessage*"/>
+					<parameter name="active" type="gboolean*"/>
+					<parameter name="format" type="GstFormat*"/>
+					<parameter name="amount" type="guint64*"/>
+					<parameter name="rate" type="gdouble*"/>
+					<parameter name="flush" type="gboolean*"/>
+					<parameter name="intermediate" type="gboolean*"/>
+				</parameters>
+			</method>
+			<method name="parse_stream_status" symbol="gst_message_parse_stream_status">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="message" type="GstMessage*"/>
+					<parameter name="type" type="GstStreamStatusType*"/>
+					<parameter name="owner" type="GstElement**"/>
+				</parameters>
+			</method>
+			<method name="parse_structure_change" symbol="gst_message_parse_structure_change">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="message" type="GstMessage*"/>
+					<parameter name="type" type="GstStructureChangeType*"/>
+					<parameter name="owner" type="GstElement**"/>
+					<parameter name="busy" type="gboolean*"/>
+				</parameters>
+			</method>
 			<method name="parse_tag" symbol="gst_message_parse_tag">
 				<return-type type="void"/>
 				<parameters>
@@ -2282,6 +2638,14 @@
 					<parameter name="tag_list" type="GstTagList**"/>
 				</parameters>
 			</method>
+			<method name="parse_tag_full" symbol="gst_message_parse_tag_full">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="message" type="GstMessage*"/>
+					<parameter name="pad" type="GstPad**"/>
+					<parameter name="tag_list" type="GstTagList**"/>
+				</parameters>
+			</method>
 			<method name="parse_warning" symbol="gst_message_parse_warning">
 				<return-type type="void"/>
 				<parameters>
@@ -2300,6 +2664,20 @@
 					<parameter name="buffering_left" type="gint64"/>
 				</parameters>
 			</method>
+			<method name="set_seqnum" symbol="gst_message_set_seqnum">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="message" type="GstMessage*"/>
+					<parameter name="seqnum" type="guint32"/>
+				</parameters>
+			</method>
+			<method name="set_stream_status_object" symbol="gst_message_set_stream_status_object">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="message" type="GstMessage*"/>
+					<parameter name="object" type="GValue*"/>
+				</parameters>
+			</method>
 			<method name="type_get_name" symbol="gst_message_type_get_name">
 				<return-type type="gchar*"/>
 				<parameters>
@@ -2319,7 +2697,7 @@
 			<field name="timestamp" type="guint64"/>
 			<field name="src" type="GstObject*"/>
 			<field name="structure" type="GstStructure*"/>
-			<field name="_gst_reserved" type="gpointer[]"/>
+			<field name="abidata" type="gpointer"/>
 		</struct>
 		<struct name="GstMessageClass">
 			<field name="mini_object_class" type="GstMiniObjectClass"/>
@@ -2392,6 +2770,23 @@
 		<struct name="GstParamSpecMiniObject">
 			<field name="parent_instance" type="GParamSpec"/>
 		</struct>
+		<struct name="GstParseContext">
+			<method name="free" symbol="gst_parse_context_free">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="context" type="GstParseContext*"/>
+				</parameters>
+			</method>
+			<method name="get_missing_elements" symbol="gst_parse_context_get_missing_elements">
+				<return-type type="gchar**"/>
+				<parameters>
+					<parameter name="context" type="GstParseContext*"/>
+				</parameters>
+			</method>
+			<method name="new" symbol="gst_parse_context_new">
+				<return-type type="GstParseContext*"/>
+			</method>
+		</struct>
 		<struct name="GstPluginDesc">
 			<field name="major_version" type="gint"/>
 			<field name="minor_version" type="gint"/>
@@ -2425,6 +2820,15 @@
 					<parameter name="controllable" type="gboolean"/>
 				</parameters>
 			</method>
+			<method name="new_timer" symbol="gst_poll_new_timer">
+				<return-type type="GstPoll*"/>
+			</method>
+			<method name="read_control" symbol="gst_poll_read_control">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="set" type="GstPoll*"/>
+				</parameters>
+			</method>
 			<method name="remove_fd" symbol="gst_poll_remove_fd">
 				<return-type type="gboolean"/>
 				<parameters>
@@ -2459,6 +2863,12 @@
 					<parameter name="timeout" type="GstClockTime"/>
 				</parameters>
 			</method>
+			<method name="write_control" symbol="gst_poll_write_control">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="set" type="GstPoll*"/>
+				</parameters>
+			</method>
 		</struct>
 		<struct name="GstPollFD">
 			<method name="can_read" symbol="gst_poll_fd_can_read">
@@ -2579,6 +2989,9 @@
 					<parameter name="format" type="GstFormat"/>
 				</parameters>
 			</method>
+			<method name="new_uri" symbol="gst_query_new_uri">
+				<return-type type="GstQuery*"/>
+			</method>
 			<method name="parse_buffering_percent" symbol="gst_query_parse_buffering_percent">
 				<return-type type="void"/>
 				<parameters>
@@ -2677,6 +3090,13 @@
 					<parameter name="stop_value" type="gint64*"/>
 				</parameters>
 			</method>
+			<method name="parse_uri" symbol="gst_query_parse_uri">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="query" type="GstQuery*"/>
+					<parameter name="uri" type="gchar**"/>
+				</parameters>
+			</method>
 			<method name="set_buffering_percent" symbol="gst_query_set_buffering_percent">
 				<return-type type="void"/>
 				<parameters>
@@ -2775,6 +3195,13 @@
 					<parameter name="stop_value" type="gint64"/>
 				</parameters>
 			</method>
+			<method name="set_uri" symbol="gst_query_set_uri">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="query" type="GstQuery*"/>
+					<parameter name="uri" type="gchar*"/>
+				</parameters>
+			</method>
 			<method name="type_get_by_nick" symbol="gst_query_type_get_by_nick">
 				<return-type type="GstQueryType"/>
 				<parameters>
@@ -2887,6 +3314,15 @@
 					<parameter name="var_args" type="va_list"/>
 				</parameters>
 			</method>
+			<method name="add_value" symbol="gst_tag_list_add_value">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="list" type="GstTagList*"/>
+					<parameter name="mode" type="GstTagMergeMode"/>
+					<parameter name="tag" type="gchar*"/>
+					<parameter name="value" type="GValue*"/>
+				</parameters>
+			</method>
 			<method name="add_values" symbol="gst_tag_list_add_values">
 				<return-type type="void"/>
 				<parameters>
@@ -2940,6 +3376,23 @@
 					<parameter name="value" type="gboolean*"/>
 				</parameters>
 			</method>
+			<method name="get_buffer" symbol="gst_tag_list_get_buffer">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="list" type="GstTagList*"/>
+					<parameter name="tag" type="gchar*"/>
+					<parameter name="value" type="GstBuffer**"/>
+				</parameters>
+			</method>
+			<method name="get_buffer_index" symbol="gst_tag_list_get_buffer_index">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="list" type="GstTagList*"/>
+					<parameter name="tag" type="gchar*"/>
+					<parameter name="index" type="guint"/>
+					<parameter name="value" type="GstBuffer**"/>
+				</parameters>
+			</method>
 			<method name="get_char" symbol="gst_tag_list_get_char">
 				<return-type type="gboolean"/>
 				<parameters>
@@ -3201,6 +3654,18 @@
 			<method name="new" symbol="gst_tag_list_new">
 				<return-type type="GstTagList*"/>
 			</method>
+			<method name="new_full" symbol="gst_tag_list_new_full">
+				<return-type type="GstTagList*"/>
+				<parameters>
+					<parameter name="tag" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="new_full_valist" symbol="gst_tag_list_new_full_valist">
+				<return-type type="GstTagList*"/>
+				<parameters>
+					<parameter name="var_args" type="va_list"/>
+				</parameters>
+			</method>
 			<method name="remove_tag" symbol="gst_tag_list_remove_tag">
 				<return-type type="void"/>
 				<parameters>
@@ -3209,6 +3674,11 @@
 				</parameters>
 			</method>
 		</struct>
+		<struct name="GstTaskThreadCallbacks">
+			<field name="enter_thread" type="GCallback"/>
+			<field name="leave_thread" type="GCallback"/>
+			<field name="_gst_reserved" type="gpointer[]"/>
+		</struct>
 		<struct name="GstTrace">
 			<method name="destroy" symbol="gst_trace_destroy">
 				<return-type type="void"/>
@@ -3295,6 +3765,15 @@
 					<parameter name="caps" type="GstCaps*"/>
 				</parameters>
 			</method>
+			<method name="suggest_simple" symbol="gst_type_find_suggest_simple">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="find" type="GstTypeFind*"/>
+					<parameter name="probability" type="guint"/>
+					<parameter name="media_type" type="char*"/>
+					<parameter name="fieldname" type="char*"/>
+				</parameters>
+			</method>
 			<field name="peek" type="GCallback"/>
 			<field name="suggest" type="GCallback"/>
 			<field name="data" type="gpointer"/>
@@ -3660,6 +4139,14 @@
 					<parameter name="time" type="gint64"/>
 				</parameters>
 			</method>
+			<method name="set_running_time" symbol="gst_segment_set_running_time">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="segment" type="GstSegment*"/>
+					<parameter name="format" type="GstFormat"/>
+					<parameter name="running_time" type="gint64"/>
+				</parameters>
+			</method>
 			<method name="set_seek" symbol="gst_segment_set_seek">
 				<return-type type="void"/>
 				<parameters>
@@ -3674,6 +4161,14 @@
 					<parameter name="update" type="gboolean*"/>
 				</parameters>
 			</method>
+			<method name="to_position" symbol="gst_segment_to_position">
+				<return-type type="gint64"/>
+				<parameters>
+					<parameter name="segment" type="GstSegment*"/>
+					<parameter name="format" type="GstFormat"/>
+					<parameter name="running_time" type="gint64"/>
+				</parameters>
+			</method>
 			<method name="to_running_time" symbol="gst_segment_to_running_time">
 				<return-type type="gint64"/>
 				<parameters>
@@ -3770,6 +4265,13 @@
 					<parameter name="end" type="gchar**"/>
 				</parameters>
 			</method>
+			<method name="get" symbol="gst_structure_get">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="structure" type="GstStructure*"/>
+					<parameter name="first_fieldname" type="char*"/>
+				</parameters>
+			</method>
 			<method name="get_boolean" symbol="gst_structure_get_boolean">
 				<return-type type="gboolean"/>
 				<parameters>
@@ -3870,6 +4372,14 @@
 					<parameter name="value" type="guint*"/>
 				</parameters>
 			</method>
+			<method name="get_valist" symbol="gst_structure_get_valist">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="structure" type="GstStructure*"/>
+					<parameter name="first_fieldname" type="char*"/>
+					<parameter name="args" type="va_list"/>
+				</parameters>
+			</method>
 			<method name="get_value" symbol="gst_structure_get_value">
 				<return-type type="GValue*"/>
 				<parameters>
@@ -3905,6 +4415,21 @@
 					<parameter name="quark" type="GQuark"/>
 				</parameters>
 			</method>
+			<method name="id_get" symbol="gst_structure_id_get">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="structure" type="GstStructure*"/>
+					<parameter name="first_field_id" type="GQuark"/>
+				</parameters>
+			</method>
+			<method name="id_get_valist" symbol="gst_structure_id_get_valist">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="structure" type="GstStructure*"/>
+					<parameter name="first_field_id" type="GQuark"/>
+					<parameter name="args" type="va_list"/>
+				</parameters>
+			</method>
 			<method name="id_get_value" symbol="gst_structure_id_get_value">
 				<return-type type="GValue*"/>
 				<parameters>
@@ -3912,6 +4437,13 @@
 					<parameter name="field" type="GQuark"/>
 				</parameters>
 			</method>
+			<method name="id_new" symbol="gst_structure_id_new">
+				<return-type type="GstStructure*"/>
+				<parameters>
+					<parameter name="name_quark" type="GQuark"/>
+					<parameter name="field_quark" type="GQuark"/>
+				</parameters>
+			</method>
 			<method name="id_set" symbol="gst_structure_id_set">
 				<return-type type="void"/>
 				<parameters>
@@ -4055,6 +4587,11 @@
 			<member name="GST_ACTIVATE_PUSH" value="1"/>
 			<member name="GST_ACTIVATE_PULL" value="2"/>
 		</enum>
+		<enum name="GstBufferListItem" type-name="GstBufferListItem" get-type="gst_buffer_list_item_get_type">
+			<member name="GST_BUFFER_LIST_CONTINUE" value="0"/>
+			<member name="GST_BUFFER_LIST_SKIP_GROUP" value="1"/>
+			<member name="GST_BUFFER_LIST_END" value="2"/>
+		</enum>
 		<enum name="GstBufferingMode" type-name="GstBufferingMode" get-type="gst_buffering_mode_get_type">
 			<member name="GST_BUFFERING_STREAM" value="0"/>
 			<member name="GST_BUFFERING_DOWNLOAD" value="1"/>
@@ -4079,6 +4616,10 @@
 			<member name="GST_CLOCK_ERROR" value="5"/>
 			<member name="GST_CLOCK_UNSUPPORTED" value="6"/>
 		</enum>
+		<enum name="GstClockType" type-name="GstClockType" get-type="gst_clock_type_get_type">
+			<member name="GST_CLOCK_TYPE_REALTIME" value="0"/>
+			<member name="GST_CLOCK_TYPE_MONOTONIC" value="1"/>
+		</enum>
 		<enum name="GstCoreError" type-name="GstCoreError" get-type="gst_core_error_get_type">
 			<member name="GST_CORE_ERROR_FAILED" value="1"/>
 			<member name="GST_CORE_ERROR_TOO_LAZY" value="2"/>
@@ -4123,7 +4664,9 @@
 			<member name="GST_LEVEL_INFO" value="3"/>
 			<member name="GST_LEVEL_DEBUG" value="4"/>
 			<member name="GST_LEVEL_LOG" value="5"/>
-			<member name="GST_LEVEL_COUNT" value="6"/>
+			<member name="GST_LEVEL_FIXME" value="6"/>
+			<member name="GST_LEVEL_MEMDUMP" value="9"/>
+			<member name="GST_LEVEL_COUNT" value="10"/>
 		</enum>
 		<enum name="GstEventType" type-name="GstEventType" get-type="gst_event_type_get_type">
 			<member name="GST_EVENT_UNKNOWN" value="0"/>
@@ -4137,6 +4680,7 @@
 			<member name="GST_EVENT_SEEK" value="257"/>
 			<member name="GST_EVENT_NAVIGATION" value="273"/>
 			<member name="GST_EVENT_LATENCY" value="289"/>
+			<member name="GST_EVENT_STEP" value="305"/>
 			<member name="GST_EVENT_CUSTOM_UPSTREAM" value="513"/>
 			<member name="GST_EVENT_CUSTOM_DOWNSTREAM" value="518"/>
 			<member name="GST_EVENT_CUSTOM_DOWNSTREAM_OOB" value="514"/>
@@ -4249,6 +4793,8 @@
 			<member name="GST_QUERY_CONVERT" value="8"/>
 			<member name="GST_QUERY_FORMATS" value="9"/>
 			<member name="GST_QUERY_BUFFERING" value="10"/>
+			<member name="GST_QUERY_CUSTOM" value="11"/>
+			<member name="GST_QUERY_URI" value="12"/>
 		</enum>
 		<enum name="GstRank" type-name="GstRank" get-type="gst_rank_get_type">
 			<member name="GST_RANK_NONE" value="0"/>
@@ -4273,6 +4819,11 @@
 			<member name="GST_RESOURCE_ERROR_NO_SPACE_LEFT" value="14"/>
 			<member name="GST_RESOURCE_ERROR_NUM_ERRORS" value="15"/>
 		</enum>
+		<enum name="GstSearchMode" type-name="GstSearchMode" get-type="gst_search_mode_get_type">
+			<member name="GST_SEARCH_MODE_EXACT" value="0"/>
+			<member name="GST_SEARCH_MODE_BEFORE" value="1"/>
+			<member name="GST_SEARCH_MODE_AFTER" value="2"/>
+		</enum>
 		<enum name="GstSeekType" type-name="GstSeekType" get-type="gst_seek_type_get_type">
 			<member name="GST_SEEK_TYPE_NONE" value="0"/>
 			<member name="GST_SEEK_TYPE_CUR" value="1"/>
@@ -4316,6 +4867,19 @@
 			<member name="GST_STREAM_ERROR_DECRYPT_NOKEY" value="13"/>
 			<member name="GST_STREAM_ERROR_NUM_ERRORS" value="14"/>
 		</enum>
+		<enum name="GstStreamStatusType" type-name="GstStreamStatusType" get-type="gst_stream_status_type_get_type">
+			<member name="GST_STREAM_STATUS_TYPE_CREATE" value="0"/>
+			<member name="GST_STREAM_STATUS_TYPE_ENTER" value="1"/>
+			<member name="GST_STREAM_STATUS_TYPE_LEAVE" value="2"/>
+			<member name="GST_STREAM_STATUS_TYPE_DESTROY" value="3"/>
+			<member name="GST_STREAM_STATUS_TYPE_START" value="8"/>
+			<member name="GST_STREAM_STATUS_TYPE_PAUSE" value="9"/>
+			<member name="GST_STREAM_STATUS_TYPE_STOP" value="10"/>
+		</enum>
+		<enum name="GstStructureChangeType" type-name="GstStructureChangeType" get-type="gst_structure_change_type_get_type">
+			<member name="GST_STRUCTURE_CHANGE_TYPE_PAD_LINK" value="0"/>
+			<member name="GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK" value="1"/>
+		</enum>
 		<enum name="GstTagFlag" type-name="GstTagFlag" get-type="gst_tag_flag_get_type">
 			<member name="GST_TAG_FLAG_UNDEFINED" value="0"/>
 			<member name="GST_TAG_FLAG_META" value="1"/>
@@ -4375,6 +4939,9 @@
 			<member name="GST_BUFFER_FLAG_IN_CAPS" value="64"/>
 			<member name="GST_BUFFER_FLAG_GAP" value="128"/>
 			<member name="GST_BUFFER_FLAG_DELTA_UNIT" value="256"/>
+			<member name="GST_BUFFER_FLAG_MEDIA1" value="512"/>
+			<member name="GST_BUFFER_FLAG_MEDIA2" value="1024"/>
+			<member name="GST_BUFFER_FLAG_MEDIA3" value="2048"/>
 			<member name="GST_BUFFER_FLAG_LAST" value="4096"/>
 		</flags>
 		<flags name="GstBusFlags" type-name="GstBusFlags" get-type="gst_bus_flags_get_type">
@@ -4440,6 +5007,8 @@
 			<member name="GST_MESSAGE_LATENCY" value="524288"/>
 			<member name="GST_MESSAGE_ASYNC_START" value="1048576"/>
 			<member name="GST_MESSAGE_ASYNC_DONE" value="2097152"/>
+			<member name="GST_MESSAGE_REQUEST_STATE" value="4194304"/>
+			<member name="GST_MESSAGE_STEP_START" value="8388608"/>
 			<member name="GST_MESSAGE_ANY" value="-1"/>
 		</flags>
 		<flags name="GstMiniObjectFlags" type-name="GstMiniObjectFlags" get-type="gst_mini_object_flags_get_type">
@@ -4463,10 +5032,20 @@
 			<member name="GST_PAD_TEMPLATE_FIXED" value="16"/>
 			<member name="GST_PAD_TEMPLATE_FLAG_LAST" value="256"/>
 		</flags>
+		<flags name="GstParseFlags" type-name="GstParseFlags" get-type="gst_parse_flags_get_type">
+			<member name="GST_PARSE_FLAG_NONE" value="0"/>
+			<member name="GST_PARSE_FLAG_FATAL_ERRORS" value="1"/>
+		</flags>
 		<flags name="GstPipelineFlags" type-name="GstPipelineFlags" get-type="gst_pipeline_flags_get_type">
 			<member name="GST_PIPELINE_FLAG_FIXED_CLOCK" value="33554432"/>
 			<member name="GST_PIPELINE_FLAG_LAST" value="536870912"/>
 		</flags>
+		<flags name="GstPluginDependencyFlags" type-name="GstPluginDependencyFlags" get-type="gst_plugin_dependency_flags_get_type">
+			<member name="GST_PLUGIN_DEPENDENCY_FLAG_NONE" value="0"/>
+			<member name="GST_PLUGIN_DEPENDENCY_FLAG_RECURSE" value="1"/>
+			<member name="GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY" value="2"/>
+			<member name="GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX" value="4"/>
+		</flags>
 		<flags name="GstPluginFlags" type-name="GstPluginFlags" get-type="gst_plugin_flags_get_type">
 			<member name="GST_PLUGIN_FLAG_CACHED" value="1"/>
 		</flags>
@@ -4476,6 +5055,7 @@
 			<member name="GST_SEEK_FLAG_ACCURATE" value="2"/>
 			<member name="GST_SEEK_FLAG_KEY_UNIT" value="4"/>
 			<member name="GST_SEEK_FLAG_SEGMENT" value="8"/>
+			<member name="GST_SEEK_FLAG_SKIP" value="16"/>
 		</flags>
 		<object name="GstBin" parent="GstElement" type-name="GstBin" get-type="gst_bin_get_type">
 			<implements>
@@ -4502,6 +5082,13 @@
 					<parameter name="direction" type="GstPadDirection"/>
 				</parameters>
 			</method>
+			<method name="find_unlinked_pad" symbol="gst_bin_find_unlinked_pad">
+				<return-type type="GstPad*"/>
+				<parameters>
+					<parameter name="bin" type="GstBin*"/>
+					<parameter name="direction" type="GstPadDirection"/>
+				</parameters>
+			</method>
 			<method name="get_by_interface" symbol="gst_bin_get_by_interface">
 				<return-type type="GstElement*"/>
 				<parameters>
@@ -4566,6 +5153,12 @@
 					<parameter name="name" type="gchar*"/>
 				</parameters>
 			</constructor>
+			<method name="recalculate_latency" symbol="gst_bin_recalculate_latency">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="bin" type="GstBin*"/>
+				</parameters>
+			</method>
 			<method name="remove" symbol="gst_bin_remove">
 				<return-type type="gboolean"/>
 				<parameters>
@@ -4581,6 +5174,12 @@
 				</parameters>
 			</method>
 			<property name="async-handling" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<signal name="do-latency" when="LAST">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="bin" type="GstBin*"/>
+				</parameters>
+			</signal>
 			<signal name="element-added" when="FIRST">
 				<return-type type="void"/>
 				<parameters>
@@ -4961,6 +5560,7 @@
 			<field name="timeout" type="GstClockTime"/>
 			<field name="times" type="GstClockTime*"/>
 			<field name="clockid" type="GstClockID"/>
+			<field name="ABI" type="gpointer"/>
 		</object>
 		<object name="GstElement" parent="GstObject" type-name="GstElement" get-type="gst_element_get_type">
 			<method name="abort_state" symbol="gst_element_abort_state">
@@ -5120,6 +5720,12 @@
 					<parameter name="name" type="gchar*"/>
 				</parameters>
 			</method>
+			<method name="get_start_time" symbol="gst_element_get_start_time">
+				<return-type type="GstClockTime"/>
+				<parameters>
+					<parameter name="element" type="GstElement*"/>
+				</parameters>
+			</method>
 			<method name="get_state" symbol="gst_element_get_state">
 				<return-type type="GstStateChangeReturn"/>
 				<parameters>
@@ -5220,6 +5826,13 @@
 					<parameter name="element" type="GstElement*"/>
 				</parameters>
 			</method>
+			<method name="lost_state_full" symbol="gst_element_lost_state_full">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GstElement*"/>
+					<parameter name="new_base_time" type="gboolean"/>
+				</parameters>
+			</method>
 			<method name="make_from_uri" symbol="gst_element_make_from_uri">
 				<return-type type="GstElement*"/>
 				<parameters>
@@ -5393,6 +6006,13 @@
 					<parameter name="locked_state" type="gboolean"/>
 				</parameters>
 			</method>
+			<method name="set_start_time" symbol="gst_element_set_start_time">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GstElement*"/>
+					<parameter name="time" type="GstClockTime"/>
+				</parameters>
+			</method>
 			<method name="set_state" symbol="gst_element_set_state">
 				<return-type type="GstStateChangeReturn"/>
 				<parameters>
@@ -5676,6 +6296,12 @@
 			<field name="interfaces" type="GList*"/>
 		</object>
 		<object name="GstGhostPad" parent="GstProxyPad" type-name="GstGhostPad" get-type="gst_ghost_pad_get_type">
+			<method name="construct" symbol="gst_ghost_pad_construct">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="gpad" type="GstGhostPad*"/>
+				</parameters>
+			</method>
 			<method name="get_target" symbol="gst_ghost_pad_get_target">
 				<return-type type="GstPad*"/>
 				<parameters>
@@ -6028,6 +6654,12 @@
 					<parameter name="object" type="gpointer"/>
 				</parameters>
 			</method>
+			<method name="ref_sink" symbol="gst_object_ref_sink">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="object" type="gpointer"/>
+				</parameters>
+			</method>
 			<method name="replace" symbol="gst_object_replace">
 				<return-type type="void"/>
 				<parameters>
@@ -6246,6 +6878,13 @@
 					<parameter name="buffer" type="GstBuffer*"/>
 				</parameters>
 			</method>
+			<method name="chain_list" symbol="gst_pad_chain_list">
+				<return-type type="GstFlowReturn"/>
+				<parameters>
+					<parameter name="pad" type="GstPad*"/>
+					<parameter name="list" type="GstBufferList*"/>
+				</parameters>
+			</method>
 			<method name="check_pull_range" symbol="gst_pad_check_pull_range">
 				<return-type type="gboolean"/>
 				<parameters>
@@ -6391,6 +7030,18 @@
 					<parameter name="pad" type="GstPad*"/>
 				</parameters>
 			</method>
+			<method name="iterate_internal_links" symbol="gst_pad_iterate_internal_links">
+				<return-type type="GstIterator*"/>
+				<parameters>
+					<parameter name="pad" type="GstPad*"/>
+				</parameters>
+			</method>
+			<method name="iterate_internal_links_default" symbol="gst_pad_iterate_internal_links_default">
+				<return-type type="GstIterator*"/>
+				<parameters>
+					<parameter name="pad" type="GstPad*"/>
+				</parameters>
+			</method>
 			<method name="link" symbol="gst_pad_link">
 				<return-type type="GstPadLinkReturn"/>
 				<parameters>
@@ -6488,6 +7139,13 @@
 					<parameter name="event" type="GstEvent*"/>
 				</parameters>
 			</method>
+			<method name="push_list" symbol="gst_pad_push_list">
+				<return-type type="GstFlowReturn"/>
+				<parameters>
+					<parameter name="pad" type="GstPad*"/>
+					<parameter name="list" type="GstBufferList*"/>
+				</parameters>
+			</method>
 			<method name="query" symbol="gst_pad_query">
 				<return-type type="gboolean"/>
 				<parameters>
@@ -6633,6 +7291,16 @@
 					<parameter name="user_data" type="gpointer"/>
 				</parameters>
 			</method>
+			<method name="set_blocked_async_full" symbol="gst_pad_set_blocked_async_full">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="pad" type="GstPad*"/>
+					<parameter name="blocked" type="gboolean"/>
+					<parameter name="callback" type="GstPadBlockCallback"/>
+					<parameter name="user_data" type="gpointer"/>
+					<parameter name="destroy_data" type="GDestroyNotify"/>
+				</parameters>
+			</method>
 			<method name="set_bufferalloc_function" symbol="gst_pad_set_bufferalloc_function">
 				<return-type type="void"/>
 				<parameters>
@@ -6654,6 +7322,13 @@
 					<parameter name="chain" type="GstPadChainFunction"/>
 				</parameters>
 			</method>
+			<method name="set_chain_list_function" symbol="gst_pad_set_chain_list_function">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pad" type="GstPad*"/>
+					<parameter name="chainlist" type="GstPadChainListFunction"/>
+				</parameters>
+			</method>
 			<method name="set_checkgetrange_function" symbol="gst_pad_set_checkgetrange_function">
 				<return-type type="void"/>
 				<parameters>
@@ -6703,6 +7378,13 @@
 					<parameter name="intlink" type="GstPadIntLinkFunction"/>
 				</parameters>
 			</method>
+			<method name="set_iterate_internal_links_function" symbol="gst_pad_set_iterate_internal_links_function">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pad" type="GstPad*"/>
+					<parameter name="iterintlink" type="GstPadIterIntLinkFunction"/>
+				</parameters>
+			</method>
 			<method name="set_link_function" symbol="gst_pad_set_link_function">
 				<return-type type="void"/>
 				<parameters>
@@ -6828,6 +7510,9 @@
 			<field name="bufferallocfunc" type="GstPadBufferAllocFunction"/>
 			<field name="do_buffer_signals" type="gint"/>
 			<field name="do_event_signals" type="gint"/>
+			<field name="iterintlinkfunc" type="GstPadIterIntLinkFunction"/>
+			<field name="block_destroy_data" type="GDestroyNotify"/>
+			<field name="abidata" type="gpointer"/>
 		</object>
 		<object name="GstPadTemplate" parent="GstObject" type-name="GstPadTemplate" get-type="gst_pad_template_get_type">
 			<method name="get_caps" symbol="gst_pad_template_get_caps">
@@ -6852,6 +7537,10 @@
 					<parameter name="pad" type="GstPad*"/>
 				</parameters>
 			</method>
+			<property name="caps" type="GstCaps*" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="direction" type="GstPadDirection" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="name-template" type="char*" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="presence" type="GstPadPresence" readable="1" writable="1" construct="0" construct-only="1"/>
 			<signal name="pad-created" when="LAST">
 				<return-type type="void"/>
 				<parameters>
@@ -6952,9 +7641,35 @@
 			<field name="delay" type="GstClockTime"/>
 		</object>
 		<object name="GstPlugin" parent="GstObject" type-name="GstPlugin" get-type="gst_plugin_get_type">
+			<method name="add_dependency" symbol="gst_plugin_add_dependency">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="plugin" type="GstPlugin*"/>
+					<parameter name="env_vars" type="gchar**"/>
+					<parameter name="paths" type="gchar**"/>
+					<parameter name="names" type="gchar**"/>
+					<parameter name="flags" type="GstPluginDependencyFlags"/>
+				</parameters>
+			</method>
+			<method name="add_dependency_simple" symbol="gst_plugin_add_dependency_simple">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="plugin" type="GstPlugin*"/>
+					<parameter name="env_vars" type="gchar*"/>
+					<parameter name="paths" type="gchar*"/>
+					<parameter name="names" type="gchar*"/>
+					<parameter name="flags" type="GstPluginDependencyFlags"/>
+				</parameters>
+			</method>
 			<method name="error_quark" symbol="gst_plugin_error_quark">
 				<return-type type="GQuark"/>
 			</method>
+			<method name="get_cache_data" symbol="gst_plugin_get_cache_data">
+				<return-type type="GstStructure*"/>
+				<parameters>
+					<parameter name="plugin" type="GstPlugin*"/>
+				</parameters>
+			</method>
 			<method name="get_description" symbol="gst_plugin_get_description">
 				<return-type type="gchar*"/>
 				<parameters>
@@ -7062,6 +7777,29 @@
 					<parameter name="origin" type="gchar*"/>
 				</parameters>
 			</method>
+			<method name="register_static_full" symbol="gst_plugin_register_static_full">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="major_version" type="gint"/>
+					<parameter name="minor_version" type="gint"/>
+					<parameter name="name" type="gchar*"/>
+					<parameter name="description" type="gchar*"/>
+					<parameter name="init_full_func" type="GstPluginInitFullFunc"/>
+					<parameter name="version" type="gchar*"/>
+					<parameter name="license" type="gchar*"/>
+					<parameter name="source" type="gchar*"/>
+					<parameter name="package" type="gchar*"/>
+					<parameter name="origin" type="gchar*"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="set_cache_data" symbol="gst_plugin_set_cache_data">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="plugin" type="GstPlugin*"/>
+					<parameter name="cache_data" type="GstStructure*"/>
+				</parameters>
+			</method>
 			<field name="desc" type="GstPluginDesc"/>
 			<field name="orig_desc" type="GstPluginDesc*"/>
 			<field name="flags" type="unsigned"/>
@@ -7132,6 +7870,8 @@
 			<field name="rank" type="guint"/>
 			<field name="plugin_name" type="gchar*"/>
 		</object>
+		<object name="GstProxyPad" parent="GstPad" type-name="GstProxyPad" get-type="gst_proxy_pad_get_type">
+		</object>
 		<object name="GstRegistry" parent="GstObject" type-name="GstRegistry" get-type="gst_registry_get_type">
 			<method name="add_feature" symbol="gst_registry_add_feature">
 				<return-type type="gboolean"/>
@@ -7298,6 +8038,7 @@
 			<method name="obtain" symbol="gst_system_clock_obtain">
 				<return-type type="GstClock*"/>
 			</method>
+			<property name="clock-type" type="GstClockType" readable="1" writable="1" construct="0" construct-only="0"/>
 			<field name="thread" type="GThread*"/>
 			<field name="stopping" type="gboolean"/>
 		</object>
@@ -7312,6 +8053,12 @@
 					<parameter name="data" type="gpointer"/>
 				</parameters>
 			</method>
+			<method name="get_pool" symbol="gst_task_get_pool">
+				<return-type type="GstTaskPool*"/>
+				<parameters>
+					<parameter name="task" type="GstTask*"/>
+				</parameters>
+			</method>
 			<method name="get_state" symbol="gst_task_get_state">
 				<return-type type="GstTaskState"/>
 				<parameters>
@@ -7337,6 +8084,36 @@
 					<parameter name="mutex" type="GStaticRecMutex*"/>
 				</parameters>
 			</method>
+			<method name="set_pool" symbol="gst_task_set_pool">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="task" type="GstTask*"/>
+					<parameter name="pool" type="GstTaskPool*"/>
+				</parameters>
+			</method>
+			<method name="set_priority" symbol="gst_task_set_priority">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="task" type="GstTask*"/>
+					<parameter name="priority" type="GThreadPriority"/>
+				</parameters>
+			</method>
+			<method name="set_state" symbol="gst_task_set_state">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="task" type="GstTask*"/>
+					<parameter name="state" type="GstTaskState"/>
+				</parameters>
+			</method>
+			<method name="set_thread_callbacks" symbol="gst_task_set_thread_callbacks">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="task" type="GstTask*"/>
+					<parameter name="callbacks" type="GstTaskThreadCallbacks*"/>
+					<parameter name="user_data" type="gpointer"/>
+					<parameter name="notify" type="GDestroyNotify"/>
+				</parameters>
+			</method>
 			<method name="start" symbol="gst_task_start">
 				<return-type type="gboolean"/>
 				<parameters>
@@ -7357,6 +8134,70 @@
 			<field name="running" type="gboolean"/>
 			<field name="abidata" type="gpointer"/>
 		</object>
+		<object name="GstTaskPool" parent="GstObject" type-name="GstTaskPool" get-type="gst_task_pool_get_type">
+			<method name="cleanup" symbol="gst_task_pool_cleanup">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GstTaskPool*"/>
+				</parameters>
+			</method>
+			<method name="join" symbol="gst_task_pool_join">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GstTaskPool*"/>
+					<parameter name="id" type="gpointer"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gst_task_pool_new">
+				<return-type type="GstTaskPool*"/>
+			</constructor>
+			<method name="prepare" symbol="gst_task_pool_prepare">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GstTaskPool*"/>
+					<parameter name="error" type="GError**"/>
+				</parameters>
+			</method>
+			<method name="push" symbol="gst_task_pool_push">
+				<return-type type="gpointer"/>
+				<parameters>
+					<parameter name="pool" type="GstTaskPool*"/>
+					<parameter name="func" type="GstTaskPoolFunction"/>
+					<parameter name="user_data" type="gpointer"/>
+					<parameter name="error" type="GError**"/>
+				</parameters>
+			</method>
+			<vfunc name="cleanup">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GstTaskPool*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="join">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GstTaskPool*"/>
+					<parameter name="id" type="gpointer"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="prepare">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GstTaskPool*"/>
+					<parameter name="error" type="GError**"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="push">
+				<return-type type="gpointer"/>
+				<parameters>
+					<parameter name="pool" type="GstTaskPool*"/>
+					<parameter name="func" type="GstTaskPoolFunction"/>
+					<parameter name="user_data" type="gpointer"/>
+					<parameter name="error" type="GError**"/>
+				</parameters>
+			</vfunc>
+			<field name="pool" type="GThreadPool*"/>
+		</object>
 		<object name="GstTypeFindFactory" parent="GstPluginFeature" type-name="GstTypeFindFactory" get-type="gst_type_find_factory_get_type">
 			<method name="call_function" symbol="gst_type_find_factory_call_function">
 				<return-type type="void"/>
@@ -7614,6 +8455,126 @@
 				</parameters>
 			</vfunc>
 		</interface>
+		<interface name="GstPreset" type-name="GstPreset" get-type="gst_preset_get_type">
+			<method name="delete_preset" symbol="gst_preset_delete_preset">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+					<parameter name="name" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="get_meta" symbol="gst_preset_get_meta">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+					<parameter name="name" type="gchar*"/>
+					<parameter name="tag" type="gchar*"/>
+					<parameter name="value" type="gchar**"/>
+				</parameters>
+			</method>
+			<method name="get_preset_names" symbol="gst_preset_get_preset_names">
+				<return-type type="gchar**"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+				</parameters>
+			</method>
+			<method name="get_property_names" symbol="gst_preset_get_property_names">
+				<return-type type="gchar**"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+				</parameters>
+			</method>
+			<method name="load_preset" symbol="gst_preset_load_preset">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+					<parameter name="name" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="rename_preset" symbol="gst_preset_rename_preset">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+					<parameter name="old_name" type="gchar*"/>
+					<parameter name="new_name" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="save_preset" symbol="gst_preset_save_preset">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+					<parameter name="name" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_meta" symbol="gst_preset_set_meta">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+					<parameter name="name" type="gchar*"/>
+					<parameter name="tag" type="gchar*"/>
+					<parameter name="value" type="gchar*"/>
+				</parameters>
+			</method>
+			<vfunc name="delete_preset">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+					<parameter name="name" type="gchar*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_meta">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+					<parameter name="name" type="gchar*"/>
+					<parameter name="tag" type="gchar*"/>
+					<parameter name="value" type="gchar**"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_preset_names">
+				<return-type type="gchar**"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_property_names">
+				<return-type type="gchar**"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="load_preset">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+					<parameter name="name" type="gchar*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="rename_preset">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+					<parameter name="old_name" type="gchar*"/>
+					<parameter name="new_name" type="gchar*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="save_preset">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+					<parameter name="name" type="gchar*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="set_meta">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="preset" type="GstPreset*"/>
+					<parameter name="name" type="gchar*"/>
+					<parameter name="tag" type="gchar*"/>
+					<parameter name="value" type="gchar*"/>
+				</parameters>
+			</vfunc>
+		</interface>
 		<interface name="GstURIHandler" type-name="GstURIHandler" get-type="gst_uri_handler_get_type">
 			<method name="get_protocols" symbol="gst_uri_handler_get_protocols">
 				<return-type type="gchar**"/>
@@ -7704,6 +8665,9 @@
 		<constant name="GST_MSECOND" type="int" value="0"/>
 		<constant name="GST_NSECOND" type="int" value="0"/>
 		<constant name="GST_PARAM_CONTROLLABLE" type="int" value="2"/>
+		<constant name="GST_PARAM_MUTABLE_PAUSED" type="int" value="8"/>
+		<constant name="GST_PARAM_MUTABLE_PLAYING" type="int" value="16"/>
+		<constant name="GST_PARAM_MUTABLE_READY" type="int" value="4"/>
 		<constant name="GST_PARAM_USER_SHIFT" type="int" value="256"/>
 		<constant name="GST_SECOND" type="int" value="0"/>
 		<constant name="GST_TAG_ALBUM" type="char*" value="album"/>
@@ -7714,6 +8678,7 @@
 		<constant name="GST_TAG_ALBUM_VOLUME_NUMBER" type="char*" value="album-disc-number"/>
 		<constant name="GST_TAG_ARTIST" type="char*" value="artist"/>
 		<constant name="GST_TAG_ARTIST_SORTNAME" type="char*" value="musicbrainz-sortname"/>
+		<constant name="GST_TAG_ATTACHMENT" type="char*" value="attachment"/>
 		<constant name="GST_TAG_AUDIO_CODEC" type="char*" value="audio-codec"/>
 		<constant name="GST_TAG_BEATS_PER_MINUTE" type="char*" value="beats-per-minute"/>
 		<constant name="GST_TAG_BITRATE" type="char*" value="bitrate"/>
@@ -7721,6 +8686,7 @@
 		<constant name="GST_TAG_COMMENT" type="char*" value="comment"/>
 		<constant name="GST_TAG_COMPOSER" type="char*" value="composer"/>
 		<constant name="GST_TAG_CONTACT" type="char*" value="contact"/>
+		<constant name="GST_TAG_CONTAINER_FORMAT" type="char*" value="container-format"/>
 		<constant name="GST_TAG_COPYRIGHT" type="char*" value="copyright"/>
 		<constant name="GST_TAG_COPYRIGHT_URI" type="char*" value="copyright-uri"/>
 		<constant name="GST_TAG_DATE" type="char*" value="date"/>
@@ -7730,8 +8696,14 @@
 		<constant name="GST_TAG_ENCODER_VERSION" type="char*" value="encoder-version"/>
 		<constant name="GST_TAG_EXTENDED_COMMENT" type="char*" value="extended-comment"/>
 		<constant name="GST_TAG_GENRE" type="char*" value="genre"/>
+		<constant name="GST_TAG_GEO_LOCATION_ELEVATION" type="char*" value="geo-location-elevation"/>
+		<constant name="GST_TAG_GEO_LOCATION_LATITUDE" type="char*" value="geo-location-latitude"/>
+		<constant name="GST_TAG_GEO_LOCATION_LONGITUDE" type="char*" value="geo-location-longitude"/>
+		<constant name="GST_TAG_GEO_LOCATION_NAME" type="char*" value="geo-location-name"/>
+		<constant name="GST_TAG_HOMEPAGE" type="char*" value="homepage"/>
 		<constant name="GST_TAG_IMAGE" type="char*" value="image"/>
 		<constant name="GST_TAG_ISRC" type="char*" value="isrc"/>
+		<constant name="GST_TAG_KEYWORDS" type="char*" value="keywords"/>
 		<constant name="GST_TAG_LANGUAGE_CODE" type="char*" value="language-code"/>
 		<constant name="GST_TAG_LICENSE" type="char*" value="license"/>
 		<constant name="GST_TAG_LICENSE_URI" type="char*" value="license-uri"/>
@@ -7744,6 +8716,7 @@
 		<constant name="GST_TAG_PREVIEW_IMAGE" type="char*" value="preview-image"/>
 		<constant name="GST_TAG_REFERENCE_LEVEL" type="char*" value="replaygain-reference-level"/>
 		<constant name="GST_TAG_SERIAL" type="char*" value="serial"/>
+		<constant name="GST_TAG_SUBTITLE_CODEC" type="char*" value="subtitle-codec"/>
 		<constant name="GST_TAG_TITLE" type="char*" value="title"/>
 		<constant name="GST_TAG_TITLE_SORTNAME" type="char*" value="title-sortname"/>
 		<constant name="GST_TAG_TRACK_COUNT" type="char*" value="track-count"/>
@@ -7759,8 +8732,8 @@
 		<constant name="GST_VALUE_LESS_THAN" type="int" value="-1"/>
 		<constant name="GST_VALUE_UNORDERED" type="int" value="2"/>
 		<constant name="GST_VERSION_MAJOR" type="int" value="0"/>
-		<constant name="GST_VERSION_MICRO" type="int" value="19"/>
+		<constant name="GST_VERSION_MICRO" type="int" value="24"/>
 		<constant name="GST_VERSION_MINOR" type="int" value="10"/>
-		<constant name="GST_VERSION_NANO" type="int" value="1"/>
+		<constant name="GST_VERSION_NANO" type="int" value="0"/>
 	</namespace>
 </api>
diff --git a/vapi/packages/gstreamer-audio-0.10/gstreamer-audio-0.10.gi b/vapi/packages/gstreamer-audio-0.10/gstreamer-audio-0.10.gi
index e099ccc..6c8607a 100644
--- a/vapi/packages/gstreamer-audio-0.10/gstreamer-audio-0.10.gi
+++ b/vapi/packages/gstreamer-audio-0.10/gstreamer-audio-0.10.gi
@@ -162,15 +162,15 @@
 			<member name="GST_AUDIO_FIELD_SIGNED" value="32"/>
 		</enum>
 		<enum name="GstBaseAudioSinkSlaveMethod" type-name="GstBaseAudioSinkSlaveMethod" get-type="gst_base_audio_sink_slave_method_get_type">
-			<member name="GST_BASE_AUDIO_SINK_SLAVE_RESAMPLE" value="0"/>
-			<member name="GST_BASE_AUDIO_SINK_SLAVE_SKEW" value="1"/>
-			<member name="GST_BASE_AUDIO_SINK_SLAVE_NONE" value="2"/>
+                       <member name="GST_BASE_AUDIO_SINK_SLAVE_RESAMPLE" value="0"/>
+                       <member name="GST_BASE_AUDIO_SINK_SLAVE_SKEW" value="1"/>
+                       <member name="GST_BASE_AUDIO_SINK_SLAVE_NONE" value="2"/>
 		</enum>
 		<enum name="GstBaseAudioSrcSlaveMethod" type-name="GstBaseAudioSrcSlaveMethod" get-type="gst_base_audio_src_slave_method_get_type">
-			<member name="GST_BASE_AUDIO_SRC_SLAVE_RESAMPLE" value="0"/>
-			<member name="GST_BASE_AUDIO_SRC_SLAVE_RETIMESTAMP" value="1"/>
-			<member name="GST_BASE_AUDIO_SRC_SLAVE_SKEW" value="2"/>
-			<member name="GST_BASE_AUDIO_SRC_SLAVE_NONE" value="3"/>
+                       <member name="GST_BASE_AUDIO_SRC_SLAVE_RESAMPLE" value="0"/>
+                       <member name="GST_BASE_AUDIO_SRC_SLAVE_RETIMESTAMP" value="1"/>
+                       <member name="GST_BASE_AUDIO_SRC_SLAVE_SKEW" value="2"/>
+                       <member name="GST_BASE_AUDIO_SRC_SLAVE_NONE" value="3"/>
 		</enum>
 		<enum name="GstBufferFormat" type-name="GstBufferFormat" get-type="gst_buffer_format_get_type">
 			<member name="GST_UNKNOWN" value="0"/>
@@ -239,6 +239,19 @@
 			<member name="GST_RING_BUFFER_STATE_STARTED" value="2"/>
 		</enum>
 		<object name="GstAudioClock" parent="GstSystemClock" type-name="GstAudioClock" get-type="gst_audio_clock_get_type">
+			<method name="adjust" symbol="gst_audio_clock_adjust">
+				<return-type type="GstClockTime"/>
+				<parameters>
+					<parameter name="clock" type="GstClock*"/>
+					<parameter name="time" type="GstClockTime"/>
+				</parameters>
+			</method>
+			<method name="get_time" symbol="gst_audio_clock_get_time">
+				<return-type type="GstClockTime"/>
+				<parameters>
+					<parameter name="clock" type="GstClock*"/>
+				</parameters>
+			</method>
 			<constructor name="new" symbol="gst_audio_clock_new">
 				<return-type type="GstClock*"/>
 				<parameters>
@@ -406,6 +419,7 @@
 				</parameters>
 			</method>
 			<property name="buffer-time" type="gint64" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="can-activate-pull" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="latency-time" type="gint64" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="provide-clock" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="slave-method" type="GstBaseAudioSinkSlaveMethod" readable="1" writable="1" construct="0" construct-only="0"/>
@@ -684,12 +698,29 @@
 					<parameter name="active" type="gboolean"/>
 				</parameters>
 			</vfunc>
+			<vfunc name="clear_all">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="buf" type="GstRingBuffer*"/>
+				</parameters>
+			</vfunc>
 			<vfunc name="close_device">
 				<return-type type="gboolean"/>
 				<parameters>
 					<parameter name="buf" type="GstRingBuffer*"/>
 				</parameters>
 			</vfunc>
+			<vfunc name="commit">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="buf" type="GstRingBuffer*"/>
+					<parameter name="sample" type="guint64*"/>
+					<parameter name="data" type="guchar*"/>
+					<parameter name="in_samples" type="gint"/>
+					<parameter name="out_samples" type="gint"/>
+					<parameter name="accum" type="gint*"/>
+				</parameters>
+			</vfunc>
 			<vfunc name="delay">
 				<return-type type="guint"/>
 				<parameters>
diff --git a/vapi/packages/gstreamer-base-0.10/gstreamer-base-0.10.gi b/vapi/packages/gstreamer-base-0.10/gstreamer-base-0.10.gi
index f963e6d..0d0f85f 100644
--- a/vapi/packages/gstreamer-base-0.10/gstreamer-base-0.10.gi
+++ b/vapi/packages/gstreamer-base-0.10/gstreamer-base-0.10.gi
@@ -201,6 +201,35 @@
 			<field name="bit" type="guint"/>
 		</struct>
 		<struct name="GstByteReader">
+			<method name="dup_data" symbol="gst_byte_reader_dup_data">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="reader" type="GstByteReader*"/>
+					<parameter name="size" type="guint"/>
+					<parameter name="val" type="guint8**"/>
+				</parameters>
+			</method>
+			<method name="dup_string_utf16" symbol="gst_byte_reader_dup_string_utf16">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="reader" type="GstByteReader*"/>
+					<parameter name="str" type="guint16**"/>
+				</parameters>
+			</method>
+			<method name="dup_string_utf32" symbol="gst_byte_reader_dup_string_utf32">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="reader" type="GstByteReader*"/>
+					<parameter name="str" type="guint32**"/>
+				</parameters>
+			</method>
+			<method name="dup_string_utf8" symbol="gst_byte_reader_dup_string_utf8">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="reader" type="GstByteReader*"/>
+					<parameter name="str" type="gchar**"/>
+				</parameters>
+			</method>
 			<method name="free" symbol="gst_byte_reader_free">
 				<return-type type="void"/>
 				<parameters>
@@ -318,6 +347,13 @@
 					<parameter name="reader" type="GstByteReader*"/>
 				</parameters>
 			</method>
+			<method name="get_string_utf8" symbol="gst_byte_reader_get_string_utf8">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="reader" type="GstByteReader*"/>
+					<parameter name="str" type="gchar**"/>
+				</parameters>
+			</method>
 			<method name="get_uint16_be" symbol="gst_byte_reader_get_uint16_be">
 				<return-type type="gboolean"/>
 				<parameters>
@@ -396,6 +432,16 @@
 					<parameter name="buffer" type="GstBuffer*"/>
 				</parameters>
 			</method>
+			<method name="masked_scan_uint32" symbol="gst_byte_reader_masked_scan_uint32">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="reader" type="GstByteReader*"/>
+					<parameter name="mask" type="guint32"/>
+					<parameter name="pattern" type="guint32"/>
+					<parameter name="offset" type="guint"/>
+					<parameter name="size" type="guint"/>
+				</parameters>
+			</method>
 			<method name="new" symbol="gst_byte_reader_new">
 				<return-type type="GstByteReader*"/>
 				<parameters>
@@ -508,6 +554,13 @@
 					<parameter name="val" type="gint8*"/>
 				</parameters>
 			</method>
+			<method name="peek_string_utf8" symbol="gst_byte_reader_peek_string_utf8">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="reader" type="GstByteReader*"/>
+					<parameter name="str" type="gchar**"/>
+				</parameters>
+			</method>
 			<method name="peek_uint16_be" symbol="gst_byte_reader_peek_uint16_be">
 				<return-type type="gboolean"/>
 				<parameters>
@@ -585,6 +638,24 @@
 					<parameter name="nbytes" type="guint"/>
 				</parameters>
 			</method>
+			<method name="skip_string_utf16" symbol="gst_byte_reader_skip_string_utf16">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="reader" type="GstByteReader*"/>
+				</parameters>
+			</method>
+			<method name="skip_string_utf32" symbol="gst_byte_reader_skip_string_utf32">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="reader" type="GstByteReader*"/>
+				</parameters>
+			</method>
+			<method name="skip_string_utf8" symbol="gst_byte_reader_skip_string_utf8">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="reader" type="GstByteReader*"/>
+				</parameters>
+			</method>
 			<field name="data" type="guint8*"/>
 			<field name="size" type="guint"/>
 			<field name="byte" type="guint"/>
@@ -648,6 +719,16 @@
 					<parameter name="flush" type="guint"/>
 				</parameters>
 			</method>
+			<method name="masked_scan_uint32" symbol="gst_adapter_masked_scan_uint32">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="adapter" type="GstAdapter*"/>
+					<parameter name="mask" type="guint32"/>
+					<parameter name="pattern" type="guint32"/>
+					<parameter name="offset" type="guint"/>
+					<parameter name="size" type="guint"/>
+				</parameters>
+			</method>
 			<constructor name="new" symbol="gst_adapter_new">
 				<return-type type="GstAdapter*"/>
 			</constructor>
@@ -658,6 +739,13 @@
 					<parameter name="size" type="guint"/>
 				</parameters>
 			</method>
+			<method name="prev_timestamp" symbol="gst_adapter_prev_timestamp">
+				<return-type type="GstClockTime"/>
+				<parameters>
+					<parameter name="adapter" type="GstAdapter*"/>
+					<parameter name="distance" type="guint64*"/>
+				</parameters>
+			</method>
 			<method name="push" symbol="gst_adapter_push">
 				<return-type type="void"/>
 				<parameters>
@@ -905,6 +993,13 @@
 					<parameter name="buffer" type="GstBuffer*"/>
 				</parameters>
 			</vfunc>
+			<vfunc name="render_list">
+				<return-type type="GstFlowReturn"/>
+				<parameters>
+					<parameter name="sink" type="GstBaseSink*"/>
+					<parameter name="buffer_list" type="GstBufferList*"/>
+				</parameters>
+			</vfunc>
 			<vfunc name="set_caps">
 				<return-type type="gboolean"/>
 				<parameters>
diff --git a/vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10.gi b/vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10.gi
index 0b873ed..a0de8c7 100644
--- a/vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10.gi
+++ b/vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10.gi
@@ -124,7 +124,7 @@
 			<member name="GST_INTERPOLATE_CUBIC" value="4"/>
 			<member name="GST_INTERPOLATE_USER" value="5"/>
 		</enum>
-		<enum name="GstLFOWaveform">
+		<enum name="GstLFOWaveform" type-name="GstLFOWaveform" get-type="gst_lfo_waveform_get_type">
 			<member name="Sine waveform (default)" value="0"/>
 			<member name="Square waveform" value="1"/>
 			<member name="Saw waveform" value="2"/>
@@ -390,6 +390,5 @@
 			<property name="waveform" type="GstLFOWaveform" readable="1" writable="1" construct="0" construct-only="0"/>
 			<field name="lock" type="GMutex*"/>
 		</object>
-		<constant name="GST_PARAM_CONTROLLABLE" type="int" value="2"/>
 	</namespace>
 </api>
diff --git a/vapi/packages/gstreamer-dataprotocol-0.10/gstreamer-dataprotocol-0.10.gi b/vapi/packages/gstreamer-dataprotocol-0.10/gstreamer-dataprotocol-0.10.gi
index 30980c9..d181074 100644
--- a/vapi/packages/gstreamer-dataprotocol-0.10/gstreamer-dataprotocol-0.10.gi
+++ b/vapi/packages/gstreamer-dataprotocol-0.10/gstreamer-dataprotocol-0.10.gi
@@ -158,7 +158,7 @@
 			<member name="GST_DP_PAYLOAD_CAPS" value="2"/>
 			<member name="GST_DP_PAYLOAD_EVENT_NONE" value="64"/>
 		</enum>
-		<enum name="GstDPVersion">
+		<enum name="GstDPVersion" type-name="GstDPVersion" get-type="gst_dp_version_get_type">
 			<member name="GDP Version 0.2" value="1"/>
 			<member name="GDP Version 1.0" value="2"/>
 		</enum>
diff --git a/vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10.gi b/vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10.gi
index 4e385ed..49bff48 100644
--- a/vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10.gi
+++ b/vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10.gi
@@ -1,34 +1,368 @@
 <?xml version="1.0"?>
 <api version="1.0">
 	<namespace name="Gst">
-		<enum name="GstColorBalanceType">
+		<function name="colour_tone_mode_get_type" symbol="gst_colour_tone_mode_get_type">
+			<return-type type="GType"/>
+		</function>
+		<function name="flash_mode_get_type" symbol="gst_flash_mode_get_type">
+			<return-type type="GType"/>
+		</function>
+		<function name="focus_status_get_type" symbol="gst_focus_status_get_type">
+			<return-type type="GType"/>
+		</function>
+		<function name="photo_caps_get_type" symbol="gst_photo_caps_get_type">
+			<return-type type="GType"/>
+		</function>
+		<function name="photo_shake_risk_get_type" symbol="gst_photo_shake_risk_get_type">
+			<return-type type="GType"/>
+		</function>
+		<function name="scene_mode_get_type" symbol="gst_scene_mode_get_type">
+			<return-type type="GType"/>
+		</function>
+		<function name="white_balance_mode_get_type" symbol="gst_white_balance_mode_get_type">
+			<return-type type="GType"/>
+		</function>
+		<callback name="GstPhotoCapturePrepared">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="data" type="gpointer"/>
+				<parameter name="configured_caps" type="GstCaps*"/>
+			</parameters>
+		</callback>
+		<struct name="GstPhotoSettings">
+			<field name="wb_mode" type="GstWhiteBalanceMode"/>
+			<field name="tone_mode" type="GstColourToneMode"/>
+			<field name="scene_mode" type="GstSceneMode"/>
+			<field name="flash_mode" type="GstFlashMode"/>
+			<field name="exposure" type="guint32"/>
+			<field name="aperture" type="guint"/>
+			<field name="ev_compensation" type="gfloat"/>
+			<field name="iso_speed" type="guint"/>
+			<field name="zoom" type="gfloat"/>
+		</struct>
+		<struct name="GstPhotography">
+			<method name="get_aperture" symbol="gst_photography_get_aperture">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="aperture" type="guint*"/>
+				</parameters>
+			</method>
+			<method name="get_capabilities" symbol="gst_photography_get_capabilities">
+				<return-type type="GstPhotoCaps"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+				</parameters>
+			</method>
+			<method name="get_colour_tone_mode" symbol="gst_photography_get_colour_tone_mode">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="tone_mode" type="GstColourToneMode*"/>
+				</parameters>
+			</method>
+			<method name="get_config" symbol="gst_photography_get_config">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="config" type="GstPhotoSettings*"/>
+				</parameters>
+			</method>
+			<method name="get_ev_compensation" symbol="gst_photography_get_ev_compensation">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="ev_comp" type="gfloat*"/>
+				</parameters>
+			</method>
+			<method name="get_exposure" symbol="gst_photography_get_exposure">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="exposure" type="guint32*"/>
+				</parameters>
+			</method>
+			<method name="get_flash_mode" symbol="gst_photography_get_flash_mode">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="flash_mode" type="GstFlashMode*"/>
+				</parameters>
+			</method>
+			<method name="get_iso_speed" symbol="gst_photography_get_iso_speed">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="iso_speed" type="guint*"/>
+				</parameters>
+			</method>
+			<method name="get_scene_mode" symbol="gst_photography_get_scene_mode">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="scene_mode" type="GstSceneMode*"/>
+				</parameters>
+			</method>
+			<method name="get_white_balance_mode" symbol="gst_photography_get_white_balance_mode">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="wb_mode" type="GstWhiteBalanceMode*"/>
+				</parameters>
+			</method>
+			<method name="get_zoom" symbol="gst_photography_get_zoom">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="zoom" type="gfloat*"/>
+				</parameters>
+			</method>
+			<method name="prepare_for_capture" symbol="gst_photography_prepare_for_capture">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="func" type="GstPhotoCapturePrepared"/>
+					<parameter name="capture_caps" type="GstCaps*"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="set_aperture" symbol="gst_photography_set_aperture">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="aperture" type="guint"/>
+				</parameters>
+			</method>
+			<method name="set_autofocus" symbol="gst_photography_set_autofocus">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="on" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="set_colour_tone_mode" symbol="gst_photography_set_colour_tone_mode">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="tone_mode" type="GstColourToneMode"/>
+				</parameters>
+			</method>
+			<method name="set_config" symbol="gst_photography_set_config">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="config" type="GstPhotoSettings*"/>
+				</parameters>
+			</method>
+			<method name="set_ev_compensation" symbol="gst_photography_set_ev_compensation">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="ev_comp" type="gfloat"/>
+				</parameters>
+			</method>
+			<method name="set_exposure" symbol="gst_photography_set_exposure">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="exposure" type="guint"/>
+				</parameters>
+			</method>
+			<method name="set_flash_mode" symbol="gst_photography_set_flash_mode">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="flash_mode" type="GstFlashMode"/>
+				</parameters>
+			</method>
+			<method name="set_iso_speed" symbol="gst_photography_set_iso_speed">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="iso_speed" type="guint"/>
+				</parameters>
+			</method>
+			<method name="set_scene_mode" symbol="gst_photography_set_scene_mode">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="scene_mode" type="GstSceneMode"/>
+				</parameters>
+			</method>
+			<method name="set_white_balance_mode" symbol="gst_photography_set_white_balance_mode">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="wb_mode" type="GstWhiteBalanceMode"/>
+				</parameters>
+			</method>
+			<method name="set_zoom" symbol="gst_photography_set_zoom">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="photo" type="GstPhotography*"/>
+					<parameter name="zoom" type="gfloat"/>
+				</parameters>
+			</method>
+		</struct>
+		<struct name="GstPhotographyInterface">
+			<field name="parent" type="GTypeInterface"/>
+			<field name="get_ev_compensation" type="GCallback"/>
+			<field name="get_iso_speed" type="GCallback"/>
+			<field name="get_aperture" type="GCallback"/>
+			<field name="get_exposure" type="GCallback"/>
+			<field name="get_white_balance_mode" type="GCallback"/>
+			<field name="get_colour_tone_mode" type="GCallback"/>
+			<field name="get_scene_mode" type="GCallback"/>
+			<field name="get_flash_mode" type="GCallback"/>
+			<field name="get_zoom" type="GCallback"/>
+			<field name="set_ev_compensation" type="GCallback"/>
+			<field name="set_iso_speed" type="GCallback"/>
+			<field name="set_aperture" type="GCallback"/>
+			<field name="set_exposure" type="GCallback"/>
+			<field name="set_white_balance_mode" type="GCallback"/>
+			<field name="set_colour_tone_mode" type="GCallback"/>
+			<field name="set_scene_mode" type="GCallback"/>
+			<field name="set_flash_mode" type="GCallback"/>
+			<field name="set_zoom" type="GCallback"/>
+			<field name="get_capabilities" type="GCallback"/>
+			<field name="prepare_for_capture" type="GCallback"/>
+			<field name="set_autofocus" type="GCallback"/>
+			<field name="set_config" type="GCallback"/>
+			<field name="get_config" type="GCallback"/>
+			<field name="_gst_reserved" type="gpointer[]"/>
+		</struct>
+		<enum name="GstColorBalanceType" type-name="GstColorBalanceType" get-type="gst_color_balance_type_get_type">
 			<member name="GST_COLOR_BALANCE_HARDWARE" value="0"/>
 			<member name="GST_COLOR_BALANCE_SOFTWARE" value="1"/>
 		</enum>
-		<enum name="GstMixerMessageType">
+		<enum name="GstColourToneMode">
+			<member name="GST_PHOTOGRAPHY_COLOUR_TONE_MODE_NORMAL" value="0"/>
+			<member name="GST_PHOTOGRAPHY_COLOUR_TONE_MODE_SEPIA" value="1"/>
+			<member name="GST_PHOTOGRAPHY_COLOUR_TONE_MODE_NEGATIVE" value="2"/>
+			<member name="GST_PHOTOGRAPHY_COLOUR_TONE_MODE_GRAYSCALE" value="3"/>
+			<member name="GST_PHOTOGRAPHY_COLOUR_TONE_MODE_NATURAL" value="4"/>
+			<member name="GST_PHOTOGRAPHY_COLOUR_TONE_MODE_VIVID" value="5"/>
+			<member name="GST_PHOTOGRAPHY_COLOUR_TONE_MODE_COLORSWAP" value="6"/>
+			<member name="GST_PHOTOGRAPHY_COLOUR_TONE_MODE_SOLARIZE" value="7"/>
+			<member name="GST_PHOTOGRAPHY_COLOUR_TONE_MODE_OUT_OF_FOCUS" value="8"/>
+		</enum>
+		<enum name="GstFlashMode">
+			<member name="GST_PHOTOGRAPHY_FLASH_MODE_AUTO" value="0"/>
+			<member name="GST_PHOTOGRAPHY_FLASH_MODE_OFF" value="1"/>
+			<member name="GST_PHOTOGRAPHY_FLASH_MODE_ON" value="2"/>
+			<member name="GST_PHOTOGRAPHY_FLASH_MODE_FILL_IN" value="3"/>
+			<member name="GST_PHOTOGRAPHY_FLASH_MODE_RED_EYE" value="4"/>
+		</enum>
+		<enum name="GstFocusStatus">
+			<member name="GST_PHOTOGRAPHY_FOCUS_STATUS_NONE" value="0"/>
+			<member name="GST_PHOTOGRAPHY_FOCUS_STATUS_RUNNING" value="1"/>
+			<member name="GST_PHOTOGRAPHY_FOCUS_STATUS_FAIL" value="2"/>
+			<member name="GST_PHOTOGRAPHY_FOCUS_STATUS_SUCCESS" value="3"/>
+		</enum>
+		<enum name="GstMixerMessageType" type-name="GstMixerMessageType" get-type="gst_mixer_message_type_get_type">
 			<member name="GST_MIXER_MESSAGE_INVALID" value="0"/>
 			<member name="GST_MIXER_MESSAGE_MUTE_TOGGLED" value="1"/>
 			<member name="GST_MIXER_MESSAGE_RECORD_TOGGLED" value="2"/>
 			<member name="GST_MIXER_MESSAGE_VOLUME_CHANGED" value="3"/>
 			<member name="GST_MIXER_MESSAGE_OPTION_CHANGED" value="4"/>
+			<member name="GST_MIXER_MESSAGE_OPTIONS_LIST_CHANGED" value="5"/>
+			<member name="GST_MIXER_MESSAGE_MIXER_CHANGED" value="6"/>
 		</enum>
-		<enum name="GstMixerType">
+		<enum name="GstMixerType" type-name="GstMixerType" get-type="gst_mixer_type_get_type">
 			<member name="GST_MIXER_HARDWARE" value="0"/>
 			<member name="GST_MIXER_SOFTWARE" value="1"/>
 		</enum>
-		<flags name="GstMixerFlags">
+		<enum name="GstNavigationCommand" type-name="GstNavigationCommand" get-type="gst_navigation_command_get_type">
+			<member name="GST_NAVIGATION_COMMAND_INVALID" value="0"/>
+			<member name="GST_NAVIGATION_COMMAND_MENU1" value="1"/>
+			<member name="GST_NAVIGATION_COMMAND_MENU2" value="2"/>
+			<member name="GST_NAVIGATION_COMMAND_MENU3" value="3"/>
+			<member name="GST_NAVIGATION_COMMAND_MENU4" value="4"/>
+			<member name="GST_NAVIGATION_COMMAND_MENU5" value="5"/>
+			<member name="GST_NAVIGATION_COMMAND_MENU6" value="6"/>
+			<member name="GST_NAVIGATION_COMMAND_MENU7" value="7"/>
+			<member name="GST_NAVIGATION_COMMAND_LEFT" value="20"/>
+			<member name="GST_NAVIGATION_COMMAND_RIGHT" value="21"/>
+			<member name="GST_NAVIGATION_COMMAND_UP" value="22"/>
+			<member name="GST_NAVIGATION_COMMAND_DOWN" value="23"/>
+			<member name="GST_NAVIGATION_COMMAND_ACTIVATE" value="24"/>
+			<member name="GST_NAVIGATION_COMMAND_PREV_ANGLE" value="30"/>
+			<member name="GST_NAVIGATION_COMMAND_NEXT_ANGLE" value="31"/>
+		</enum>
+		<enum name="GstNavigationEventType" type-name="GstNavigationEventType" get-type="gst_navigation_event_type_get_type">
+			<member name="GST_NAVIGATION_EVENT_INVALID" value="0"/>
+			<member name="GST_NAVIGATION_EVENT_KEY_PRESS" value="1"/>
+			<member name="GST_NAVIGATION_EVENT_KEY_RELEASE" value="2"/>
+			<member name="GST_NAVIGATION_EVENT_MOUSE_BUTTON_PRESS" value="3"/>
+			<member name="GST_NAVIGATION_EVENT_MOUSE_BUTTON_RELEASE" value="4"/>
+			<member name="GST_NAVIGATION_EVENT_MOUSE_MOVE" value="5"/>
+			<member name="GST_NAVIGATION_EVENT_COMMAND" value="6"/>
+		</enum>
+		<enum name="GstNavigationMessageType" type-name="GstNavigationMessageType" get-type="gst_navigation_message_type_get_type">
+			<member name="GST_NAVIGATION_MESSAGE_INVALID" value="0"/>
+			<member name="GST_NAVIGATION_MESSAGE_MOUSE_OVER" value="1"/>
+			<member name="GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED" value="2"/>
+			<member name="GST_NAVIGATION_MESSAGE_ANGLES_CHANGED" value="3"/>
+		</enum>
+		<enum name="GstNavigationQueryType" type-name="GstNavigationQueryType" get-type="gst_navigation_query_type_get_type">
+			<member name="GST_NAVIGATION_QUERY_INVALID" value="0"/>
+			<member name="GST_NAVIGATION_QUERY_COMMANDS" value="1"/>
+			<member name="GST_NAVIGATION_QUERY_ANGLES" value="2"/>
+		</enum>
+		<enum name="GstPhotoCaps">
+			<member name="GST_PHOTOGRAPHY_CAPS_NONE" value="0"/>
+			<member name="GST_PHOTOGRAPHY_CAPS_EV_COMP" value="1"/>
+			<member name="GST_PHOTOGRAPHY_CAPS_ISO_SPEED" value="2"/>
+			<member name="GST_PHOTOGRAPHY_CAPS_WB_MODE" value="4"/>
+			<member name="GST_PHOTOGRAPHY_CAPS_TONE" value="8"/>
+			<member name="GST_PHOTOGRAPHY_CAPS_SCENE" value="16"/>
+			<member name="GST_PHOTOGRAPHY_CAPS_FLASH" value="32"/>
+			<member name="GST_PHOTOGRAPHY_CAPS_ZOOM" value="64"/>
+			<member name="GST_PHOTOGRAPHY_CAPS_FOCUS" value="128"/>
+			<member name="GST_PHOTOGRAPHY_CAPS_APERTURE" value="256"/>
+			<member name="GST_PHOTOGRAPHY_CAPS_EXPOSURE" value="512"/>
+			<member name="GST_PHOTOGRAPHY_CAPS_SHAKE" value="1024"/>
+		</enum>
+		<enum name="GstPhotoShakeRisk">
+			<member name="GST_PHOTOGRAPHY_SHAKE_RISK_LOW" value="0"/>
+			<member name="GST_PHOTOGRAPHY_SHAKE_RISK_MEDIUM" value="1"/>
+			<member name="GST_PHOTOGRAPHY_SHAKE_RISK_HIGH" value="2"/>
+		</enum>
+		<enum name="GstSceneMode">
+			<member name="GST_PHOTOGRAPHY_SCENE_MODE_MANUAL" value="0"/>
+			<member name="GST_PHOTOGRAPHY_SCENE_MODE_CLOSEUP" value="1"/>
+			<member name="GST_PHOTOGRAPHY_SCENE_MODE_PORTRAIT" value="2"/>
+			<member name="GST_PHOTOGRAPHY_SCENE_MODE_LANDSCAPE" value="3"/>
+			<member name="GST_PHOTOGRAPHY_SCENE_MODE_SPORT" value="4"/>
+			<member name="GST_PHOTOGRAPHY_SCENE_MODE_NIGHT" value="5"/>
+			<member name="GST_PHOTOGRAPHY_SCENE_MODE_AUTO" value="6"/>
+		</enum>
+		<enum name="GstWhiteBalanceMode">
+			<member name="GST_PHOTOGRAPHY_WB_MODE_AUTO" value="0"/>
+			<member name="GST_PHOTOGRAPHY_WB_MODE_DAYLIGHT" value="1"/>
+			<member name="GST_PHOTOGRAPHY_WB_MODE_CLOUDY" value="2"/>
+			<member name="GST_PHOTOGRAPHY_WB_MODE_SUNSET" value="3"/>
+			<member name="GST_PHOTOGRAPHY_WB_MODE_TUNGSTEN" value="4"/>
+			<member name="GST_PHOTOGRAPHY_WB_MODE_FLUORESCENT" value="5"/>
+		</enum>
+		<flags name="GstMixerFlags" type-name="GstMixerFlags" get-type="gst_mixer_flags_get_type">
 			<member name="GST_MIXER_FLAG_NONE" value="0"/>
 			<member name="GST_MIXER_FLAG_AUTO_NOTIFICATIONS" value="1"/>
+			<member name="GST_MIXER_FLAG_HAS_WHITELIST" value="2"/>
+			<member name="GST_MIXER_FLAG_GROUPING" value="4"/>
 		</flags>
-		<flags name="GstMixerTrackFlags">
+		<flags name="GstMixerTrackFlags" type-name="GstMixerTrackFlags" get-type="gst_mixer_track_flags_get_type">
 			<member name="GST_MIXER_TRACK_INPUT" value="1"/>
 			<member name="GST_MIXER_TRACK_OUTPUT" value="2"/>
 			<member name="GST_MIXER_TRACK_MUTE" value="4"/>
 			<member name="GST_MIXER_TRACK_RECORD" value="8"/>
 			<member name="GST_MIXER_TRACK_MASTER" value="16"/>
 			<member name="GST_MIXER_TRACK_SOFTWARE" value="32"/>
+			<member name="GST_MIXER_TRACK_NO_RECORD" value="64"/>
+			<member name="GST_MIXER_TRACK_NO_MUTE" value="128"/>
+			<member name="GST_MIXER_TRACK_WHITELIST" value="256"/>
 		</flags>
-		<flags name="GstTunerChannelFlags">
+		<flags name="GstTunerChannelFlags" type-name="GstTunerChannelFlags" get-type="gst_tuner_channel_flags_get_type">
 			<member name="GST_TUNER_CHANNEL_INPUT" value="1"/>
 			<member name="GST_TUNER_CHANNEL_OUTPUT" value="2"/>
 			<member name="GST_TUNER_CHANNEL_FREQUENCY" value="4"/>
@@ -53,10 +387,24 @@
 					<parameter name="mixer_options" type="GstMixerOptions*"/>
 				</parameters>
 			</method>
+			<method name="list_changed" symbol="gst_mixer_options_list_changed">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="mixer" type="GstMixer*"/>
+					<parameter name="opts" type="GstMixerOptions*"/>
+				</parameters>
+			</method>
+			<vfunc name="get_values">
+				<return-type type="GList*"/>
+				<parameters>
+					<parameter name="opts" type="GstMixerOptions*"/>
+				</parameters>
+			</vfunc>
 			<field name="values" type="GList*"/>
 		</object>
 		<object name="GstMixerTrack" parent="GObject" type-name="GstMixerTrack" get-type="gst_mixer_track_get_type">
 			<property name="flags" type="guint" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="index" type="guint" readable="1" writable="1" construct="0" construct-only="1"/>
 			<property name="label" type="char*" readable="1" writable="0" construct="0" construct-only="0"/>
 			<property name="max-volume" type="gint" readable="1" writable="0" construct="0" construct-only="0"/>
 			<property name="min-volume" type="gint" readable="1" writable="0" construct="0" construct-only="0"/>
@@ -114,6 +462,12 @@
 				<interface name="GstImplementsInterface"/>
 				<interface name="GstElement"/>
 			</requires>
+			<method name="get_balance_type" symbol="gst_color_balance_get_balance_type">
+				<return-type type="GstColorBalanceType"/>
+				<parameters>
+					<parameter name="balance" type="GstColorBalance*"/>
+				</parameters>
+			</method>
 			<method name="get_value" symbol="gst_color_balance_get_value">
 				<return-type type="gint"/>
 				<parameters>
@@ -184,6 +538,12 @@
 					<parameter name="mixer" type="GstMixer*"/>
 				</parameters>
 			</method>
+			<method name="get_mixer_type" symbol="gst_mixer_get_mixer_type">
+				<return-type type="GstMixerType"/>
+				<parameters>
+					<parameter name="mixer" type="GstMixer*"/>
+				</parameters>
+			</method>
 			<method name="get_option" symbol="gst_mixer_get_option">
 				<return-type type="gchar*"/>
 				<parameters>
@@ -227,6 +587,13 @@
 					<parameter name="value" type="gchar**"/>
 				</parameters>
 			</method>
+			<method name="message_parse_options_list_changed" symbol="gst_mixer_message_parse_options_list_changed">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="message" type="GstMessage*"/>
+					<parameter name="options" type="GstMixerOptions**"/>
+				</parameters>
+			</method>
 			<method name="message_parse_record_toggled" symbol="gst_mixer_message_parse_record_toggled">
 				<return-type type="void"/>
 				<parameters>
@@ -244,6 +611,12 @@
 					<parameter name="num_channels" type="gint*"/>
 				</parameters>
 			</method>
+			<method name="mixer_changed" symbol="gst_mixer_mixer_changed">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="mixer" type="GstMixer*"/>
+				</parameters>
+			</method>
 			<method name="mute_toggled" symbol="gst_mixer_mute_toggled">
 				<return-type type="void"/>
 				<parameters>
@@ -401,6 +774,150 @@
 			</vfunc>
 		</interface>
 		<interface name="GstNavigation" type-name="GstNavigation" get-type="gst_navigation_get_type">
+			<method name="event_get_type" symbol="gst_navigation_event_get_type">
+				<return-type type="GstNavigationEventType"/>
+				<parameters>
+					<parameter name="event" type="GstEvent*"/>
+				</parameters>
+			</method>
+			<method name="event_parse_command" symbol="gst_navigation_event_parse_command">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="event" type="GstEvent*"/>
+					<parameter name="command" type="GstNavigationCommand*"/>
+				</parameters>
+			</method>
+			<method name="event_parse_key_event" symbol="gst_navigation_event_parse_key_event">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="event" type="GstEvent*"/>
+					<parameter name="key" type="gchar**"/>
+				</parameters>
+			</method>
+			<method name="event_parse_mouse_button_event" symbol="gst_navigation_event_parse_mouse_button_event">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="event" type="GstEvent*"/>
+					<parameter name="button" type="gint*"/>
+					<parameter name="x" type="gdouble*"/>
+					<parameter name="y" type="gdouble*"/>
+				</parameters>
+			</method>
+			<method name="event_parse_mouse_move_event" symbol="gst_navigation_event_parse_mouse_move_event">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="event" type="GstEvent*"/>
+					<parameter name="x" type="gdouble*"/>
+					<parameter name="y" type="gdouble*"/>
+				</parameters>
+			</method>
+			<method name="message_get_type" symbol="gst_navigation_message_get_type">
+				<return-type type="GstNavigationMessageType"/>
+				<parameters>
+					<parameter name="message" type="GstMessage*"/>
+				</parameters>
+			</method>
+			<method name="message_new_angles_changed" symbol="gst_navigation_message_new_angles_changed">
+				<return-type type="GstMessage*"/>
+				<parameters>
+					<parameter name="src" type="GstObject*"/>
+					<parameter name="cur_angle" type="guint"/>
+					<parameter name="n_angles" type="guint"/>
+				</parameters>
+			</method>
+			<method name="message_new_commands_changed" symbol="gst_navigation_message_new_commands_changed">
+				<return-type type="GstMessage*"/>
+				<parameters>
+					<parameter name="src" type="GstObject*"/>
+				</parameters>
+			</method>
+			<method name="message_new_mouse_over" symbol="gst_navigation_message_new_mouse_over">
+				<return-type type="GstMessage*"/>
+				<parameters>
+					<parameter name="src" type="GstObject*"/>
+					<parameter name="active" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="message_parse_angles_changed" symbol="gst_navigation_message_parse_angles_changed">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="message" type="GstMessage*"/>
+					<parameter name="cur_angle" type="guint*"/>
+					<parameter name="n_angles" type="guint*"/>
+				</parameters>
+			</method>
+			<method name="message_parse_mouse_over" symbol="gst_navigation_message_parse_mouse_over">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="message" type="GstMessage*"/>
+					<parameter name="active" type="gboolean*"/>
+				</parameters>
+			</method>
+			<method name="query_get_type" symbol="gst_navigation_query_get_type">
+				<return-type type="GstNavigationQueryType"/>
+				<parameters>
+					<parameter name="query" type="GstQuery*"/>
+				</parameters>
+			</method>
+			<method name="query_new_angles" symbol="gst_navigation_query_new_angles">
+				<return-type type="GstQuery*"/>
+			</method>
+			<method name="query_new_commands" symbol="gst_navigation_query_new_commands">
+				<return-type type="GstQuery*"/>
+			</method>
+			<method name="query_parse_angles" symbol="gst_navigation_query_parse_angles">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="query" type="GstQuery*"/>
+					<parameter name="cur_angle" type="guint*"/>
+					<parameter name="n_angles" type="guint*"/>
+				</parameters>
+			</method>
+			<method name="query_parse_commands_length" symbol="gst_navigation_query_parse_commands_length">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="query" type="GstQuery*"/>
+					<parameter name="n_cmds" type="guint*"/>
+				</parameters>
+			</method>
+			<method name="query_parse_commands_nth" symbol="gst_navigation_query_parse_commands_nth">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="query" type="GstQuery*"/>
+					<parameter name="nth" type="guint"/>
+					<parameter name="cmd" type="GstNavigationCommand*"/>
+				</parameters>
+			</method>
+			<method name="query_set_angles" symbol="gst_navigation_query_set_angles">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="query" type="GstQuery*"/>
+					<parameter name="cur_angle" type="guint"/>
+					<parameter name="n_angles" type="guint"/>
+				</parameters>
+			</method>
+			<method name="query_set_commands" symbol="gst_navigation_query_set_commands">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="query" type="GstQuery*"/>
+					<parameter name="n_cmds" type="gint"/>
+				</parameters>
+			</method>
+			<method name="query_set_commandsv" symbol="gst_navigation_query_set_commandsv">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="query" type="GstQuery*"/>
+					<parameter name="n_cmds" type="gint"/>
+					<parameter name="cmds" type="GstNavigationCommand*"/>
+				</parameters>
+			</method>
+			<method name="send_command" symbol="gst_navigation_send_command">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="navigation" type="GstNavigation*"/>
+					<parameter name="command" type="GstNavigationCommand"/>
+				</parameters>
+			</method>
 			<method name="send_event" symbol="gst_navigation_send_event">
 				<return-type type="void"/>
 				<parameters>
@@ -905,5 +1422,7 @@
 				</parameters>
 			</vfunc>
 		</interface>
+		<constant name="GST_PHOTOGRAPHY_AUTOFOCUS_DONE" type="char*" value="autofocus-done"/>
+		<constant name="GST_PHOTOGRAPHY_SHAKE_RISK" type="char*" value="shake-risk"/>
 	</namespace>
 </api>
diff --git a/vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10.metadata b/vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10.metadata
index e12e14f..62beb1b 100644
--- a/vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10.metadata
+++ b/vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10.metadata
@@ -24,6 +24,7 @@ gst_color_balance_list_channels hidden="1"
 GstMixer cheader_filename="gst/interfaces/mixer.h"
 gst_mixer_list_tracks hidden="1"
 GstNavigation cheader_filename="gst/interfaces/navigation.h"
+GstPhotographyInterface hidden="1"
 GstPropertyProbe cheader_filename="gst/interfaces/propertyprobe.h"
 gst_property_probe_get_properties hidden="1"
 GstTuner cheader_filename="gst/interfaces/tuner.h"
diff --git a/vapi/packages/gstreamer-netbuffer-0.10/gstreamer-netbuffer-0.10.gi b/vapi/packages/gstreamer-netbuffer-0.10/gstreamer-netbuffer-0.10.gi
index 9ffd3b8..6d83044 100644
--- a/vapi/packages/gstreamer-netbuffer-0.10/gstreamer-netbuffer-0.10.gi
+++ b/vapi/packages/gstreamer-netbuffer-0.10/gstreamer-netbuffer-0.10.gi
@@ -64,6 +64,14 @@
 					<parameter name="port" type="guint16"/>
 				</parameters>
 			</method>
+			<method name="to_string" symbol="gst_netaddress_to_string">
+				<return-type type="gint"/>
+				<parameters>
+					<parameter name="naddr" type="GstNetAddress*"/>
+					<parameter name="dest" type="gchar*"/>
+					<parameter name="len" type="gulong"/>
+				</parameters>
+			</method>
 			<field name="type" type="GstNetType"/>
 			<field name="address" type="gpointer"/>
 			<field name="port" type="guint16"/>
@@ -87,5 +95,6 @@
 			<member name="GST_NET_TYPE_IP4" value="1"/>
 			<member name="GST_NET_TYPE_IP6" value="2"/>
 		</enum>
+		<constant name="GST_NETADDRESS_MAX_LEN" type="int" value="64"/>
 	</namespace>
 </api>
diff --git a/vapi/packages/gstreamer-pbutils-0.10/gstreamer-pbutils-0.10.gi b/vapi/packages/gstreamer-pbutils-0.10/gstreamer-pbutils-0.10.gi
index 9235adf..f7c0a37 100644
--- a/vapi/packages/gstreamer-pbutils-0.10/gstreamer-pbutils-0.10.gi
+++ b/vapi/packages/gstreamer-pbutils-0.10/gstreamer-pbutils-0.10.gi
@@ -184,7 +184,7 @@
 				</parameters>
 			</method>
 		</boxed>
-		<enum name="GstInstallPluginsReturn">
+		<enum name="GstInstallPluginsReturn" type-name="GstInstallPluginsReturn" get-type="gst_install_plugins_return_get_type">
 			<member name="GST_INSTALL_PLUGINS_SUCCESS" value="0"/>
 			<member name="GST_INSTALL_PLUGINS_NOT_FOUND" value="1"/>
 			<member name="GST_INSTALL_PLUGINS_ERROR" value="2"/>
diff --git a/vapi/packages/gstreamer-riff-0.10/gstreamer-riff-0.10.gi b/vapi/packages/gstreamer-riff-0.10/gstreamer-riff-0.10.gi
index 994e796..3822a67 100644
--- a/vapi/packages/gstreamer-riff-0.10/gstreamer-riff-0.10.gi
+++ b/vapi/packages/gstreamer-riff-0.10/gstreamer-riff-0.10.gi
@@ -299,6 +299,7 @@
 		<constant name="GST_RIFF_WAVE_FORMAT_SIPROLAB_G729" type="int" value="307"/>
 		<constant name="GST_RIFF_WAVE_FORMAT_SIPROLAB_G729A" type="int" value="308"/>
 		<constant name="GST_RIFF_WAVE_FORMAT_SIPROLAB_KELVIN" type="int" value="309"/>
+		<constant name="GST_RIFF_WAVE_FORMAT_SIREN" type="int" value="654"/>
 		<constant name="GST_RIFF_WAVE_FORMAT_SOFTSOUND" type="int" value="128"/>
 		<constant name="GST_RIFF_WAVE_FORMAT_SONARC" type="int" value="33"/>
 		<constant name="GST_RIFF_WAVE_FORMAT_SONIC" type="int" value="8264"/>
diff --git a/vapi/packages/gstreamer-rtp-0.10/gstreamer-rtp-0.10.gi b/vapi/packages/gstreamer-rtp-0.10/gstreamer-rtp-0.10.gi
index 5f5aafd..ea03c78 100644
--- a/vapi/packages/gstreamer-rtp-0.10/gstreamer-rtp-0.10.gi
+++ b/vapi/packages/gstreamer-rtp-0.10/gstreamer-rtp-0.10.gi
@@ -232,6 +232,70 @@
 				<parameter name="buffer" type="GstBuffer*"/>
 			</parameters>
 		</function>
+		<function name="rtp_buffer_list_get_payload_len" symbol="gst_rtp_buffer_list_get_payload_len">
+			<return-type type="guint"/>
+			<parameters>
+				<parameter name="list" type="GstBufferList*"/>
+			</parameters>
+		</function>
+		<function name="rtp_buffer_list_get_payload_type" symbol="gst_rtp_buffer_list_get_payload_type">
+			<return-type type="guint8"/>
+			<parameters>
+				<parameter name="list" type="GstBufferList*"/>
+			</parameters>
+		</function>
+		<function name="rtp_buffer_list_get_seq" symbol="gst_rtp_buffer_list_get_seq">
+			<return-type type="guint16"/>
+			<parameters>
+				<parameter name="list" type="GstBufferList*"/>
+			</parameters>
+		</function>
+		<function name="rtp_buffer_list_get_ssrc" symbol="gst_rtp_buffer_list_get_ssrc">
+			<return-type type="guint32"/>
+			<parameters>
+				<parameter name="list" type="GstBufferList*"/>
+			</parameters>
+		</function>
+		<function name="rtp_buffer_list_get_timestamp" symbol="gst_rtp_buffer_list_get_timestamp">
+			<return-type type="guint32"/>
+			<parameters>
+				<parameter name="list" type="GstBufferList*"/>
+			</parameters>
+		</function>
+		<function name="rtp_buffer_list_set_payload_type" symbol="gst_rtp_buffer_list_set_payload_type">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="list" type="GstBufferList*"/>
+				<parameter name="payload_type" type="guint8"/>
+			</parameters>
+		</function>
+		<function name="rtp_buffer_list_set_seq" symbol="gst_rtp_buffer_list_set_seq">
+			<return-type type="guint16"/>
+			<parameters>
+				<parameter name="list" type="GstBufferList*"/>
+				<parameter name="seq" type="guint16"/>
+			</parameters>
+		</function>
+		<function name="rtp_buffer_list_set_ssrc" symbol="gst_rtp_buffer_list_set_ssrc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="list" type="GstBufferList*"/>
+				<parameter name="ssrc" type="guint32"/>
+			</parameters>
+		</function>
+		<function name="rtp_buffer_list_set_timestamp" symbol="gst_rtp_buffer_list_set_timestamp">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="list" type="GstBufferList*"/>
+				<parameter name="timestamp" type="guint32"/>
+			</parameters>
+		</function>
+		<function name="rtp_buffer_list_validate" symbol="gst_rtp_buffer_list_validate">
+			<return-type type="gboolean"/>
+			<parameters>
+				<parameter name="list" type="GstBufferList*"/>
+			</parameters>
+		</function>
 		<function name="rtp_buffer_new_allocate" symbol="gst_rtp_buffer_new_allocate">
 			<return-type type="GstBuffer*"/>
 			<parameters>
@@ -422,6 +486,45 @@
 					<parameter name="reason" type="gchar*"/>
 				</parameters>
 			</method>
+			<method name="fb_get_media_ssrc" symbol="gst_rtcp_packet_fb_get_media_ssrc">
+				<return-type type="guint32"/>
+				<parameters>
+					<parameter name="packet" type="GstRTCPPacket*"/>
+				</parameters>
+			</method>
+			<method name="fb_get_sender_ssrc" symbol="gst_rtcp_packet_fb_get_sender_ssrc">
+				<return-type type="guint32"/>
+				<parameters>
+					<parameter name="packet" type="GstRTCPPacket*"/>
+				</parameters>
+			</method>
+			<method name="fb_get_type" symbol="gst_rtcp_packet_fb_get_type">
+				<return-type type="GstRTCPFBType"/>
+				<parameters>
+					<parameter name="packet" type="GstRTCPPacket*"/>
+				</parameters>
+			</method>
+			<method name="fb_set_media_ssrc" symbol="gst_rtcp_packet_fb_set_media_ssrc">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="packet" type="GstRTCPPacket*"/>
+					<parameter name="ssrc" type="guint32"/>
+				</parameters>
+			</method>
+			<method name="fb_set_sender_ssrc" symbol="gst_rtcp_packet_fb_set_sender_ssrc">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="packet" type="GstRTCPPacket*"/>
+					<parameter name="ssrc" type="guint32"/>
+				</parameters>
+			</method>
+			<method name="fb_set_type" symbol="gst_rtcp_packet_fb_set_type">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="packet" type="GstRTCPPacket*"/>
+					<parameter name="type" type="GstRTCPFBType"/>
+				</parameters>
+			</method>
 			<method name="get_count" symbol="gst_rtcp_packet_get_count">
 				<return-type type="guint8"/>
 				<parameters>
@@ -622,6 +725,14 @@
 			<field name="encoding_parameters" type="gchar*"/>
 			<field name="bitrate" type="guint"/>
 		</struct>
+		<enum name="GstRTCPFBType">
+			<member name="GST_RTCP_FB_TYPE_INVALID" value="0"/>
+			<member name="GST_RTCP_RTPFB_TYPE_NACK" value="1"/>
+			<member name="GST_RTCP_PSFB_TYPE_PLI" value="1"/>
+			<member name="GST_RTCP_PSFB_TYPE_SLI" value="2"/>
+			<member name="GST_RTCP_PSFB_TYPE_RPSI" value="3"/>
+			<member name="GST_RTCP_PSFB_TYPE_AFB" value="15"/>
+		</enum>
 		<enum name="GstRTCPSDESType">
 			<member name="GST_RTCP_SDES_INVALID" value="-1"/>
 			<member name="GST_RTCP_SDES_END" value="0"/>
@@ -641,6 +752,8 @@
 			<member name="GST_RTCP_TYPE_SDES" value="202"/>
 			<member name="GST_RTCP_TYPE_BYE" value="203"/>
 			<member name="GST_RTCP_TYPE_APP" value="204"/>
+			<member name="GST_RTCP_TYPE_RTPFB" value="205"/>
+			<member name="GST_RTCP_TYPE_PSFB" value="206"/>
 		</enum>
 		<enum name="GstRTPPayload">
 			<member name="GST_RTP_PAYLOAD_PCMU" value="0"/>
@@ -805,6 +918,13 @@
 					<parameter name="buffer" type="GstBuffer*"/>
 				</parameters>
 			</method>
+			<method name="push_list" symbol="gst_basertppayload_push_list">
+				<return-type type="GstFlowReturn"/>
+				<parameters>
+					<parameter name="payload" type="GstBaseRTPPayload*"/>
+					<parameter name="list" type="GstBufferList*"/>
+				</parameters>
+			</method>
 			<method name="set_options" symbol="gst_basertppayload_set_options">
 				<return-type type="void"/>
 				<parameters>
diff --git a/vapi/packages/gstreamer-rtsp-0.10/gstreamer-rtsp-0.10.gi b/vapi/packages/gstreamer-rtsp-0.10/gstreamer-rtsp-0.10.gi
index be3546c..d650eea 100644
--- a/vapi/packages/gstreamer-rtsp-0.10/gstreamer-rtsp-0.10.gi
+++ b/vapi/packages/gstreamer-rtsp-0.10/gstreamer-rtsp-0.10.gi
@@ -550,6 +550,14 @@
 					<parameter name="notify" type="GDestroyNotify"/>
 				</parameters>
 			</method>
+			<method name="queue_data" symbol="gst_rtsp_watch_queue_data">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="watch" type="GstRTSPWatch*"/>
+					<parameter name="data" type="guint8*"/>
+					<parameter name="size" type="guint"/>
+				</parameters>
+			</method>
 			<method name="queue_message" symbol="gst_rtsp_watch_queue_message">
 				<return-type type="guint"/>
 				<parameters>
@@ -695,6 +703,26 @@
 			<member name="GST_RTSP_HDR_LOCATION" value="53"/>
 			<member name="GST_RTSP_HDR_ETAG" value="54"/>
 			<member name="GST_RTSP_HDR_IF_MATCH" value="55"/>
+			<member name="GST_RTSP_HDR_ACCEPT_CHARSET" value="56"/>
+			<member name="GST_RTSP_HDR_SUPPORTED" value="57"/>
+			<member name="GST_RTSP_HDR_VARY" value="58"/>
+			<member name="GST_RTSP_HDR_X_ACCELERATE_STREAMING" value="59"/>
+			<member name="GST_RTSP_HDR_X_ACCEPT_AUTHENT" value="60"/>
+			<member name="GST_RTSP_HDR_X_ACCEPT_PROXY_AUTHENT" value="61"/>
+			<member name="GST_RTSP_HDR_X_BROADCAST_ID" value="62"/>
+			<member name="GST_RTSP_HDR_X_BURST_STREAMING" value="63"/>
+			<member name="GST_RTSP_HDR_X_NOTICE" value="64"/>
+			<member name="GST_RTSP_HDR_X_PLAYER_LAG_TIME" value="65"/>
+			<member name="GST_RTSP_HDR_X_PLAYLIST" value="66"/>
+			<member name="GST_RTSP_HDR_X_PLAYLIST_CHANGE_NOTICE" value="67"/>
+			<member name="GST_RTSP_HDR_X_PLAYLIST_GEN_ID" value="68"/>
+			<member name="GST_RTSP_HDR_X_PLAYLIST_SEEK_ID" value="69"/>
+			<member name="GST_RTSP_HDR_X_PROXY_CLIENT_AGENT" value="70"/>
+			<member name="GST_RTSP_HDR_X_PROXY_CLIENT_VERB" value="71"/>
+			<member name="GST_RTSP_HDR_X_RECEDING_PLAYLISTCHANGE" value="72"/>
+			<member name="GST_RTSP_HDR_X_RTP_INFO" value="73"/>
+			<member name="GST_RTSP_HDR_X_STARTUPPROFILE" value="74"/>
+			<member name="GST_RTSP_HDR_TIMESTAMP" value="75"/>
 		</enum>
 		<enum name="GstRTSPLowerTrans">
 			<member name="GST_RTSP_LOWER_TRANS_UNKNOWN" value="0"/>
diff --git a/vapi/packages/gstreamer-video-0.10/gstreamer-video-0.10.gi b/vapi/packages/gstreamer-video-0.10/gstreamer-video-0.10.gi
index 606a20c..d640fe2 100644
--- a/vapi/packages/gstreamer-video-0.10/gstreamer-video-0.10.gi
+++ b/vapi/packages/gstreamer-video-0.10/gstreamer-video-0.10.gi
@@ -1,6 +1,33 @@
 <?xml version="1.0"?>
 <api version="1.0">
 	<namespace name="Gst">
+		<function name="base_video_encoded_video_convert" symbol="gst_base_video_encoded_video_convert">
+			<return-type type="gboolean"/>
+			<parameters>
+				<parameter name="state" type="GstVideoState*"/>
+				<parameter name="src_format" type="GstFormat"/>
+				<parameter name="src_value" type="gint64"/>
+				<parameter name="dest_format" type="GstFormat*"/>
+				<parameter name="dest_value" type="gint64*"/>
+			</parameters>
+		</function>
+		<function name="base_video_rawvideo_convert" symbol="gst_base_video_rawvideo_convert">
+			<return-type type="gboolean"/>
+			<parameters>
+				<parameter name="state" type="GstVideoState*"/>
+				<parameter name="src_format" type="GstFormat"/>
+				<parameter name="src_value" type="gint64"/>
+				<parameter name="dest_format" type="GstFormat*"/>
+				<parameter name="dest_value" type="gint64*"/>
+			</parameters>
+		</function>
+		<function name="base_video_state_from_caps" symbol="gst_base_video_state_from_caps">
+			<return-type type="gboolean"/>
+			<parameters>
+				<parameter name="state" type="GstVideoState*"/>
+				<parameter name="caps" type="GstCaps*"/>
+			</parameters>
+		</function>
 		<function name="video_calculate_display_ratio" symbol="gst_video_calculate_display_ratio">
 			<return-type type="gboolean"/>
 			<parameters>
@@ -147,12 +174,6 @@
 				<parameter name="format" type="GstVideoFormat"/>
 			</parameters>
 		</function>
-		<function name="video_frame_rate" symbol="gst_video_frame_rate">
-			<return-type type="GValue*"/>
-			<parameters>
-				<parameter name="pad" type="GstPad*"/>
-			</parameters>
-		</function>
 		<function name="video_get_size" symbol="gst_video_get_size">
 			<return-type type="gboolean"/>
 			<parameters>
@@ -177,12 +198,410 @@
 				<parameter name="par_d" type="int*"/>
 			</parameters>
 		</function>
+		<struct name="GstBaseVideoCodec">
+			<method name="free_frame" symbol="gst_base_video_codec_free_frame">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="frame" type="GstVideoFrame*"/>
+				</parameters>
+			</method>
+			<method name="new_frame" symbol="gst_base_video_codec_new_frame">
+				<return-type type="GstVideoFrame*"/>
+				<parameters>
+					<parameter name="base_video_codec" type="GstBaseVideoCodec*"/>
+				</parameters>
+			</method>
+			<field name="element" type="GstElement"/>
+			<field name="sinkpad" type="GstPad*"/>
+			<field name="srcpad" type="GstPad*"/>
+			<field name="input_adapter" type="GstAdapter*"/>
+			<field name="output_adapter" type="GstAdapter*"/>
+			<field name="system_frame_number" type="guint64"/>
+			<field name="timestamp_offset" type="GstClockTime"/>
+		</struct>
+		<struct name="GstBaseVideoCodecClass">
+			<field name="element_class" type="GstElementClass"/>
+			<field name="start" type="GCallback"/>
+			<field name="stop" type="GCallback"/>
+			<field name="reset" type="GCallback"/>
+			<field name="parse_data" type="GCallback"/>
+			<field name="scan_for_sync" type="GCallback"/>
+			<field name="shape_output" type="GCallback"/>
+			<field name="get_caps" type="GCallback"/>
+		</struct>
+		<struct name="GstBaseVideoDecoder">
+			<method name="add_to_frame" symbol="gst_base_video_decoder_add_to_frame">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="base_video_decoder" type="GstBaseVideoDecoder*"/>
+					<parameter name="n_bytes" type="int"/>
+				</parameters>
+			</method>
+			<method name="end_of_stream" symbol="gst_base_video_decoder_end_of_stream">
+				<return-type type="GstFlowReturn"/>
+				<parameters>
+					<parameter name="base_video_decoder" type="GstBaseVideoDecoder*"/>
+					<parameter name="buffer" type="GstBuffer*"/>
+				</parameters>
+			</method>
+			<method name="finish_frame" symbol="gst_base_video_decoder_finish_frame">
+				<return-type type="GstFlowReturn"/>
+				<parameters>
+					<parameter name="base_video_decoder" type="GstBaseVideoDecoder*"/>
+					<parameter name="frame" type="GstVideoFrame*"/>
+				</parameters>
+			</method>
+			<method name="get_frame" symbol="gst_base_video_decoder_get_frame">
+				<return-type type="GstVideoFrame*"/>
+				<parameters>
+					<parameter name="coder" type="GstBaseVideoDecoder*"/>
+					<parameter name="frame_number" type="int"/>
+				</parameters>
+			</method>
+			<method name="get_height" symbol="gst_base_video_decoder_get_height">
+				<return-type type="int"/>
+				<parameters>
+					<parameter name="coder" type="GstBaseVideoDecoder*"/>
+				</parameters>
+			</method>
+			<method name="get_state" symbol="gst_base_video_decoder_get_state">
+				<return-type type="GstVideoState*"/>
+				<parameters>
+					<parameter name="base_video_decoder" type="GstBaseVideoDecoder*"/>
+				</parameters>
+			</method>
+			<method name="get_timestamp_offset" symbol="gst_base_video_decoder_get_timestamp_offset">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="coder" type="GstBaseVideoDecoder*"/>
+				</parameters>
+			</method>
+			<method name="get_width" symbol="gst_base_video_decoder_get_width">
+				<return-type type="int"/>
+				<parameters>
+					<parameter name="coder" type="GstBaseVideoDecoder*"/>
+				</parameters>
+			</method>
+			<method name="have_frame" symbol="gst_base_video_decoder_have_frame">
+				<return-type type="GstFlowReturn"/>
+				<parameters>
+					<parameter name="base_video_decoder" type="GstBaseVideoDecoder*"/>
+				</parameters>
+			</method>
+			<method name="lost_sync" symbol="gst_base_video_decoder_lost_sync">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="base_video_decoder" type="GstBaseVideoDecoder*"/>
+				</parameters>
+			</method>
+			<method name="set_src_caps" symbol="gst_base_video_decoder_set_src_caps">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="base_video_decoder" type="GstBaseVideoDecoder*"/>
+				</parameters>
+			</method>
+			<method name="set_state" symbol="gst_base_video_decoder_set_state">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="base_video_decoder" type="GstBaseVideoDecoder*"/>
+					<parameter name="state" type="GstVideoState*"/>
+				</parameters>
+			</method>
+			<method name="set_sync_point" symbol="gst_base_video_decoder_set_sync_point">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="base_video_decoder" type="GstBaseVideoDecoder*"/>
+				</parameters>
+			</method>
+			<field name="base_video_codec" type="GstBaseVideoCodec"/>
+			<field name="input_adapter" type="GstAdapter*"/>
+			<field name="output_adapter" type="GstAdapter*"/>
+			<field name="frames" type="GList*"/>
+			<field name="have_sync" type="gboolean"/>
+			<field name="discont" type="gboolean"/>
+			<field name="started" type="gboolean"/>
+			<field name="state" type="GstVideoState"/>
+			<field name="sink_clipping" type="gboolean"/>
+			<field name="presentation_frame_number" type="guint64"/>
+			<field name="system_frame_number" type="guint64"/>
+			<field name="caps" type="GstCaps*"/>
+			<field name="have_src_caps" type="gboolean"/>
+			<field name="current_frame" type="GstVideoFrame*"/>
+			<field name="distance_from_sync" type="int"/>
+			<field name="reorder_depth" type="int"/>
+			<field name="buffer_timestamp" type="GstClockTime"/>
+			<field name="timestamp_offset" type="GstClockTime"/>
+			<field name="proportion" type="gdouble"/>
+			<field name="earliest_time" type="GstClockTime"/>
+			<field name="codec_data" type="GstBuffer*"/>
+			<field name="offset" type="guint64"/>
+			<field name="last_timestamp" type="GstClockTime"/>
+			<field name="last_sink_timestamp" type="GstClockTime"/>
+			<field name="last_sink_offset_end" type="GstClockTime"/>
+			<field name="base_picture_number" type="guint64"/>
+			<field name="field_index" type="int"/>
+		</struct>
+		<struct name="GstBaseVideoDecoderClass">
+			<field name="base_video_codec_class" type="GstBaseVideoCodecClass"/>
+			<field name="set_format" type="GCallback"/>
+			<field name="start" type="GCallback"/>
+			<field name="stop" type="GCallback"/>
+			<field name="reset" type="GCallback"/>
+			<field name="scan_for_sync" type="GCallback"/>
+			<field name="parse_data" type="GCallback"/>
+			<field name="finish" type="GCallback"/>
+			<field name="handle_frame" type="GCallback"/>
+			<field name="shape_output" type="GCallback"/>
+			<field name="get_caps" type="GCallback"/>
+		</struct>
+		<struct name="GstBaseVideoEncoder">
+			<method name="end_of_stream" symbol="gst_base_video_encoder_end_of_stream">
+				<return-type type="GstFlowReturn"/>
+				<parameters>
+					<parameter name="base_video_encoder" type="GstBaseVideoEncoder*"/>
+					<parameter name="buffer" type="GstBuffer*"/>
+				</parameters>
+			</method>
+			<method name="finish_frame" symbol="gst_base_video_encoder_finish_frame">
+				<return-type type="GstFlowReturn"/>
+				<parameters>
+					<parameter name="base_video_encoder" type="GstBaseVideoEncoder*"/>
+					<parameter name="frame" type="GstVideoFrame*"/>
+				</parameters>
+			</method>
+			<method name="get_frame" symbol="gst_base_video_encoder_get_frame">
+				<return-type type="GstVideoFrame*"/>
+				<parameters>
+					<parameter name="coder" type="GstBaseVideoEncoder*"/>
+					<parameter name="frame_number" type="int"/>
+				</parameters>
+			</method>
+			<method name="get_height" symbol="gst_base_video_encoder_get_height">
+				<return-type type="int"/>
+				<parameters>
+					<parameter name="coder" type="GstBaseVideoEncoder*"/>
+				</parameters>
+			</method>
+			<method name="get_state" symbol="gst_base_video_encoder_get_state">
+				<return-type type="GstVideoState*"/>
+				<parameters>
+					<parameter name="coder" type="GstBaseVideoEncoder*"/>
+				</parameters>
+			</method>
+			<method name="get_timestamp_offset" symbol="gst_base_video_encoder_get_timestamp_offset">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="coder" type="GstBaseVideoEncoder*"/>
+				</parameters>
+			</method>
+			<method name="get_width" symbol="gst_base_video_encoder_get_width">
+				<return-type type="int"/>
+				<parameters>
+					<parameter name="coder" type="GstBaseVideoEncoder*"/>
+				</parameters>
+			</method>
+			<method name="set_latency" symbol="gst_base_video_encoder_set_latency">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="base_video_encoder" type="GstBaseVideoEncoder*"/>
+					<parameter name="min_latency" type="GstClockTime"/>
+					<parameter name="max_latency" type="GstClockTime"/>
+				</parameters>
+			</method>
+			<method name="set_latency_fields" symbol="gst_base_video_encoder_set_latency_fields">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="base_video_encoder" type="GstBaseVideoEncoder*"/>
+					<parameter name="n_fields" type="int"/>
+				</parameters>
+			</method>
+			<field name="base_video_codec" type="GstBaseVideoCodec"/>
+			<field name="frames" type="GList*"/>
+			<field name="state" type="GstVideoState"/>
+			<field name="sink_clipping" type="gboolean"/>
+			<field name="presentation_frame_number" type="guint64"/>
+			<field name="system_frame_number" type="guint64"/>
+			<field name="distance_from_sync" type="int"/>
+			<field name="caps" type="GstCaps*"/>
+			<field name="set_output_caps" type="gboolean"/>
+			<field name="min_latency" type="gint64"/>
+			<field name="max_latency" type="gint64"/>
+		</struct>
+		<struct name="GstBaseVideoEncoderClass">
+			<field name="base_video_codec_class" type="GstBaseVideoCodecClass"/>
+			<field name="set_format" type="GCallback"/>
+			<field name="start" type="GCallback"/>
+			<field name="stop" type="GCallback"/>
+			<field name="finish" type="GCallback"/>
+			<field name="handle_frame" type="GCallback"/>
+			<field name="shape_output" type="GCallback"/>
+			<field name="get_caps" type="GCallback"/>
+		</struct>
+		<struct name="GstBaseVideoParse">
+			<method name="add_to_frame" symbol="gst_base_video_parse_add_to_frame">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="base_video_parse" type="GstBaseVideoParse*"/>
+					<parameter name="n_bytes" type="int"/>
+				</parameters>
+			</method>
+			<method name="end_of_stream" symbol="gst_base_video_parse_end_of_stream">
+				<return-type type="GstFlowReturn"/>
+				<parameters>
+					<parameter name="base_video_parse" type="GstBaseVideoParse*"/>
+					<parameter name="buffer" type="GstBuffer*"/>
+				</parameters>
+			</method>
+			<method name="finish_frame" symbol="gst_base_video_parse_finish_frame">
+				<return-type type="GstFlowReturn"/>
+				<parameters>
+					<parameter name="base_video_parse" type="GstBaseVideoParse*"/>
+				</parameters>
+			</method>
+			<method name="get_frame" symbol="gst_base_video_parse_get_frame">
+				<return-type type="GstVideoFrame*"/>
+				<parameters>
+					<parameter name="base_video_parse" type="GstBaseVideoParse*"/>
+				</parameters>
+			</method>
+			<method name="get_height" symbol="gst_base_video_parse_get_height">
+				<return-type type="int"/>
+				<parameters>
+					<parameter name="parse" type="GstBaseVideoParse*"/>
+				</parameters>
+			</method>
+			<method name="get_state" symbol="gst_base_video_parse_get_state">
+				<return-type type="GstVideoState*"/>
+				<parameters>
+					<parameter name="parse" type="GstBaseVideoParse*"/>
+				</parameters>
+			</method>
+			<method name="get_timestamp_offset" symbol="gst_base_video_parse_get_timestamp_offset">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="parse" type="GstBaseVideoParse*"/>
+				</parameters>
+			</method>
+			<method name="get_width" symbol="gst_base_video_parse_get_width">
+				<return-type type="int"/>
+				<parameters>
+					<parameter name="parse" type="GstBaseVideoParse*"/>
+				</parameters>
+			</method>
+			<method name="lost_sync" symbol="gst_base_video_parse_lost_sync">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="base_video_parse" type="GstBaseVideoParse*"/>
+				</parameters>
+			</method>
+			<method name="push" symbol="gst_base_video_parse_push">
+				<return-type type="GstFlowReturn"/>
+				<parameters>
+					<parameter name="base_video_parse" type="GstBaseVideoParse*"/>
+					<parameter name="buffer" type="GstBuffer*"/>
+				</parameters>
+			</method>
+			<method name="set_src_caps" symbol="gst_base_video_parse_set_src_caps">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="base_video_parse" type="GstBaseVideoParse*"/>
+					<parameter name="caps" type="GstCaps*"/>
+				</parameters>
+			</method>
+			<method name="set_state" symbol="gst_base_video_parse_set_state">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="parse" type="GstBaseVideoParse*"/>
+					<parameter name="state" type="GstVideoState*"/>
+				</parameters>
+			</method>
+			<method name="set_sync_point" symbol="gst_base_video_parse_set_sync_point">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="base_video_parse" type="GstBaseVideoParse*"/>
+				</parameters>
+			</method>
+			<field name="base_video_codec" type="GstBaseVideoCodec"/>
+			<field name="input_adapter" type="GstAdapter*"/>
+			<field name="output_adapter" type="GstAdapter*"/>
+			<field name="reorder_depth" type="int"/>
+			<field name="have_sync" type="gboolean"/>
+			<field name="discont" type="gboolean"/>
+			<field name="started" type="gboolean"/>
+			<field name="current_frame" type="GstVideoFrame*"/>
+			<field name="state" type="GstVideoState"/>
+			<field name="distance_from_sync" type="int"/>
+			<field name="sink_clipping" type="gboolean"/>
+			<field name="presentation_frame_number" type="guint64"/>
+			<field name="system_frame_number" type="guint64"/>
+			<field name="caps" type="GstCaps*"/>
+			<field name="set_output_caps" type="gboolean"/>
+			<field name="last_timestamp" type="GstClockTime"/>
+			<field name="timestamp_offset" type="gint64"/>
+		</struct>
+		<struct name="GstBaseVideoParseClass">
+			<field name="base_video_codec_class" type="GstBaseVideoCodecClass"/>
+			<field name="start" type="GCallback"/>
+			<field name="stop" type="GCallback"/>
+			<field name="reset" type="GCallback"/>
+			<field name="parse_data" type="GCallback"/>
+			<field name="scan_for_sync" type="GCallback"/>
+			<field name="shape_output" type="GCallback"/>
+			<field name="get_caps" type="GCallback"/>
+		</struct>
+		<struct name="GstVideoFrame">
+			<method name="rate" symbol="gst_video_frame_rate">
+				<return-type type="GValue*"/>
+				<parameters>
+					<parameter name="pad" type="GstPad*"/>
+				</parameters>
+			</method>
+			<field name="decode_timestamp" type="guint64"/>
+			<field name="presentation_timestamp" type="guint64"/>
+			<field name="presentation_duration" type="guint64"/>
+			<field name="system_frame_number" type="gint"/>
+			<field name="decode_frame_number" type="gint"/>
+			<field name="presentation_frame_number" type="gint"/>
+			<field name="distance_from_sync" type="int"/>
+			<field name="is_sync_point" type="gboolean"/>
+			<field name="is_eos" type="gboolean"/>
+			<field name="sink_buffer" type="GstBuffer*"/>
+			<field name="src_buffer" type="GstBuffer*"/>
+			<field name="field_index" type="int"/>
+			<field name="n_fields" type="int"/>
+			<field name="coder_hook" type="void*"/>
+		</struct>
 		<struct name="GstVideoRectangle">
 			<field name="x" type="gint"/>
 			<field name="y" type="gint"/>
 			<field name="w" type="gint"/>
 			<field name="h" type="gint"/>
 		</struct>
+		<struct name="GstVideoState">
+			<method name="get_timestamp" symbol="gst_video_state_get_timestamp">
+				<return-type type="GstClockTime"/>
+				<parameters>
+					<parameter name="state" type="GstVideoState*"/>
+					<parameter name="frame_number" type="int"/>
+				</parameters>
+			</method>
+			<field name="format" type="GstVideoFormat"/>
+			<field name="width" type="int"/>
+			<field name="height" type="int"/>
+			<field name="fps_n" type="int"/>
+			<field name="fps_d" type="int"/>
+			<field name="par_n" type="int"/>
+			<field name="par_d" type="int"/>
+			<field name="interlaced" type="gboolean"/>
+			<field name="top_field_first" type="gboolean"/>
+			<field name="clean_width" type="int"/>
+			<field name="clean_height" type="int"/>
+			<field name="clean_offset_left" type="int"/>
+			<field name="clean_offset_top" type="int"/>
+			<field name="bytes_per_picture" type="int"/>
+			<field name="segment" type="GstSegment"/>
+			<field name="picture_number" type="int"/>
+		</struct>
 		<enum name="GstVideoFormat" type-name="GstVideoFormat" get-type="gst_video_format_get_type">
 			<member name="GST_VIDEO_FORMAT_UNKNOWN" value="0"/>
 			<member name="GST_VIDEO_FORMAT_I420" value="1"/>
@@ -202,6 +621,10 @@
 			<member name="GST_VIDEO_FORMAT_BGR" value="15"/>
 			<member name="GST_VIDEO_FORMAT_Y41B" value="16"/>
 			<member name="GST_VIDEO_FORMAT_Y42B" value="17"/>
+			<member name="GST_VIDEO_FORMAT_YVYU" value="18"/>
+			<member name="GST_VIDEO_FORMAT_Y444" value="19"/>
+			<member name="GST_VIDEO_FORMAT_v210" value="20"/>
+			<member name="GST_VIDEO_FORMAT_v216" value="21"/>
 		</enum>
 		<object name="GstVideoFilter" parent="GstBaseTransform" type-name="GstVideoFilter" get-type="gst_video_filter_get_type">
 			<field name="inited" type="gboolean"/>
@@ -219,6 +642,14 @@
 			<field name="width" type="gint"/>
 			<field name="height" type="gint"/>
 		</object>
+		<constant name="GST_BASE_VIDEO_CODEC_SINK_NAME" type="char*" value="sink"/>
+		<constant name="GST_BASE_VIDEO_CODEC_SRC_NAME" type="char*" value="src"/>
+		<constant name="GST_BASE_VIDEO_DECODER_SINK_NAME" type="char*" value="sink"/>
+		<constant name="GST_BASE_VIDEO_DECODER_SRC_NAME" type="char*" value="src"/>
+		<constant name="GST_BASE_VIDEO_ENCODER_SINK_NAME" type="char*" value="sink"/>
+		<constant name="GST_BASE_VIDEO_ENCODER_SRC_NAME" type="char*" value="src"/>
+		<constant name="GST_BASE_VIDEO_PARSE_SINK_NAME" type="char*" value="sink"/>
+		<constant name="GST_BASE_VIDEO_PARSE_SRC_NAME" type="char*" value="src"/>
 		<constant name="GST_VIDEO_BLUE_MASK_15" type="char*" value="0x001f"/>
 		<constant name="GST_VIDEO_BLUE_MASK_15_INT" type="int" value="31"/>
 		<constant name="GST_VIDEO_BLUE_MASK_16" type="char*" value="0x001f"/>
@@ -226,7 +657,7 @@
 		<constant name="GST_VIDEO_BYTE1_MASK_24" type="char*" value="0x00FF0000"/>
 		<constant name="GST_VIDEO_BYTE1_MASK_24_INT" type="int" value="16711680"/>
 		<constant name="GST_VIDEO_BYTE1_MASK_32" type="char*" value="0xFF000000"/>
-		<constant name="GST_VIDEO_BYTE1_MASK_32_INT" type="int" value="2147483647"/>
+		<constant name="GST_VIDEO_BYTE1_MASK_32_INT" type="int" value="-16777216"/>
 		<constant name="GST_VIDEO_BYTE2_MASK_24" type="char*" value="0x0000FF00"/>
 		<constant name="GST_VIDEO_BYTE2_MASK_24_INT" type="int" value="65280"/>
 		<constant name="GST_VIDEO_BYTE2_MASK_32" type="char*" value="0x00FF0000"/>
diff --git a/vapi/packages/gstreamer-video-0.10/gstreamer-video-0.10.metadata b/vapi/packages/gstreamer-video-0.10/gstreamer-video-0.10.metadata
index 65308be..4b2486c 100644
--- a/vapi/packages/gstreamer-video-0.10/gstreamer-video-0.10.metadata
+++ b/vapi/packages/gstreamer-video-0.10/gstreamer-video-0.10.metadata
@@ -1,4 +1,12 @@
 Gst cprefix="Gst" lower_case_cprefix="gst_" cheader_filename="gst/video/video.h"
+GstBaseVideoCodec base_class="GstElement"
+GstBaseVideoCodecClass hidden="1"
+GstBaseVideoDecoder base_class="GstBaseVideoCodec"
+GstBaseVideoDecoderClass hidden="1"
+GstBaseVideoEncoder base_class="GstBaseVideoCodec"
+GstBaseVideoEncoderClass hidden="1"
+GstBaseVideoParse base_class="GstBaseVideoCodec"
+GstBaseVideoParseClass hidden="1"
 GstVideoRectangle cheader_filename="gst/video/gstvideosink.h"
 GstVideoSink cheader_filename="gst/video/gstvideosink.h"
 GstVideoFilter cheader_filename="gst/video/gstvideofilter.h"



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