[vala] vapi: Update GIR-based bindings



commit cbd7b680395abcc5a2bea3d3f51455f247cd97c1
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Mon Oct 26 16:36:25 2015 +0100

    vapi: Update GIR-based bindings

 vapi/gdk-3.0.vapi                        |    3 +-
 vapi/gdk-pixbuf-2.0.vapi                 |    3 +-
 vapi/gdl-3.0.vapi                        |   10 +-
 vapi/gio-2.0.vapi                        |   58 +++--
 vapi/gobject-introspection-1.0.vapi      |    1 +
 vapi/gstreamer-1.0.vapi                  |  244 ++++++++++++++---
 vapi/gstreamer-allocators-1.0.vapi       |   23 ++-
 vapi/gstreamer-app-1.0.vapi              |    2 +
 vapi/gstreamer-audio-1.0.vapi            |   39 +++-
 vapi/gstreamer-base-1.0.vapi             |   26 ++
 vapi/gstreamer-check-1.0.vapi            |  130 +++++++++
 vapi/gstreamer-controller-1.0.vapi       |   32 ++-
 vapi/gstreamer-net-1.0.vapi              |   64 +++++-
 vapi/gstreamer-pbutils-1.0.vapi          |   19 ++
 vapi/gstreamer-rtp-1.0.vapi              |   34 ++-
 vapi/gstreamer-rtsp-1.0.vapi             |   25 ++-
 vapi/gstreamer-video-1.0.vapi            |  431 ++++++++++++++++++++++++++----
 vapi/json-glib-1.0.vapi                  |    5 +
 vapi/libgdata.vapi                       |   60 ++--
 vapi/libsoup-2.4.vapi                    |    2 +-
 vapi/metadata/GdkPixbuf-2.0.metadata     |    3 -
 vapi/metadata/Gio-2.0.metadata           |    8 +-
 vapi/metadata/Gst-1.0.metadata           |   17 +-
 vapi/metadata/GstCheck-1.0.metadata      |    4 +
 vapi/metadata/GstController-1.0.metadata |    3 +
 vapi/metadata/GstPbutils-1.0.metadata    |    3 -
 vapi/metadata/GstVideo-1.0.metadata      |    4 -
 vapi/metadata/Pango-1.0.metadata         |    3 +-
 vapi/metadata/Poppler-0.18.metadata      |    1 -
 vapi/metadata/WebKit2-4.0.metadata       |   10 +
 vapi/webkit2gtk-4.0.vapi                 |    8 +-
 vapi/webkit2gtk-web-extension-4.0.vapi   |   12 +-
 32 files changed, 1083 insertions(+), 204 deletions(-)
---
diff --git a/vapi/gdk-3.0.vapi b/vapi/gdk-3.0.vapi
index 2257088..dc1ea1a 100644
--- a/vapi/gdk-3.0.vapi
+++ b/vapi/gdk-3.0.vapi
@@ -4615,7 +4615,7 @@ namespace Gdk {
                public bool get_has_cursor ();
                public bool get_history (Gdk.Window window, uint32 start, uint32 stop, [CCode 
(array_length_cname = "n_events", array_length_pos = 4.1)] out Gdk.TimeCoord[] events);
                public bool get_key (uint index_, out uint keyval, out Gdk.ModifierType modifiers);
-               public unowned Gdk.Window get_last_event_window ();
+               public unowned Gdk.Window? get_last_event_window ();
                public Gdk.InputMode get_mode ();
                public int get_n_axes ();
                public int get_n_keys ();
@@ -5118,6 +5118,7 @@ namespace Gdk {
                public unowned Gdk.GLContext get_shared_context ();
                public void get_version (out int major, out int minor);
                public unowned Gdk.Window get_window ();
+               public bool is_legacy ();
                public void make_current ();
                public bool realize () throws GLib.Error;
                public void set_debug_enabled (bool enabled);
diff --git a/vapi/gdk-pixbuf-2.0.vapi b/vapi/gdk-pixbuf-2.0.vapi
index 28dac7a..e533a97 100644
--- a/vapi/gdk-pixbuf-2.0.vapi
+++ b/vapi/gdk-pixbuf-2.0.vapi
@@ -248,7 +248,8 @@ namespace Gdk {
                BAD_OPTION,
                UNKNOWN_TYPE,
                UNSUPPORTED_OPERATION,
-               FAILED;
+               FAILED,
+               INCOMPLETE_ANIMATION;
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "gdk-pixbuf/gdk-pixbuf.h", instance_pos = 1.9)]
diff --git a/vapi/gdl-3.0.vapi b/vapi/gdl-3.0.vapi
index fc27098..4984d17 100644
--- a/vapi/gdl-3.0.vapi
+++ b/vapi/gdl-3.0.vapi
@@ -12,7 +12,7 @@ namespace Gdl {
                public GLib.List<weak Gdl.DockObject> get_named_items ();
                [Deprecated (since = "3.6")]
                public unowned Gdl.DockPlaceholder get_placeholder_by_name (string name);
-               public unowned Gdl.DockObject get_root ();
+               public unowned Gdl.DockObject? get_root ();
                public void hide_preview ();
                public Gtk.Widget new_from (bool floating);
                public void set_skip_taskbar (bool skip);
@@ -61,7 +61,7 @@ namespace Gdl {
                public Gdl.DockItemBehavior get_behavior_flags ();
                public unowned Gtk.Widget get_child ();
                public void get_drag_area (Gdk.Rectangle rect);
-               public unowned Gtk.Widget get_grip ();
+               public unowned Gtk.Widget? get_grip ();
                public Gtk.Orientation get_orientation ();
                public unowned Gtk.Widget get_tablabel ();
                public void hide_grip ();
@@ -157,7 +157,7 @@ namespace Gdl {
                public void foreach_toplevel (bool include_controller, GLib.Func function);
                public unowned Gdl.DockObject get_controller ();
                public string get_dock_name ();
-               public unowned Gdl.DockObject get_object (string nick_name);
+               public unowned Gdl.DockObject? get_object (string nick_name);
                public void remove (Gdl.DockObject object);
                public void set_controller (Gdl.DockObject new_controller);
                [NoAccessorMethod]
@@ -192,10 +192,10 @@ namespace Gdl {
                public unowned Gdl.DockObject get_controller ();
                public unowned string get_long_name ();
                public unowned GLib.Object get_master ();
-               public unowned Gdl.DockObject get_parent_object ();
+               public unowned Gdl.DockObject? get_parent_object ();
                public unowned Gdk.Pixbuf get_pixbuf ();
                public unowned string get_stock_id ();
-               public unowned Gdl.Dock get_toplevel ();
+               public unowned Gdl.Dock? get_toplevel ();
                public bool is_automatic ();
                public bool is_bound ();
                public bool is_closed ();
diff --git a/vapi/gio-2.0.vapi b/vapi/gio-2.0.vapi
index fd251fa..02089f6 100644
--- a/vapi/gio-2.0.vapi
+++ b/vapi/gio-2.0.vapi
@@ -34,7 +34,7 @@ namespace GLib {
                [CCode (cheader_filename = "gio/gio.h")]
                public static string get_description (string type);
                [CCode (cheader_filename = "gio/gio.h")]
-               public static string get_generic_icon_name (string type);
+               public static string? get_generic_icon_name (string type);
                [CCode (cheader_filename = "gio/gio.h")]
                public static GLib.Icon get_icon (string type);
                [CCode (cheader_filename = "gio/gio.h")]
@@ -535,7 +535,7 @@ namespace GLib {
                public bool get_exit_on_close ();
                public unowned string get_guid ();
                public uint32 get_last_serial ();
-               public unowned GLib.Credentials get_peer_credentials ();
+               public unowned GLib.Credentials? get_peer_credentials ();
                public async T get_proxy<T> (string? name, string object_path, GLib.DBusProxyFlags flags = 0, 
GLib.Cancellable? cancellable = null) throws GLib.IOError;
                public T get_proxy_sync<T> (string? name, string object_path, GLib.DBusProxyFlags flags = 0, 
GLib.Cancellable? cancellable = null) throws GLib.IOError;
                public unowned GLib.IOStream get_stream ();
@@ -1379,7 +1379,7 @@ namespace GLib {
                public abstract ssize_t read ([CCode (array_length_type = "gsize")] uint8[] buffer, 
GLib.Cancellable? cancellable = null) throws GLib.IOError;
                public bool read_all ([CCode (array_length_cname = "count", array_length_pos = 1.5, 
array_length_type = "gsize")] uint8[] buffer, out size_t bytes_read, GLib.Cancellable? cancellable = null) 
throws GLib.IOError;
                public async bool read_all_async ([CCode (array_length_cname = "count", array_length_pos = 
1.5, array_length_type = "gsize")] uint8[] buffer, int io_priority, GLib.Cancellable? cancellable, out size_t 
bytes_read) throws GLib.Error;
-               public virtual async ssize_t read_async ([CCode (array_length_cname = "count", 
array_length_pos = 1.5, array_length_type = "gsize")] uint8[] buffer, int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+               public virtual async ssize_t read_async ([CCode (array_length_cname = "count", 
array_length_pos = 1.5, array_length_type = "gsize")] uint8[]? buffer, int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError;
                public GLib.Bytes read_bytes (size_t count, GLib.Cancellable? cancellable = null) throws 
GLib.Error;
                public async GLib.Bytes read_bytes_async (size_t count, int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public bool set_pending () throws GLib.Error;
@@ -1629,7 +1629,7 @@ namespace GLib {
                public abstract ssize_t write ([CCode (array_length_type = "gsize")] uint8[] buffer, 
GLib.Cancellable? cancellable = null) throws GLib.IOError;
                public bool write_all ([CCode (array_length_cname = "count", array_length_pos = 1.5, 
array_length_type = "gsize")] uint8[] buffer, out size_t bytes_written, GLib.Cancellable? cancellable = null) 
throws GLib.IOError;
                public async bool write_all_async ([CCode (array_length_cname = "count", array_length_pos = 
1.5, array_length_type = "gsize")] uint8[] buffer, int io_priority, GLib.Cancellable? cancellable, out size_t 
bytes_written) throws GLib.Error;
-               public virtual async ssize_t write_async ([CCode (array_length_cname = "count", 
array_length_pos = 1.5, array_length_type = "gsize")] uint8[] buffer, int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+               public virtual async ssize_t write_async ([CCode (array_length_cname = "count", 
array_length_pos = 1.5, array_length_type = "gsize")] uint8[]? buffer, int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError;
                public ssize_t write_bytes (GLib.Bytes bytes, GLib.Cancellable? cancellable = null) throws 
GLib.Error;
                public async ssize_t write_bytes_async (GLib.Bytes bytes, int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
        }
@@ -1758,7 +1758,7 @@ namespace GLib {
                public void @get (string key, string format, ...);
                public bool get_boolean (string key);
                public GLib.Settings get_child (string name);
-               public GLib.Variant get_default_value (string key);
+               public GLib.Variant? get_default_value (string key);
                public double get_double (string key);
                public int get_enum (string key);
                public uint get_flags (string key);
@@ -1771,7 +1771,7 @@ namespace GLib {
                [CCode (array_length = false, array_null_terminated = true)]
                public string[] get_strv (string key);
                public uint get_uint (string key);
-               public GLib.Variant get_user_value (string key);
+               public GLib.Variant? get_user_value (string key);
                public GLib.Variant get_value (string key);
                public bool is_writable (string name);
                [CCode (array_length = false, array_null_terminated = true)]
@@ -1974,18 +1974,15 @@ namespace GLib {
                public string[] ignore_hosts { owned get; set; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_socket_get_type ()")]
-       public class Socket : GLib.Object, GLib.Initable {
+       public class Socket : GLib.Object, GLib.DatagramBased, GLib.Initable {
                [CCode (has_construct_function = false)]
                public Socket (GLib.SocketFamily family, GLib.SocketType type, GLib.SocketProtocol protocol) 
throws GLib.Error;
                public GLib.Socket accept (GLib.Cancellable? cancellable = null) throws GLib.Error;
                public bool bind (GLib.SocketAddress address, bool allow_reuse) throws GLib.Error;
                public bool check_connect_result () throws GLib.Error;
                public bool close () throws GLib.Error;
-               public GLib.IOCondition condition_check (GLib.IOCondition condition);
                public bool condition_timed_wait (GLib.IOCondition condition, int64 timeout, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
-               public bool condition_wait (GLib.IOCondition condition, GLib.Cancellable? cancellable = null) 
throws GLib.IOError;
                public bool connect (GLib.SocketAddress address, GLib.Cancellable? cancellable = null) throws 
GLib.Error;
-               public GLib.SocketSource create_source (GLib.IOCondition condition, GLib.Cancellable? 
cancellable = null);
                [CCode (has_construct_function = false)]
                public Socket.from_fd (int fd) throws GLib.Error;
                public ssize_t get_available_bytes ();
@@ -2016,7 +2013,6 @@ namespace GLib {
                public ssize_t receive_with_blocking ([CCode (array_length_cname = "size", array_length_pos = 
1.5, array_length_type = "gsize")] uint8[] buffer, bool blocking, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
                public ssize_t send ([CCode (array_length_cname = "size", array_length_pos = 1.5, 
array_length_type = "gsize")] uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public ssize_t send_message (GLib.SocketAddress? address, [CCode (array_length_cname = 
"num_vectors", array_length_pos = 2.5)] GLib.OutputVector[] vectors, [CCode (array_length_cname = 
"num_messages", array_length_pos = 3.5)] GLib.SocketControlMessage[]? messages, int flags, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
-               public int send_messages ([CCode (array_length_cname = "num_messages", array_length_pos = 
1.5, array_length_type = "guint")] GLib.OutputMessage[] messages, int flags, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
                public ssize_t send_to (GLib.SocketAddress? address, [CCode (array_length_cname = "size", 
array_length_pos = 2.5, array_length_type = "gsize")] uint8[] buffer, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
                public ssize_t send_with_blocking ([CCode (array_length_cname = "size", array_length_pos = 
1.5, array_length_type = "gsize")] uint8[] buffer, bool blocking, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
                public void set_blocking (bool blocking);
@@ -2287,7 +2283,7 @@ namespace GLib {
                public TestDBus (GLib.TestDBusFlags flags);
                public void add_service_dir (string path);
                public void down ();
-               public unowned string get_bus_address ();
+               public unowned string? get_bus_address ();
                public GLib.TestDBusFlags get_flags ();
                public void stop ();
                public static void unset ();
@@ -2387,7 +2383,7 @@ namespace GLib {
                [CCode (has_construct_function = false)]
                protected TlsDatabase ();
                public virtual string? create_certificate_handle (GLib.TlsCertificate certificate);
-               public virtual GLib.TlsCertificate lookup_certificate_for_handle (string handle, 
GLib.TlsInteraction? interaction, GLib.TlsDatabaseLookupFlags flags, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
+               public virtual GLib.TlsCertificate? lookup_certificate_for_handle (string handle, 
GLib.TlsInteraction? interaction, GLib.TlsDatabaseLookupFlags flags, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
                public virtual async GLib.TlsCertificate lookup_certificate_for_handle_async (string handle, 
GLib.TlsInteraction? interaction, GLib.TlsDatabaseLookupFlags flags, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
                public virtual GLib.TlsCertificate lookup_certificate_issuer (GLib.TlsCertificate 
certificate, GLib.TlsInteraction? interaction, GLib.TlsDatabaseLookupFlags flags, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
                public virtual async GLib.TlsCertificate lookup_certificate_issuer_async (GLib.TlsCertificate 
certificate, GLib.TlsInteraction? interaction, GLib.TlsDatabaseLookupFlags flags, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
@@ -2519,10 +2515,10 @@ namespace GLib {
                public abstract void change_state (GLib.Variant value);
                public abstract bool get_enabled ();
                public abstract unowned string get_name ();
-               public abstract unowned GLib.VariantType get_parameter_type ();
+               public abstract unowned GLib.VariantType? get_parameter_type ();
                public abstract GLib.Variant get_state ();
                public abstract GLib.Variant? get_state_hint ();
-               public abstract unowned GLib.VariantType get_state_type ();
+               public abstract unowned GLib.VariantType? get_state_type ();
                public static bool name_is_valid (string action_name);
                public static bool parse_detailed_name (string detailed_name, out string action_name, out 
GLib.Variant target_value) throws GLib.Error;
                public static string print_detailed_name (string action_name, GLib.Variant? target_value);
@@ -2617,7 +2613,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_converter_get_type ()")]
        public interface Converter : GLib.Object {
-               public abstract GLib.ConverterResult convert ([CCode (array_length_cname = "inbuf_size", 
array_length_pos = 1.5, array_length_type = "gsize")] uint8[] inbuf, [CCode (array_length_cname = 
"outbuf_size", array_length_pos = 2.5, array_length_type = "gsize", type = "void*")] uint8[] outbuf, 
GLib.ConverterFlags flags, out size_t bytes_read, out size_t bytes_written) throws GLib.Error;
+               public abstract GLib.ConverterResult convert ([CCode (array_length_cname = "inbuf_size", 
array_length_pos = 1.5, array_length_type = "gsize")] uint8[]? inbuf, [CCode (array_length_cname = 
"outbuf_size", array_length_pos = 2.5, array_length_type = "gsize", type = "void*")] uint8[] outbuf, 
GLib.ConverterFlags flags, out size_t bytes_read, out size_t bytes_written) throws GLib.Error;
                public abstract void reset ();
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_interface_get_type ()")]
@@ -2646,6 +2642,14 @@ namespace GLib {
                public virtual signal void object_added (GLib.DBusObject object);
                public virtual signal void object_removed (GLib.DBusObject object);
        }
+       [CCode (cheader_filename = "gio/gio.h", type_cname = "GDatagramBasedInterface", type_id = 
"g_datagram_based_get_type ()")]
+       public interface DatagramBased : GLib.Object {
+               public abstract GLib.IOCondition condition_check (GLib.IOCondition condition);
+               public abstract bool condition_wait (GLib.IOCondition condition, int64 timeout, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public abstract GLib.Source create_source (GLib.IOCondition condition, GLib.Cancellable? 
cancellable = null);
+               public abstract int receive_messages ([CCode (array_length_cname = "num_messages", 
array_length_pos = 1.5, array_length_type = "guint")] GLib.InputMessage[] messages, int flags, int64 timeout, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public abstract int send_messages ([CCode (array_length_cname = "num_messages", 
array_length_pos = 1.5, array_length_type = "guint")] GLib.OutputMessage[] messages, int flags, int64 
timeout, GLib.Cancellable? cancellable = null) throws GLib.Error;
+       }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_drive_get_type ()")]
        public interface Drive : GLib.Object {
                public abstract bool can_eject ();
@@ -2882,7 +2886,7 @@ namespace GLib {
                public abstract bool can_poll ();
                public abstract GLib.PollableSource create_source (GLib.Cancellable? cancellable = null);
                public abstract bool is_writable ();
-               public abstract ssize_t write_nonblocking ([CCode (array_length_cname = "count", 
array_length_pos = 1.1, array_length_type = "gsize")] uint8[] buffer) throws GLib.Error;
+               public abstract ssize_t write_nonblocking ([CCode (array_length_cname = "count", 
array_length_pos = 1.1, array_length_type = "gsize")] uint8[]? buffer) throws GLib.Error;
        }
        [CCode (cheader_filename = "gio/gio.h", type_cname = "GProxyInterface", type_id = "g_proxy_get_type 
()")]
        public interface Proxy : GLib.Object {
@@ -2918,6 +2922,7 @@ namespace GLib {
        public interface SocketConnectable : GLib.Object {
                public abstract GLib.SocketAddressEnumerator enumerate ();
                public abstract GLib.SocketAddressEnumerator proxy_enumerate ();
+               public abstract string to_string ();
        }
        [CCode (cheader_filename = "gio/gio.h", type_cname = "GTlsBackendInterface", type_id = 
"g_tls_backend_get_type ()")]
        public interface TlsBackend : GLib.Object {
@@ -3023,6 +3028,18 @@ namespace GLib {
                public GLib.FileAttributeInfoFlags flags;
        }
        [CCode (cheader_filename = "gio/gio.h", has_type_id = false)]
+       public struct InputMessage {
+               public weak GLib.SocketAddress address;
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak GLib.InputVector[] vectors;
+               public uint num_vectors;
+               public size_t bytes_received;
+               public int flags;
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak GLib.SocketControlMessage[] control_messages;
+               public uint num_control_messages;
+       }
+       [CCode (cheader_filename = "gio/gio.h", has_type_id = false)]
        public struct InputVector {
                public void* buffer;
                public size_t size;
@@ -3701,7 +3718,8 @@ namespace GLib {
                PROXY_NOT_ALLOWED,
                BROKEN_PIPE,
                CONNECTION_CLOSED,
-               NOT_CONNECTED;
+               NOT_CONNECTED,
+               MESSAGE_TOO_LARGE;
                [CCode (cheader_filename = "gio/gio.h")]
                public static unowned GLib.IOError from_errno (int err_no);
                [CCode (cheader_filename = "gio/gio.h")]
@@ -3753,7 +3771,7 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 7.9)]
        public delegate bool DBusInterfaceSetPropertyFunc (GLib.DBusConnection connection, string sender, 
string object_path, string interface_name, string property_name, GLib.Variant value) throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 3.9)]
-       public delegate GLib.DBusMessage DBusMessageFilterFunction (GLib.DBusConnection connection, owned 
GLib.DBusMessage message, bool incoming);
+       public delegate GLib.DBusMessage? DBusMessageFilterFunction (GLib.DBusConnection connection, owned 
GLib.DBusMessage message, bool incoming);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 3.9)]
        public delegate GLib.Type DBusProxyTypeFunc (GLib.DBusObjectManagerClient manager, string 
object_path, string? interface_name);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 6.9)]
@@ -3764,6 +3782,8 @@ namespace GLib {
        public delegate string[] DBusSubtreeEnumerateFunc (GLib.DBusConnection connection, string sender, 
string object_path);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 4.9)]
        public delegate GLib.DBusInterfaceInfo DBusSubtreeIntrospectFunc (GLib.DBusConnection connection, 
string sender, string object_path, string node);
+       [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
+       public delegate bool DatagramBasedSourceFunc (GLib.DatagramBased datagram_based, GLib.IOCondition 
condition);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 4.9)]
        public delegate void FileMeasureProgressCallback (bool reporting, uint64 current_size, uint64 
num_dirs, uint64 num_files);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
diff --git a/vapi/gobject-introspection-1.0.vapi b/vapi/gobject-introspection-1.0.vapi
index d94a468..e65027a 100644
--- a/vapi/gobject-introspection-1.0.vapi
+++ b/vapi/gobject-introspection-1.0.vapi
@@ -269,6 +269,7 @@ namespace GI {
        public class VFuncInfo : GI.BaseInfo {
                [CCode (has_construct_function = false)]
                protected VFuncInfo ();
+               public static void* get_address (GI.VFuncInfo info, GLib.Type implementor_gtype) throws 
GLib.Error;
                public static GI.VFuncInfoFlags get_flags (GI.VFuncInfo info);
                public static GI.FunctionInfo get_invoker (GI.VFuncInfo info);
                public static int get_offset (GI.VFuncInfo info);
diff --git a/vapi/gstreamer-1.0.vapi b/vapi/gstreamer-1.0.vapi
index 1e246d6..77f569e 100644
--- a/vapi/gstreamer-1.0.vapi
+++ b/vapi/gstreamer-1.0.vapi
@@ -13,6 +13,8 @@ namespace Gst {
                [CCode (cheader_filename = "gst/gst.h")]
                public static void add_log_function (owned Gst.LogFunction func);
                [CCode (cheader_filename = "gst/gst.h")]
+               public static string bin_to_dot_data (Gst.Bin bin, Gst.DebugGraphDetails details);
+               [CCode (cheader_filename = "gst/gst.h")]
                public static void bin_to_dot_file (Gst.Bin bin, Gst.DebugGraphDetails details, string 
file_name);
                [CCode (cheader_filename = "gst/gst.h")]
                public static void bin_to_dot_file_with_ts (Gst.Bin bin, Gst.DebugGraphDetails details, 
string file_name);
@@ -36,7 +38,7 @@ namespace Gst {
                [PrintfFormat]
                public static void log (Gst.DebugCategory category, Gst.DebugLevel level, string file, string 
function, int line, GLib.Object? object, string format, ...);
                [CCode (cheader_filename = "gst/gst.h")]
-               public static void log_default (Gst.DebugCategory category, Gst.DebugLevel level, string 
file, string function, int line, GLib.Object? object, Gst.DebugMessage message, void* unused = null);
+               public static void log_default (Gst.DebugCategory category, Gst.DebugLevel level, string 
file, string function, int line, GLib.Object? object, Gst.DebugMessage message, void* user_data = null);
                [CCode (cheader_filename = "gst/gst.h")]
                public static void log_valist (Gst.DebugCategory category, Gst.DebugLevel level, string file, 
string function, int line, GLib.Object? object, string format, va_list args);
                [CCode (cheader_filename = "gst/gst.h")]
@@ -65,12 +67,16 @@ namespace Gst {
        namespace ElementFactoryKlass {
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_DECODER")]
                public const string DECODER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_DECRYPTOR")]
+               public const string DECRYPTOR;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_DEMUXER")]
                public const string DEMUXER;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_DEPAYLOADER")]
                public const string DEPAYLOADER;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_ENCODER")]
                public const string ENCODER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_ENCRYPTOR")]
+               public const string ENCRYPTOR;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_FORMATTER")]
                public const string FORMATTER;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_AUDIO")]
@@ -105,12 +111,16 @@ namespace Gst {
                public const int DECODABLE;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DECODER")]
                public const int DECODER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DECRYPTOR")]
+               public const int DECRYPTOR;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DEMUXER")]
                public const int DEMUXER;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER")]
                public const int DEPAYLOADER;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_ENCODER")]
                public const int ENCODER;
+               [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_ENCRYPTOR")]
+               public const int ENCRYPTOR;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_FORMATTER")]
                public const int FORMATTER;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS")]
@@ -336,6 +346,8 @@ namespace Gst {
                [CCode (cheader_filename = "gst/gst.h")]
                public static GLib.Quark error_quark ();
                [CCode (cheader_filename = "gst/gst.h")]
+               public static Gst.Uri? from_string (string uri);
+               [CCode (cheader_filename = "gst/gst.h")]
                public static string get_location (string uri);
                [CCode (cheader_filename = "gst/gst.h")]
                public static string get_protocol (string uri);
@@ -344,6 +356,8 @@ namespace Gst {
                [CCode (cheader_filename = "gst/gst.h")]
                public static bool is_valid (string uri);
                [CCode (cheader_filename = "gst/gst.h")]
+               public static string join_strings (string base_uri, string ref_uri);
+               [CCode (cheader_filename = "gst/gst.h")]
                public static bool protocol_is_supported (Gst.URIType type, string protocol);
                [CCode (cheader_filename = "gst/gst.h")]
                public static bool protocol_is_valid (string protocol);
@@ -426,6 +440,10 @@ namespace Gst {
                [CCode (cheader_filename = "gst/gst.h")]
                public static double get_double_range_min (GLib.Value value);
                [CCode (cheader_filename = "gst/gst.h")]
+               public static uint get_flagset_flags (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
+               public static uint get_flagset_mask (GLib.Value value);
+               [CCode (cheader_filename = "gst/gst.h")]
                public static int get_fraction_denominator (GLib.Value value);
                [CCode (cheader_filename = "gst/gst.h")]
                public static int get_fraction_numerator (GLib.Value value);
@@ -468,6 +486,8 @@ namespace Gst {
                [CCode (cheader_filename = "gst/gst.h")]
                public static void set_double_range (GLib.Value value, double start, double end);
                [CCode (cheader_filename = "gst/gst.h")]
+               public static void set_flagset (GLib.Value value, uint flags, uint mask);
+               [CCode (cheader_filename = "gst/gst.h")]
                public static void set_fraction (GLib.Value value, int numerator, int denominator);
                [CCode (cheader_filename = "gst/gst.h")]
                public static void set_fraction_range (GLib.Value value, GLib.Value start, GLib.Value end);
@@ -503,9 +523,12 @@ namespace Gst {
        public abstract class Allocator : Gst.Object {
                public weak Gst.MemoryCopyFunction mem_copy;
                public weak Gst.MemoryIsSpanFunction mem_is_span;
+               public weak Gst.MemoryMapFunction mem_map;
+               public weak Gst.MemoryMapFullFunction mem_map_full;
                public weak Gst.MemoryShareFunction mem_share;
                public weak string mem_type;
                public weak Gst.MemoryUnmapFunction mem_unmap;
+               public weak Gst.MemoryUnmapFullFunction mem_unmap_full;
                [CCode (has_construct_function = false)]
                protected Allocator ();
                public virtual Gst.Memory alloc (size_t size, Gst.AllocationParams? @params);
@@ -561,6 +584,7 @@ namespace Gst {
                [NoWrapper]
                public virtual bool remove_element (Gst.Element element);
                public void remove_many (params Gst.Element[] elements);
+               public bool sync_children_states ();
                [NoAccessorMethod]
                public bool async_handling { get; set; }
                [NoAccessorMethod]
@@ -586,11 +610,14 @@ namespace Gst {
                [CCode (has_construct_function = false)]
                public Buffer ();
                public unowned Gst.Meta? add_meta (Gst.MetaInfo info, void* @params);
+               public unowned Gst.ParentBufferMeta? add_parent_buffer_meta (Gst.Buffer @ref);
+               public unowned Gst.ProtectionMeta? add_protection_meta (owned Gst.Structure info);
                [CCode (has_construct_function = false)]
                public Buffer.allocate (Gst.Allocator? allocator, size_t size, Gst.AllocationParams? @params);
                public Gst.Buffer append (owned Gst.Buffer buf2);
                public void append_memory (owned Gst.Memory mem);
                public Gst.Buffer append_region (owned Gst.Buffer buf2, ssize_t offset, ssize_t size);
+               public Gst.Buffer copy_deep ();
                public bool copy_into (Gst.Buffer src, Gst.BufferCopyFlags flags, size_t offset, size_t size);
                public Gst.Buffer copy_region (Gst.BufferCopyFlags flags, size_t offset, size_t size);
                public size_t extract (size_t offset, void* dest, size_t size);
@@ -638,6 +665,7 @@ namespace Gst {
        public class BufferList : Gst.MiniObject {
                [CCode (has_construct_function = false)]
                public BufferList ();
+               public Gst.BufferList copy_deep ();
                public bool @foreach (Gst.BufferListFunc func);
                public unowned Gst.Buffer? @get (uint idx);
                public void insert (int idx, owned Gst.Buffer buffer);
@@ -655,7 +683,7 @@ namespace Gst {
                [NoWrapper]
                public virtual Gst.FlowReturn alloc_buffer (Gst.Buffer buffer, Gst.BufferPoolAcquireParams 
@params);
                public static void config_add_option (Gst.Structure config, string option);
-               public static bool config_get_allocator (Gst.Structure config, Gst.Allocator allocator, 
Gst.AllocationParams @params);
+               public static bool config_get_allocator (Gst.Structure config, out unowned Gst.Allocator 
allocator, out unowned Gst.AllocationParams @params);
                public static unowned string config_get_option (Gst.Structure config, uint index);
                public static bool config_get_params (Gst.Structure config, out unowned Gst.Caps caps, out 
uint size, out uint min_buffers, out uint max_buffers);
                public static bool config_has_option (Gst.Structure config, string option);
@@ -704,6 +732,7 @@ namespace Gst {
                public Gst.Message? pop_filtered (Gst.MessageType types);
                public bool post (owned Gst.Message message);
                public void remove_signal_watch ();
+               public bool remove_watch ();
                public void set_flushing (bool flushing);
                public void set_sync_handler (owned Gst.BusSyncHandler? func);
                public Gst.BusSyncReply sync_signal_handler (Gst.Message message, void* data);
@@ -727,7 +756,9 @@ namespace Gst {
                public Caps.empty ();
                [CCode (has_construct_function = false)]
                public Caps.empty_simple (string media_type);
+               public void filter_and_map_in_place (Gst.CapsFilterMapFunc func);
                public Gst.Caps fixate ();
+               public bool @foreach (Gst.CapsForeachFunc func);
                public static Gst.Caps from_string (string string);
                [CCode (has_construct_function = false)]
                public Caps.full (params Gst.Structure[] structure);
@@ -748,6 +779,7 @@ namespace Gst {
                public bool is_subset (Gst.Caps superset);
                public bool is_subset_structure (Gst.Structure structure);
                public bool is_subset_structure_full (Gst.Structure structure, Gst.CapsFeatures? features);
+               public bool map_in_place (Gst.CapsMapFunc func);
                public Gst.Caps merge (owned Gst.Caps caps2);
                public Gst.Caps merge_structure (owned Gst.Structure structure);
                public Gst.Caps merge_structure_full (owned Gst.Structure structure, owned Gst.CapsFeatures? 
features);
@@ -800,7 +832,9 @@ namespace Gst {
                [CCode (has_construct_function = false)]
                protected Clock ();
                public bool add_observation (Gst.ClockTime slave, Gst.ClockTime master, out double r_squared);
+               public bool add_observation_unapplied (Gst.ClockTime slave, Gst.ClockTime master, out double 
r_squared, out Gst.ClockTime @internal, out Gst.ClockTime external, out Gst.ClockTime rate_num, out 
Gst.ClockTime rate_denom);
                public Gst.ClockTime adjust_unlocked (Gst.ClockTime @internal);
+               public Gst.ClockTime adjust_with_calibration (Gst.ClockTime internal_target, Gst.ClockTime 
cinternal, Gst.ClockTime cexternal, Gst.ClockTime cnum, Gst.ClockTime cdenom);
                [NoWrapper]
                public virtual Gst.ClockTime change_resolution (Gst.ClockTime old_resolution, Gst.ClockTime 
new_resolution);
                public void get_calibration (out Gst.ClockTime @internal, out Gst.ClockTime external, out 
Gst.ClockTime rate_num, out Gst.ClockTime rate_denom);
@@ -816,12 +850,14 @@ namespace Gst {
                public static void id_unschedule (Gst.ClockID id);
                public static Gst.ClockReturn id_wait (Gst.ClockID id, out Gst.ClockTimeDiff jitter);
                public static Gst.ClockReturn id_wait_async (Gst.ClockID id, owned Gst.ClockCallback func);
+               public bool is_synced ();
                public Gst.ClockID new_periodic_id (Gst.ClockTime start_time, Gst.ClockTime interval);
                public Gst.ClockID new_single_shot_id (Gst.ClockTime time);
                public bool periodic_id_reinit (Gst.ClockID id, Gst.ClockTime start_time, Gst.ClockTime 
interval);
                public void set_calibration (Gst.ClockTime @internal, Gst.ClockTime external, Gst.ClockTime 
rate_num, Gst.ClockTime rate_denom);
                public bool set_master (Gst.Clock? master);
                public Gst.ClockTime set_resolution (Gst.ClockTime resolution);
+               public void set_synced (bool synced);
                public void set_timeout (Gst.ClockTime timeout);
                public bool single_shot_id_reinit (Gst.ClockID id, Gst.ClockTime time);
                public Gst.ClockTime unadjust_unlocked (Gst.ClockTime external);
@@ -831,11 +867,13 @@ namespace Gst {
                public virtual Gst.ClockReturn wait (Gst.ClockEntry entry, Gst.ClockTimeDiff jitter);
                [NoWrapper]
                public virtual Gst.ClockReturn wait_async (Gst.ClockEntry entry);
+               public bool wait_for_sync (Gst.ClockTime timeout);
                public uint64 timeout { get; set; }
                [NoAccessorMethod]
                public int window_size { get; set; }
                [NoAccessorMethod]
                public int window_threshold { get; set; }
+               public signal void synced (bool synced);
        }
        [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gst_context_get_type ()")]
        [Compact]
@@ -927,12 +965,14 @@ namespace Gst {
                public Gst.Caps get_caps ();
                public string get_device_class ();
                public string get_display_name ();
+               public Gst.Structure get_properties ();
                public bool has_classes (string classes);
                public bool has_classesv ([CCode (array_length = false, array_null_terminated = true)] 
string[] classes);
                public virtual bool reconfigure_element (Gst.Element element);
                public Gst.Caps caps { owned get; construct; }
                public string device_class { owned get; construct; }
                public string display_name { owned get; construct; }
+               public Gst.Structure properties { owned get; construct; }
                public signal void removed ();
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_monitor_get_type ()")]
@@ -942,9 +982,15 @@ namespace Gst {
                public uint add_filter (string? classes, Gst.Caps? caps);
                public Gst.Bus get_bus ();
                public GLib.List<Gst.Device> get_devices ();
+               [CCode (array_length = false, array_null_terminated = true)]
+               public string[] get_providers ();
+               public bool get_show_all_devices ();
                public bool remove_filter (uint filter_id);
+               public void set_show_all_devices (bool show_all);
                public bool start ();
                public void stop ();
+               [NoAccessorMethod]
+               public bool show_all { get; set; }
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_provider_get_type ()")]
        public abstract class DeviceProvider : Gst.Object {
@@ -961,8 +1007,11 @@ namespace Gst {
                public Gst.Bus get_bus ();
                public GLib.List<Gst.Device> get_devices ();
                public unowned Gst.DeviceProviderFactory get_factory ();
+               [CCode (array_length = false, array_null_terminated = true)]
+               public string[] get_hidden_providers ();
                [CCode (cname = "gst_device_provider_class_get_metadata")]
                public class unowned string get_metadata (string key);
+               public void hide_provider (string name);
                public static bool register (Gst.Plugin? plugin, string name, uint rank, GLib.Type type);
                [CCode (cname = "gst_device_provider_class_set_metadata")]
                public class void set_metadata (string longname, string classification, string description, 
string author);
@@ -970,6 +1019,9 @@ namespace Gst {
                public class void set_static_metadata (owned string longname, owned string classification, 
owned string description, owned string author);
                public virtual bool start ();
                public virtual void stop ();
+               public void unhide_provider (string name);
+               public signal void provider_hidden (string object);
+               public signal void provider_unhidden (string object);
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_provider_factory_get_type ()")]
        public class DeviceProviderFactory : Gst.PluginFeature {
@@ -1066,9 +1118,8 @@ namespace Gst {
                public virtual void release_pad (Gst.Pad pad);
                public void release_request_pad (Gst.Pad pad);
                public bool remove_pad (owned Gst.Pad pad);
-               [NoWrapper]
-               public virtual Gst.Pad? request_new_pad (Gst.PadTemplate templ, string name, Gst.Caps caps);
-               public Gst.Pad? request_pad (Gst.PadTemplate templ, string? name, Gst.Caps? caps);
+               [CCode (vfunc_name = "request_new_pad")]
+               public virtual Gst.Pad? request_pad (Gst.PadTemplate templ, string? name, Gst.Caps? caps);
                public bool seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType 
start_type, int64 start, Gst.SeekType stop_type, int64 stop);
                public bool seek_simple (Gst.Format format, Gst.SeekFlags seek_flags, int64 seek_pos);
                public virtual bool send_event (owned Gst.Event event);
@@ -1158,6 +1209,7 @@ namespace Gst {
                public void parse_gap (out Gst.ClockTime timestamp, out Gst.ClockTime duration);
                public bool parse_group_id (out uint group_id);
                public void parse_latency (out Gst.ClockTime latency);
+               public void parse_protection (out unowned string system_id, out unowned Gst.Buffer data, 
string? origin);
                public void parse_qos (out Gst.QOSType type, out double proportion, out Gst.ClockTimeDiff 
diff, out Gst.ClockTime timestamp);
                public void parse_seek (out double rate, out Gst.Format format, out Gst.SeekFlags flags, out 
Gst.SeekType start_type, out int64 start, out Gst.SeekType stop_type, out int64 stop);
                public void parse_segment (out unowned Gst.Segment segment);
@@ -1170,6 +1222,8 @@ namespace Gst {
                public void parse_toc (out Gst.Toc toc, out bool updated);
                public void parse_toc_select (out string uid);
                [CCode (has_construct_function = false)]
+               public Event.protection (string system_id, Gst.Buffer data, string origin);
+               [CCode (has_construct_function = false)]
                public Event.qos (Gst.QOSType type, double proportion, Gst.ClockTimeDiff diff, Gst.ClockTime 
timestamp);
                [CCode (has_construct_function = false)]
                public Event.reconfigure ();
@@ -1197,6 +1251,12 @@ namespace Gst {
                public Event.toc_select (string uid);
                public unowned Gst.Structure writable_structure ();
        }
+       [CCode (cheader_filename = "gst/gst.h", lower_case_csuffix = "flagset", type_id = 
"gst_flagset_get_type ()")]
+       public class FlagSet {
+               [CCode (has_construct_function = false)]
+               protected FlagSet ();
+               public static GLib.Type register (GLib.Type flags_type);
+       }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_fraction_get_type ()")]
        public class Fraction {
                [CCode (has_construct_function = false)]
@@ -1285,45 +1345,45 @@ namespace Gst {
                public uint64 timestamp;
                public Gst.MessageType type;
                [CCode (has_construct_function = false)]
-               public Message.application (Gst.Object src, owned Gst.Structure structure);
+               public Message.application (Gst.Object? src, owned Gst.Structure structure);
                [CCode (has_construct_function = false)]
-               public Message.async_done (Gst.Object src, Gst.ClockTime running_time);
+               public Message.async_done (Gst.Object? src, Gst.ClockTime running_time);
                [CCode (has_construct_function = false)]
-               public Message.async_start (Gst.Object src);
+               public Message.async_start (Gst.Object? src);
                [CCode (has_construct_function = false)]
-               public Message.buffering (Gst.Object src, int percent);
+               public Message.buffering (Gst.Object? src, int percent);
                [CCode (has_construct_function = false)]
-               public Message.clock_lost (Gst.Object src, Gst.Clock clock);
+               public Message.clock_lost (Gst.Object? src, Gst.Clock clock);
                [CCode (has_construct_function = false)]
-               public Message.clock_provide (Gst.Object src, Gst.Clock clock, bool ready);
+               public Message.clock_provide (Gst.Object? src, Gst.Clock clock, bool ready);
                [CCode (has_construct_function = false)]
-               public Message.custom (Gst.MessageType type, Gst.Object src, owned Gst.Structure? structure);
+               public Message.custom (Gst.MessageType type, Gst.Object? src, owned Gst.Structure? structure);
                [CCode (has_construct_function = false)]
                public Message.device_added (Gst.Object src, Gst.Device device);
                [CCode (has_construct_function = false)]
                public Message.device_removed (Gst.Object src, Gst.Device device);
                [CCode (has_construct_function = false)]
-               public Message.duration_changed (Gst.Object src);
+               public Message.duration_changed (Gst.Object? src);
                [CCode (has_construct_function = false)]
-               public Message.element (Gst.Object src, owned Gst.Structure structure);
+               public Message.element (Gst.Object? src, owned Gst.Structure structure);
                [CCode (has_construct_function = false)]
-               public Message.eos (Gst.Object src);
+               public Message.eos (Gst.Object? src);
                [CCode (has_construct_function = false)]
-               public Message.error (Gst.Object src, GLib.Error error, string debug);
+               public Message.error (Gst.Object? src, GLib.Error error, string debug);
                public uint32 get_seqnum ();
                public unowned GLib.Value? get_stream_status_object ();
                public unowned Gst.Structure get_structure ();
                public bool has_name (string name);
                [CCode (has_construct_function = false)]
-               public Message.have_context (Gst.Object src, owned Gst.Context context);
+               public Message.have_context (Gst.Object? src, owned Gst.Context context);
                [CCode (has_construct_function = false)]
-               public Message.info (Gst.Object src, GLib.Error error, string debug);
+               public Message.info (Gst.Object? src, GLib.Error error, string debug);
                [CCode (has_construct_function = false)]
-               public Message.latency (Gst.Object src);
+               public Message.latency (Gst.Object? src);
                [CCode (has_construct_function = false)]
-               public Message.need_context (Gst.Object src, string context_type);
+               public Message.need_context (Gst.Object? src, string context_type);
                [CCode (has_construct_function = false)]
-               public Message.new_clock (Gst.Object src, Gst.Clock clock);
+               public Message.new_clock (Gst.Object? src, Gst.Clock clock);
                public void parse_async_done (out Gst.ClockTime running_time);
                public void parse_buffering (out int percent);
                public void parse_buffering_stats (out Gst.BufferingMode mode, out int avg_in, out int 
avg_out, out int64 buffering_left);
@@ -1358,13 +1418,13 @@ namespace Gst {
                [CCode (has_construct_function = false)]
                public Message.qos (Gst.Object src, bool live, uint64 running_time, uint64 stream_time, 
uint64 timestamp, uint64 duration);
                [CCode (has_construct_function = false)]
-               public Message.request_state (Gst.Object src, Gst.State state);
+               public Message.request_state (Gst.Object? src, Gst.State state);
                [CCode (has_construct_function = false)]
-               public Message.reset_time (Gst.Object src, Gst.ClockTime running_time);
+               public Message.reset_time (Gst.Object? src, Gst.ClockTime running_time);
                [CCode (has_construct_function = false)]
-               public Message.segment_done (Gst.Object src, Gst.Format format, int64 position);
+               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 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_group_id (uint group_id);
                public void set_qos_stats (Gst.Format format, uint64 processed, uint64 dropped);
@@ -1372,25 +1432,25 @@ namespace Gst {
                public void set_seqnum (uint32 seqnum);
                public void set_stream_status_object (GLib.Value object);
                [CCode (has_construct_function = false)]
-               public Message.state_changed (Gst.Object src, Gst.State oldstate, Gst.State newstate, 
Gst.State pending);
+               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);
+               public Message.state_dirty (Gst.Object? src);
                [CCode (has_construct_function = false)]
                public Message.step_done (Gst.Object src, Gst.Format format, uint64 amount, double rate, bool 
flush, bool intermediate, uint64 duration, bool eos);
                [CCode (has_construct_function = false)]
                public Message.step_start (Gst.Object src, bool active, Gst.Format format, uint64 amount, 
double rate, bool flush, bool intermediate);
                [CCode (has_construct_function = false)]
-               public Message.stream_start (Gst.Object src);
+               public Message.stream_start (Gst.Object? src);
                [CCode (has_construct_function = false)]
                public Message.stream_status (Gst.Object src, Gst.StreamStatusType type, Gst.Element owner);
                [CCode (has_construct_function = false)]
-               public Message.structure_change (Gst.Object src, Gst.StructureChangeType type, Gst.Element 
owner, bool busy);
+               public Message.structure_change (Gst.Object? src, Gst.StructureChangeType type, Gst.Element 
owner, bool busy);
                [CCode (has_construct_function = false)]
-               public Message.tag (Gst.Object src, owned Gst.TagList tag_list);
+               public Message.tag (Gst.Object? src, owned Gst.TagList tag_list);
                [CCode (has_construct_function = false)]
                public Message.toc (Gst.Object src, Gst.Toc toc, bool updated);
                [CCode (has_construct_function = false)]
-               public Message.warning (Gst.Object src, GLib.Error error, string debug);
+               public Message.warning (Gst.Object? src, GLib.Error error, string debug);
        }
        [CCode (cheader_filename = "gst/gst.h", get_value_function = "g_value_get_boxed", ref_function = 
"gst_mini_object_ref", set_value_function = "g_value_set_boxed", take_value_function = "g_value_take_boxed", 
unref_function = "gst_mini_object_unref")]
        [Compact]
@@ -1436,7 +1496,10 @@ namespace Gst {
                public GLib.Value? get_value (string property_name, Gst.ClockTime timestamp);
                public bool get_value_array (string property_name, Gst.ClockTime timestamp, Gst.ClockTime 
interval, uint n_values, void* values);
                public bool has_active_control_bindings ();
+               [Deprecated]
                public bool has_ancestor (Gst.Object ancestor);
+               public bool has_as_ancestor (Gst.Object ancestor);
+               public bool has_as_parent (Gst.Object parent);
                public Gst.Object @ref ();
                public bool remove_control_binding (Gst.ControlBinding binding);
                public static bool replace (ref Gst.Object? oldobj, Gst.Object? newobj);
@@ -1556,6 +1619,7 @@ namespace Gst {
                [NoAccessorMethod]
                public Gst.Caps caps { owned get; }
                public Gst.PadDirection direction { get; construct; }
+               public int64 offset { get; set; }
                [NoAccessorMethod]
                public Gst.PadTemplate template { owned get; set; }
                public virtual signal void linked (Gst.Pad peer);
@@ -1601,12 +1665,16 @@ namespace Gst {
                public Gst.Bus get_bus ();
                public Gst.Clock get_clock ();
                public Gst.ClockTime get_delay ();
+               public Gst.ClockTime get_latency ();
+               public Gst.Clock get_pipeline_clock ();
                public void set_auto_flush_bus (bool auto_flush);
                public bool set_clock (Gst.Clock clock);
                public void set_delay (Gst.ClockTime delay);
+               public void set_latency (Gst.ClockTime latency);
                public void use_clock (Gst.Clock? clock);
                public bool auto_flush_bus { get; set; }
                public uint64 delay { get; set; }
+               public uint64 latency { get; set; }
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_plugin_get_type ()")]
        public class Plugin : Gst.Object {
@@ -1818,9 +1886,11 @@ namespace Gst {
                [CCode (has_construct_function = false)]
                public Sample (Gst.Buffer? buffer, Gst.Caps? caps, Gst.Segment? segment, owned Gst.Structure? 
info);
                public unowned Gst.Buffer? get_buffer ();
+               public unowned Gst.BufferList? get_buffer_list ();
                public unowned Gst.Caps? get_caps ();
                public unowned Gst.Structure get_info ();
                public unowned Gst.Segment get_segment ();
+               public void set_buffer_list (Gst.BufferList buffer_list);
        }
        [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_segment_copy", free_function = 
"gst_segment_free", type_id = "gst_segment_get_type ()")]
        [Compact]
@@ -1844,10 +1914,12 @@ namespace Gst {
                public bool do_seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType 
start_type, uint64 start, Gst.SeekType stop_type, uint64 stop, bool update);
                public void free ();
                public void init (Gst.Format format);
+               public bool is_equal (Gst.Segment s1);
                public bool offset_running_time (Gst.Format format, int64 offset);
                public bool set_running_time (Gst.Format format, uint64 running_time);
                public uint64 to_position (Gst.Format format, uint64 running_time);
                public uint64 to_running_time (Gst.Format format, uint64 position);
+               public int to_running_time_full (Gst.Format format, uint64 position, uint64 running_time);
                public uint64 to_stream_time (Gst.Format format, uint64 position);
        }
        [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_structure_copy", free_function = 
"gst_structure_free", type_id = "gst_structure_get_type ()")]
@@ -1860,6 +1932,7 @@ namespace Gst {
                public Gst.Structure copy ();
                [CCode (has_construct_function = false)]
                public Structure.empty (string name);
+               public void filter_and_map_in_place (Gst.StructureFilterMapFunc func);
                public void fixate ();
                public bool fixate_field (string field_name);
                public bool fixate_field_boolean (string field_name, bool target);
@@ -1878,6 +1951,7 @@ namespace Gst {
                public bool get_double (string fieldname, out double value);
                public bool get_enum (string fieldname, GLib.Type enumtype, out int value);
                public GLib.Type get_field_type (string fieldname);
+               public bool get_flagset (string fieldname, out uint value_flags, out uint value_mask);
                public bool get_fraction (string fieldname, out int value_numerator, out int 
value_denominator);
                public bool get_int (string fieldname, out int value);
                public bool get_int64 (string fieldname, out int64 value);
@@ -2063,6 +2137,48 @@ namespace Gst {
                public static GLib.List<Gst.TypeFindFactory> get_list ();
                public bool has_function ();
        }
+       [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gst_uri_get_type ()")]
+       [Compact]
+       public class Uri {
+               [CCode (has_construct_function = false)]
+               public Uri (string? scheme, string? userinfo, string? host, uint port, string? path, string? 
query, string? fragment);
+               public bool append_path (string relative_path);
+               public bool append_path_segment (string path_segment);
+               public bool equal (Gst.Uri second);
+               public Gst.Uri from_string_with_base (string uri);
+               public unowned string get_fragment ();
+               public unowned string get_host ();
+               public string get_path ();
+               public GLib.List<string> get_path_segments ();
+               public string get_path_string ();
+               public uint get_port ();
+               public GLib.List<weak string> get_query_keys ();
+               public string get_query_string ();
+               public GLib.HashTable<string,string> get_query_table ();
+               public unowned string get_query_value (string query_key);
+               public unowned string get_scheme ();
+               public unowned string get_userinfo ();
+               public bool is_normalized ();
+               public bool is_writable ();
+               public Gst.Uri join (Gst.Uri? ref_uri);
+               public Gst.Uri make_writable ();
+               public Gst.Uri new_with_base (string? scheme, string? userinfo, string? host, uint port, 
string? path, string? query, string? fragment);
+               public bool normalize ();
+               public bool query_has_key (string query_key);
+               public bool remove_query_key (string query_key);
+               public bool set_fragment (string? fragment);
+               public bool set_host (string host);
+               public bool set_path (string path);
+               public bool set_path_segments (owned GLib.List<string>? path_segments);
+               public bool set_path_string (string path);
+               public bool set_port (uint port);
+               public bool set_query_string (string query);
+               public bool set_query_table (GLib.HashTable<string,string>? query_table);
+               public bool set_query_value (string query_key, string? query_value);
+               public bool set_scheme (string scheme);
+               public bool set_userinfo (string userinfo);
+               public string to_string ();
+       }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_value_array_get_type ()")]
        public class ValueArray {
                [CCode (has_construct_function = false)]
@@ -2111,6 +2227,7 @@ namespace Gst {
                public abstract string[] get_preset_names ();
                [CCode (array_length = false, array_null_terminated = true)]
                public abstract string[] get_property_names ();
+               public bool is_editable ();
                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);
@@ -2242,8 +2359,12 @@ namespace Gst {
                public void* data;
                public uint64 offset;
                public uint size;
+               [CCode (array_length = false, array_null_terminated = true, cname = "ABI._gst_reserved")]
+               public weak void*[] ABI__gst_reserved;
+               [CCode (cname = "ABI.abi.flow_ret")]
+               public Gst.FlowReturn ABI_abi_flow_ret;
                public unowned Gst.Buffer get_buffer ();
-               public Gst.BufferList get_buffer_list ();
+               public unowned Gst.BufferList get_buffer_list ();
                public unowned Gst.Event get_event ();
                public unowned Gst.Query get_query ();
        }
@@ -2258,6 +2379,13 @@ namespace Gst {
                public int def_den;
        }
        [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct ParentBufferMeta {
+               public Gst.Meta parent;
+               public weak Gst.Buffer buffer;
+               public static GLib.Type api_get_type ();
+               public static unowned Gst.MetaInfo? get_info ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
        public struct PluginDesc {
                public int major_version;
                public int minor_version;
@@ -2277,6 +2405,13 @@ namespace Gst {
                public void init ();
        }
        [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
+       public struct ProtectionMeta {
+               public Gst.Meta meta;
+               public weak Gst.Structure info;
+               public static GLib.Type api_get_type ();
+               public static unowned Gst.MetaInfo? get_info ();
+       }
+       [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
        public struct StaticCaps {
                public weak Gst.Caps caps;
                public weak global::string string;
@@ -2353,6 +2488,7 @@ namespace Gst {
                DROPPABLE,
                DELTA_UNIT,
                TAG_MEMORY,
+               SYNC_AFTER,
                LAST
        }
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_POOL_ACQUIRE_FLAG_", type_id = 
"gst_buffer_pool_acquire_flags_get_type ()")]
@@ -2407,6 +2543,7 @@ namespace Gst {
                CAN_DO_PERIODIC_ASYNC,
                CAN_SET_RESOLUTION,
                CAN_SET_MASTER,
+               NEEDS_STARTUP_SYNC,
                LAST
        }
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_", type_id = "gst_clock_return_get_type 
()")]
@@ -2460,7 +2597,9 @@ namespace Gst {
                CAPS_DETAILS,
                NON_DEFAULT_PARAMS,
                STATES,
-               ALL
+               FULL_PARAMS,
+               ALL,
+               VERBOSE
        }
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LEVEL_", type_id = "gst_debug_level_get_type 
()")]
        public enum DebugLevel {
@@ -2499,6 +2638,7 @@ namespace Gst {
                SINK_MESSAGE,
                EOS,
                TOC,
+               PROTECTION,
                SEGMENT_DONE,
                GAP,
                QOS,
@@ -2685,6 +2825,7 @@ namespace Gst {
                PROXY_ALLOCATION,
                PROXY_SCHEDULING,
                ACCEPT_INTERSECT,
+               ACCEPT_TEMPLATE,
                LAST
        }
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_LINK_CHECK_", type_id = 
"gst_pad_link_check_get_type ()")]
@@ -2724,7 +2865,8 @@ namespace Gst {
                DROP,
                OK,
                REMOVE,
-               PASS
+               PASS,
+               HANDLED
        }
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_PROBE_TYPE_", type_id = 
"gst_pad_probe_type_get_type ()")]
        [Flags]
@@ -2858,10 +3000,13 @@ namespace Gst {
                ACCURATE,
                KEY_UNIT,
                SEGMENT,
+               TRICKMODE,
                SKIP,
                SNAP_BEFORE,
                SNAP_AFTER,
-               SNAP_NEAREST
+               SNAP_NEAREST,
+               TRICKMODE_KEY_UNITS,
+               TRICKMODE_NO_AUDIO
        }
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEEK_TYPE_", type_id = "gst_seek_type_get_type 
()")]
        public enum SeekType {
@@ -2874,8 +3019,11 @@ namespace Gst {
        public enum SegmentFlags {
                NONE,
                RESET,
+               TRICKMODE,
                SKIP,
-               SEGMENT
+               SEGMENT,
+               TRICKMODE_KEY_UNITS,
+               TRICKMODE_NO_AUDIO
        }
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_", type_id = "gst_state_get_type ()")]
        public enum State {
@@ -3093,6 +3241,12 @@ namespace Gst {
        public delegate bool BusFunc (Gst.Bus bus, Gst.Message message);
        [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
        public delegate Gst.BusSyncReply BusSyncHandler (Gst.Bus bus, Gst.Message message);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
+       public delegate bool CapsFilterMapFunc (Gst.CapsFeatures features, Gst.Structure structure);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
+       public delegate bool CapsForeachFunc (Gst.CapsFeatures features, Gst.Structure structure);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
+       public delegate bool CapsMapFunc (Gst.CapsFeatures features, Gst.Structure structure);
        [CCode (cheader_filename = "gst/gst.h", instance_pos = 3.9)]
        public delegate bool ClockCallback (Gst.Clock clock, Gst.ClockTime time, Gst.ClockID id);
        [CCode (cheader_filename = "gst/gst.h", has_target = false)]
@@ -3124,8 +3278,14 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h", has_target = false)]
        public delegate bool MemoryIsSpanFunction (Gst.Memory mem1, Gst.Memory mem2, size_t offset);
        [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate void* MemoryMapFullFunction (Gst.Memory mem, Gst.MapInfo info, size_t maxsize);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate void* MemoryMapFunction (Gst.Memory mem, size_t maxsize, Gst.MapFlags flags);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
        public delegate Gst.Memory MemoryShareFunction (Gst.Memory mem, ssize_t offset, ssize_t size);
        [CCode (cheader_filename = "gst/gst.h", has_target = false)]
+       public delegate void MemoryUnmapFullFunction (Gst.Memory mem, Gst.MapInfo info);
+       [CCode (cheader_filename = "gst/gst.h", has_target = false)]
        public delegate void MemoryUnmapFunction (Gst.Memory mem);
        [CCode (cheader_filename = "gst/gst.h", has_target = false)]
        public delegate void MetaFreeFunction (Gst.Meta meta, Gst.Buffer buffer);
@@ -3174,6 +3334,8 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h", has_target = false)]
        public delegate bool PluginInitFunc (Gst.Plugin plugin);
        [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
+       public delegate bool StructureFilterMapFunc (GLib.Quark field_id, GLib.Value value);
+       [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
        public delegate bool StructureForeachFunc (GLib.Quark field_id, GLib.Value value);
        [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)]
        public delegate bool StructureMapFunc (GLib.Quark field_id, GLib.Value value);
@@ -3227,6 +3389,8 @@ namespace Gst {
        public const int EVENT_NUM_SHIFT;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_EVENT_TYPE_BOTH")]
        public const int EVENT_TYPE_BOTH;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_FLAG_SET_MASK_EXACT")]
+       public const uint FLAG_SET_MASK_EXACT;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_FORMAT_PERCENT_MAX")]
        public const int64 FORMAT_PERCENT_MAX;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_FORMAT_PERCENT_SCALE")]
@@ -3255,6 +3419,8 @@ namespace Gst {
        public const int PARAM_MUTABLE_READY;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_USER_SHIFT")]
        public const int PARAM_USER_SHIFT;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PROTECTION_SYSTEM_ID_CAPS_FIELD")]
+       public const string PROTECTION_SYSTEM_ID_CAPS_FIELD;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_PTR_FORMAT")]
        public const string PTR_FORMAT;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_QUERY_NUM_SHIFT")]
@@ -3265,10 +3431,14 @@ namespace Gst {
        public const int SECOND;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_SEGMENT_FORMAT")]
        public const string SEGMENT_FORMAT;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_STIME_FORMAT")]
+       public const string STIME_FORMAT;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_TIME_FORMAT")]
        public const string TIME_FORMAT;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_TOC_REPEAT_COUNT_INFINITE")]
        public const int TOC_REPEAT_COUNT_INFINITE;
+       [CCode (cheader_filename = "gst/gst.h", cname = "GST_URI_NO_PORT")]
+       public const int URI_NO_PORT;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_USECOND")]
        public const int USECOND;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_EQUAL")]
@@ -3318,6 +3488,8 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h")]
        public static bool preset_set_app_dir (string app_dir);
        [CCode (cheader_filename = "gst/gst.h")]
+       public static unowned string protection_select_system (string system_identifiers);
+       [CCode (cheader_filename = "gst/gst.h")]
        public static bool segtrap_is_enabled ();
        [CCode (cheader_filename = "gst/gst.h")]
        public static void segtrap_set_enabled (bool enabled);
diff --git a/vapi/gstreamer-allocators-1.0.vapi b/vapi/gstreamer-allocators-1.0.vapi
index 6db1c6e..40c24e2 100644
--- a/vapi/gstreamer-allocators-1.0.vapi
+++ b/vapi/gstreamer-allocators-1.0.vapi
@@ -3,15 +3,36 @@
 [CCode (cprefix = "Gst", gir_namespace = "GstAllocators", gir_version = "1.0", lower_case_cprefix = "gst_")]
 namespace Gst {
        namespace Allocators {
+               [CCode (cheader_filename = "gst/allocators/allocators.h", cname = "GstFdAllocator", 
lower_case_cprefix = "gst_fd_allocator_", type_id = "gst_fd_allocator_get_type ()")]
+               [GIR (name = "FdAllocator")]
+               public class FdAllocator : Gst.Allocator {
+                       [CCode (has_construct_function = false, type = "GstAllocator*")]
+                       public FdAllocator ();
+                       public static Gst.Memory alloc (Gst.Allocator allocator, int fd, size_t size, 
Gst.Allocators.FdMemoryFlags flags);
+               }
+               [CCode (cheader_filename = "gst/allocators/allocators.h", cname = "GstFdMemoryFlags", cprefix 
= "GST_FD_MEMORY_FLAG_", has_type_id = false)]
+               [Flags]
+               [GIR (name = "FdMemoryFlags")]
+               public enum FdMemoryFlags {
+                       NONE,
+                       KEEP_MAPPED,
+                       MAP_PRIVATE
+               }
                [CCode (cheader_filename = "gst/allocators/allocators.h", cname = "GST_ALLOCATOR_DMABUF")]
                public const string ALLOCATOR_DMABUF;
+               [CCode (cheader_filename = "gst/allocators/allocators.h", cname = "GST_ALLOCATOR_FD")]
+               public const string ALLOCATOR_FD;
                [CCode (cheader_filename = "gst/allocators/allocators.h", cname = 
"gst_dmabuf_allocator_alloc")]
-               public static Gst.Memory dmabuf_allocator_alloc (Gst.Allocator? allocator, int fd, size_t 
size);
+               public static Gst.Memory dmabuf_allocator_alloc (Gst.Allocator allocator, int fd, size_t 
size);
                [CCode (cheader_filename = "gst/allocators/allocators.h", cname = "gst_dmabuf_allocator_new")]
                public static Gst.Allocator dmabuf_allocator_new ();
                [CCode (cheader_filename = "gst/allocators/allocators.h", cname = "gst_dmabuf_memory_get_fd")]
                public static int dmabuf_memory_get_fd (Gst.Memory mem);
+               [CCode (cheader_filename = "gst/allocators/allocators.h", cname = "gst_fd_memory_get_fd")]
+               public static int fd_memory_get_fd (Gst.Memory mem);
                [CCode (cheader_filename = "gst/allocators/allocators.h", cname = "gst_is_dmabuf_memory")]
                public static bool is_dmabuf_memory (Gst.Memory mem);
+               [CCode (cheader_filename = "gst/allocators/allocators.h", cname = "gst_is_fd_memory")]
+               public static bool is_fd_memory (Gst.Memory mem);
        }
 }
diff --git a/vapi/gstreamer-app-1.0.vapi b/vapi/gstreamer-app-1.0.vapi
index db9e861..ea92619 100644
--- a/vapi/gstreamer-app-1.0.vapi
+++ b/vapi/gstreamer-app-1.0.vapi
@@ -72,6 +72,8 @@ namespace Gst {
                        public virtual signal void need_data (uint length);
                        [HasEmitter]
                        public virtual signal Gst.FlowReturn push_buffer (Gst.Buffer buffer);
+                       [HasEmitter]
+                       public virtual signal Gst.FlowReturn push_sample (Gst.Sample sample);
                        public virtual signal bool seek_data (uint64 offset);
                }
                [CCode (cheader_filename = "gst/app/app.h", cprefix = "GST_APP_STREAM_TYPE_", type_id = 
"gst_app_stream_type_get_type ()")]
diff --git a/vapi/gstreamer-audio-1.0.vapi b/vapi/gstreamer-audio-1.0.vapi
index c9ec3f0..63fb0b4 100644
--- a/vapi/gstreamer-audio-1.0.vapi
+++ b/vapi/gstreamer-audio-1.0.vapi
@@ -20,7 +20,9 @@ namespace Gst {
                        public Gst.Audio.BaseSinkSlaveMethod get_slave_method ();
                        [NoWrapper]
                        public virtual Gst.Buffer payload (Gst.Buffer buffer);
+                       public void report_device_failure ();
                        public void set_alignment_threshold (Gst.ClockTime alignment_threshold);
+                       public void set_custom_slaving_callback (owned 
Gst.Audio.BaseSinkCustomSlavingCallback callback);
                        public void set_discont_wait (Gst.ClockTime discont_wait);
                        public void set_drift_tolerance (int64 drift_tolerance);
                        public void set_provide_clock (bool provide);
@@ -123,8 +125,10 @@ namespace Gst {
                        public int get_plc_aware ();
                        public Gst.ClockTime get_tolerance ();
                        [NoWrapper]
+                       public virtual Gst.Caps getcaps (Gst.Caps filter);
+                       [NoWrapper]
                        public virtual Gst.FlowReturn handle_frame (Gst.Buffer buffer);
-                       public void merge_tags (Gst.TagList tags, Gst.TagMergeMode mode);
+                       public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
                        public virtual bool negotiate ();
                        [NoWrapper]
                        public virtual bool open ();
@@ -134,6 +138,7 @@ namespace Gst {
                        public virtual Gst.FlowReturn pre_push (Gst.Buffer buffer);
                        [NoWrapper]
                        public virtual bool propose_allocation (Gst.Query query);
+                       public Gst.Caps proxy_getcaps (Gst.Caps? caps, Gst.Caps? filter);
                        public void set_drainable (bool enabled);
                        public void set_estimate_rate (bool enabled);
                        [NoWrapper]
@@ -146,14 +151,21 @@ namespace Gst {
                        public void set_plc (bool enabled);
                        public void set_plc_aware (bool plc);
                        public void set_tolerance (Gst.ClockTime tolerance);
+                       public void set_use_default_pad_acceptcaps (bool use);
                        [NoWrapper]
                        public virtual bool sink_event (Gst.Event event);
                        [NoWrapper]
+                       public virtual bool sink_query (Gst.Query query);
+                       [NoWrapper]
                        public virtual bool src_event (Gst.Event event);
                        [NoWrapper]
+                       public virtual bool src_query (Gst.Query query);
+                       [NoWrapper]
                        public virtual bool start ();
                        [NoWrapper]
                        public virtual bool stop ();
+                       [NoWrapper]
+                       public virtual bool transform_meta (Gst.Buffer outbuf, Gst.Meta meta, Gst.Buffer 
inbuf);
                        public int64 min_latency { get; set; }
                        public bool plc { get; set; }
                        public int64 tolerance { get; set; }
@@ -193,7 +205,7 @@ namespace Gst {
                        public virtual Gst.Caps getcaps (Gst.Caps filter);
                        [NoWrapper]
                        public virtual Gst.FlowReturn handle_frame (Gst.Buffer buffer);
-                       public void merge_tags (Gst.TagList tags, Gst.TagMergeMode mode);
+                       public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
                        public virtual bool negotiate ();
                        [NoWrapper]
                        public virtual bool open ();
@@ -201,7 +213,7 @@ namespace Gst {
                        public virtual Gst.FlowReturn pre_push (Gst.Buffer buffer);
                        [NoWrapper]
                        public virtual bool propose_allocation (Gst.Query query);
-                       public Gst.Caps proxy_getcaps (Gst.Caps caps, Gst.Caps filter);
+                       public Gst.Caps proxy_getcaps (Gst.Caps? caps, Gst.Caps? filter);
                        public void set_drainable (bool enabled);
                        [NoWrapper]
                        public virtual bool set_format (Gst.Audio.Info info);
@@ -220,11 +232,17 @@ namespace Gst {
                        [NoWrapper]
                        public virtual bool sink_event (Gst.Event event);
                        [NoWrapper]
+                       public virtual bool sink_query (Gst.Query query);
+                       [NoWrapper]
                        public virtual bool src_event (Gst.Event event);
                        [NoWrapper]
+                       public virtual bool src_query (Gst.Query query);
+                       [NoWrapper]
                        public virtual bool start ();
                        [NoWrapper]
                        public virtual bool stop ();
+                       [NoWrapper]
+                       public virtual bool transform_meta (Gst.Buffer outbuf, Gst.Meta meta, Gst.Buffer 
inbuf);
                        public bool hard_resync { get; set; }
                        public bool mark_granule { get; }
                        public bool perfect_timestamp { get; set; }
@@ -413,12 +431,23 @@ namespace Gst {
                        public int segtotal;
                        public int seglatency;
                }
+               [CCode (cheader_filename = "gst/audio/audio.h", cprefix = 
"GST_AUDIO_BASE_SINK_DISCONT_REASON_", has_type_id = false)]
+               [GIR (name = "AudioBaseSinkDiscontReason")]
+               public enum BaseSinkDiscontReason {
+                       NO_DISCONT,
+                       NEW_CAPS,
+                       FLUSH,
+                       SYNC_LATENCY,
+                       ALIGNMENT,
+                       DEVICE_FAILURE
+               }
                [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_BASE_SINK_SLAVE_", 
type_id = "gst_audio_base_sink_slave_method_get_type ()")]
                [GIR (name = "AudioBaseSinkSlaveMethod")]
                public enum BaseSinkSlaveMethod {
                        RESAMPLE,
                        SKEW,
-                       NONE
+                       NONE,
+                       CUSTOM
                }
                [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_BASE_SRC_SLAVE_", 
type_id = "gst_audio_base_src_slave_method_get_type ()")]
                [GIR (name = "AudioBaseSrcSlaveMethod")]
@@ -581,6 +610,8 @@ namespace Gst {
                        CUBIC,
                        DB
                }
+               [CCode (cheader_filename = "gst/audio/audio.h", instance_pos = 5.9)]
+               public delegate void BaseSinkCustomSlavingCallback (Gst.Audio.BaseSink sink, Gst.ClockTime 
etime, Gst.ClockTime itime, Gst.ClockTimeDiff requested_skew, Gst.Audio.BaseSinkDiscontReason discont_reason);
                [CCode (cheader_filename = "gst/audio/audio.h", instance_pos = 1.9)]
                public delegate Gst.ClockTime ClockGetTimeFunc (Gst.Clock clock);
                [CCode (cheader_filename = "gst/audio/audio.h", has_target = false)]
diff --git a/vapi/gstreamer-base-1.0.vapi b/vapi/gstreamer-base-1.0.vapi
index 86cfdfe..fd7ef25 100644
--- a/vapi/gstreamer-base-1.0.vapi
+++ b/vapi/gstreamer-base-1.0.vapi
@@ -14,6 +14,10 @@ namespace Gst {
                        public void copy ([CCode (array_length_cname = "size", array_length_pos = 2.1, 
array_length_type = "gsize")] out unowned uint8[] dest, size_t offset);
                        public GLib.Bytes copy_bytes (size_t offset, size_t size);
                        public void flush (size_t flush);
+                       public Gst.Buffer? get_buffer (size_t nbytes);
+                       public Gst.Buffer? get_buffer_fast (size_t nbytes);
+                       public Gst.BufferList? get_buffer_list (size_t nbytes);
+                       public GLib.List<Gst.Buffer>? get_list (size_t nbytes);
                        [CCode (array_length_pos = 0.1, array_length_type = "gsize")]
                        public unowned uint8[]? map ();
                        public ssize_t masked_scan_uint32 (uint32 mask, uint32 pattern, size_t offset, size_t 
size);
@@ -27,6 +31,7 @@ namespace Gst {
                        public uint8[]? take ();
                        public Gst.Buffer? take_buffer (size_t nbytes);
                        public Gst.Buffer? take_buffer_fast (size_t nbytes);
+                       public Gst.BufferList? take_buffer_list (size_t nbytes);
                        public GLib.List<Gst.Buffer>? take_list (size_t nbytes);
                        public void unmap ();
                }
@@ -148,6 +153,8 @@ namespace Gst {
                        public void init ([CCode (array_length_cname = "size", array_length_pos = 1.1, 
array_length_type = "guint")] uint8[] data);
                        [CCode (cname = "gst_byte_reader_masked_scan_uint32")]
                        public uint masked_scan_uint32 (uint32 mask, uint32 pattern, uint offset, uint size);
+                       [CCode (cname = "gst_byte_reader_masked_scan_uint32_peek")]
+                       public uint masked_scan_uint32_peek (uint32 mask, uint32 pattern, uint offset, uint 
size, uint32 value);
                        [CCode (cname = "gst_byte_reader_peek_data")]
                        public bool peek_data ([CCode (array_length_cname = "size", array_length_pos = 0.5, 
array_length_type = "guint")] out unowned uint8[] val);
                        [CCode (cname = "gst_byte_reader_peek_float32_be")]
@@ -313,7 +320,14 @@ namespace Gst {
                        public bool query_default (Gst.Base.CollectData data, Gst.Query query, bool discard);
                        public Gst.Buffer read_buffer (Gst.Base.CollectData data, uint size);
                        public bool remove_pad (Gst.Pad pad);
+                       public void set_buffer_function (Gst.Base.CollectPadsBufferFunction func);
+                       public void set_clip_function (Gst.Base.CollectPadsClipFunction clipfunc);
+                       public void set_compare_function (Gst.Base.CollectPadsCompareFunction func);
+                       public void set_event_function (Gst.Base.CollectPadsEventFunction func);
+                       public void set_flush_function (Gst.Base.CollectPadsFlushFunction func);
                        public void set_flushing (bool flushing);
+                       public void set_function (Gst.Base.CollectPadsFunction func);
+                       public void set_query_function (Gst.Base.CollectPadsQueryFunction func);
                        public void set_waiting (Gst.Base.CollectData data, bool waiting);
                        public bool src_event_default (Gst.Pad pad, Gst.Event event);
                        public void start ();
@@ -343,9 +357,12 @@ namespace Gst {
                        [CCode (has_construct_function = false)]
                        public FlowCombiner ();
                        public void add_pad (Gst.Pad pad);
+                       public void clear ();
                        public void free ();
                        public void remove_pad (Gst.Pad pad);
+                       public void reset ();
                        public Gst.FlowReturn update_flow (Gst.FlowReturn fret);
+                       public Gst.FlowReturn update_pad_flow (Gst.Pad pad, Gst.FlowReturn fret);
                }
                [CCode (cheader_filename = "gst/base/base.h", type_id = "gst_base_parse_get_type ()")]
                [GIR (name = "BaseParse")]
@@ -367,6 +384,7 @@ namespace Gst {
                        public virtual Gst.Caps get_sink_caps (Gst.Caps filter);
                        [NoWrapper]
                        public virtual Gst.FlowReturn handle_frame (Gst.Base.ParseFrame frame, int skipsize);
+                       public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
                        [NoWrapper]
                        public virtual Gst.FlowReturn pre_push_frame (Gst.Base.ParseFrame frame);
                        public Gst.FlowReturn push_frame (Gst.Base.ParseFrame frame);
@@ -602,6 +620,7 @@ namespace Gst {
                [GIR (name = "BaseTransform")]
                public abstract class Transform : Gst.Element {
                        public bool have_segment;
+                       public weak Gst.Buffer queued_buf;
                        public weak Gst.Segment segment;
                        public weak Gst.Pad sinkpad;
                        public weak Gst.Pad srcpad;
@@ -619,6 +638,8 @@ namespace Gst {
                        public virtual bool filter_meta (Gst.Query query, GLib.Type api, Gst.Structure 
@params);
                        [NoWrapper]
                        public virtual Gst.Caps fixate_caps (Gst.PadDirection direction, Gst.Caps caps, 
Gst.Caps othercaps);
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn generate_output (Gst.Buffer outbuf);
                        public void get_allocator (out Gst.Allocator allocator, out Gst.AllocationParams 
@params);
                        public Gst.BufferPool get_buffer_pool ();
                        [NoWrapper]
@@ -650,6 +671,8 @@ namespace Gst {
                        [NoWrapper]
                        public virtual bool stop ();
                        [NoWrapper]
+                       public virtual Gst.FlowReturn submit_input_buffer (bool is_discont, Gst.Buffer input);
+                       [NoWrapper]
                        public virtual Gst.FlowReturn transform (Gst.Buffer inbuf, Gst.Buffer outbuf);
                        [NoWrapper]
                        public virtual Gst.Caps transform_caps (Gst.PadDirection direction, Gst.Caps caps, 
Gst.Caps filter);
@@ -660,6 +683,7 @@ namespace Gst {
                        [NoWrapper]
                        public virtual bool transform_size (Gst.PadDirection direction, Gst.Caps caps, size_t 
size, Gst.Caps othercaps, size_t othersize);
                        public void update_qos (double proportion, Gst.ClockTimeDiff diff, Gst.ClockTime 
timestamp);
+                       public bool update_src_caps (Gst.Caps updated_caps);
                        [NoAccessorMethod]
                        public bool qos { get; set; }
                }
@@ -671,6 +695,8 @@ namespace Gst {
                        public weak Gst.Buffer buffer;
                        public uint pos;
                        public weak Gst.Segment segment;
+                       [CCode (cname = "ABI.abi.dts")]
+                       public int64 ABI_abi_dts;
                }
                [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsStateFlags", cprefix = 
"GST_COLLECT_PADS_STATE_", has_type_id = false)]
                [Flags]
diff --git a/vapi/gstreamer-check-1.0.vapi b/vapi/gstreamer-check-1.0.vapi
index bf939f3..0faf9ed 100644
--- a/vapi/gstreamer-check-1.0.vapi
+++ b/vapi/gstreamer-check-1.0.vapi
@@ -3,6 +3,11 @@
 [CCode (cprefix = "Gst", gir_namespace = "GstCheck", gir_version = "1.0", lower_case_cprefix = "gst_")]
 namespace Gst {
        namespace Check {
+               [CCode (cheader_filename = "gst/check/check.h", cname = "GstHarnessThread")]
+               [Compact]
+               [GIR (name = "HarnessThread")]
+               public class HarnessThread {
+               }
                [CCode (cheader_filename = 
"gst/check/gstbufferstraw.h,gst/check/gstcheck.h,gst/check/gstconsistencychecker.h,gst/check/internal-check.h",
 cname = "GstStreamConsistency", lower_case_cprefix = "gst_consistency_checker_")]
                [Compact]
                [GIR (name = "StreamConsistency")]
@@ -42,6 +47,127 @@ namespace Gst {
                        public int size;
                        public int abi_size;
                }
+               [CCode (cheader_filename = "gst/check/check.h", cname = "GstHarness", has_type_id = false)]
+               [GIR (name = "Harness")]
+               public struct Harness {
+                       public weak Gst.Element element;
+                       public weak Gst.Pad srcpad;
+                       public weak Gst.Pad sinkpad;
+                       [CCode (cname = "gst_harness_add_element_sink_pad")]
+                       public void add_element_sink_pad (Gst.Pad sinkpad);
+                       [CCode (cname = "gst_harness_add_element_src_pad")]
+                       public void add_element_src_pad (Gst.Pad srcpad);
+                       [CCode (cname = "gst_harness_add_probe")]
+                       public void add_probe (string element_name, string pad_name, Gst.PadProbeType mask, 
owned Gst.PadProbeCallback callback);
+                       [CCode (cname = "gst_harness_add_sink")]
+                       public void add_sink (string sink_element_name);
+                       [CCode (cname = "gst_harness_add_sink_harness")]
+                       public void add_sink_harness (owned Gst.Check.Harness sink_harness);
+                       [CCode (cname = "gst_harness_add_sink_parse")]
+                       public void add_sink_parse (string launchline);
+                       [CCode (cname = "gst_harness_add_src")]
+                       public void add_src (string src_element_name, bool has_clock_wait);
+                       [CCode (cname = "gst_harness_add_src_harness")]
+                       public void add_src_harness (owned Gst.Check.Harness src_harness, bool 
has_clock_wait);
+                       [CCode (cname = "gst_harness_add_src_parse")]
+                       public void add_src_parse (string launchline, bool has_clock_wait);
+                       [CCode (cname = "gst_harness_buffers_in_queue")]
+                       public uint buffers_in_queue ();
+                       [CCode (cname = "gst_harness_buffers_received")]
+                       public uint buffers_received ();
+                       [CCode (cname = "gst_harness_crank_multiple_clock_waits")]
+                       public bool crank_multiple_clock_waits (uint waits);
+                       [CCode (cname = "gst_harness_crank_single_clock_wait")]
+                       public bool crank_single_clock_wait ();
+                       [CCode (cname = "gst_harness_create_buffer")]
+                       public Gst.Buffer create_buffer (size_t size);
+                       [CCode (cname = "gst_harness_dump_to_file")]
+                       public void dump_to_file (string filename);
+                       [CCode (cname = "gst_harness_events_in_queue")]
+                       public uint events_in_queue ();
+                       [CCode (cname = "gst_harness_events_received")]
+                       public uint events_received ();
+                       [CCode (cname = "gst_harness_find_element")]
+                       public Gst.Element? find_element (string element_name);
+                       [CCode (cname = "gst_harness_get_allocator")]
+                       public void get_allocator (out unowned Gst.Allocator allocator, out 
Gst.AllocationParams @params);
+                       [CCode (cname = "gst_harness_get_last_pushed_timestamp")]
+                       public Gst.ClockTime get_last_pushed_timestamp ();
+                       [CCode (cname = "gst_harness_get_testclock")]
+                       public Gst.Check.TestClock get_testclock ();
+                       [CCode (cname = "gst_harness_play")]
+                       public void play ();
+                       [CCode (cname = "gst_harness_pull")]
+                       public Gst.Buffer pull ();
+                       [CCode (cname = "gst_harness_pull_event")]
+                       public Gst.Event pull_event ();
+                       [CCode (cname = "gst_harness_pull_upstream_event")]
+                       public Gst.Event pull_upstream_event ();
+                       [CCode (cname = "gst_harness_push")]
+                       public Gst.FlowReturn push (Gst.Buffer buffer);
+                       [CCode (cname = "gst_harness_push_and_pull")]
+                       public Gst.Buffer push_and_pull (Gst.Buffer buffer);
+                       [CCode (cname = "gst_harness_push_event")]
+                       public bool push_event (Gst.Event event);
+                       [CCode (cname = "gst_harness_push_from_src")]
+                       public Gst.FlowReturn push_from_src ();
+                       [CCode (cname = "gst_harness_push_to_sink")]
+                       public Gst.FlowReturn push_to_sink ();
+                       [CCode (cname = "gst_harness_push_upstream_event")]
+                       public bool push_upstream_event (Gst.Event event);
+                       [CCode (cname = "gst_harness_query_latency")]
+                       public Gst.ClockTime query_latency ();
+                       [CCode (cname = "gst_harness_set_blocking_push_mode")]
+                       public void set_blocking_push_mode ();
+                       [CCode (cname = "gst_harness_set_caps")]
+                       public void set_caps (owned Gst.Caps @in, owned Gst.Caps @out);
+                       [CCode (cname = "gst_harness_set_caps_str")]
+                       public void set_caps_str (string @in, string @out);
+                       [CCode (cname = "gst_harness_set_drop_buffers")]
+                       public void set_drop_buffers (bool drop_buffers);
+                       [CCode (cname = "gst_harness_set_forwarding")]
+                       public void set_forwarding (bool forwarding);
+                       [CCode (cname = "gst_harness_set_propose_allocator")]
+                       public void set_propose_allocator (owned Gst.Allocator? allocator, 
Gst.AllocationParams? @params);
+                       [CCode (cname = "gst_harness_set_sink_caps")]
+                       public void set_sink_caps (owned Gst.Caps caps);
+                       [CCode (cname = "gst_harness_set_sink_caps_str")]
+                       public void set_sink_caps_str (string str);
+                       [CCode (cname = "gst_harness_set_src_caps")]
+                       public void set_src_caps (owned Gst.Caps caps);
+                       [CCode (cname = "gst_harness_set_src_caps_str")]
+                       public void set_src_caps_str (string str);
+                       [CCode (cname = "gst_harness_set_time")]
+                       public bool set_time (Gst.ClockTime time);
+                       [CCode (cname = "gst_harness_set_upstream_latency")]
+                       public void set_upstream_latency (Gst.ClockTime latency);
+                       [CCode (cname = "gst_harness_sink_push_many")]
+                       public Gst.FlowReturn sink_push_many (int pushes);
+                       [CCode (cname = "gst_harness_src_crank_and_push_many")]
+                       public Gst.FlowReturn src_crank_and_push_many (int cranks, int pushes);
+                       [CCode (cname = "gst_harness_src_push_event")]
+                       public bool src_push_event ();
+                       [CCode (cname = "gst_harness_teardown")]
+                       public void teardown ();
+                       [CCode (cname = "gst_harness_try_pull")]
+                       public Gst.Buffer try_pull ();
+                       [CCode (cname = "gst_harness_try_pull_event")]
+                       public Gst.Event try_pull_event ();
+                       [CCode (cname = "gst_harness_try_pull_upstream_event")]
+                       public Gst.Event try_pull_upstream_event ();
+                       [CCode (cname = "gst_harness_upstream_events_in_queue")]
+                       public uint upstream_events_in_queue ();
+                       [CCode (cname = "gst_harness_upstream_events_received")]
+                       public uint upstream_events_received ();
+                       [CCode (cname = "gst_harness_use_systemclock")]
+                       public void use_systemclock ();
+                       [CCode (cname = "gst_harness_use_testclock")]
+                       public void use_testclock ();
+                       [CCode (cname = "gst_harness_wait_for_clock_id_waits")]
+                       public bool wait_for_clock_id_waits (uint waits, uint timeout);
+               }
+               [CCode (cheader_filename = "gst/check/check.h", cname = "GstHarnessPrepareBufferFunc", 
has_target = false)]
+               public delegate Gst.Buffer HarnessPrepareBufferFunc (Gst.Check.Harness h, void* data);
                [CCode (cheader_filename = "gst/check/check.h")]
                public static void abi_list (Gst.Check.ABIStruct list, bool have_abi_sizes);
                [CCode (cheader_filename = "gst/check/check.h")]
@@ -62,11 +188,15 @@ namespace Gst {
                public static void element_push_buffer (string element_name, Gst.Buffer buffer_in, Gst.Caps 
caps_in, Gst.Buffer buffer_out, Gst.Caps caps_out);
                [CCode (cheader_filename = "gst/check/check.h")]
                public static void element_push_buffer_list (string element_name, owned GLib.List<Gst.Buffer> 
buffer_in, Gst.Caps caps_in, owned GLib.List<Gst.Buffer> buffer_out, Gst.Caps caps_out, Gst.FlowReturn 
last_flow_return);
+               [CCode (cheader_filename = "gst/check/check.h", cname = "gst_harness_stress_thread_stop")]
+               public static uint harness_stress_thread_stop (Gst.Check.HarnessThread t);
                [CCode (cheader_filename = "gst/check/check.h")]
                public static void init (int argc, string argv);
                [CCode (cheader_filename = "gst/check/check.h")]
                public static void message_error (Gst.Message message, Gst.MessageType type, GLib.Quark 
domain, int code);
                [CCode (cheader_filename = "gst/check/check.h")]
+               public static void object_destroyed_on_unref (void* object_to_unref);
+               [CCode (cheader_filename = "gst/check/check.h")]
                public static Gst.Element setup_element (string factory);
                [CCode (cheader_filename = "gst/check/check.h")]
                public static void setup_events (Gst.Pad srcpad, Gst.Element element, Gst.Caps? caps, 
Gst.Format format);
diff --git a/vapi/gstreamer-controller-1.0.vapi b/vapi/gstreamer-controller-1.0.vapi
index dacf931..bd3a544 100644
--- a/vapi/gstreamer-controller-1.0.vapi
+++ b/vapi/gstreamer-controller-1.0.vapi
@@ -17,11 +17,30 @@ namespace Gst {
                        [NoAccessorMethod]
                        public Gst.ControlSource control_source_r { owned get; set construct; }
                }
+               [CCode (cheader_filename = "gst/controller/controller.h", cname = "GstControlPoint", 
copy_function = "g_boxed_copy", free_function = "g_boxed_free", lower_case_cprefix = "gst_control_point_", 
type_id = "gst_control_point_get_type ()")]
+               [Compact]
+               [GIR (name = "ControlPoint")]
+               public class ControlPoint {
+                       [CCode (cname = "cache.cubic.h")]
+                       public double cache_cubic_h;
+                       [CCode (cname = "cache.cubic.z")]
+                       public double cache_cubic_z;
+                       public Gst.ClockTime timestamp;
+                       public double value;
+               }
                [CCode (cheader_filename = "gst/controller/controller.h", cname = "GstDirectControlBinding", 
lower_case_cprefix = "gst_direct_control_binding_", type_id = "gst_direct_control_binding_get_type ()")]
                [GIR (name = "DirectControlBinding")]
                public class DirectControlBinding : Gst.ControlBinding {
+                       [CCode (array_length = false, array_null_terminated = true, cname = 
"ABI._gst_reserved")]
+                       public weak void*[] ABI__gst_reserved;
+                       [CCode (cname = "ABI.abi.want_absolute")]
+                       public bool ABI_abi_want_absolute;
                        [CCode (has_construct_function = false, type = "GstControlBinding*")]
                        public DirectControlBinding (Gst.Object object, string property_name, 
Gst.ControlSource cs);
+                       [CCode (cname = "gst_direct_control_binding_new_absolute", has_construct_function = 
false, type = "GstControlBinding*")]
+                       public DirectControlBinding..new_with_absolute (Gst.Object object, string 
property_name, Gst.ControlSource cs);
+                       [NoAccessorMethod]
+                       public bool absolute { get; construct; }
                        [NoAccessorMethod]
                        public Gst.ControlSource control_source { owned get; set construct; }
                }
@@ -65,6 +84,9 @@ namespace Gst {
                        public bool set_from_list (GLib.SList<Gst.TimedValue?> timedvalues);
                        public bool unset (Gst.ClockTime timestamp);
                        public void unset_all ();
+                       public signal void value_added (Gst.Controller.ControlPoint timed_value);
+                       public signal void value_changed (Gst.Controller.ControlPoint timed_value);
+                       public signal void value_removed (Gst.Controller.ControlPoint timed_value);
                }
                [CCode (cheader_filename = "gst/controller/controller.h", cname = "GstTriggerControlSource", 
lower_case_cprefix = "gst_trigger_control_source_", type_id = "gst_trigger_control_source_get_type ()")]
                [GIR (name = "TriggerControlSource")]
@@ -74,16 +96,6 @@ namespace Gst {
                        [NoAccessorMethod]
                        public int64 tolerance { get; set; }
                }
-               [CCode (cheader_filename = "gst/controller/controller.h", cname = "GstControlPoint", 
has_type_id = false)]
-               [GIR (name = "ControlPoint")]
-               public struct ControlPoint {
-                       public Gst.ClockTime timestamp;
-                       public double value;
-                       [CCode (cname = "cache.cubic.h")]
-                       public double cache_cubic_h;
-                       [CCode (cname = "cache.cubic.z")]
-                       public double cache_cubic_z;
-               }
                [CCode (cheader_filename = "gst/controller/controller.h", cname = "GstInterpolationMode", 
cprefix = "GST_INTERPOLATION_MODE_", type_id = "gst_interpolation_mode_get_type ()")]
                [GIR (name = "InterpolationMode")]
                public enum InterpolationMode {
diff --git a/vapi/gstreamer-net-1.0.vapi b/vapi/gstreamer-net-1.0.vapi
index 7e1675a..5d4a856 100644
--- a/vapi/gstreamer-net-1.0.vapi
+++ b/vapi/gstreamer-net-1.0.vapi
@@ -9,12 +9,36 @@ namespace Gst {
                        [CCode (has_construct_function = false, type = "GstClock*")]
                        public ClientClock (string name, string remote_address, int remote_port, 
Gst.ClockTime base_time);
                        [NoAccessorMethod]
-                       public string address { owned get; set; }
+                       public string address { owned get; set construct; }
                        [NoAccessorMethod]
-                       public int port { get; set; }
+                       public uint64 base_time { get; construct; }
+                       [NoAccessorMethod]
+                       public Gst.Bus bus { owned get; set; }
+                       [NoAccessorMethod]
+                       public Gst.Clock internal_clock { owned get; }
+                       [NoAccessorMethod]
+                       public uint64 minimum_update_interval { get; set; }
+                       [NoAccessorMethod]
+                       public int port { get; set construct; }
                        [NoAccessorMethod]
                        public uint64 round_trip_limit { get; set; }
                }
+               [CCode (cheader_filename = "gst/net/net.h", cname = "GstNtpClock", lower_case_cprefix = 
"gst_ntp_clock_", type_id = "gst_ntp_clock_get_type ()")]
+               [GIR (name = "NtpClock")]
+               public class NtpClock : Gst.Net.ClientClock {
+                       [CCode (has_construct_function = false, type = "GstClock*")]
+                       public NtpClock (string name, string remote_address, int remote_port, Gst.ClockTime 
base_time);
+               }
+               [CCode (cheader_filename = "gst/net/net.h", cname = "GstPtpClock", lower_case_cprefix = 
"gst_ptp_clock_", type_id = "gst_ptp_clock_get_type ()")]
+               [GIR (name = "PtpClock")]
+               public class PtpClock : Gst.SystemClock {
+                       [CCode (has_construct_function = false, type = "GstClock*")]
+                       public PtpClock (string name, uint domain);
+                       [NoAccessorMethod]
+                       public uint domain { get; construct; }
+                       [NoAccessorMethod]
+                       public Gst.Clock internal_clock { owned get; }
+               }
                [CCode (cheader_filename = "gst/net/net.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gst_net_time_packet_get_type ()")]
                [Compact]
                [GIR (name = "NetTimePacket")]
@@ -51,11 +75,47 @@ namespace Gst {
                        public Gst.Meta meta;
                        public weak GLib.SocketAddress addr;
                }
+               [CCode (cheader_filename = "gst/net/net.h", has_type_id = false)]
+               [GIR (name = "NetControlMessageMeta")]
+               public struct ControlMessageMeta {
+                       public Gst.Meta meta;
+                       public weak GLib.SocketControlMessage message;
+               }
+               [CCode (cheader_filename = "gst/net/net.h", cname = "GstPtpStatisticsCallback", instance_pos 
= 2.9)]
+               public delegate bool PtpStatisticsCallback (uint8 domain, Gst.Structure stats);
+               [CCode (cheader_filename = "gst/net/net.h", cname = "GST_PTP_CLOCK_ID_NONE")]
+               public const uint64 PTP_CLOCK_ID_NONE;
+               [CCode (cheader_filename = "gst/net/net.h", cname = 
"GST_PTP_STATISTICS_BEST_MASTER_CLOCK_SELECTED")]
+               public const string PTP_STATISTICS_BEST_MASTER_CLOCK_SELECTED;
+               [CCode (cheader_filename = "gst/net/net.h", cname = "GST_PTP_STATISTICS_NEW_DOMAIN_FOUND")]
+               public const string PTP_STATISTICS_NEW_DOMAIN_FOUND;
+               [CCode (cheader_filename = "gst/net/net.h", cname = "GST_PTP_STATISTICS_PATH_DELAY_MEASURED")]
+               public const string PTP_STATISTICS_PATH_DELAY_MEASURED;
+               [CCode (cheader_filename = "gst/net/net.h", cname = "GST_PTP_STATISTICS_TIME_UPDATED")]
+               public const string PTP_STATISTICS_TIME_UPDATED;
                [CCode (cheader_filename = "gst/net/net.h")]
                public static GLib.Type address_meta_api_get_type ();
                [CCode (cheader_filename = "gst/net/net.h")]
                public static unowned Gst.MetaInfo? address_meta_get_info ();
                [CCode (cheader_filename = "gst/net/net.h", cname = "gst_buffer_add_net_address_meta")]
                public static unowned Gst.Net.AddressMeta? buffer_add_net_address_meta (Gst.Buffer buffer, 
GLib.SocketAddress addr);
+               [CCode (cheader_filename = "gst/net/net.h", cname = 
"gst_buffer_add_net_control_message_meta")]
+               public static unowned Gst.Net.ControlMessageMeta? buffer_add_net_control_message_meta 
(Gst.Buffer buffer, GLib.SocketControlMessage message);
+               [CCode (cheader_filename = "gst/net/net.h")]
+               public static GLib.Type control_message_meta_api_get_type ();
+               [CCode (cheader_filename = "gst/net/net.h")]
+               public static unowned Gst.MetaInfo? control_message_meta_get_info ();
+               [CCode (cheader_filename = "gst/net/net.h", cname = "gst_ptp_deinit")]
+               public static void ptp_deinit ();
+               [CCode (cheader_filename = "gst/net/net.h", cname = "gst_ptp_init")]
+               public static bool ptp_init (uint64 clock_id, [CCode (array_length = false, 
array_null_terminated = true)] string[]? interfaces);
+               [CCode (cheader_filename = "gst/net/net.h", cname = "gst_ptp_is_initialized")]
+               public static bool ptp_is_initialized ();
+               [CCode (cheader_filename = "gst/net/net.h", cname = "gst_ptp_is_supported")]
+               public static bool ptp_is_supported ();
+               [CCode (cheader_filename = "gst/net/net.h", cname = "gst_ptp_statistics_callback_add")]
+               public static ulong ptp_statistics_callback_add (owned Gst.Net.PtpStatisticsCallback 
callback);
+               [CCode (cheader_filename = "gst/net/net.h", cname = "gst_ptp_statistics_callback_remove")]
+               public static void ptp_statistics_callback_remove (ulong id);
        }
 }
diff --git a/vapi/gstreamer-pbutils-1.0.vapi b/vapi/gstreamer-pbutils-1.0.vapi
index 8140c7b..b0270e4 100644
--- a/vapi/gstreamer-pbutils-1.0.vapi
+++ b/vapi/gstreamer-pbutils-1.0.vapi
@@ -76,6 +76,7 @@ namespace Gst {
                        [CCode (has_construct_function = false)]
                        protected DiscovererInfo ();
                        public Gst.PbUtils.DiscovererInfo copy ();
+                       public static Gst.PbUtils.DiscovererInfo from_variant (GLib.Variant variant);
                        public GLib.List<Gst.PbUtils.DiscovererStreamInfo> get_audio_streams ();
                        public GLib.List<Gst.PbUtils.DiscovererStreamInfo> get_container_streams ();
                        public Gst.ClockTime get_duration ();
@@ -93,6 +94,7 @@ namespace Gst {
                        public unowned Gst.Toc get_toc ();
                        public unowned string get_uri ();
                        public GLib.List<Gst.PbUtils.DiscovererStreamInfo> get_video_streams ();
+                       public GLib.Variant to_variant (Gst.PbUtils.DiscovererSerializeFlags flags);
                }
                [CCode (cheader_filename = "gst/pbutils/pbutils.h", cname = "GstDiscovererStreamInfo", 
lower_case_cprefix = "gst_discoverer_stream_info_", type_id = "gst_discoverer_stream_info_get_type ()")]
                [GIR (name = "DiscovererStreamInfo")]
@@ -156,6 +158,7 @@ namespace Gst {
                        protected EncodingProfile ();
                        public static Gst.PbUtils.EncodingProfile find (string targetname, string 
profilename, string? category);
                        public static Gst.PbUtils.EncodingProfile from_discoverer (Gst.PbUtils.DiscovererInfo 
info);
+                       public bool get_allow_dynamic_output ();
                        public unowned string get_description ();
                        public unowned string get_file_extension ();
                        public Gst.Caps get_format ();
@@ -166,8 +169,11 @@ namespace Gst {
                        public unowned string get_preset_name ();
                        public Gst.Caps get_restriction ();
                        public unowned string get_type_nick ();
+                       public bool is_enabled ();
                        public bool is_equal (Gst.PbUtils.EncodingProfile b);
+                       public void set_allow_dynamic_output (bool allow_dynamic_output);
                        public void set_description (string description);
+                       public void set_enabled (bool enabled);
                        public void set_format (Gst.Caps format);
                        public void set_name (string name);
                        public void set_presence (uint presence);
@@ -210,6 +216,9 @@ namespace Gst {
                        [CCode (has_construct_function = false)]
                        public InstallPluginsContext ();
                        public void free ();
+                       public void set_confirm_search (bool confirm_search);
+                       public void set_desktop_id (string desktop_id);
+                       public void set_startup_notification_id (string startup_id);
                        public void set_xid (uint xid);
                }
                [CCode (cheader_filename = "gst/pbutils/pbutils.h", cname = "GstDiscovererResult", cprefix = 
"GST_DISCOVERER_", type_id = "gst_discoverer_result_get_type ()")]
@@ -222,6 +231,16 @@ namespace Gst {
                        BUSY,
                        MISSING_PLUGINS
                }
+               [CCode (cheader_filename = "gst/pbutils/pbutils.h", cname = "GstDiscovererSerializeFlags", 
cprefix = "GST_DISCOVERER_SERIALIZE_", type_id = "gst_discoverer_serialize_flags_get_type ()")]
+               [Flags]
+               [GIR (name = "DiscovererSerializeFlags")]
+               public enum DiscovererSerializeFlags {
+                       BASIC,
+                       CAPS,
+                       TAGS,
+                       MISC,
+                       ALL
+               }
                [CCode (cheader_filename = "gst/pbutils/pbutils.h", cname = "GstInstallPluginsReturn", 
cprefix = "GST_INSTALL_PLUGINS_", type_id = "gst_install_plugins_return_get_type ()")]
                [GIR (name = "InstallPluginsReturn")]
                public enum InstallPluginsReturn {
diff --git a/vapi/gstreamer-rtp-1.0.vapi b/vapi/gstreamer-rtp-1.0.vapi
index 8f67ae7..1c99bbe 100644
--- a/vapi/gstreamer-rtp-1.0.vapi
+++ b/vapi/gstreamer-rtp-1.0.vapi
@@ -39,6 +39,8 @@ namespace Gst {
                        public virtual bool packet_lost (Gst.Event event);
                        [NoWrapper]
                        public virtual Gst.Buffer process (Gst.Buffer @in);
+                       [NoWrapper]
+                       public virtual Gst.Buffer process_rtp_packet (Gst.RTP.Buffer rtp_buffer);
                        public Gst.FlowReturn push (Gst.Buffer out_buf);
                        public Gst.FlowReturn push_list (Gst.BufferList out_list);
                        [NoWrapper]
@@ -151,7 +153,14 @@ namespace Gst {
                        public weak string encoding_parameters;
                        public uint bitrate;
                }
-               [CCode (cheader_filename = "gst/rtp/rtp.h", cprefix = "GST_RTP_PAYLOAD_", has_type_id = 
false)]
+               [CCode (cheader_filename = "gst/rtp/rtp.h", cprefix = "GST_RTP_BUFFER_MAP_FLAG_", type_id = 
"gst_rtp_buffer_map_flags_get_type ()")]
+               [Flags]
+               [GIR (name = "RTPBufferMapFlags")]
+               public enum BufferMapFlags {
+                       SKIP_PADDING,
+                       LAST
+               }
+               [CCode (cheader_filename = "gst/rtp/rtp.h", cprefix = "GST_RTP_PAYLOAD_", type_id = 
"gst_rtp_payload_get_type ()")]
                [GIR (name = "RTPPayload")]
                public enum Payload {
                        PCMU,
@@ -216,6 +225,15 @@ namespace Gst {
                        public const int TS48;
                        public const string TS48_STRING;
                }
+               [CCode (cheader_filename = "gst/rtp/rtp.h", cprefix = "GST_RTP_PROFILE_", type_id = 
"gst_rtp_profile_get_type ()")]
+               [GIR (name = "RTPProfile")]
+               public enum Profile {
+                       UNKNOWN,
+                       AVP,
+                       SAVP,
+                       AVPF,
+                       SAVPF
+               }
                [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "GST_RTP_HDREXT_BASE")]
                public const string HDREXT_BASE;
                [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "GST_RTP_HDREXT_NTP_56")]
@@ -366,14 +384,14 @@ namespace Gst {
                        [CCode (cname = "gst_rtcp_packet_sr_set_sender_info")]
                        public void sr_set_sender_info (uint32 ssrc, uint64 ntptime, uint32 rtptime, uint32 
packet_count, uint32 octet_count);
                }
-               [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "GstRTCPFBType", cprefix = "GST_RTCP_", 
has_type_id = false)]
+               [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "GstRTCPFBType", cprefix = "GST_RTCP_", 
type_id = "gst_rtcpfb_type_get_type ()")]
                [GIR (name = "RTCPFBType")]
                public enum FBType {
                        FB_TYPE_INVALID,
                        RTPFB_TYPE_NACK,
                        RTPFB_TYPE_TMMBR,
                        RTPFB_TYPE_TMMBN,
-                       RTPFB_TYPE_RCTP_SR_REQ,
+                       RTPFB_TYPE_RTCP_SR_REQ,
                        PSFB_TYPE_PLI,
                        PSFB_TYPE_SLI,
                        PSFB_TYPE_RPSI,
@@ -383,7 +401,7 @@ namespace Gst {
                        PSFB_TYPE_TSTN,
                        PSFB_TYPE_VBCN
                }
-               [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "GstRTCPSDESType", cprefix = 
"GST_RTCP_SDES_", has_type_id = false)]
+               [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "GstRTCPSDESType", cprefix = 
"GST_RTCP_SDES_", type_id = "gst_rtcpsdes_type_get_type ()")]
                [GIR (name = "RTCPSDESType")]
                public enum SDESType {
                        INVALID,
@@ -397,7 +415,7 @@ namespace Gst {
                        NOTE,
                        PRIV
                }
-               [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "GstRTCPType", cprefix = 
"GST_RTCP_TYPE_", has_type_id = false)]
+               [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "GstRTCPType", cprefix = 
"GST_RTCP_TYPE_", type_id = "gst_rtcp_type_get_type ()")]
                [GIR (name = "RTCPType")]
                public enum Type {
                        INVALID,
@@ -417,6 +435,8 @@ namespace Gst {
                public const int MAX_SDES;
                [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "GST_RTCP_MAX_SDES_ITEM_COUNT")]
                public const int MAX_SDES_ITEM_COUNT;
+               [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "GST_RTCP_REDUCED_SIZE_VALID_MASK")]
+               public const int REDUCED_SIZE_VALID_MASK;
                [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "GST_RTCP_VALID_MASK")]
                public const int VALID_MASK;
                [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "GST_RTCP_VALID_VALUE")]
@@ -435,6 +455,10 @@ namespace Gst {
                public static bool buffer_validate (Gst.Buffer buffer);
                [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "gst_rtcp_buffer_validate_data")]
                public static bool buffer_validate_data ([CCode (array_length_cname = "len", array_length_pos 
= 1.1, array_length_type = "guint")] uint8[] data);
+               [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "gst_rtcp_buffer_validate_data_reduced")]
+               public static bool buffer_validate_data_reduced ([CCode (array_length_cname = "len", 
array_length_pos = 1.1, array_length_type = "guint")] uint8[] data);
+               [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "gst_rtcp_buffer_validate_reduced")]
+               public static bool buffer_validate_reduced (Gst.Buffer buffer);
                [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "gst_rtcp_ntp_to_unix")]
                public static uint64 ntp_to_unix (uint64 ntptime);
                [CCode (cheader_filename = "gst/rtp/rtp.h", cname = "gst_rtcp_sdes_name_to_type")]
diff --git a/vapi/gstreamer-rtsp-1.0.vapi b/vapi/gstreamer-rtsp-1.0.vapi
index ccc7e90..0c3ff52 100644
--- a/vapi/gstreamer-rtsp-1.0.vapi
+++ b/vapi/gstreamer-rtsp-1.0.vapi
@@ -14,9 +14,11 @@ namespace Gst {
                        public Gst.RTSP.Result flush (bool flush);
                        public Gst.RTSP.Result free ();
                        public unowned string get_ip ();
+                       public unowned GLib.Socket get_read_socket ();
                        public bool get_remember_session_id ();
                        public unowned GLib.TlsConnection get_tls () throws GLib.Error;
                        public GLib.TlsDatabase get_tls_database ();
+                       public GLib.TlsInteraction get_tls_interaction ();
                        public GLib.TlsCertificateFlags get_tls_validation_flags ();
                        public unowned string get_tunnelid ();
                        public Gst.RTSP.Url get_url ();
@@ -36,6 +38,7 @@ namespace Gst {
                        public Gst.RTSP.Result set_qos_dscp (uint qos_dscp);
                        public void set_remember_session_id (bool remember);
                        public void set_tls_database (GLib.TlsDatabase database);
+                       public void set_tls_interaction (GLib.TlsInteraction interaction);
                        public bool set_tls_validation_flags (GLib.TlsCertificateFlags flags);
                        public void set_tunneled (bool tunneled);
                        public Gst.RTSP.Result write (uint8 data, uint size, GLib.TimeVal timeout);
@@ -68,7 +71,7 @@ namespace Gst {
                        public void get_send_backlog (out size_t bytes, out uint messages);
                        public void reset ();
                        public Gst.RTSP.Result send_message (Gst.RTSP.Message message, out uint id);
-                       public void set_flushing (bool flush);
+                       public void set_flushing (bool flushing);
                        public void set_send_backlog (size_t bytes, uint messages);
                        public void unref ();
                        public Gst.RTSP.Result wait_backlog (GLib.TimeVal timeout);
@@ -108,11 +111,13 @@ namespace Gst {
                        [CCode (cname = "type_data.data.channel")]
                        public uint8 type_data_data_channel;
                        public Gst.RTSP.Result add_header (Gst.RTSP.HeaderField field, string value);
+                       public Gst.RTSP.Result add_header_by_name (string header, string value);
                        public Gst.RTSP.Result append_headers (GLib.StringBuilder str);
                        public Gst.RTSP.Result dump ();
                        public Gst.RTSP.Result free ();
                        public Gst.RTSP.Result get_body ([CCode (array_length_cname = "size", 
array_length_pos = 1.1, array_length_type = "guint")] out unowned uint8[] data);
                        public Gst.RTSP.Result get_header (Gst.RTSP.HeaderField field, out unowned string 
value, int indx);
+                       public Gst.RTSP.Result get_header_by_name (string header, out unowned string value, 
int index);
                        public Gst.RTSP.MsgType get_type ();
                        public Gst.RTSP.Result init ();
                        public Gst.RTSP.Result init_data (uint8 channel);
@@ -122,10 +127,12 @@ namespace Gst {
                        public Gst.RTSP.Result parse_request (out Gst.RTSP.Method method, out string uri, out 
Gst.RTSP.Version version);
                        public Gst.RTSP.Result parse_response (out Gst.RTSP.StatusCode code, out string 
reason, out Gst.RTSP.Version version);
                        public Gst.RTSP.Result remove_header (Gst.RTSP.HeaderField field, int indx);
+                       public Gst.RTSP.Result remove_header_by_name (string header, int index);
                        public Gst.RTSP.Result set_body ([CCode (array_length_cname = "size", 
array_length_pos = 1.1, array_length_type = "guint")] uint8[] data);
                        public Gst.RTSP.Result steal_body ([CCode (array_length_cname = "size", 
array_length_pos = 1.1, array_length_type = "guint")] out uint8[] data);
                        public Gst.RTSP.Result take_body ([CCode (array_length_cname = "size", 
array_length_pos = 1.1, array_length_type = "guint")] owned uint8[] data);
                        public Gst.RTSP.Result take_header (Gst.RTSP.HeaderField field, owned string value);
+                       public Gst.RTSP.Result take_header_by_name (string header, owned string value);
                        public Gst.RTSP.Result unset ();
                }
                [CCode (cheader_filename = "gst/rtsp/rtsp.h", has_type_id = false)]
@@ -293,10 +300,9 @@ namespace Gst {
                [Flags]
                [GIR (name = "RTSPLowerTrans")]
                public enum LowerTrans {
-                       [CCode (cname = "GST_RTSP_LOWER_TRANS_UDP")]
-                       UDP_UNICAST,
-                       [CCode (cname = "GST_RTSP_LOWER_TRANS_UDP_MCAST")]
-                       UDP_MULTICAST,
+                       UNKNOWN,
+                       UDP,
+                       UDP_MCAST,
                        TCP,
                        HTTP,
                        TLS
@@ -320,7 +326,7 @@ namespace Gst {
                        GET,
                        POST
                }
-               [CCode (cheader_filename = "gst/rtsp/rtsp.h", cprefix = "GST_RTSP_MESSAGE_", has_type_id = 
false)]
+               [CCode (cheader_filename = "gst/rtsp/rtsp.h", cprefix = "GST_RTSP_MESSAGE_", type_id = 
"gst_rtsp_msg_type_get_type ()")]
                [GIR (name = "RTSPMsgType")]
                public enum MsgType {
                        INVALID,
@@ -334,12 +340,13 @@ namespace Gst {
                [Flags]
                [GIR (name = "RTSPProfile")]
                public enum Profile {
+                       UNKNOWN,
                        AVP,
                        SAVP,
                        AVPF,
                        SAVPF
                }
-               [CCode (cheader_filename = "gst/rtsp/rtsp.h", cprefix = "GST_RTSP_RANGE_", has_type_id = 
false)]
+               [CCode (cheader_filename = "gst/rtsp/rtsp.h", cprefix = "GST_RTSP_RANGE_", type_id = 
"gst_rtsp_range_unit_get_type ()")]
                [GIR (name = "RTSPRangeUnit")]
                public enum RangeUnit {
                        SMPTE,
@@ -430,7 +437,7 @@ namespace Gst {
                        RTSP_VERSION_NOT_SUPPORTED,
                        OPTION_NOT_SUPPORTED
                }
-               [CCode (cheader_filename = "gst/rtsp/rtsp.h", cprefix = "GST_RTSP_TIME_", has_type_id = 
false)]
+               [CCode (cheader_filename = "gst/rtsp/rtsp.h", cprefix = "GST_RTSP_TIME_", type_id = 
"gst_rtsp_time_type_get_type ()")]
                [GIR (name = "RTSPTimeType")]
                public enum TimeType {
                        SECONDS,
@@ -439,7 +446,7 @@ namespace Gst {
                        FRAMES,
                        UTC
                }
-               [CCode (cheader_filename = "gst/rtsp/rtsp.h", cprefix = "GST_RTSP_TRANS_", has_type_id = 
false)]
+               [CCode (cheader_filename = "gst/rtsp/rtsp.h", cprefix = "GST_RTSP_TRANS_", type_id = 
"gst_rtsp_trans_mode_get_type ()")]
                [Flags]
                [GIR (name = "RTSPTransMode")]
                public enum TransMode {
diff --git a/vapi/gstreamer-video-1.0.vapi b/vapi/gstreamer-video-1.0.vapi
index 82dce62..778fd35 100644
--- a/vapi/gstreamer-video-1.0.vapi
+++ b/vapi/gstreamer-video-1.0.vapi
@@ -46,7 +46,7 @@ namespace Gst {
                public class CodecState {
                        public weak Gst.Caps caps;
                        public weak Gst.Buffer codec_data;
-                       public Gst.Video.Info info;
+                       public weak Gst.Video.Info info;
                        public Gst.Video.CodecState @ref ();
                        public void unref ();
                }
@@ -60,6 +60,15 @@ namespace Gst {
                        protected ColorBalanceChannel ();
                        public virtual signal void value_changed (int value);
                }
+               [CCode (cheader_filename = "gst/video/video.h")]
+               [Compact]
+               [GIR (name = "VideoConverter")]
+               public class Converter {
+                       public void frame (Gst.Video.Frame src, Gst.Video.Frame dest);
+                       public void free ();
+                       public unowned Gst.Structure get_config ();
+                       public bool set_config (owned Gst.Structure config);
+               }
                [CCode (cheader_filename = "gst/video/video.h", type_id = "gst_video_decoder_get_type ()")]
                [GIR (name = "VideoDecoder")]
                public abstract class Decoder : Gst.Element {
@@ -72,6 +81,8 @@ namespace Gst {
                        public virtual bool close ();
                        [NoWrapper]
                        public virtual bool decide_allocation (Gst.Query query);
+                       [NoWrapper]
+                       public virtual Gst.FlowReturn drain ();
                        public Gst.FlowReturn drop_frame (owned Gst.Video.CodecFrame frame);
                        [NoWrapper]
                        public virtual Gst.FlowReturn finish ();
@@ -93,9 +104,11 @@ namespace Gst {
                        public size_t get_pending_frame_size ();
                        public double get_qos_proportion ();
                        [NoWrapper]
+                       public virtual Gst.Caps getcaps (Gst.Caps filter);
+                       [NoWrapper]
                        public virtual Gst.FlowReturn handle_frame (Gst.Video.CodecFrame frame);
                        public Gst.FlowReturn have_frame ();
-                       public void merge_tags (Gst.TagList tags, Gst.TagMergeMode mode);
+                       public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
                        public virtual bool negotiate ();
                        [NoWrapper]
                        public virtual bool open ();
@@ -103,6 +116,7 @@ namespace Gst {
                        public virtual Gst.FlowReturn parse (Gst.Video.CodecFrame frame, Gst.Base.Adapter 
adapter, bool at_eos);
                        [NoWrapper]
                        public virtual bool propose_allocation (Gst.Query query);
+                       public Gst.Caps proxy_getcaps (Gst.Caps? caps, Gst.Caps? filter);
                        public void release_frame (owned Gst.Video.CodecFrame frame);
                        [NoWrapper]
                        public virtual bool reset (bool hard);
@@ -114,6 +128,7 @@ namespace Gst {
                        public void set_needs_format (bool enabled);
                        public Gst.Video.CodecState set_output_state (Gst.Video.Format fmt, uint width, uint 
height, Gst.Video.CodecState? reference);
                        public void set_packetized (bool packetized);
+                       public void set_use_default_pad_acceptcaps (bool use);
                        [NoWrapper]
                        public virtual bool sink_event (Gst.Event event);
                        [NoWrapper]
@@ -126,6 +141,15 @@ namespace Gst {
                        public virtual bool start ();
                        [NoWrapper]
                        public virtual bool stop ();
+                       [NoWrapper]
+                       public virtual bool transform_meta (Gst.Video.CodecFrame frame, Gst.Meta meta);
+               }
+               [CCode (cheader_filename = "gst/video/video.h")]
+               [Compact]
+               [GIR (name = "VideoDither")]
+               public class Dither {
+                       public void free ();
+                       public void line (void* line, uint x, uint y, uint width);
                }
                [CCode (cheader_filename = "gst/video/video.h", type_id = "gst_video_encoder_get_type ()")]
                [GIR (name = "VideoEncoder")]
@@ -153,7 +177,7 @@ namespace Gst {
                        public virtual Gst.Caps getcaps (Gst.Caps filter);
                        [NoWrapper]
                        public virtual Gst.FlowReturn handle_frame (Gst.Video.CodecFrame frame);
-                       public void merge_tags (Gst.TagList tags, Gst.TagMergeMode mode);
+                       public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
                        public virtual bool negotiate ();
                        [NoWrapper]
                        public virtual bool open ();
@@ -161,13 +185,14 @@ namespace Gst {
                        public virtual Gst.FlowReturn pre_push (Gst.Video.CodecFrame frame);
                        [NoWrapper]
                        public virtual bool propose_allocation (Gst.Query query);
-                       public Gst.Caps proxy_getcaps (Gst.Caps caps, Gst.Caps filter);
+                       public Gst.Caps proxy_getcaps (Gst.Caps? caps, Gst.Caps? filter);
                        [NoWrapper]
                        public virtual bool reset (bool hard);
                        [NoWrapper]
                        public virtual bool set_format (Gst.Video.CodecState state);
                        public void set_headers (owned GLib.List<Gst.Buffer> headers);
                        public void set_latency (Gst.ClockTime min_latency, Gst.ClockTime max_latency);
+                       public void set_min_pts (Gst.ClockTime min_pts);
                        public Gst.Video.CodecState set_output_state (owned Gst.Caps caps, 
Gst.Video.CodecState? reference);
                        [NoWrapper]
                        public virtual bool sink_event (Gst.Event event);
@@ -181,13 +206,15 @@ namespace Gst {
                        public virtual bool start ();
                        [NoWrapper]
                        public virtual bool stop ();
+                       [NoWrapper]
+                       public virtual bool transform_meta (Gst.Video.CodecFrame frame, Gst.Meta meta);
                }
                [CCode (cheader_filename = "gst/video/video.h", type_id = "gst_video_filter_get_type ()")]
                [GIR (name = "VideoFilter")]
                public abstract class Filter : Gst.Base.Transform {
-                       public Gst.Video.Info in_info;
+                       public weak Gst.Video.Info in_info;
                        public bool negotiated;
-                       public Gst.Video.Info out_info;
+                       public weak Gst.Video.Info out_info;
                        [CCode (has_construct_function = false)]
                        protected Filter ();
                        [NoWrapper]
@@ -197,6 +224,49 @@ namespace Gst {
                        [NoWrapper]
                        public virtual Gst.FlowReturn transform_frame_ip (Gst.Video.Frame frame);
                }
+               [CCode (cheader_filename = "gst/video/video.h", copy_function = "g_boxed_copy", free_function 
= "g_boxed_free", type_id = "gst_video_info_get_type ()")]
+               [Compact]
+               [GIR (name = "VideoInfo")]
+               public class Info {
+                       [CCode (cname = "ABI.abi.multiview_flags")]
+                       public Gst.Video.MultiviewFlags ABI_abi_multiview_flags;
+                       [CCode (cname = "ABI.abi.multiview_mode")]
+                       public Gst.Video.MultiviewMode ABI_abi_multiview_mode;
+                       public Gst.Video.ChromaSite chroma_site;
+                       public Gst.Video.Colorimetry colorimetry;
+                       public weak Gst.Video.FormatInfo? finfo;
+                       public Gst.Video.Flags flags;
+                       public int fps_d;
+                       public int fps_n;
+                       public int height;
+                       public Gst.Video.InterlaceMode interlace_mode;
+                       [CCode (array_length = false, array_null_terminated = true)]
+                       public weak size_t[] offset;
+                       public int par_d;
+                       public int par_n;
+                       public size_t size;
+                       [CCode (array_length = false, array_null_terminated = true)]
+                       public weak int[] stride;
+                       public int views;
+                       public int width;
+                       [CCode (has_construct_function = false)]
+                       public Info ();
+                       public void align (Gst.Video.Alignment align);
+                       public bool convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, 
int64 dest_value);
+                       public Gst.Video.Info copy ();
+                       public void free ();
+                       public bool from_caps (Gst.Caps caps);
+                       public void init ();
+                       public bool is_equal (Gst.Video.Info other);
+                       public void set_format (Gst.Video.Format format, uint width, uint height);
+                       public Gst.Caps to_caps ();
+               }
+               [CCode (cheader_filename = "gst/video/video.h", lower_case_cprefix = 
"gst_video_multiview_flagset_", type_id = "gst_video_multiview_flagset_get_type ()")]
+               [GIR (name = "VideoMultiviewFlagsSet")]
+               public class MultiviewFlagsSet : Gst.FlagSet {
+                       [CCode (has_construct_function = false)]
+                       protected MultiviewFlagsSet ();
+               }
                [CCode (cheader_filename = "gst/video/video-overlay-composition.h", ref_function = 
"gst_video_overlay_composition_ref", type_id = "gst_video_overlay_composition_get_type ()", unref_function = 
"gst_video_overlay_composition_unref")]
                [Compact]
                [GIR (name = "VideoOverlayComposition")]
@@ -231,6 +301,17 @@ namespace Gst {
                        public void set_global_alpha (float global_alpha);
                        public void set_render_rectangle (int render_x, int render_y, uint render_width, uint 
render_height);
                }
+               [CCode (cheader_filename = "gst/video/video.h")]
+               [Compact]
+               [GIR (name = "VideoScaler")]
+               public class Scaler {
+                       public void @2d (Gst.Video.Scaler vscale, Gst.Video.Format format, void* src, int 
src_stride, void* dest, int dest_stride, uint x, uint y, uint width, uint height);
+                       public void free ();
+                       public double get_coeff (uint out_offset, uint in_offset, uint n_taps);
+                       public uint get_max_taps ();
+                       public void horizontal (Gst.Video.Format format, void* src, void* dest, uint 
dest_offset, uint width);
+                       public void vertical (Gst.Video.Format format, void* src_lines, void* dest, uint 
dest_offset, uint width);
+               }
                [CCode (cheader_filename = "gst/video/video.h", type_id = "gst_video_sink_get_type ()")]
                [GIR (name = "VideoSink")]
                public class Sink : Gst.Base.Sink {
@@ -265,8 +346,10 @@ namespace Gst {
                        public static Gst.Video.NavigationMessageType message_get_type (Gst.Message message);
                        public static Gst.Message message_new_angles_changed (Gst.Object src, uint cur_angle, 
uint n_angles);
                        public static Gst.Message message_new_commands_changed (Gst.Object src);
+                       public static Gst.Message message_new_event (Gst.Object src, Gst.Event event);
                        public static 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_event (Gst.Message message, out Gst.Event event);
                        public static bool message_parse_mouse_over (Gst.Message message, bool active);
                        public static Gst.Video.NavigationQueryType query_get_type (Gst.Query query);
                        public static Gst.Query query_new_angles ();
@@ -318,6 +401,19 @@ namespace Gst {
                        public void reset ();
                }
                [CCode (cheader_filename = "gst/video/video.h", has_type_id = false)]
+               [GIR (name = "VideoColorPrimariesInfo")]
+               public struct ColorPrimariesInfo {
+                       public Gst.Video.ColorPrimaries primaries;
+                       public double Wx;
+                       public double Wy;
+                       public double Rx;
+                       public double Ry;
+                       public double Gx;
+                       public double Gy;
+                       public double Bx;
+                       public double By;
+               }
+               [CCode (cheader_filename = "gst/video/video.h", has_type_id = false)]
                [GIR (name = "VideoColorimetry")]
                public struct Colorimetry {
                        public Gst.Video.ColorRange range;
@@ -325,6 +421,7 @@ namespace Gst {
                        public Gst.Video.TransferFunction transfer;
                        public Gst.Video.ColorPrimaries primaries;
                        public bool from_string (string color);
+                       public bool is_equal (Gst.Video.Colorimetry other);
                        public bool matches (string color);
                        public string to_string ();
                }
@@ -374,7 +471,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/video/video.h", has_type_id = false)]
                [GIR (name = "VideoFrame")]
                public struct Frame {
-                       public Gst.Video.Info info;
+                       public weak Gst.Video.Info info;
                        public Gst.Video.FrameFlags flags;
                        public weak Gst.Buffer buffer;
                        public void* meta;
@@ -398,34 +495,6 @@ namespace Gst {
                        public bool upload (uint texture_id);
                }
                [CCode (cheader_filename = "gst/video/video.h", has_type_id = false)]
-               [GIR (name = "VideoInfo")]
-               public struct Info {
-                       public weak Gst.Video.FormatInfo? finfo;
-                       public Gst.Video.InterlaceMode interlace_mode;
-                       public Gst.Video.Flags flags;
-                       public int width;
-                       public int height;
-                       public size_t size;
-                       public int views;
-                       public Gst.Video.ChromaSite chroma_site;
-                       public Gst.Video.Colorimetry colorimetry;
-                       public int par_n;
-                       public int par_d;
-                       public int fps_n;
-                       public int fps_d;
-                       [CCode (array_length = false, array_null_terminated = true)]
-                       public weak size_t[] offset;
-                       [CCode (array_length = false, array_null_terminated = true)]
-                       public weak int[] stride;
-                       public void align (Gst.Video.Alignment align);
-                       public bool convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, 
int64 dest_value);
-                       public bool from_caps (Gst.Caps caps);
-                       public void init ();
-                       public bool is_equal (Gst.Video.Info other);
-                       public void set_format (Gst.Video.Format format, uint width, uint height);
-                       public Gst.Caps to_caps ();
-               }
-               [CCode (cheader_filename = "gst/video/video.h", has_type_id = false)]
                [GIR (name = "VideoMeta")]
                public struct Meta {
                        public Gst.Meta meta;
@@ -446,8 +515,8 @@ namespace Gst {
                [CCode (cheader_filename = "gst/video/video.h", has_type_id = false)]
                [GIR (name = "VideoMetaTransform")]
                public struct MetaTransform {
-                       public Gst.Video.Info in_info;
-                       public Gst.Video.Info out_info;
+                       public weak Gst.Video.Info in_info;
+                       public weak Gst.Video.Info out_info;
                }
                [CCode (cheader_filename = "gst/video/video.h", has_type_id = false)]
                [GIR (name = "VideoOverlayCompositionMeta")]
@@ -475,7 +544,28 @@ namespace Gst {
                        public uint w;
                        public uint h;
                }
-               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_BUFFER_FLAG_", 
has_type_id = false)]
+               [CCode (cheader_filename = "gst/video/video.h", has_type_id = false)]
+               [GIR (name = "VideoResampler")]
+               public struct Resampler {
+                       public int in_size;
+                       public int out_size;
+                       public uint max_taps;
+                       public uint n_phases;
+                       public uint32 offset;
+                       public uint32 phase;
+                       public uint32 n_taps;
+                       public double taps;
+                       public void clear ();
+                       public bool init (Gst.Video.ResamplerMethod method, Gst.Video.ResamplerFlags flags, 
uint n_phases, uint n_taps, double shift, uint in_size, uint out_size, Gst.Structure options);
+               }
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_ALPHA_MODE_", type_id = 
"gst_video_alpha_mode_get_type ()")]
+               [GIR (name = "VideoAlphaMode")]
+               public enum AlphaMode {
+                       COPY,
+                       SET,
+                       MULT
+               }
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_BUFFER_FLAG_", type_id = 
"gst_video_buffer_flags_get_type ()")]
                [Flags]
                [GIR (name = "VideoBufferFlags")]
                public enum BufferFlags {
@@ -483,6 +573,8 @@ namespace Gst {
                        TFF,
                        RFF,
                        ONEFIELD,
+                       MULTIPLE_VIEW,
+                       FIRST_IN_BUNDLE,
                        LAST
                }
                [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_CHROMA_FLAG_", type_id = 
"gst_video_chroma_flags_get_type ()")]
@@ -498,6 +590,14 @@ namespace Gst {
                        NEAREST,
                        LINEAR
                }
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_CHROMA_MODE_", type_id = 
"gst_video_chroma_mode_get_type ()")]
+               [GIR (name = "VideoChromaMode")]
+               public enum ChromaMode {
+                       FULL,
+                       UPSAMPLE_ONLY,
+                       DOWNSAMPLE_ONLY,
+                       NONE
+               }
                [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_CHROMA_SITE_", type_id = 
"gst_video_chroma_site_get_type ()")]
                [Flags]
                [GIR (name = "VideoChromaSite")]
@@ -535,7 +635,8 @@ namespace Gst {
                        FCC,
                        BT709,
                        BT601,
-                       SMPTE240M
+                       SMPTE240M,
+                       BT2020
                }
                [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_COLOR_PRIMARIES_", 
type_id = "gst_video_color_primaries_get_type ()")]
                [GIR (name = "VideoColorPrimaries")]
@@ -546,7 +647,8 @@ namespace Gst {
                        BT470BG,
                        SMPTE170M,
                        SMPTE240M,
-                       FILM
+                       FILM,
+                       BT2020
                }
                [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_COLOR_RANGE_", type_id = 
"gst_video_color_range_get_type ()")]
                [GIR (name = "VideoColorRange")]
@@ -555,6 +657,23 @@ namespace Gst {
                        @0_255,
                        @16_235
                }
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_DITHER_FLAG_", type_id = 
"gst_video_dither_flags_get_type ()")]
+               [Flags]
+               [GIR (name = "VideoDitherFlags")]
+               public enum DitherFlags {
+                       NONE,
+                       INTERLACED,
+                       QUANTIZE
+               }
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_DITHER_", type_id = 
"gst_video_dither_method_get_type ()")]
+               [GIR (name = "VideoDitherMethod")]
+               public enum DitherMethod {
+                       NONE,
+                       VERTERR,
+                       FLOYD_STEINBERG,
+                       SIERRA_LITE,
+                       BAYER
+               }
                [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_FLAG_", type_id = 
"gst_video_flags_get_type ()")]
                [Flags]
                [GIR (name = "VideoFlags")]
@@ -627,7 +746,14 @@ namespace Gst {
                        GBR_10LE,
                        NV16,
                        NV24,
-                       NV12_64Z32
+                       NV12_64Z32,
+                       A420_10BE,
+                       A420_10LE,
+                       A422_10BE,
+                       A422_10LE,
+                       A444_10BE,
+                       A444_10LE,
+                       NV61
                }
                [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_FORMAT_FLAG_", type_id = 
"gst_video_format_flags_get_type ()")]
                [Flags]
@@ -643,7 +769,7 @@ namespace Gst {
                        UNPACK,
                        TILED
                }
-               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_FRAME_FLAG_", 
has_type_id = false)]
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_FRAME_FLAG_", type_id = 
"gst_video_frame_flags_get_type ()")]
                [Flags]
                [GIR (name = "VideoFrameFlags")]
                public enum FrameFlags {
@@ -651,7 +777,16 @@ namespace Gst {
                        INTERLACED,
                        TFF,
                        RFF,
-                       ONEFIELD
+                       ONEFIELD,
+                       MULTIPLE_VIEW,
+                       FIRST_IN_BUNDLE
+               }
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_FRAME_MAP_FLAG_", 
type_id = "gst_video_frame_map_flags_get_type ()")]
+               [Flags]
+               [GIR (name = "VideoFrameMapFlags")]
+               public enum FrameMapFlags {
+                       NO_REF,
+                       LAST
                }
                [CCode (cheader_filename = "gst/video/video.h", cprefix = 
"GST_VIDEO_GL_TEXTURE_ORIENTATION_X_", has_type_id = false)]
                [GIR (name = "VideoGLTextureOrientation")]
@@ -672,6 +807,12 @@ namespace Gst {
                        R,
                        RG
                }
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_GAMMA_MODE_", type_id = 
"gst_video_gamma_mode_get_type ()")]
+               [GIR (name = "VideoGammaMode")]
+               public enum GammaMode {
+                       NONE,
+                       REMAP
+               }
                [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_INTERLACE_MODE_", 
type_id = "gst_video_interlace_mode_get_type ()")]
                [GIR (name = "VideoInterlaceMode")]
                public enum InterlaceMode {
@@ -680,6 +821,58 @@ namespace Gst {
                        MIXED,
                        FIELDS
                }
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_MATRIX_MODE_", type_id = 
"gst_video_matrix_mode_get_type ()")]
+               [GIR (name = "VideoMatrixMode")]
+               public enum MatrixMode {
+                       FULL,
+                       INPUT_ONLY,
+                       OUTPUT_ONLY,
+                       NONE
+               }
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_MULTIVIEW_FLAGS_", 
type_id = "gst_video_multiview_flags_get_type ()")]
+               [Flags]
+               [GIR (name = "VideoMultiviewFlags")]
+               public enum MultiviewFlags {
+                       NONE,
+                       RIGHT_VIEW_FIRST,
+                       LEFT_FLIPPED,
+                       LEFT_FLOPPED,
+                       RIGHT_FLIPPED,
+                       RIGHT_FLOPPED,
+                       HALF_ASPECT,
+                       MIXED_MONO
+               }
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = 
"GST_VIDEO_MULTIVIEW_FRAME_PACKING_", type_id = "gst_video_multiview_frame_packing_get_type ()")]
+               [GIR (name = "VideoMultiviewFramePacking")]
+               public enum MultiviewFramePacking {
+                       NONE,
+                       MONO,
+                       LEFT,
+                       RIGHT,
+                       SIDE_BY_SIDE,
+                       SIDE_BY_SIDE_QUINCUNX,
+                       COLUMN_INTERLEAVED,
+                       ROW_INTERLEAVED,
+                       TOP_BOTTOM,
+                       CHECKERBOARD
+               }
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_MULTIVIEW_MODE_", 
type_id = "gst_video_multiview_mode_get_type ()")]
+               [GIR (name = "VideoMultiviewMode")]
+               public enum MultiviewMode {
+                       NONE,
+                       MONO,
+                       LEFT,
+                       RIGHT,
+                       SIDE_BY_SIDE,
+                       SIDE_BY_SIDE_QUINCUNX,
+                       COLUMN_INTERLEAVED,
+                       ROW_INTERLEAVED,
+                       TOP_BOTTOM,
+                       CHECKERBOARD,
+                       FRAME_BY_FRAME,
+                       MULTIVIEW_FRAME_BY_FRAME,
+                       SEPARATED
+               }
                [CCode (cheader_filename = "gst/video/video.h", cname = "GstNavigationCommand", cprefix = 
"GST_NAVIGATION_COMMAND_", type_id = "gst_navigation_command_get_type ()")]
                [GIR (name = "NavigationCommand")]
                public enum NavigationCommand {
@@ -716,7 +909,8 @@ namespace Gst {
                        INVALID,
                        MOUSE_OVER,
                        COMMANDS_CHANGED,
-                       ANGLES_CHANGED
+                       ANGLES_CHANGED,
+                       EVENT
                }
                [CCode (cheader_filename = "gst/video/video.h", cname = "GstNavigationQueryType", cprefix = 
"GST_NAVIGATION_QUERY_", type_id = "gst_navigation_query_type_get_type ()")]
                [GIR (name = "NavigationQueryType")]
@@ -740,6 +934,34 @@ namespace Gst {
                        TRUNCATE_RANGE,
                        INTERLACED
                }
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_PRIMARIES_MODE_", 
type_id = "gst_video_primaries_mode_get_type ()")]
+               [GIR (name = "VideoPrimariesMode")]
+               public enum PrimariesMode {
+                       NONE,
+                       MERGE_ONLY,
+                       FAST
+               }
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_RESAMPLER_FLAG_", 
type_id = "gst_video_resampler_flags_get_type ()")]
+               [GIR (name = "VideoResamplerFlags")]
+               public enum ResamplerFlags {
+                       NONE
+               }
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_RESAMPLER_METHOD_", 
type_id = "gst_video_resampler_method_get_type ()")]
+               [GIR (name = "VideoResamplerMethod")]
+               public enum ResamplerMethod {
+                       NEAREST,
+                       LINEAR,
+                       CUBIC,
+                       SINC,
+                       LANCZOS
+               }
+               [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_SCALER_FLAG_", type_id = 
"gst_video_scaler_flags_get_type ()")]
+               [Flags]
+               [GIR (name = "VideoScalerFlags")]
+               public enum ScalerFlags {
+                       NONE,
+                       INTERLACED
+               }
                [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_TILE_MODE_", type_id = 
"gst_video_tile_mode_get_type ()")]
                [GIR (name = "VideoTileMode")]
                public enum TileMode {
@@ -764,7 +986,8 @@ namespace Gst {
                        SRGB,
                        GAMMA28,
                        LOG100,
-                       LOG316
+                       LOG316,
+                       BT2020_12
                }
                [CCode (cheader_filename = "gst/video/video.h", instance_pos = 2.9)]
                public delegate void ConvertSampleCallback (Gst.Sample sample, GLib.Error error);
@@ -786,12 +1009,16 @@ namespace Gst {
                public const string CAPS_FEATURE_META_GST_VIDEO_META;
                [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION")]
                public const string CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_COLORIMETRY_BT2020")]
+               public const string COLORIMETRY_BT2020;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_COLORIMETRY_BT601")]
                public const string COLORIMETRY_BT601;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_COLORIMETRY_BT709")]
                public const string COLORIMETRY_BT709;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_COLORIMETRY_SMPTE240M")]
                public const string COLORIMETRY_SMPTE240M;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_COLORIMETRY_SRGB")]
+               public const string COLORIMETRY_SRGB;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_COMP_A")]
                public const int COMP_A;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_COMP_B")]
@@ -810,6 +1037,48 @@ namespace Gst {
                public const int COMP_V;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_COMP_Y")]
                public const int COMP_Y;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_CONVERTER_OPT_ALPHA_MODE")]
+               public const string CONVERTER_OPT_ALPHA_MODE;
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE")]
+               public const string CONVERTER_OPT_ALPHA_VALUE;
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_VIDEO_CONVERTER_OPT_BORDER_ARGB")]
+               public const string CONVERTER_OPT_BORDER_ARGB;
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_VIDEO_CONVERTER_OPT_CHROMA_MODE")]
+               public const string CONVERTER_OPT_CHROMA_MODE;
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD")]
+               public const string CONVERTER_OPT_CHROMA_RESAMPLER_METHOD;
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_VIDEO_CONVERTER_OPT_DEST_HEIGHT")]
+               public const string CONVERTER_OPT_DEST_HEIGHT;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_CONVERTER_OPT_DEST_WIDTH")]
+               public const string CONVERTER_OPT_DEST_WIDTH;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_CONVERTER_OPT_DEST_X")]
+               public const string CONVERTER_OPT_DEST_X;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_CONVERTER_OPT_DEST_Y")]
+               public const string CONVERTER_OPT_DEST_Y;
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_VIDEO_CONVERTER_OPT_DITHER_METHOD")]
+               public const string CONVERTER_OPT_DITHER_METHOD;
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION")]
+               public const string CONVERTER_OPT_DITHER_QUANTIZATION;
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_VIDEO_CONVERTER_OPT_FILL_BORDER")]
+               public const string CONVERTER_OPT_FILL_BORDER;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_CONVERTER_OPT_GAMMA_MODE")]
+               public const string CONVERTER_OPT_GAMMA_MODE;
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_VIDEO_CONVERTER_OPT_MATRIX_MODE")]
+               public const string CONVERTER_OPT_MATRIX_MODE;
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_VIDEO_CONVERTER_OPT_PRIMARIES_MODE")]
+               public const string CONVERTER_OPT_PRIMARIES_MODE;
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_VIDEO_CONVERTER_OPT_RESAMPLER_METHOD")]
+               public const string CONVERTER_OPT_RESAMPLER_METHOD;
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_VIDEO_CONVERTER_OPT_RESAMPLER_TAPS")]
+               public const string CONVERTER_OPT_RESAMPLER_TAPS;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_CONVERTER_OPT_SRC_HEIGHT")]
+               public const string CONVERTER_OPT_SRC_HEIGHT;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_CONVERTER_OPT_SRC_WIDTH")]
+               public const string CONVERTER_OPT_SRC_WIDTH;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_CONVERTER_OPT_SRC_X")]
+               public const string CONVERTER_OPT_SRC_X;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_CONVERTER_OPT_SRC_Y")]
+               public const string CONVERTER_OPT_SRC_Y;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_DECODER_MAX_ERRORS")]
                public const int DECODER_MAX_ERRORS;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_DECODER_SINK_NAME")]
@@ -838,6 +1107,20 @@ namespace Gst {
                public const string META_TAG_VIDEO_STR;
                [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS")]
                public const string OVERLAY_COMPOSITION_BLEND_FORMATS;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_RESAMPLER_OPT_CUBIC_B")]
+               public const string RESAMPLER_OPT_CUBIC_B;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_RESAMPLER_OPT_CUBIC_C")]
+               public const string RESAMPLER_OPT_CUBIC_C;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_RESAMPLER_OPT_ENVELOPE")]
+               public const string RESAMPLER_OPT_ENVELOPE;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_RESAMPLER_OPT_MAX_TAPS")]
+               public const string RESAMPLER_OPT_MAX_TAPS;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_RESAMPLER_OPT_SHARPEN")]
+               public const string RESAMPLER_OPT_SHARPEN;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_RESAMPLER_OPT_SHARPNESS")]
+               public const string RESAMPLER_OPT_SHARPNESS;
+               [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_SCALER_OPT_DITHER_METHOD")]
+               public const string SCALER_OPT_DITHER_METHOD;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_SIZE_RANGE")]
                public const string SIZE_RANGE;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_TILE_TYPE_MASK")]
@@ -851,20 +1134,46 @@ namespace Gst {
                [CCode (cheader_filename = "gst/video/video.h")]
                public static bool blend (Gst.Video.Frame dest, Gst.Video.Frame src, int x, int y, float 
global_alpha);
                [CCode (cheader_filename = "gst/video/video.h")]
-               public static void blend_scale_linear_RGBA (Gst.Video.Info src, Gst.Buffer src_buffer, int 
dest_height, int dest_width, out Gst.Video.Info dest, out Gst.Buffer dest_buffer);
+               public static void blend_scale_linear_RGBA (Gst.Video.Info src, Gst.Buffer src_buffer, int 
dest_height, int dest_width, out unowned Gst.Video.Info dest, out Gst.Buffer dest_buffer);
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"gst_buffer_add_video_gl_texture_upload_meta")]
+               public static unowned Gst.Video.GLTextureUploadMeta? buffer_add_video_gl_texture_upload_meta 
(Gst.Buffer buffer, Gst.Video.GLTextureOrientation texture_orientation, uint n_textures, 
Gst.Video.GLTextureType texture_type, [CCode (delegate_target_pos = 5.5)] Gst.Video.GLTextureUpload upload, 
GLib.BoxedCopyFunc user_data_copy, GLib.BoxedFreeFunc user_data_free);
+               [CCode (cheader_filename = "gst/video/video.h", cname = "gst_buffer_add_video_meta")]
+               public static unowned Gst.Video.Meta? buffer_add_video_meta (Gst.Buffer buffer, 
Gst.Video.FrameFlags flags, Gst.Video.Format format, uint width, uint height);
+               [CCode (cheader_filename = "gst/video/video.h", cname = "gst_buffer_add_video_meta_full")]
+               public static unowned Gst.Video.Meta? buffer_add_video_meta_full (Gst.Buffer buffer, 
Gst.Video.FrameFlags flags, Gst.Video.Format format, uint width, uint height, uint n_planes, size_t offset, 
int stride);
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"gst_buffer_add_video_overlay_composition_meta")]
+               public static unowned Gst.Video.OverlayCompositionMeta? 
buffer_add_video_overlay_composition_meta (Gst.Buffer buf, Gst.Video.OverlayComposition? comp);
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"gst_buffer_add_video_region_of_interest_meta")]
+               public static unowned Gst.Video.RegionOfInterestMeta? 
buffer_add_video_region_of_interest_meta (Gst.Buffer buffer, string roi_type, uint x, uint y, uint w, uint h);
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"gst_buffer_add_video_region_of_interest_meta_id")]
+               public static unowned Gst.Video.RegionOfInterestMeta? 
buffer_add_video_region_of_interest_meta_id (Gst.Buffer buffer, GLib.Quark roi_type, uint x, uint y, uint w, 
uint h);
+               [CCode (cheader_filename = "gst/video/video.h", cname = "gst_buffer_get_video_meta")]
+               public static unowned Gst.Video.Meta? buffer_get_video_meta (Gst.Buffer buffer);
+               [CCode (cheader_filename = "gst/video/video.h", cname = "gst_buffer_get_video_meta_id")]
+               public static unowned Gst.Video.Meta? buffer_get_video_meta_id (Gst.Buffer buffer, int id);
+               [CCode (cheader_filename = "gst/video/video.h", cname = 
"gst_buffer_get_video_region_of_interest_meta_id")]
+               public static unowned Gst.Video.RegionOfInterestMeta? 
buffer_get_video_region_of_interest_meta_id (Gst.Buffer buffer, int id);
                [CCode (cheader_filename = "gst/video/video.h", cname = 
"gst_buffer_pool_config_get_video_alignment")]
                public static bool buffer_pool_config_get_video_alignment (Gst.Structure config, 
Gst.Video.Alignment align);
                [CCode (cheader_filename = "gst/video/video.h", cname = 
"gst_buffer_pool_config_set_video_alignment")]
                public static void buffer_pool_config_set_video_alignment (Gst.Structure config, 
Gst.Video.Alignment align);
                [CCode (cheader_filename = "gst/video/video.h")]
-               public static bool calculate_display_ratio (uint dar_n, uint dar_d, uint video_width, uint 
video_height, uint video_par_n, uint video_par_d, uint display_par_n, uint display_par_d);
+               public static bool calculate_display_ratio (out uint dar_n, out 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 Gst.Video.ChromaSite chroma_from_string (string s);
                [CCode (cheader_filename = "gst/video/video.h")]
                public static unowned string chroma_to_string (Gst.Video.ChromaSite site);
                [CCode (cheader_filename = "gst/video/video.h")]
+               public static bool color_matrix_get_Kr_Kb (Gst.Video.ColorMatrix matrix, double Kr, double 
Kb);
+               [CCode (cheader_filename = "gst/video/video.h")]
+               public static unowned Gst.Video.ColorPrimariesInfo? color_primaries_get_info 
(Gst.Video.ColorPrimaries primaries);
+               [CCode (cheader_filename = "gst/video/video.h")]
                public static void color_range_offsets (Gst.Video.ColorRange range, Gst.Video.FormatInfo 
info, out int offset, out int scale);
                [CCode (cheader_filename = "gst/video/video.h")]
+               public static double color_transfer_decode (Gst.Video.TransferFunction func, double val);
+               [CCode (cheader_filename = "gst/video/video.h")]
+               public static double color_transfer_encode (Gst.Video.TransferFunction func, double val);
+               [CCode (cheader_filename = "gst/video/video.h")]
                public static Gst.Sample convert_sample (Gst.Sample sample, Gst.Caps to_caps, Gst.ClockTime 
timeout) throws GLib.Error;
                [CCode (cheader_filename = "gst/video/video.h")]
                public static void convert_sample_async (Gst.Sample sample, Gst.Caps to_caps, Gst.ClockTime 
timeout, owned Gst.Video.ConvertSampleCallback callback);
@@ -904,6 +1213,12 @@ namespace Gst {
                public static GLib.Type gl_texture_upload_meta_api_get_type ();
                [CCode (cheader_filename = "gst/video/video.h")]
                public static unowned Gst.MetaInfo? gl_texture_upload_meta_get_info ();
+               [CCode (cheader_filename = "gst/video/video.h")]
+               public static bool guess_framerate (Gst.ClockTime duration, out int dest_n, out int dest_d);
+               [CCode (cheader_filename = "gst/video/video.h")]
+               public static Gst.Video.InterlaceMode interlace_mode_from_string (string mode);
+               [CCode (cheader_filename = "gst/video/video.h")]
+               public static unowned string interlace_mode_to_string (Gst.Video.InterlaceMode mode);
                [CCode (cheader_filename = "gst/video/video.h", cname = 
"gst_is_video_overlay_prepare_window_handle_message")]
                public static bool is_video_overlay_prepare_window_handle_message (Gst.Message msg);
                [CCode (cheader_filename = "gst/video/video.h")]
@@ -912,6 +1227,24 @@ namespace Gst {
                public static unowned Gst.MetaInfo? meta_get_info ();
                [CCode (cheader_filename = "gst/video/video.h")]
                public static GLib.Quark meta_transform_scale_get_quark ();
+               [CCode (cheader_filename = "gst/video/video.h")]
+               public static unowned GLib.Value? multiview_get_doubled_height_modes ();
+               [CCode (cheader_filename = "gst/video/video.h")]
+               public static unowned GLib.Value? multiview_get_doubled_size_modes ();
+               [CCode (cheader_filename = "gst/video/video.h")]
+               public static unowned GLib.Value? multiview_get_doubled_width_modes ();
+               [CCode (cheader_filename = "gst/video/video.h")]
+               public static unowned GLib.Value? multiview_get_mono_modes ();
+               [CCode (cheader_filename = "gst/video/video.h")]
+               public static unowned GLib.Value? multiview_get_unpacked_modes ();
+               [CCode (cheader_filename = "gst/video/video.h")]
+               public static bool multiview_guess_half_aspect (Gst.Video.MultiviewMode mv_mode, uint width, 
uint height, uint par_n, uint par_d);
+               [CCode (cheader_filename = "gst/video/video.h")]
+               public static Gst.Video.MultiviewMode multiview_mode_from_caps_string (string 
caps_mview_mode);
+               [CCode (cheader_filename = "gst/video/video.h")]
+               public static unowned string multiview_mode_to_caps_string (Gst.Video.MultiviewMode 
mview_mode);
+               [CCode (cheader_filename = "gst/video/video.h")]
+               public static void multiview_video_info_change_mode (Gst.Video.Info info, 
Gst.Video.MultiviewMode out_mview_mode, Gst.Video.MultiviewFlags out_mview_flags);
                [CCode (cheader_filename = "gst/video/video.h", cname = "gst_navigation_event_get_type")]
                public static Gst.Video.NavigationEventType navigation_event_get_type (Gst.Event event);
                [CCode (cheader_filename = "gst/video/video.h", cname = "gst_navigation_event_parse_command")]
@@ -928,10 +1261,14 @@ namespace Gst {
                public static Gst.Message navigation_message_new_angles_changed (Gst.Object src, uint 
cur_angle, uint n_angles);
                [CCode (cheader_filename = "gst/video/video.h", cname = 
"gst_navigation_message_new_commands_changed")]
                public static Gst.Message navigation_message_new_commands_changed (Gst.Object src);
+               [CCode (cheader_filename = "gst/video/video.h", cname = "gst_navigation_message_new_event")]
+               public static Gst.Message navigation_message_new_event (Gst.Object src, Gst.Event event);
                [CCode (cheader_filename = "gst/video/video.h", cname = 
"gst_navigation_message_new_mouse_over")]
                public static Gst.Message navigation_message_new_mouse_over (Gst.Object src, bool active);
                [CCode (cheader_filename = "gst/video/video.h", cname = 
"gst_navigation_message_parse_angles_changed")]
                public static bool navigation_message_parse_angles_changed (Gst.Message message, uint 
cur_angle, uint n_angles);
+               [CCode (cheader_filename = "gst/video/video.h", cname = "gst_navigation_message_parse_event")]
+               public static bool navigation_message_parse_event (Gst.Message message, out Gst.Event event);
                [CCode (cheader_filename = "gst/video/video.h", cname = 
"gst_navigation_message_parse_mouse_over")]
                public static bool navigation_message_parse_mouse_over (Gst.Message message, bool active);
                [CCode (cheader_filename = "gst/video/video.h", cname = "gst_navigation_query_get_type")]
diff --git a/vapi/json-glib-1.0.vapi b/vapi/json-glib-1.0.vapi
index 52dd6d2..9d43fb9 100644
--- a/vapi/json-glib-1.0.vapi
+++ b/vapi/json-glib-1.0.vapi
@@ -216,6 +216,11 @@ namespace Json {
                public abstract Json.Node serialize_property (string property_name, GLib.Value value, 
GLib.ParamSpec pspec);
                public abstract void set_property (GLib.ParamSpec pspec, GLib.Value value);
        }
+       [CCode (cheader_filename = "json-glib/json-glib.h", has_type_id = false)]
+       public struct ObjectIter {
+               public void init (Json.Object object);
+               public bool next (out unowned string member_name, out unowned Json.Node member_node);
+       }
        [CCode (cheader_filename = "json-glib/json-glib.h", cprefix = "JSON_NODE_", type_id = 
"json_node_type_get_type ()")]
        public enum NodeType {
                OBJECT,
diff --git a/vapi/libgdata.vapi b/vapi/libgdata.vapi
index 8dec4e5..8ba56f8 100644
--- a/vapi/libgdata.vapi
+++ b/vapi/libgdata.vapi
@@ -140,7 +140,7 @@ namespace GData {
                public uint add_insertion (GData.Entry entry, [CCode (scope = "async")] owned 
GData.BatchOperationCallback callback);
                public uint add_query (string id, GLib.Type entry_type, [CCode (scope = "async")] owned 
GData.BatchOperationCallback callback);
                public uint add_update (GData.Entry entry, [CCode (scope = "async")] owned 
GData.BatchOperationCallback callback);
-               public unowned GData.AuthorizationDomain get_authorization_domain ();
+               public unowned GData.AuthorizationDomain? get_authorization_domain ();
                public unowned string get_feed_uri ();
                public unowned GData.Service get_service ();
                public bool run (GLib.Cancellable? cancellable = null) throws GLib.Error;
@@ -270,7 +270,7 @@ namespace GData {
                public void set_start_min (int64 start_min);
                public void set_timezone (string? _timezone);
                [CCode (has_construct_function = false)]
-               public CalendarQuery.with_limits (string? q, int64? start_min, int64? start_max);
+               public CalendarQuery.with_limits (string? q, int64 start_min, int64 start_max);
                public bool future_events { get; set; }
                public uint max_attendees { get; set; }
                public string order_by { get; set; }
@@ -326,7 +326,7 @@ namespace GData {
                public ClientLoginAuthorizer.for_authorization_domains (string client_id, 
GLib.List<GData.AuthorizationDomain> authorization_domains);
                public unowned string get_client_id ();
                public unowned string get_password ();
-               public unowned GLib.ProxyResolver get_proxy_resolver ();
+               public unowned GLib.ProxyResolver? get_proxy_resolver ();
                [Deprecated (since = "0.15.0")]
                public Soup.URI get_proxy_uri ();
                public uint get_timeout ();
@@ -530,7 +530,7 @@ namespace GData {
                public DocumentsDocument (string? id);
                public GData.DownloadStream download (GData.DocumentsService service, string export_format, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public string get_download_uri (string export_format);
-               public unowned string get_thumbnail_uri ();
+               public unowned string? get_thumbnail_uri ();
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_documents_drawing_get_type ()")]
        public class DocumentsDrawing : GData.DocumentsDocument, GData.AccessHandler {
@@ -649,7 +649,7 @@ namespace GData {
                public DocumentsUploadQuery ();
                public string build_uri ();
                public bool get_convert ();
-               public unowned GData.DocumentsFolder get_folder ();
+               public unowned GData.DocumentsFolder? get_folder ();
                public void set_convert (bool convert);
                public void set_folder (GData.DocumentsFolder? folder);
                public bool convert { get; set; }
@@ -659,7 +659,7 @@ namespace GData {
        public class DownloadStream : GLib.InputStream, GLib.Seekable {
                [CCode (has_construct_function = false, type = "GInputStream*")]
                public DownloadStream (GData.Service service, GData.AuthorizationDomain? domain, string 
download_uri, GLib.Cancellable? cancellable = null);
-               public unowned GData.AuthorizationDomain get_authorization_domain ();
+               public unowned GData.AuthorizationDomain? get_authorization_domain ();
                public unowned GLib.Cancellable get_cancellable ();
                public ssize_t get_content_length ();
                public unowned string get_content_type ();
@@ -758,7 +758,7 @@ namespace GData {
        public class FreebaseResult : GData.Entry {
                [CCode (has_construct_function = false)]
                public FreebaseResult ();
-               public GLib.Variant dup_variant ();
+               public GLib.Variant? dup_variant ();
                [NoAccessorMethod]
                public GLib.Variant variant { owned get; }
        }
@@ -769,7 +769,7 @@ namespace GData {
                public void add_filter (string property, string value);
                public void add_location (uint64 radius, double lat, double lon);
                public void close_filter ();
-               public unowned string get_language ();
+               public unowned string? get_language ();
                public bool get_stemmed ();
                public void open_filter (GData.FreebaseSearchFilterType filter_type);
                public void set_language (string? lang);
@@ -781,7 +781,7 @@ namespace GData {
        public class FreebaseSearchResult : GData.FreebaseResult {
                [CCode (has_construct_function = false)]
                public FreebaseSearchResult ();
-               public unowned GData.FreebaseSearchResultItem get_item (uint i);
+               public unowned GData.FreebaseSearchResultItem? get_item (uint i);
                public uint get_num_items ();
                public uint get_total_hits ();
        }
@@ -792,8 +792,8 @@ namespace GData {
                public unowned string get_language ();
                public unowned string get_mid ();
                public unowned string get_name ();
-               public unowned string get_notable_id ();
-               public unowned string get_notable_name ();
+               public unowned string? get_notable_id ();
+               public unowned string? get_notable_name ();
                public double get_score ();
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_freebase_service_get_type ()")]
@@ -817,7 +817,7 @@ namespace GData {
                public unowned string get_id ();
                public uint64 get_property_count (string property);
                public uint64 get_property_hits (string property);
-               public unowned GData.FreebaseTopicValue get_property_value (string property, int64 item);
+               public unowned GData.FreebaseTopicValue? get_property_value (string property, int64 item);
                public GLib.GenericArray<weak string> list_properties ();
                public GData.FreebaseTopicObject @ref ();
                public void unref ();
@@ -827,8 +827,8 @@ namespace GData {
                [CCode (has_construct_function = false)]
                public FreebaseTopicQuery (string id);
                [CCode (array_length = false, array_null_terminated = true)]
-               public unowned string[] get_filter ();
-               public unowned string get_language ();
+               public unowned string[]? get_filter ();
+               public unowned string? get_language ();
                public void set_filter ([CCode (array_length = false, array_null_terminated = true)] 
string[]? filter);
                public void set_language (string? lang);
                [CCode (array_length = false, array_null_terminated = true)]
@@ -1300,11 +1300,11 @@ namespace GData {
                public OAuth1Authorizer (string? application_name, GLib.Type service_type);
                [CCode (has_construct_function = false)]
                public OAuth1Authorizer.for_authorization_domains (string? application_name, 
GLib.List<GData.AuthorizationDomain> authorization_domains);
-               public unowned string get_application_name ();
-               public unowned string get_locale ();
-               public unowned GLib.ProxyResolver get_proxy_resolver ();
+               public unowned string? get_application_name ();
+               public unowned string? get_locale ();
+               public unowned GLib.ProxyResolver? get_proxy_resolver ();
                [Deprecated (since = "0.15.0")]
-               public Soup.URI get_proxy_uri ();
+               public Soup.URI? get_proxy_uri ();
                public uint get_timeout ();
                public string request_authentication_uri (out string token, out string token_secret, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public async string request_authentication_uri_async (GLib.Cancellable? cancellable, out 
string token, out string token_secret) throws GLib.Error;
@@ -1332,8 +1332,8 @@ namespace GData {
                public OAuth2Authorizer.for_authorization_domains (string client_id, string client_secret, 
string redirect_uri, GLib.List<GData.AuthorizationDomain> authorization_domains);
                public unowned string get_client_id ();
                public unowned string get_client_secret ();
-               public unowned string get_locale ();
-               public unowned GLib.ProxyResolver get_proxy_resolver ();
+               public unowned string? get_locale ();
+               public unowned GLib.ProxyResolver? get_proxy_resolver ();
                public unowned string get_redirect_uri ();
                public uint get_timeout ();
                public bool request_authorization (string authorization_code, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
@@ -1624,7 +1624,7 @@ namespace GData {
                public static GLib.List<weak GData.AuthorizationDomain> get_authorization_domains (GLib.Type 
service_type);
                public unowned GData.Authorizer get_authorizer ();
                public unowned string get_locale ();
-               public unowned GLib.ProxyResolver get_proxy_resolver ();
+               public unowned GLib.ProxyResolver? get_proxy_resolver ();
                [Deprecated (since = "0.15.0")]
                public unowned Soup.URI get_proxy_uri ();
                public uint get_timeout ();
@@ -1706,10 +1706,10 @@ namespace GData {
                public TasksTask (string? id);
                public int64 get_completed ();
                public int64 get_due ();
-               public unowned string get_notes ();
-               public unowned string get_parent ();
-               public unowned string get_position ();
-               public unowned string get_status ();
+               public unowned string? get_notes ();
+               public unowned string? get_parent ();
+               public unowned string? get_position ();
+               public unowned string? get_status ();
                public void set_completed (int64 completed);
                public void set_due (int64 due);
                public void set_is_deleted (bool deleted);
@@ -1735,7 +1735,7 @@ namespace GData {
        public class UploadStream : GLib.OutputStream {
                [CCode (has_construct_function = false, type = "GOutputStream*")]
                public UploadStream (GData.Service service, GData.AuthorizationDomain? domain, string method, 
string upload_uri, GData.Entry? entry, string slug, string content_type, GLib.Cancellable? cancellable = 
null);
-               public unowned GData.AuthorizationDomain get_authorization_domain ();
+               public unowned GData.AuthorizationDomain? get_authorization_domain ();
                public unowned GLib.Cancellable get_cancellable ();
                public int64 get_content_length ();
                public unowned string get_content_type ();
@@ -1983,12 +1983,12 @@ namespace GData {
                public abstract string get_insert_comment_uri (GData.Comment comment);
                [NoWrapper]
                public abstract string get_query_comments_uri ();
-               public GData.Comment insert_comment (GData.Service service, GData.Comment comment_, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
-               public async GData.Comment insert_comment_async (GData.Service service, GData.Comment 
comment_, GLib.Cancellable? cancellable) throws GLib.Error;
+               public GData.Comment? insert_comment (GData.Service service, GData.Comment comment_, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public async GData.Comment? insert_comment_async (GData.Service service, GData.Comment 
comment_, GLib.Cancellable? cancellable) throws GLib.Error;
                [NoWrapper]
                public abstract bool is_comment_deletable (GData.Comment comment);
-               public GData.Feed query_comments (GData.Service service, GData.Query? query, 
GLib.Cancellable? cancellable, GData.QueryProgressCallback? progress_callback) throws GLib.Error;
-               public async GData.Feed query_comments_async (GData.Service service, GData.Query? query, 
GLib.Cancellable? cancellable, owned GData.QueryProgressCallback? progress_callback) throws GLib.Error;
+               public GData.Feed? query_comments (GData.Service service, GData.Query? query, 
GLib.Cancellable? cancellable, GData.QueryProgressCallback? progress_callback) throws GLib.Error;
+               public async GData.Feed? query_comments_async (GData.Service service, GData.Query? query, 
GLib.Cancellable? cancellable, owned GData.QueryProgressCallback? progress_callback) throws GLib.Error;
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_comparable_get_type ()")]
        public interface Comparable : GLib.Object {
diff --git a/vapi/libsoup-2.4.vapi b/vapi/libsoup-2.4.vapi
index adb6d6b..c299c9a 100644
--- a/vapi/libsoup-2.4.vapi
+++ b/vapi/libsoup-2.4.vapi
@@ -888,7 +888,7 @@ namespace Soup {
                public unowned string get_user ();
                public bool host_equal (Soup.URI v2);
                public uint host_hash ();
-               public static string normalize (string part, string unescape_extra);
+               public static string normalize (string part, string? unescape_extra);
                public void set_fragment (string? fragment);
                public void set_host (string? host);
                public void set_password (string? password);
diff --git a/vapi/metadata/GdkPixbuf-2.0.metadata b/vapi/metadata/GdkPixbuf-2.0.metadata
index 2dae167..361e3bf 100644
--- a/vapi/metadata/GdkPixbuf-2.0.metadata
+++ b/vapi/metadata/GdkPixbuf-2.0.metadata
@@ -3,7 +3,6 @@ Pixbuf
         .new_from_stream_at_scale_async skip
         .new_subpixbuf skip
         .save_to_stream_finish skip
-        .gettext skip
 
 // gdk-pixdata.h isn't included by gdk-pixbuf.h
 Pixdata* cheader_filename="gdk-pixbuf/gdk-pixdata.h"
@@ -21,5 +20,3 @@ Pixbuf
 
 // Bug #666798: delegates which throw exceptions
 PixbufSaveFunc skip
-
-*_autoptr skip
diff --git a/vapi/metadata/Gio-2.0.metadata b/vapi/metadata/Gio-2.0.metadata
index c9cd9a6..1c2eb77 100644
--- a/vapi/metadata/Gio-2.0.metadata
+++ b/vapi/metadata/Gio-2.0.metadata
@@ -141,6 +141,7 @@ InputStream
   .skip throws="GLib.IOError"
   .skip_finish throws="GLib.IOError"
 ListModel
+  .get_item#virtual_method skip
   .get_item#method skip=false abstract
 MemoryOutputStream
   .get_data type="unowned uint8[]"
@@ -197,8 +198,10 @@ SimpleAsyncResult
   .new_error skip
   .new_from_error skip
 Socket
-  .condition_wait throws="GLib.IOError"
-  .create_source skip=false type="GLib.SocketSource"
+  .condition_wait skip
+  .create_source skip
+  .receive_messages skip
+  .send_messages skip
 SocketControlMessage
   .serialize.data type="uint8[]"
 SocketListener
@@ -354,7 +357,6 @@ DataInputStream
   .read_line.length default=null
 
 // Forward upstream
-*_autoptr skip
 NativeSocketAddress skip
 content_type_from_mime_type nullable
 content_type_get_mime_type nullable
diff --git a/vapi/metadata/Gst-1.0.metadata b/vapi/metadata/Gst-1.0.metadata
index 2b59f05..ecd2c39 100644
--- a/vapi/metadata/Gst-1.0.metadata
+++ b/vapi/metadata/Gst-1.0.metadata
@@ -1,13 +1,10 @@
 Gst experimental
 
-// Virtual methods without invokers
-Element
-  .request_new_pad skip=false unowned=false nullable
-
 // Return non-boxed types
 MiniObject
   .copy skip=false
   .ref skip=false
+  .unref skip=false
 poll_new skip=false parent="Gst.Poll" symbol_type="constructor" name="new"
 poll_new_timer skip=false parent="Gst.Poll" symbol_type="constructor" name="new_timer"
 
@@ -148,7 +145,7 @@ parse_launchv skip
 parse_launchv_full name="parse_launchv"
 
 // Default values
-debug_log_default.unused default=null
+debug_log_default.user_data default=null
 Bus
   .add_signal_watch_full.priority default=GLib.Priority.DEFAULT
 Caps
@@ -216,14 +213,10 @@ ElementFactory.get_static_pad_templates type="GLib.List<weak Gst.StaticPadTempla
 
 // Backwards compatibility
 Structure.new_from_string skip
+Pipeline
+  .get_clock skip=false
+  .set_clock skip=false
 
 // Upstream
 ///////////
 
-// Upstream backports from 1.5/1.6
-PadChainFunction.buffer owned
-PadChainListFunction.list owned
-PadEventFunction.event owned
-
-// Bug #730957:
-ElementFactory.get_metadata_keys nullable
diff --git a/vapi/metadata/GstCheck-1.0.metadata b/vapi/metadata/GstCheck-1.0.metadata
index 21ecca5..fae6812 100644
--- a/vapi/metadata/GstCheck-1.0.metadata
+++ b/vapi/metadata/GstCheck-1.0.metadata
@@ -5,3 +5,7 @@ check_* name="check_(.+)"
 consistency_checker_add_pad skip
 consistency_checker_free skip
 consistency_checker_reset skip
+
+Harness
+       .src_harness skip
+       .sink_harness skip
diff --git a/vapi/metadata/GstController-1.0.metadata b/vapi/metadata/GstController-1.0.metadata
index 72e3909..d3696ef 100644
--- a/vapi/metadata/GstController-1.0.metadata
+++ b/vapi/metadata/GstController-1.0.metadata
@@ -1,5 +1,8 @@
 * parent="Gst.Controller"
 
+DirectControlBinding
+       .new_absolute name=".new_with_absolute"
+
 TimedValueControlSource
   .find_control_point_iter skip=false
   .values type="GLib.Sequence<Gst.Controller.ControlPoint?>"
diff --git a/vapi/metadata/GstPbutils-1.0.metadata b/vapi/metadata/GstPbutils-1.0.metadata
index 453b986..b67c60a 100644
--- a/vapi/metadata/GstPbutils-1.0.metadata
+++ b/vapi/metadata/GstPbutils-1.0.metadata
@@ -7,6 +7,3 @@ codec_utils_aac_* parent="Gst.PbUtils.Codec.AAC" name="codec_utils_aac_(.+)"
 codec_utils_h264_* parent="Gst.PbUtils.Codec.H264" name="codec_utils_h264_(.+)"
 codec_utils_mpeg4video_* parent="Gst.PbUtils.Codec.MPEG4Video" name="codec_utils_mpeg4video_(.+)"
 
-// Upstream backports from 1.5/1.6
-DiscovererInfo
-  .get_missing_elements_installer_details unowned
diff --git a/vapi/metadata/GstVideo-1.0.metadata b/vapi/metadata/GstVideo-1.0.metadata
index 62b130f..bfb330c 100644
--- a/vapi/metadata/GstVideo-1.0.metadata
+++ b/vapi/metadata/GstVideo-1.0.metadata
@@ -27,7 +27,3 @@ VideoInfo
 
 VideoChromaResample skip
 video_chroma_resample skip
-
-// Upstream backports from 1.5/1.6
-video_blend_scale_linear_RGBA.dest out
-video_blend_scale_linear_RGBA.dest_buffer out unowned=false
diff --git a/vapi/metadata/Pango-1.0.metadata b/vapi/metadata/Pango-1.0.metadata
index 09e0368..ed78402 100644
--- a/vapi/metadata/Pango-1.0.metadata
+++ b/vapi/metadata/Pango-1.0.metadata
@@ -16,12 +16,13 @@ Attribute struct=false
 AttrShape
   .data type="T"
   .copy_func skip=false type_arguments="T"
+AttrDataCopyFunc skip
 
 // Fields
 AttrColor
   .color unowned=false
 GlyphString
-  .glyphs array unowned=false array_length_field="num_glyphs"
+  .glyphs unowned=false array_length_field="num_glyphs"
   .log_clusters array unowned=false array_length_field="num_glyphs"
 LayoutLine
   .runs type_arguments="Pango.LayoutRun"
diff --git a/vapi/metadata/Poppler-0.18.metadata b/vapi/metadata/Poppler-0.18.metadata
index 4fb88d3..0f01088 100644
--- a/vapi/metadata/Poppler-0.18.metadata
+++ b/vapi/metadata/Poppler-0.18.metadata
@@ -14,4 +14,3 @@ ANNOT_TEXT_ICON_* parent="Poppler.AnnotTextIcon" name="ANNOT_TEXT_ICON_(.+)"
 
 ActionLayer.layers type_arguments="Poppler.ActionLayer"
 ActionOCGState.state_list type_arguments="Poppler.ActionLayer"
-_AttachmentClass skip
diff --git a/vapi/metadata/WebKit2-4.0.metadata b/vapi/metadata/WebKit2-4.0.metadata
index 54a1d97..ae952ed 100644
--- a/vapi/metadata/WebKit2-4.0.metadata
+++ b/vapi/metadata/WebKit2-4.0.metadata
@@ -4,3 +4,13 @@ JavascriptResult
   .get_value skip
 WebView
   .get_javascript_global_context skip
+
+//Forward upstream
+Download
+  .failed#signal.error type="WebKit.DownloadError"
+PrintOperation
+  .failed#signal.error type="WebKit.PrintError"
+WebResource
+  .failed#signal.error type="GLib.Error"
+WebView
+  .load_failed#signal.error type="GLib.Error"
diff --git a/vapi/webkit2gtk-4.0.vapi b/vapi/webkit2gtk-4.0.vapi
index ec542f1..4d06342 100644
--- a/vapi/webkit2gtk-4.0.vapi
+++ b/vapi/webkit2gtk-4.0.vapi
@@ -137,7 +137,7 @@ namespace WebKit {
                public WebKit.URIResponse response { get; }
                public signal void created_destination (string destination);
                public virtual signal bool decide_destination (string suggested_filename);
-               public signal void failed (void* error);
+               public signal void failed ([CCode (type = "gpointer")] WebKit.DownloadError error);
                public signal void finished ();
                public signal void received_data (uint64 data_length);
        }
@@ -341,7 +341,7 @@ namespace WebKit {
                public Gtk.PrintSettings print_settings { get; set; }
                [NoAccessorMethod]
                public WebKit.WebView web_view { owned get; construct; }
-               public signal void failed (void* error);
+               public signal void failed ([CCode (type = "gpointer")] WebKit.PrintError error);
                public signal void finished ();
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_response_policy_decision_get_type 
()")]
@@ -683,7 +683,7 @@ namespace WebKit {
                public unowned string get_uri ();
                public WebKit.URIResponse response { get; }
                public string uri { get; }
-               public signal void failed (void* error);
+               public signal void failed ([CCode (type = "gpointer")] GLib.Error error);
                public signal void failed_with_tls_errors (GLib.TlsCertificate certificate, 
GLib.TlsCertificateFlags errors);
                public signal void finished ();
                public signal void received_data (uint64 data_length);
@@ -774,7 +774,7 @@ namespace WebKit {
                public virtual signal void insecure_content_detected (WebKit.InsecureContentEvent event);
                public virtual signal bool leave_fullscreen ();
                public virtual signal void load_changed (WebKit.LoadEvent load_event);
-               public virtual signal bool load_failed (WebKit.LoadEvent load_event, string failing_uri, 
void* error);
+               public virtual signal bool load_failed (WebKit.LoadEvent load_event, string failing_uri, 
[CCode (type = "gpointer")] GLib.Error error);
                public virtual signal bool load_failed_with_tls_errors (string failing_uri, 
GLib.TlsCertificate certificate, GLib.TlsCertificateFlags errors);
                public virtual signal void mouse_target_changed (WebKit.HitTestResult hit_test_result, uint 
modifiers);
                public virtual signal bool permission_request (WebKit.PermissionRequest permission_request);
diff --git a/vapi/webkit2gtk-web-extension-4.0.vapi b/vapi/webkit2gtk-web-extension-4.0.vapi
index 0e2c498..8a4dd9b 100644
--- a/vapi/webkit2gtk-web-extension-4.0.vapi
+++ b/vapi/webkit2gtk-web-extension-4.0.vapi
@@ -2644,14 +2644,20 @@ namespace WebKit {
                [CCode (has_construct_function = false)]
                public ContextMenu ();
                public void append (WebKit.ContextMenuItem item);
+               public unowned WebKit.ContextMenuItem first ();
+               public unowned WebKit.ContextMenuItem get_item_at_position (uint position);
+               public unowned GLib.List<WebKit.ContextMenuItem> get_items ();
                public uint get_n_items ();
-               public GLib.Variant get_user_data ();
+               public unowned GLib.Variant get_user_data ();
                public void insert (WebKit.ContextMenuItem item, int position);
+               public unowned WebKit.ContextMenuItem last ();
                public void move_item (WebKit.ContextMenuItem item, int position);
                public void prepend (WebKit.ContextMenuItem item);
                public void remove (WebKit.ContextMenuItem item);
                public void remove_all ();
                public void set_user_data (GLib.Variant user_data);
+               [CCode (has_construct_function = false)]
+               public ContextMenu.with_items (GLib.List<WebKit.ContextMenuItem> items);
        }
        [CCode (cheader_filename = "webkit2/webkit-web-extension.h", type_id = 
"webkit_context_menu_item_get_type ()")]
        public class ContextMenuItem : GLib.InitiallyUnowned {
@@ -2661,11 +2667,13 @@ namespace WebKit {
                public ContextMenuItem.from_stock_action (WebKit.ContextMenuAction action);
                [CCode (has_construct_function = false)]
                public ContextMenuItem.from_stock_action_with_label (WebKit.ContextMenuAction action, string 
label);
+               public unowned Gtk.Action get_action ();
                public WebKit.ContextMenuAction get_stock_action ();
+               public unowned WebKit.ContextMenu get_submenu ();
                public bool is_separator ();
                [CCode (has_construct_function = false)]
                public ContextMenuItem.separator ();
-               public void set_submenu (WebKit.ContextMenu submenu);
+               public void set_submenu (WebKit.ContextMenu? submenu);
                [CCode (has_construct_function = false)]
                public ContextMenuItem.with_submenu (string label, WebKit.ContextMenu submenu);
        }


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