From: Sebastian Dröge Date: Sat, 27 Mar 2010 13:18:06 +0000 (+0100) Subject: gstreamer: Add ref/unref/ref_sink/sink methods to all relevant types and correctly... X-Git-Tag: 0.9.1~185 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=735500c0f80cee98b725508d86e3ffbcbe8d4dd2;p=thirdparty%2Fvala.git gstreamer: Add ref/unref/ref_sink/sink methods to all relevant types and correctly bind the replace functions --- diff --git a/vapi/gstreamer-0.10.vapi b/vapi/gstreamer-0.10.vapi index 12fc259fc..55c6a664d 100644 --- a/vapi/gstreamer-0.10.vapi +++ b/vapi/gstreamer-0.10.vapi @@ -96,12 +96,15 @@ namespace Gst { [ReturnsModifiedPointer] public void make_writable (); public Gst.Buffer merge (Gst.Buffer buf2); + public Gst.Buffer @ref (); + public static void replace (ref Gst.Buffer? oldobj, Gst.Buffer? newobj); public void set_caps (Gst.Caps caps); public Gst.Buffer span (uint32 offset, Gst.Buffer buf2, uint32 len); public void stamp (Gst.Buffer src); [CCode (cname = "GST_BUFFER_TIMESTAMP_IS_VALID")] public bool timestamp_is_valid (); public static Gst.Buffer? try_new_and_alloc (uint size); + public void unref (); } [CCode (ref_function = "gst_buffer_list_ref", unref_function = "gst_buffer_list_unref", cheader_filename = "gst/gst.h")] public class BufferList : Gst.MiniObject { @@ -113,6 +116,8 @@ namespace Gst { [ReturnsModifiedPointer] public void make_writable (); public uint n_groups (); + public Gst.BufferList @ref (); + public void unref (); } [Compact] [CCode (cheader_filename = "gst/gst.h")] @@ -196,6 +201,7 @@ namespace Gst { public Gst.Caps normalize (); public Gst.Caps @ref (); public void remove_structure (uint idx); + public static void replace (ref Gst.Caps? oldobj, Gst.Caps? newobj); public void* save_thyself (void* parent); public void set_simple (string field, ...); public void set_simple_valist (string field, void* varargs); @@ -490,6 +496,8 @@ namespace Gst { public void parse_tag (out Gst.TagList taglist); [CCode (has_construct_function = false)] public Event.qos (double proportion, Gst.ClockTimeDiff diff, Gst.ClockTime timestamp); + public Gst.Event @ref (); + public static void replace (ref Gst.Event? oldobj, Gst.Event? newobj); [CCode (has_construct_function = false)] public Event.seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, int64 start, Gst.SeekType stop_type, int64 stop); public void set_seqnum (uint32 seqnum); @@ -501,6 +509,7 @@ namespace Gst { public Event.tag (Gst.TagList taglist); public static Gst.EventTypeFlags type_get_flags (Gst.EventType type); public static GLib.Quark type_to_quark (Gst.EventType type); + public void unref (); } [Compact] [CCode (type_id = "GST_TYPE_GERROR", cheader_filename = "gst/gst.h")] @@ -678,6 +687,7 @@ namespace Gst { public void parse_tag (out Gst.TagList tag_list); public void parse_tag_full (out unowned Gst.Pad pad, out unowned Gst.TagList tag_list); public void parse_warning (out GLib.Error gerror, out string debug); + public Gst.Message @ref (); [CCode (has_construct_function = false)] public Message.request_state (Gst.Object src, Gst.State state); [CCode (has_construct_function = false)] @@ -704,6 +714,7 @@ namespace Gst { [CCode (has_construct_function = false)] public Message.tag_full (Gst.Object src, Gst.Pad pad, Gst.TagList tag_list); public static GLib.Quark type_to_quark (Gst.MessageType type); + public void unref (); [CCode (has_construct_function = false)] public Message.warning (Gst.Object src, GLib.Error error, string debug); } @@ -718,7 +729,7 @@ namespace Gst { public bool is_writable (); [ReturnsModifiedPointer] public void make_writable (); - public void replace (Gst.MiniObject newdata); + public static void replace (ref Gst.MiniObject? oldobj, Gst.MiniObject? newobj); } [CCode (ref_function = "gst_object_ref", unref_function = "gst_object_unref", cheader_filename = "gst/gst.h")] public class Object : GLib.Object { @@ -735,9 +746,9 @@ namespace Gst { public Gst.Object get_parent (); public string get_path_string (); public bool has_ancestor (Gst.Object ancestor); - public unowned Gst.Object @ref (); - public static void ref_sink (void* object); - public static void replace (ref Gst.Object oldobj, Gst.Object newobj); + public Gst.Object @ref (); + public void ref_sink (); + public static void replace (ref Gst.Object? oldobj, Gst.Object? newobj); public virtual void restore_thyself (void* self); public virtual void* save_thyself (void* parent); public bool set_name (string name); @@ -1066,6 +1077,7 @@ namespace Gst { public void parse_uri (string uri); [CCode (has_construct_function = false)] public Query.position (Gst.Format format); + public Gst.Query @ref (); [CCode (has_construct_function = false)] public Query.seeking (Gst.Format format); [CCode (has_construct_function = false)] @@ -1088,6 +1100,7 @@ namespace Gst { public static Gst.QueryType type_register (string nick, string description); public static GLib.Quark type_to_quark (Gst.QueryType query); public static bool types_contains (Gst.QueryType types, Gst.QueryType type); + public void unref (); [CCode (has_construct_function = false)] public Query.uri (); } diff --git a/vapi/packages/gstreamer-0.10/gstreamer-0.10-custom.vala b/vapi/packages/gstreamer-0.10/gstreamer-0.10-custom.vala index f798df81c..796cd9fb5 100644 --- a/vapi/packages/gstreamer-0.10/gstreamer-0.10-custom.vala +++ b/vapi/packages/gstreamer-0.10/gstreamer-0.10-custom.vala @@ -34,14 +34,18 @@ namespace Gst { [CCode (ref_function = "gst_event_ref", unref_function = "gst_event_unref")] public class Event : MiniObject { + public Event @ref (); + public void unref (); + public static void replace (ref Event? oldobj, Event? newobj); } - [CCode (ref_function = "gst_object_ref", unref_function = "gst_object_unref")] + [CCode (ref_function = "gst_object_ref", unref_function = "gst_object_unref", ref_sink_function = "gst_object_ref_sink")] public class Object { - public unowned Object @ref (); + public Gst.Object @ref (); public void unref (); public void sink (); - public static void replace (ref Gst.Object oldobj, Gst.Object newobj); + public void ref_sink (); + public static void replace (ref Gst.Object? oldobj, Gst.Object? newobj); } public class Bin { @@ -67,12 +71,18 @@ namespace Gst { public bool duration_is_valid (); [ReturnsModifiedPointer] public void join (owned Buffer buf2); + + public Buffer @ref (); + public void unref (); + public static void replace (ref Buffer? oldobj, Buffer? newobj); } [CCode (ref_function = "gst_buffer_list_ref", unref_function = "gst_buffer_list_unref")] public class BufferList : Gst.MiniObject { [ReturnsModifiedPointer] public void make_writable (); + public BufferList @ref (); + public void unref (); } public class Bus { @@ -124,6 +134,8 @@ namespace Gst { [CCode (cname = "GST_CAPS_IS_SIMPLE")] public bool is_simple (); + + public static void replace (ref Caps? oldobj, Caps? newobj); } public class MiniObject { @@ -132,18 +144,23 @@ namespace Gst { public virtual MiniObject copy (); public virtual void finalize (); + public static void replace (ref MiniObject? oldobj, MiniObject? newobj); } [CCode (ref_function = "gst_message_ref", unref_function = "gst_message_unref")] public class Message : MiniObject { [ReturnsModifiedPointer] public void make_writable (); + public Message @ref (); + public void unref (); } [CCode (ref_function = "gst_query_ref", unref_function = "gst_query_unref")] public class Query : MiniObject { [ReturnsModifiedPointer] public void make_writable (); + public Query @ref (); + public void unref (); } [Compact] diff --git a/vapi/packages/gstreamer-0.10/gstreamer-0.10.metadata b/vapi/packages/gstreamer-0.10/gstreamer-0.10.metadata index 3b323264e..74a80359e 100644 --- a/vapi/packages/gstreamer-0.10/gstreamer-0.10.metadata +++ b/vapi/packages/gstreamer-0.10/gstreamer-0.10.metadata @@ -225,6 +225,7 @@ GstMiniObject.instance hidden="1" GstMiniObjectClass hidden="1" gst_mini_object_make_writable hidden="1" gst_mini_object_copy hidden="1" +gst_mini_object_replace hidden="1" GstObjectClass hidden="1" gst_object_default_error throws="0" gst_class_signal_connect hidden="1" @@ -236,6 +237,7 @@ gst_object_get_path_string transfer_ownership="1" gst_object_sink hidden="1" gst_object_ref hidden="1" gst_object_unref hidden="1" +gst_object_ref_sink hidden="1" gst_object_replace hidden="1" GstPad.querytypefunc hidden="1" GstPad:caps accessor_method="0"