]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
gstreamer: Fix Gst.Element bindings
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Sat, 27 Mar 2010 15:33:45 +0000 (16:33 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 8 Apr 2010 08:30:51 +0000 (10:30 +0200)
Set correct nullable attributes and ownership information on
parameters/returns and hide private API.

vapi/gstreamer-0.10.vapi
vapi/packages/gstreamer-0.10/gstreamer-0.10-custom.vala
vapi/packages/gstreamer-0.10/gstreamer-0.10.metadata

index eafec5837005251b226d9ad3c896b8a56d554286..d0622c30e5d1d7ae94e6567b04ad5b8758bf19da 100644 (file)
@@ -325,8 +325,7 @@ namespace Gst {
                public unowned string @get ();
        }
        [CCode (cheader_filename = "gst/gst.h")]
-       public class Element : Gst.Object {
-               public void* abidata;
+       public abstract class Element : Gst.Object {
                public Gst.ClockTimeDiff base_time;
                public weak Gst.Bus bus;
                public weak Gst.Clock clock;
@@ -344,6 +343,8 @@ namespace Gst {
                public weak GLib.Cond state_cond;
                public uint32 state_cookie;
                public void* state_lock;
+               [CCode (cname = "abidata.ABI.target_state")]
+               public Gst.State target_state;
                public void abort_state ();
                public bool add_pad (owned Gst.Pad pad);
                [CCode (cname = "gst_element_class_add_pad_template")]
@@ -354,19 +355,20 @@ namespace Gst {
                public void found_tags (owned Gst.TagList list);
                public void found_tags_for_pad (Gst.Pad pad, owned Gst.TagList list);
                public Gst.ClockTime get_base_time ();
-               public Gst.Bus get_bus ();
-               public unowned Gst.Clock get_clock ();
-               public unowned Gst.Pad get_compatible_pad (Gst.Pad pad, Gst.Caps? caps);
-               public unowned Gst.PadTemplate get_compatible_pad_template (Gst.PadTemplate compattempl);
-               public unowned Gst.ElementFactory get_factory ();
-               public virtual unowned Gst.Index get_index ();
-               public unowned Gst.Pad get_pad (string name);
+               public Gst.Bus? get_bus ();
+               public Gst.Clock? get_clock ();
+               public Gst.Pad? get_compatible_pad (Gst.Pad pad, Gst.Caps? caps);
+               public unowned Gst.PadTemplate? get_compatible_pad_template (Gst.PadTemplate compattempl);
+               public unowned Gst.ElementFactory? get_factory ();
+               public virtual Gst.Index? get_index ();
+               public Gst.Pad? get_pad (string name);
                [CCode (cname = "gst_element_class_get_pad_template")]
-               public class unowned Gst.PadTemplate get_pad_template (string name);
+               public class unowned Gst.PadTemplate? get_pad_template (string name);
                [CCode (cname = "gst_element_class_get_pad_template_list")]
                public class unowned GLib.List<Gst.PadTemplate> get_pad_template_list ();
-               public virtual Gst.QueryType get_query_types ();
-               public unowned Gst.Pad get_request_pad (string name);
+               [CCode (array_length = false)]
+               public virtual unowned Gst.QueryType[]? get_query_types ();
+               public Gst.Pad? get_request_pad (string name);
                public Gst.ClockTime get_start_time ();
                public virtual Gst.StateChangeReturn get_state (out Gst.State state, out Gst.State pending, Gst.ClockTime timeout);
                public Gst.Pad? get_static_pad (string name);
@@ -375,9 +377,9 @@ namespace Gst {
                public class void install_std_props (...);
                public bool is_indexable ();
                public bool is_locked_state ();
-               public unowned Gst.Iterator iterate_pads ();
-               public unowned Gst.Iterator iterate_sink_pads ();
-               public unowned Gst.Iterator iterate_src_pads ();
+               public Gst.Iterator iterate_pads ();
+               public Gst.Iterator iterate_sink_pads ();
+               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, ...);
@@ -386,15 +388,15 @@ namespace Gst {
                public void lost_state ();
                public void lost_state_full (bool new_base_time);
                public static Gst.Element? make_from_uri (Gst.URIType type, string uri, string? elementname);
-               public void message_full (Gst.MessageType type, GLib.Quark domain, int code, string text, string debug, string file, string function, int line);
+               public void message_full (Gst.MessageType type, GLib.Quark domain, int code, string? text, string? debug, string file, string function, int line);
                public bool post_message (owned Gst.Message message);
-               public virtual unowned Gst.Clock provide_clock ();
+               public virtual Gst.Clock? provide_clock ();
                public bool provides_clock ();
                public virtual bool query (Gst.Query query);
-               public bool query_convert (Gst.Format src_format, int64 src_val, Gst.Format dest_format, int64 dest_val);
+               public bool query_convert (Gst.Format src_format, int64 src_val, ref Gst.Format dest_format, out int64 dest_val);
                public bool query_duration (ref Gst.Format format, out int64 duration);
                public bool query_position (ref Gst.Format format, out int64 cur);
-               public static bool register (Gst.Plugin plugin, string name, uint rank, GLib.Type type);
+               public static bool register (Gst.Plugin? plugin, string name, uint rank, GLib.Type type);
                [NoWrapper]
                public virtual void release_pad (Gst.Pad pad);
                public void release_request_pad (Gst.Pad pad);
@@ -407,12 +409,12 @@ namespace Gst {
                public virtual bool send_event (owned Gst.Event event);
                public void set_base_time (Gst.ClockTime time);
                public virtual void set_bus (Gst.Bus? bus);
-               public virtual bool set_clock (Gst.Clock clock);
+               public virtual bool set_clock (Gst.Clock? clock);
                [CCode (cname = "gst_element_class_set_details")]
                public class void set_details (Gst.ElementDetails details);
                [CCode (cname = "gst_element_class_set_details_simple")]
                public class void set_details_simple (string longname, string classification, string description, string author);
-               public virtual void set_index (Gst.Index index);
+               public virtual void set_index (Gst.Index? index);
                public bool set_locked_state (bool locked_state);
                public void set_start_time (Gst.ClockTime time);
                public virtual Gst.StateChangeReturn set_state (Gst.State state);
index 190571eef7c90bd76e0af0ce2bad15bb3e4711a1..d9628c983a083c624874cf22e35d88676a2da424 100644 (file)
@@ -110,6 +110,11 @@ namespace Gst {
                public void set_valist (string first_property_name, void* var_args);
        }
 
+       public abstract class Element {
+               [CCode (cname = "abidata.ABI.target_state")]
+               public State target_state;
+       }
+
        [CCode (cheader_filename = "gst/gst.h")]
        public class Pad {
                [CCode (array_length_pos = 0, delegate_target_pos = 0)]
index d07d5f5b8d0b0d02ed15ca7d9eb2032b0b39b3c2..cf5c003f6af6ae599dd84a07ce176198a0babd4f 100644 (file)
@@ -113,10 +113,12 @@ GstDebugCategory.* hidden="1"
 GstDebugLevel to_string="gst_debug_level_get_name"
 gst_debug_get_all_categories transfer_ownership="1" type_arguments="DebugCategory"
 gst_debug_level_get_name hidden="1"
+GstElement abstract="1"
 GstElement::no_more_pads has_emitter="1"
 GstElement.pads type_arguments="Pad"
 GstElement.sinkpads type_arguments="Pad"
 GstElement.srcpads type_arguments="Pad"
+GstElement.abidata hidden="1"
 GstElementClass hidden="1"
 gst_element_add_pad.pad takes_ownership="1"
 gst_element_link_many ellipsis="1"
@@ -133,14 +135,32 @@ gst_element_request_new_pad.name nullable="1"
 gst_element_send_event.event takes_ownership="1"
 gst_element_state_get_name hidden="1"
 gst_element_state_change_return_get_name hidden="1"
-gst_element_get_bus transfer_ownership="1"
+gst_element_get_bus transfer_ownership="1" nullable="1"
 gst_element_set_bus.bus nullable="1"
 gst_element_make_from_uri transfer_ownership="1" nullable="1"
 gst_element_make_from_uri.elementname nullable="1"
 gst_element_get_static_pad transfer_ownership="1" nullable="1"
+gst_element_get_pad transfer_ownership="1" nullable="1"
+gst_element_get_request_pad transfer_ownership="1" nullable="1"
+gst_element_get_compatible_pad transfer_ownership="1" nullable="1"
+gst_element_get_compatible_pad_template nullable="1"
+gst_element_class_get_pad_template nullable="1"
 gst_element_class_get_pad_template_list type_arguments="PadTemplate"
 gst_element_post_message.message takes_ownership="1"
 gst_element_get_compatible_pad.caps nullable="1"
+gst_element_iterate_*pads transfer_ownership="1"
+gst_element_get_factory nullable="1"
+gst_element_get_index transfer_ownership="1" nullable="1"
+gst_element_set_index.index nullable="1"
+gst_element_get_clock transfer_ownership="1" nullable="1"
+gst_element_provide_clock transfer_ownership="1" nullable="1"
+gst_element_set_clock.clock nullable="1"
+gst_element_get_query_types is_array="1" no_array_length="1" nullable="1"
+gst_element_query_convert.dest_format is_ref="1"
+gst_element_query_convert.dest_val is_out="1"
+gst_element_register.plugin nullable="1"
+gst_element_message_full.text nullable="1"
+gst_element_message_full.debug nullable="1"
 GstElementDetails is_value_type="1"
 gst_element_factory_make transfer_ownership="1" nullable="1"
 gst_element_factory_make.name nullable="1"