[vala] gstreamer-1.0: update to 1.3.2.1~d99e6215



commit 6296d34707d0053919d9496b5cf6c50149fea702
Author: Evan Nemerson <evan nemerson com>
Date:   Wed Jun 11 17:30:02 2014 -0700

    gstreamer-1.0: update to 1.3.2.1~d99e6215
    
    Fixes bug 730983.

 vapi/gstreamer-1.0.vapi           |  110 +++++++++++++++++++++++-----
 vapi/metadata/Gst-1.0-custom.vala |   96 +++++++++++++------------
 vapi/metadata/Gst-1.0.metadata    |  143 ++++++++++++++++++++++++++-----------
 3 files changed, 243 insertions(+), 106 deletions(-)
---
diff --git a/vapi/gstreamer-1.0.vapi b/vapi/gstreamer-1.0.vapi
index 89e3cf6..a667db2 100644
--- a/vapi/gstreamer-1.0.vapi
+++ b/vapi/gstreamer-1.0.vapi
@@ -33,7 +33,12 @@ namespace Gst {
                [CCode (cheader_filename = "gst/gst.h")]
                public static unowned string level_get_name (Gst.DebugLevel level);
                [CCode (cheader_filename = "gst/gst.h")]
-               public static void log_default (Gst.DebugCategory category, Gst.DebugLevel level, string 
file, string function, int line, GLib.Object? object, Gst.DebugMessage message, void* unused);
+               [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);
+               [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")]
                public static void print_stack_trace ();
                [CCode (cheader_filename = "gst/gst.h")]
@@ -320,6 +325,10 @@ namespace Gst {
                public static void merge_strings_with_comma (out GLib.Value dest, GLib.Value src);
                [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_merge_use_first")]
                public static void merge_use_first (out GLib.Value dest, GLib.Value src);
+               [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_register")]
+               public static void register (string name, Gst.TagFlag flag, GLib.Type type, string nick, 
string blurb, Gst.TagMergeFunc? func);
+               [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_register_static")]
+               public static void register_static (string name, Gst.TagFlag flag, GLib.Type type, string 
nick, string blurb, Gst.TagMergeFunc? func);
        }
        namespace URI {
                [CCode (cheader_filename = "gst/gst.h")]
@@ -531,10 +540,10 @@ namespace Gst {
                public bool state_dirty;
                [CCode (has_construct_function = false, returns_floating_reference = true, type = 
"GstElement*")]
                public Bin (string name);
-               public bool add (Gst.Element element);
+               public bool add (owned Gst.Element element);
                [NoWrapper]
                public virtual bool add_element (Gst.Element element);
-               public void add_many (Gst.Element element_1, ...);
+               public void add_many (params owned Gst.Element[] elements);
                public Gst.Pad find_unlinked_pad (Gst.PadDirection direction);
                public Gst.Element get_by_interface (GLib.Type iface);
                public Gst.Element get_by_name (string name);
@@ -551,6 +560,7 @@ namespace Gst {
                public bool remove (Gst.Element element);
                [NoWrapper]
                public virtual bool remove_element (Gst.Element element);
+               public void remove_many (params owned Gst.Element[] elements);
                [NoAccessorMethod]
                public bool async_handling { get; set; }
                [NoAccessorMethod]
@@ -639,7 +649,7 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_buffer_pool_get_type ()")]
        public class BufferPool : Gst.Object {
                public int flushing;
-               [CCode (has_construct_function = false)]
+               [CCode (has_construct_function = false, returns_floating_reference = true)]
                public BufferPool ();
                public virtual Gst.FlowReturn acquire_buffer (out Gst.Buffer buffer, 
Gst.BufferPoolAcquireParams? @params);
                [NoWrapper]
@@ -710,7 +720,7 @@ namespace Gst {
                public Caps.any ();
                public void append (owned Gst.Caps caps2);
                public void append_structure (owned Gst.Structure structure);
-               public void append_structure_full (owned Gst.Structure structure, owned Gst.CapsFeatures? 
features);
+               public void append_structure_full (owned Gst.Structure structure, owned Gst.CapsFeatures? 
features = null);
                public bool can_intersect (Gst.Caps caps2);
                public Gst.Caps copy_nth (uint nth);
                [CCode (has_construct_function = false)]
@@ -719,6 +729,10 @@ namespace Gst {
                public Caps.empty_simple (string media_type);
                public Gst.Caps fixate ();
                public static Gst.Caps from_string (string string);
+               [CCode (has_construct_function = false)]
+               public Caps.full (params Gst.Structure[] structure);
+               [CCode (has_construct_function = false)]
+               public Caps.full_valist (Gst.Structure structure, va_list var_args);
                public unowned Gst.CapsFeatures get_features (uint index);
                public uint get_size ();
                public unowned Gst.Structure get_structure (uint index);
@@ -740,6 +754,8 @@ namespace Gst {
                public Gst.Caps normalize ();
                public void remove_structure (uint idx);
                public void set_features (uint index, owned Gst.CapsFeatures? features);
+               public void set_simple (string field, ...);
+               public void set_simple_valist (string field, va_list varargs);
                public void set_value (string field, GLib.Value value);
                public Gst.Caps simplify ();
                public Gst.Structure steal_structure (uint index);
@@ -750,6 +766,8 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gst_caps_features_get_type ()")]
        [Compact]
        public class CapsFeatures {
+               [CCode (has_construct_function = false)]
+               public CapsFeatures (string feature1, ...);
                public void add (string feature);
                public void add_id (GLib.Quark feature);
                [CCode (has_construct_function = false)]
@@ -764,12 +782,18 @@ namespace Gst {
                public unowned string get_nth (uint i);
                public GLib.Quark get_nth_id (uint i);
                public uint get_size ();
+               [CCode (has_construct_function = false)]
+               public CapsFeatures.id (params GLib.Quark[] features);
+               [CCode (has_construct_function = false)]
+               public CapsFeatures.id_valist (GLib.Quark feature1, va_list varargs);
                public bool is_any ();
                public bool is_equal (Gst.CapsFeatures features2);
                public void remove (string feature);
                public void remove_id (GLib.Quark feature);
                public bool set_parent_refcount (int refcount);
                public string to_string ();
+               [CCode (has_construct_function = false)]
+               public CapsFeatures.valist (string feature1, va_list varargs);
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_clock_get_type ()")]
        public abstract class Clock : Gst.Object {
@@ -829,9 +853,9 @@ namespace Gst {
                public weak GLib.ParamSpec pspec;
                [CCode (has_construct_function = false)]
                protected ControlBinding ();
-               public virtual bool get_g_value_array (Gst.ClockTime timestamp, Gst.ClockTime interval, uint 
n_values, GLib.Value values);
+               public virtual bool get_g_value_array (Gst.ClockTime timestamp, Gst.ClockTime interval, 
[CCode (array_length_cname = "n_values", array_length_pos = 2.5, array_length_type = "guint")] GLib.Value[] 
values);
                public virtual GLib.Value? get_value (Gst.ClockTime timestamp);
-               public virtual bool get_value_array (Gst.ClockTime timestamp, Gst.ClockTime interval, uint 
n_values, void* values);
+               public virtual bool get_value_array<T> (Gst.ClockTime timestamp, Gst.ClockTime interval, 
[CCode (array_length_pos = 2.5, array_length_type = "guint")] T[] values);
                public bool is_disabled ();
                public void set_disabled (bool disabled);
                public virtual bool sync_values (Gst.Object object, Gst.ClockTime timestamp, Gst.ClockTime 
last_sync);
@@ -845,7 +869,7 @@ namespace Gst {
                [CCode (has_construct_function = false)]
                protected ControlSource ();
                public bool get_value (Gst.ClockTime timestamp, double value);
-               public bool get_value_array (Gst.ClockTime timestamp, Gst.ClockTime interval, [CCode 
(array_length_cname = "n_values", array_length_pos = 2.5, array_length_type = "guint", type = "gdouble*")] 
double[] values);
+               public bool get_value_array (Gst.ClockTime timestamp, Gst.ClockTime interval, [CCode 
(array_length_cname = "n_values", array_length_pos = 2.5, array_length_type = "guint")] double[] values);
        }
        [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_date_time_ref", type_id = 
"gst_date_time_get_type ()", unref_function = "gst_date_time_unref")]
        [Compact]
@@ -927,6 +951,8 @@ namespace Gst {
                public unowned Gst.DeviceMonitorFactory get_factory ();
                [CCode (cname = "gst_device_monitor_class_get_metadata")]
                public class unowned string get_metadata (string key);
+               [NoWrapper]
+               public virtual GLib.List<Gst.Device> probe ();
                public static bool register (Gst.Plugin? plugin, string name, uint rank, GLib.Type type);
                [CCode (cname = "gst_device_monitor_class_set_metadata")]
                public class void set_metadata (string longname, string classification, string description, 
string author);
@@ -948,7 +974,7 @@ namespace Gst {
                public string[] get_metadata_keys ();
                public bool has_classes (string classes);
                public bool has_classesv (string classes);
-               public static GLib.List<Gst.DeviceMonitorFactory> list_get_device_monitors (string types, 
Gst.Rank minrank);
+               public static GLib.List<Gst.DeviceMonitorFactory> list_get_device_monitors (string classes, 
Gst.Rank minrank);
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_double_range_get_type ()")]
        public class DoubleRange {
@@ -981,7 +1007,7 @@ namespace Gst {
                public void abort_state ();
                [CCode (cname = "gst_element_class_add_metadata")]
                public class void add_metadata (string key, string value);
-               public bool add_pad (Gst.Pad pad);
+               public bool add_pad (owned Gst.Pad pad);
                [CCode (cname = "gst_element_class_add_pad_template")]
                public class void add_pad_template (owned Gst.PadTemplate templ);
                [CCode (cname = "gst_element_class_add_static_metadata")]
@@ -1011,7 +1037,7 @@ namespace Gst {
                public Gst.Iterator iterate_src_pads ();
                public bool link (Gst.Element dest);
                public bool link_filtered (Gst.Element dest, Gst.Caps? filter);
-               public bool link_many (Gst.Element element_2, ...);
+               public bool link_many (params Gst.Element[] elements);
                [CCode (cname = "gst_element_link_pads_full")]
                public bool link_pads (string? srcpadname, Gst.Element dest, string? destpadname, 
Gst.PadLinkCheck flags = Gst.PadLinkCheck.DEFAULT);
                public bool link_pads_filtered (string? srcpadname, Gst.Element dest, string? destpadname, 
Gst.Caps? filter);
@@ -1030,6 +1056,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);
                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);
@@ -1051,6 +1079,7 @@ namespace Gst {
                public static unowned string state_get_name (Gst.State state);
                public bool sync_state_with_parent ();
                public void unlink (Gst.Element dest);
+               public void unlink_many (params Gst.Element[] elements);
                public void unlink_pads (string srcpadname, Gst.Element dest, string destpadname);
                [HasEmitter]
                public virtual signal void no_more_pads ();
@@ -1073,7 +1102,7 @@ namespace Gst {
                [CCode (array_length = false, array_null_terminated = true)]
                public string[]? get_metadata_keys ();
                public uint get_num_pad_templates ();
-               public unowned GLib.List<weak Gst.StaticPadTemplate?> get_static_pad_templates ();
+               public GLib.List<Gst.StaticPadTemplate?> get_static_pad_templates ();
                [CCode (array_length = false, array_null_terminated = true)]
                public unowned string[] get_uri_protocols ();
                public Gst.URIType get_uri_type ();
@@ -1217,8 +1246,10 @@ namespace Gst {
                public weak Gst.Iterator pushed;
                public uint size;
                public GLib.Type type;
-               public Gst.Iterator filter (GLib.CompareFunc func, GLib.Value user_data);
-               public bool find_custom ([CCode (delegate_target_pos = 2.1)] GLib.CompareFunc func, out 
GLib.Value elem);
+               [CCode (simple_generics = true)]
+               public Gst.Iterator filter<T> ([CCode (type = "GCompareFunc")] GLib.SearchFunc<GLib.Value,T> 
func, T user_data);
+               [CCode (simple_generics = true)]
+               public bool find_custom<T> ([CCode (type = "GCompareFunc")] GLib.SearchFunc<GLib.Value,T> 
func, out GLib.Value elem, T user_data);
                public Gst.IteratorResult fold ([CCode (delegate_target_pos = 2.1)] Gst.IteratorFoldFunction 
func, GLib.Value ret);
                public Gst.IteratorResult @foreach (Gst.IteratorForeachFunction func);
                public void free ();
@@ -1378,6 +1409,7 @@ namespace Gst {
                public bool is_writable ();
                public bool @lock (Gst.LockFlags flags);
                public Gst.MiniObject make_writable ();
+               public Gst.MiniObject @ref ();
                public static bool replace (ref Gst.MiniObject olddata, Gst.MiniObject newdata);
                [CCode (simple_generics = true)]
                public void set_qdata<T> (GLib.Quark quark, owned T data);
@@ -1385,6 +1417,8 @@ namespace Gst {
                public static bool take (ref Gst.MiniObject olddata, Gst.MiniObject newdata);
                public void unlock (Gst.LockFlags flags);
                public void unref ();
+               public void weak_ref (Gst.MiniObjectNotify notify);
+               public void weak_unref (Gst.MiniObjectNotify notify);
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_object_get_type ()")]
        public abstract class Object : GLib.InitiallyUnowned {
@@ -1437,11 +1471,14 @@ namespace Gst {
                public Gst.FlowReturn chain_list (owned Gst.BufferList list);
                public bool check_reconfigure ();
                public string create_stream_id (Gst.Element parent, string? stream_id);
+               [PrintfFormat]
+               public string create_stream_id_printf (Gst.Element parent, string? stream_id, ...);
+               public string create_stream_id_printf_valist (Gst.Element parent, string? stream_id, va_list 
var_args);
                public bool event_default (Gst.Object? parent, owned Gst.Event event);
                public bool forward (Gst.PadForwardFunction forward);
                [CCode (has_construct_function = false)]
                public Pad.from_static_template (Gst.StaticPadTemplate templ, string name);
-               [CCode (has_construct_function = false)]
+               [CCode (has_construct_function = false, returns_floating_reference = true)]
                public Pad.from_template (Gst.PadTemplate templ, string name);
                public Gst.Caps get_allowed_caps ();
                public Gst.Caps get_current_caps ();
@@ -1617,6 +1654,8 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h")]
        [Compact]
        public class Poll {
+               [CCode (has_construct_function = false)]
+               public Poll (bool controllable);
                public bool add_fd (Gst.PollFD fd);
                public bool fd_can_read (Gst.PollFD fd);
                public bool fd_can_write (Gst.PollFD fd);
@@ -1632,6 +1671,8 @@ namespace Gst {
                public void restart ();
                public bool set_controllable (bool controllable);
                public void set_flushing (bool flushing);
+               [CCode (has_construct_function = false)]
+               public Poll.timer ();
                public int wait (Gst.ClockTime timeout);
                public bool write_control ();
        }
@@ -1731,6 +1772,8 @@ namespace Gst {
                public void set_context (Gst.Context context);
                public void set_convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, 
int64 dest_value);
                public void set_duration (Gst.Format format, int64 duration);
+               [CCode (sentinel = "")]
+               public void set_formats (int n_formats, params Gst.Format[] formats);
                public void set_formatsv ([CCode (array_length_cname = "n_formats", array_length_pos = 0.5)] 
Gst.Format[] formats);
                public void set_latency (bool live, Gst.ClockTime min_latency, Gst.ClockTime max_latency);
                public void set_nth_allocation_param (uint index, Gst.Allocator? allocator, 
Gst.AllocationParams? @params);
@@ -1814,6 +1857,8 @@ namespace Gst {
        [Compact]
        public class Structure {
                public GLib.Type type;
+               [CCode (has_construct_function = false)]
+               public Structure (string name, string firstfield, ...);
                public bool can_intersect (Gst.Structure struct2);
                public Gst.Structure copy ();
                [CCode (has_construct_function = false)]
@@ -1828,6 +1873,7 @@ namespace Gst {
                public bool @foreach (Gst.StructureForeachFunc func);
                public void free ();
                public static Gst.Structure from_string (string string, out unowned string end);
+               public bool @get (...);
                public bool get_boolean (string fieldname, out bool value);
                public bool get_clock_time (string fieldname, out Gst.ClockTime value);
                public bool get_date (string fieldname, out GLib.Date value);
@@ -1843,15 +1889,20 @@ namespace Gst {
                public unowned string get_string (string fieldname);
                public bool get_uint (string fieldname, out uint value);
                public bool get_uint64 (string fieldname, out uint64 value);
+               public bool get_valist (string first_fieldname, va_list args);
                public unowned GLib.Value? get_value (string fieldname);
                public bool has_field (string fieldname);
                public bool has_field_typed (string fieldname, GLib.Type type);
                public bool has_name (string name);
                [CCode (has_construct_function = false)]
                public Structure.id_empty (GLib.Quark quark);
+               public bool id_get (...);
+               public bool id_get_valist (GLib.Quark first_field_id, va_list args);
                public unowned GLib.Value? id_get_value (GLib.Quark field);
                public bool id_has_field (GLib.Quark field);
                public bool id_has_field_typed (GLib.Quark field, GLib.Type type);
+               public void id_set (GLib.Quark fieldname, ...);
+               public void id_set_valist (GLib.Quark fieldname, va_list varargs);
                public void id_set_value (GLib.Quark field, GLib.Value value);
                public void id_take_value (GLib.Quark field, owned GLib.Value value);
                public Gst.Structure intersect (Gst.Structure struct2);
@@ -1862,11 +1913,17 @@ namespace Gst {
                public unowned string nth_field_name (uint index);
                public void remove_all_fields ();
                public void remove_field (string fieldname);
+               public void remove_fields (params string[] field_names);
+               public void remove_fields_valist (string fieldname, va_list varargs);
+               public void @set (string fieldname, ...);
                public void set_name (string name);
                public bool set_parent_refcount (int refcount);
+               public void set_valist (string fieldname, va_list varargs);
                public void set_value (string fieldname, GLib.Value value);
                public void take_value (string fieldname, owned GLib.Value value);
                public string to_string ();
+               [CCode (has_construct_function = false)]
+               public Structure.valist (string name, string firstfield, va_list varargs);
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_system_clock_get_type ()")]
        public class SystemClock : Gst.Clock {
@@ -1880,7 +1937,11 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_tag_list_ref", type_id = 
"gst_tag_list_get_type ()", unref_function = "gst_tag_list_unref")]
        [Compact]
        public class TagList : Gst.MiniObject {
+               public void add (Gst.TagMergeMode mode, string tag, ...);
+               public void add_valist (Gst.TagMergeMode mode, string tag, va_list var_args);
+               public void add_valist_values (Gst.TagMergeMode mode, string tag, va_list var_args);
                public void add_value (Gst.TagMergeMode mode, string tag, GLib.Value value);
+               public void add_values (Gst.TagMergeMode mode, string tag, ...);
                [CCode (has_construct_function = false)]
                public TagList.empty ();
                public void @foreach (Gst.TagForeachFunc func);
@@ -1923,6 +1984,8 @@ namespace Gst {
                public void remove_tag (string tag);
                public void set_scope (Gst.TagScope scope);
                public string to_string ();
+               [CCode (has_construct_function = false)]
+               public TagList.valist (va_list var_args);
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_task_get_type ()")]
        public class Task : Gst.Object {
@@ -2027,12 +2090,16 @@ namespace Gst {
        }
        [CCode (cheader_filename = "gst/gst.h", type_cname = "GstChildProxyInterface", type_id = 
"gst_child_proxy_get_type ()")]
        public interface ChildProxy : GLib.Object {
+               public void @get (...);
                public abstract GLib.Object get_child_by_index (uint index);
                public abstract GLib.Object get_child_by_name (string name);
                public abstract uint get_children_count ();
                public GLib.Value get_property (string name);
+               public void get_valist (string first_property_name, va_list var_args);
                public bool lookup (string name, out GLib.Object target, out unowned GLib.ParamSpec pspec);
+               public void @set (...);
                public void set_property (string name, GLib.Value value);
+               public void set_valist (string first_property_name, va_list var_args);
                [HasEmitter]
                public virtual signal void child_added (GLib.Object child, string name);
                [HasEmitter]
@@ -2055,7 +2122,11 @@ namespace Gst {
        }
        [CCode (cheader_filename = "gst/gst.h", type_cname = "GstTagSetterInterface", type_id = 
"gst_tag_setter_get_type ()")]
        public interface TagSetter : Gst.Element {
+               public void add_tag_valist (Gst.TagMergeMode mode, string tag, va_list var_args);
+               public void add_tag_valist_values (Gst.TagMergeMode mode, string tag, va_list var_args);
                public void add_tag_value (Gst.TagMergeMode mode, string tag, GLib.Value value);
+               public void add_tag_values (Gst.TagMergeMode mode, string tag, ...);
+               public void add_tags (Gst.TagMergeMode mode, string tag, ...);
                public unowned Gst.TagList get_tag_list ();
                public Gst.TagMergeMode get_tag_merge_mode ();
                public void merge_tags (Gst.TagList list, Gst.TagMergeMode mode);
@@ -2239,6 +2310,7 @@ namespace Gst {
                public unowned uint8[] peek (int64 offset);
                public static bool register (Gst.Plugin? plugin, string name, uint rank, [CCode 
(delegate_target_pos = 6.1, destroy_notify_pos = 6.2)] owned Gst.TypeFindFunction func, string? extensions, 
Gst.Caps possible_caps);
                public void suggest (uint probability, Gst.Caps caps);
+               public void suggest_simple (uint probability, string media_type, string? fieldname, ...);
        }
        [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
        public struct ValueTable {
@@ -2458,9 +2530,8 @@ namespace Gst {
                STICKY,
                STICKY_MULTI
        }
-       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_FLOW_")]
+       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_FLOW_", type_id = "gst_flow_return_get_type 
()")]
        public enum FlowReturn {
-               CUSTOM_ERROR_2,
                CUSTOM_SUCCESS_2,
                CUSTOM_SUCCESS_1,
                CUSTOM_SUCCESS,
@@ -2472,8 +2543,9 @@ namespace Gst {
                ERROR,
                NOT_SUPPORTED,
                CUSTOM_ERROR,
-               CUSTOM_ERROR_1;
-               [CCode (cname = "gst_flow_get_name")]
+               CUSTOM_ERROR_1,
+               CUSTOM_ERROR_2;
+               [CCode (cname = "gst_flow_get_name", instance_pos = 0.5)]
                public unowned string get_name ();
        }
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_FORMAT_", type_id = "gst_format_get_type ()")]
diff --git a/vapi/metadata/Gst-1.0-custom.vala b/vapi/metadata/Gst-1.0-custom.vala
index dc26b9b..eb05786 100644
--- a/vapi/metadata/Gst-1.0-custom.vala
+++ b/vapi/metadata/Gst-1.0-custom.vala
@@ -1,43 +1,64 @@
 namespace Gst {
-       [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_allocation_params_copy", free_function = 
"gst_allocation_params_free", type_id = "gst_allocation_params_get_type ()")]
-       [Compact]
+       [Compact, CCode (copy_function = "gst_allocation_params_copy", free_function = 
"gst_allocation_params_free", type_id = "gst_allocation_params_get_type ()")]
        public class AllocationParams {
        }
 
-       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_buffer_ref", type_id = 
"gst_buffer_get_type ()", unref_function = "gst_buffer_unref")]
-       [Compact]
+       [CCode (type_id = "gst_bin_get_type ()")]
+       public class Bin : Gst.Element {
+               public void add_many (params owned Gst.Element[] elements);
+               public void remove_many (params owned Gst.Element[] elements);
+  }
+
+       [Compact, CCode (ref_function = "gst_buffer_ref", type_id = "gst_buffer_get_type ()", unref_function 
= "gst_buffer_unref")]
        public class Buffer {
                [CCode (has_construct_function = false, simple_generics = true)]
                public static Buffer new_wrapped_full<T> (Gst.MemoryFlags flags, [CCode (array_length_cname = 
"size", array_length_pos = 4.5, array_length_type = "gsize")] uint8[] data, size_t maxsize, size_t offset, 
owned T user_data);
        }
 
-       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_buffer_list_ref", type_id = 
"gst_buffer_list_get_type ()", unref_function = "gst_buffer_list_unref")]
-       [Compact]
+       [Compact, CCode (ref_function = "gst_buffer_list_ref", type_id = "gst_buffer_list_get_type ()", 
unref_function = "gst_buffer_list_unref")]
        public class BufferList {
        }
 
-       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_caps_ref", type_id = "gst_caps_get_type 
()", unref_function = "gst_caps_unref")]
-       [Compact]
+       [Compact, CCode (ref_function = "gst_caps_ref", type_id = "gst_caps_get_type ()", unref_function = 
"gst_caps_unref")]
        public class Caps {
+               [CCode (has_construct_function = false)]
+               public Caps.full (params Gst.Structure[] structure);
+       }
+
+       [Compact, CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = 
"gst_caps_features_get_type ()")]
+       public class CapsFeatures {
+               [CCode (has_construct_function = false)]
+               public CapsFeatures.id (params GLib.Quark[] features);
+       }
+
+       [CCode (type_id = "gst_control_binding_get_type ()")]
+       public abstract class ControlBinding : Gst.Object {
+               public virtual bool get_value_array<T> (Gst.ClockTime timestamp, Gst.ClockTime interval, 
[CCode (array_length_pos = 2.5, array_length_type = "guint")] T[] values);
        }
 
-       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_date_time_ref", type_id = 
"gst_date_time_get_type ()", unref_function = "gst_date_time_unref")]
-       [Compact]
+       [Compact, CCode (ref_function = "gst_date_time_ref", type_id = "gst_date_time_get_type ()", 
unref_function = "gst_date_time_unref")]
        public class DateTime {
        }
 
-       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_event_ref", type_id = "gst_event_get_type 
()", unref_function = "gst_event_unref")]
-       [Compact]
+       [CCode (type_id = "gst_element_get_type ()")]
+       public abstract class Element : Gst.Object {
+               public bool link_many (params Gst.Element[] elements);
+               public void unlink_many (params Gst.Element[] elements);
+  }
+
+       [Compact, CCode (ref_function = "gst_event_ref", type_id = "gst_event_get_type ()", unref_function = 
"gst_event_unref")]
        public class Event {
        }
 
-       [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_iterator_copy", free_function = 
"gst_iterator_free", type_id = "gst_iterator_get_type ()")]
-       [Compact]
+       [Compact, CCode (copy_function = "gst_iterator_copy", free_function = "gst_iterator_free", type_id = 
"gst_iterator_get_type ()")]
        public class Iterator {
+               [CCode (simple_generics = true)]
+               public Gst.Iterator filter<T> ([CCode (type = "GCompareFunc")] GLib.SearchFunc<GLib.Value,T> 
func, T user_data);
+               [CCode (simple_generics = true)]
+               public bool find_custom<T> ([CCode (type = "GCompareFunc")] GLib.SearchFunc<GLib.Value,T> 
func, out GLib.Value elem, T user_data);
        }
 
-       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_mini_object_ref", unref_function = 
"gst_mini_object_unref")]
-       [Compact]
+       [Compact, CCode (ref_function = "gst_mini_object_ref", unref_function = "gst_mini_object_unref")]
        public abstract class MiniObject {
                [CCode (simple_generics = true)]
                public T get_qdata<T> (GLib.Quark quark);
@@ -45,68 +66,53 @@ namespace Gst {
                public void set_qdata<T> (GLib.Quark quark, owned T data);
        }
 
-       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_memory_ref", type_id = 
"gst_memory_get_type ()", unref_function = "gst_memory_unref")]
-       [Compact]
+       [Compact, CCode (ref_function = "gst_memory_ref", type_id = "gst_memory_get_type ()", unref_function 
= "gst_memory_unref")]
        public class Memory {
        }
 
-       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_message_ref", type_id = 
"gst_message_get_type ()", unref_function = "gst_message_unref")]
-       [Compact]
+       [Compact, CCode (ref_function = "gst_message_ref", type_id = "gst_message_get_type ()", 
unref_function = "gst_message_unref")]
        public class Message {
        }
 
-       [CCode (cheader_filename = "gst/gst.h", free_function = "gst_parse_context_free", type_id = 
"gst_parse_context_get_type ()")]
-       [Compact]
+       [Compact, CCode (free_function = "gst_parse_context_free", type_id = "gst_parse_context_get_type ()")]
        public class ParseContext {
        }
 
-       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_query_ref", type_id = "gst_query_get_type 
()", unref_function = "gst_query_unref")]
-       [Compact]
+       [Compact, CCode (ref_function = "gst_query_ref", type_id = "gst_query_get_type ()", unref_function = 
"gst_query_unref")]
        public class Query {
+    [CCode (sentinel = "")]
+    public void set_formats (int n_formats, params Gst.Format[] formats);
        }
 
-       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_sample_ref", type_id = 
"gst_sample_get_type ()", unref_function = "gst_sample_unref")]
-       [Compact]
+       [Compact, CCode (ref_function = "gst_sample_ref", type_id = "gst_sample_get_type ()", unref_function 
= "gst_sample_unref")]
        public class Sample {
        }
 
-       [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_segment_copy", free_function = 
"gst_segment_free", type_id = "gst_segment_get_type ()")]
-       [Compact]
+       [Compact, CCode (copy_function = "gst_segment_copy", free_function = "gst_segment_free", type_id = 
"gst_segment_get_type ()")]
        public class Segment {
        }
 
-       [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_structure_copy", free_function = 
"gst_structure_free", type_id = "gst_structure_get_type ()")]
-       [Compact]
+       [Compact, CCode (copy_function = "gst_structure_copy", free_function = "gst_structure_free", type_id 
= "gst_structure_get_type ()")]
        public class Structure {
+               public void remove_fields (params string[] field_names);
        }
 
-       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_tag_list_ref", type_id = 
"gst_tag_list_get_type ()", unref_function = "gst_tag_list_unref")]
-       [Compact]
+       [Compact, CCode (ref_function = "gst_tag_list_ref", type_id = "gst_tag_list_get_type ()", 
unref_function = "gst_tag_list_unref")]
        public class TagList {
        }
 
-       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_toc_ref", type_id = "gst_toc_get_type 
()", unref_function = "gst_toc_unref")]
-       [Compact]
+       [Compact, CCode (ref_function = "gst_toc_ref", type_id = "gst_toc_get_type ()", unref_function = 
"gst_toc_unref")]
        public class Toc {
        }
 
-       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_toc_entry_ref", type_id = 
"gst_toc_entry_get_type ()", unref_function = "gst_toc_entry_unref")]
-       [Compact]
+       [Compact, CCode (ref_function = "gst_toc_entry_ref", type_id = "gst_toc_entry_get_type ()", 
unref_function = "gst_toc_entry_unref")]
        public class TocEntry {
        }
 
-       [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_atomic_queue_ref", type_id = 
"gst_atomic_queue_get_type ()", unref_function = "gst_atomic_queue_unref")]
-       [Compact]
+       [Compact, CCode (ref_function = "gst_atomic_queue_ref", type_id = "gst_atomic_queue_get_type ()", 
unref_function = "gst_atomic_queue_unref")]
        public class AtomicQueue<T> {
                public unowned T? peek<T> ();
                public T pop ();
                public void push (owned T data);
        }
-
-       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_FLOW_")]
-       public enum FlowReturn {
-               CUSTOM_ERROR_2;
-               [CCode (cname = "gst_flow_get_name")]
-               public unowned string get_name ();
-       }
 }
diff --git a/vapi/metadata/Gst-1.0.metadata b/vapi/metadata/Gst-1.0.metadata
index 0bd8dee..2674210 100644
--- a/vapi/metadata/Gst-1.0.metadata
+++ b/vapi/metadata/Gst-1.0.metadata
@@ -1,45 +1,105 @@
 Gst experimental
+
+// Virtual methods without invokers
+DeviceMonitor
+  .probe skip=false type="GLib.List<Gst.Device>"
+Element
+  .request_new_pad skip=false unowned=false nullable
+
+// Return non-boxed types
+MiniObject
+  .copy skip=false
+  .ref 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"
+
+// Field ownership
 Bin
   .children unowned=false
   .child_bus unowned=false
   .clock_provider unowned=false
   .messages unowned=false
   .provided_clock unowned=false
-Bus
-  .add_watch_full name="add_watch"
 Element
-  .add_pad.pad owned=false
   .bus unowned=false
   .clock unowned=false
   .pads unowned=false
   .sinkpads type="GLib.List<unowned Gst.Pad>"
   .srcpads type="GLib.List<unowned Gst.Pad>"
   .state_cond unowned=false
+
+// Private anonymous unions get exposed
 Pad
   .ABI skip
-TagList
-  .get_boolean.value out
+
+// Skipped by g-i, but Vala can handle it fine
 init_get_option_group skip=false
+
+// Init func compatibility
 init.argv unowned
 init_check.argv unowned
 
-ControlSource
-  .get_value_array.values array array_length_idx=2
-
-// Nullability of return values
-Buffer
-  .get_meta nullable
-  .iterate_meta nullable
-ElementFactory
-  .get_metadata_keys nullable
-  .get_static_pad_templates type="unowned GLib.List<unowned Gst.StaticPadTemplate?>"
-// Variadic
+// Floating references (bug #657202)
 Bin
-  .add_many skip=false
-  .add.element owned=false
-  .add_many.element_1 owned=false
+  .new floating
+BufferPool
+  .new floating
+ElementFactory
+  .create floating
+  .make floating
+GhostPad
+  .new floating
+Pad
+  .new floating
+  .new_from_template floating
+PadTemplate
+  .new floating
+Pipeline
+  .new floating
 Element
-  .link_many skip=false
+  .make_from_uri floating
+parse_launchv_full floating
+parse_launch_full floating
+parse_bin_from_description_full floating
+
+// Variaidc functions
+*_valist skip=false
+*.*_valist skip=false
+*.*_valist_* skip=false
+debug_log skip=false printf_format
+Caps
+  .set_simple skip=false
+CapsFeatures
+  .new skip=false
+Pad
+  .create_stream_id_printf skip=false printf_format
+Structure
+  .get skip=false
+  .id_get skip=false
+  .id_set skip=false
+  .set skip=false
+  .new skip=false
+TagList
+  .add skip=false
+  .add_values skip=false
+ChildProxy
+  .get skip=false
+  .set skip=false
+TagSetter
+  .add_tags skip=false
+  .add_tag_values skip=false
+TypeFind
+  .suggest_simple skip=false
+
+// params
+Caps
+  .new_full skip
+CapsFeatures
+  .new_id skip
+Structure
+  .remove_fields skip
+Query
+  .set_formats skip
 
 // Generics
 AtomicQueue
@@ -51,9 +111,13 @@ MiniObject
   .set_qdata skip
 Buffer
   .new_wrapped_full skip
+Iterator
+  .filter skip
+  .find_custom skip
 
 // Rename *_full functions
 Bus
+  .add_watch_full name="add_watch"
   .add_signal_watch skip
   .add_signal_watch_full name="add_signal_watch"
 Caps
@@ -82,24 +146,12 @@ parse_launch_full name="parse_launch"
 parse_launchv skip
 parse_launchv_full name="parse_launchv"
 
-// Floating references (bug #657202)
-parse_bin_from_description_full floating
-PadTemplate.new floating
-Element.make_from_uri floating
-GhostPad.new floating
-Pipeline.new floating
-Pad.new floating
-ElementFactory
-  .create floating
-  .make floating
-Bin.new floating
-parse_launch_full floating
-parse_launchv_full floating
-
 // Default values
+debug_log_default.unused default=null
 Bus
   .add_signal_watch_full.priority default=GLib.Priority.DEFAULT
 Caps
+  .append_structure_full.features default=null
   .intersect_full.mode default=Gst.CapsIntersectMode.ZIG_ZAG
 Element
   .link_pads_full.flags default=Gst.PadLinkCheck.DEFAULT
@@ -112,6 +164,13 @@ parse_launch_full.flags default=Gst.ParseFlags.NONE
 parse_launchv_full.context default=null
 parse_launchv_full.flags default=Gst.ParseFlags.NONE
 
+// Delegates without targets
+tag_register skip=false
+tag_register_static skip=false
+MiniObject
+  .weak_ref skip=false
+  .weak_unref skip=false
+
 // Gst.MiniObject inheritance
 MiniObject struct=false
   .make_writable skip=false
@@ -144,17 +203,17 @@ DEBUG_* parent="Gst.Debug" name="DEBUG_(.+)"
 ELEMENT_FACTORY_KLASS_* parent="Gst.ElementFactoryKlass" name="ELEMENT_FACTORY_KLASS_(.+)"
 ELEMENT_FACTORY_TYPE_* parent="Gst.ElementFactoryType" name="ELEMENT_FACTORY_TYPE_(.+)"
 uri_* parent="Gst.URI" name="uri_(.+)"
-
+flow_get_name parent="Gst.FlowReturn" name="get_name" symbol_type="method" instance_idx=0
 formats_contains parent="Gst.Format" name="contains"
 
-// No way to make reparented functions instance methods
-FlowReturn.custom_error_2 skip
-flow_get_name skip // parent="Gst.FlowReturn" name="get_name"
+// Structs as generic type arguments
+ElementFactory.get_static_pad_templates type="GLib.List<weak Gst.StaticPadTemplate?>"
 
 // Backwards compatibility
-Structure
-  .new_from_string skip
+Structure.new_from_string skip
 
 // Upstream
-Pipeline
-  .use_clock.clock nullable
+///////////
+
+// Bug #730957:
+ElementFactory.get_metadata_keys nullable


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