From 991ce606aab8b05b1762c598d4bece623479d49a Mon Sep 17 00:00:00 2001 From: Rico Tzschichholz Date: Sun, 22 Apr 2018 15:27:33 +0200 Subject: [PATCH] gstreamer: Cherry-pick some fixes from 0.42 --- vapi/gstreamer-1.0.vapi | 4 ++-- vapi/gstreamer-audio-1.0.vapi | 16 ++++++++-------- vapi/gstreamer-base-1.0.vapi | 14 +++++++------- vapi/gstreamer-pbutils-1.0.vapi | 4 ++-- vapi/gstreamer-rtp-1.0.vapi | 16 ++++++++-------- vapi/gstreamer-rtsp-1.0.vapi | 15 ++++++++------- vapi/gstreamer-tag-1.0.vapi | 18 +++++++++--------- vapi/gstreamer-video-1.0.vapi | 18 +++++++++--------- 8 files changed, 53 insertions(+), 52 deletions(-) diff --git a/vapi/gstreamer-1.0.vapi b/vapi/gstreamer-1.0.vapi index 4c9bba77d..769c17181 100644 --- a/vapi/gstreamer-1.0.vapi +++ b/vapi/gstreamer-1.0.vapi @@ -389,7 +389,7 @@ namespace Gst { [CCode (cheader_filename = "gst/gst.h")] public static void double_to_fraction (double src, out int dest_n, out int dest_d); [CCode (cheader_filename = "gst/gst.h")] - public static void dump_mem (uint8 mem, uint size); + public static void dump_mem ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "guint")] uint8[] mem); [CCode (cheader_filename = "gst/gst.h")] public static bool fraction_add (int a_n, int a_d, int b_n, int b_d, out int res_n, out int res_d); [CCode (cheader_filename = "gst/gst.h")] @@ -663,7 +663,7 @@ namespace Gst { [CCode (instance_pos = 1.9)] public bool copy_into (Gst.Buffer dst, 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); + public size_t extract (size_t offset, [CCode (array_length_cname = "size", array_length_pos = 2.1, array_length_type = "gsize")] out unowned uint8[] dest); [Version (since = "1.0.10")] public void extract_dup (size_t offset, size_t size, [CCode (array_length_cname = "dest_size", array_length_pos = 3.1, array_length_type = "gsize")] out uint8[] dest); public size_t fill (size_t offset, [CCode (array_length_cname = "size", array_length_pos = 2.1, array_length_type = "gsize")] uint8[] src); diff --git a/vapi/gstreamer-audio-1.0.vapi b/vapi/gstreamer-audio-1.0.vapi index 2467bf14e..f9e0162cb 100644 --- a/vapi/gstreamer-audio-1.0.vapi +++ b/vapi/gstreamer-audio-1.0.vapi @@ -108,7 +108,7 @@ namespace Gst { [GIR (name = "AudioConverter")] public class Converter { public void free (); - public unowned Gst.Structure get_config (int in_rate, int out_rate); + public unowned Gst.Structure get_config (out int in_rate, out int out_rate); public size_t get_in_frames (size_t out_frames); public size_t get_max_latency (); public size_t get_out_frames (size_t in_frames); @@ -144,7 +144,7 @@ namespace Gst { public int get_max_errors (); public Gst.ClockTime get_min_latency (); public bool get_needs_format (); - public void get_parse_state (bool sync, bool eos); + public void get_parse_state (out bool sync, out bool eos); public bool get_plc (); public int get_plc_aware (); public Gst.ClockTime get_tolerance (); @@ -301,7 +301,7 @@ namespace Gst { public int rate; [CCode (has_construct_function = false)] public Info (); - public bool convert (Gst.Format src_fmt, int64 src_val, Gst.Format dest_fmt, int64 dest_val); + public bool convert (Gst.Format src_fmt, int64 src_val, Gst.Format dest_fmt, out int64 dest_val); public Gst.Audio.Info copy (); public void free (); public bool from_caps (Gst.Caps caps); @@ -357,8 +357,8 @@ namespace Gst { public void clear (int segment); public virtual void clear_all (); public virtual bool close_device (); - public virtual uint commit (uint64 sample, uint8 data, int in_samples, int out_samples, int accum); - public bool convert (Gst.Format src_fmt, int64 src_val, Gst.Format dest_fmt, int64 dest_val); + public virtual uint commit (uint64 sample, [CCode (array_length_cname = "in_samples", array_length_pos = 2.5)] uint8[] data, int out_samples, ref int accum); + public bool convert (Gst.Format src_fmt, int64 src_val, Gst.Format dest_fmt, out int64 dest_val); public static void debug_spec_buff (Gst.Audio.RingBufferSpec spec); public static void debug_spec_caps (Gst.Audio.RingBufferSpec spec); public virtual uint delay (); @@ -370,15 +370,15 @@ namespace Gst { public virtual bool open_device (); public static bool parse_caps (Gst.Audio.RingBufferSpec spec, Gst.Caps caps); public virtual bool pause (); - public bool prepare_read (int segment, uint8 readptr, int len); - public uint read (uint64 sample, uint8 data, uint len, Gst.ClockTime timestamp); + public bool prepare_read (out int segment, [CCode (array_length_cname = "len", array_length_pos = 2.1)] out uint8[] readptr); + public uint read (uint64 sample, [CCode (array_length_cname = "len", array_length_pos = 2.5, array_length_type = "guint")] uint8[] data, out Gst.ClockTime timestamp); public virtual bool release (); [NoWrapper] public virtual bool resume (); public uint64 samples_done (); [Version (since = "1.12")] public void set_callback_full (owned Gst.Audio.RingBufferCallback? cb); - public void set_channel_positions (Gst.Audio.ChannelPosition position); + public void set_channel_positions ([CCode (array_length = false)] Gst.Audio.ChannelPosition[] position); public void set_flushing (bool flushing); public void set_sample (uint64 sample); public void set_timestamp (int readseg, Gst.ClockTime timestamp); diff --git a/vapi/gstreamer-base-1.0.vapi b/vapi/gstreamer-base-1.0.vapi index 3b501cfb1..cf5bf0945 100644 --- a/vapi/gstreamer-base-1.0.vapi +++ b/vapi/gstreamer-base-1.0.vapi @@ -175,7 +175,7 @@ namespace Gst { public uint masked_scan_uint32 (uint32 mask, uint32 pattern, uint offset, uint size); [CCode (cname = "gst_byte_reader_masked_scan_uint32_peek")] [Version (since = "1.6")] - public uint masked_scan_uint32_peek (uint32 mask, uint32 pattern, uint offset, uint size, uint32 value); + public uint masked_scan_uint32_peek (uint32 mask, uint32 pattern, uint offset, uint size, out 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")] @@ -297,7 +297,7 @@ namespace Gst { [CCode (cname = "gst_byte_writer_put_string_utf32")] public bool put_string_utf32 ([CCode (array_length = false, array_null_terminated = true)] uint32[] data); [CCode (cname = "gst_byte_writer_put_string_utf8")] - public bool put_string_utf8 ([CCode (array_length = false, array_null_terminated = true)] string[] data); + public bool put_string_utf8 (string data); [CCode (cname = "gst_byte_writer_put_uint16_be")] public bool put_uint16_be (uint16 val); [CCode (cname = "gst_byte_writer_put_uint16_le")] @@ -333,7 +333,7 @@ namespace Gst { public CollectPads (); public unowned Gst.Base.CollectData? add_pad (Gst.Pad pad, uint size, [CCode (scope = "async")] Gst.Base.CollectDataDestroyNotify destroy_notify, bool @lock); public uint available (); - public Gst.FlowReturn clip_running_time (Gst.Base.CollectData cdata, Gst.Buffer buf, Gst.Buffer? outbuf, void* user_data); + public Gst.FlowReturn clip_running_time (Gst.Base.CollectData cdata, Gst.Buffer buf, out Gst.Buffer outbuf, void* user_data); public bool event_default (Gst.Base.CollectData data, Gst.Event event, bool discard); public uint flush (Gst.Base.CollectData data, uint size); public Gst.Buffer? peek (Gst.Base.CollectData data); @@ -407,7 +407,7 @@ namespace Gst { public bool add_index_entry (uint64 offset, Gst.ClockTime ts, bool key, bool force); [NoWrapper] public virtual bool convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value); - public bool convert_default (Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value); + public bool convert_default (Gst.Format src_format, int64 src_value, Gst.Format dest_format, out int64 dest_value); [NoWrapper] public virtual Gst.FlowReturn detect (Gst.Buffer buffer); [Version (since = "1.12")] @@ -777,7 +777,7 @@ namespace Gst { [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsBufferFunction", instance_pos = 3.9)] public delegate Gst.FlowReturn CollectPadsBufferFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data, owned Gst.Buffer buffer); [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsClipFunction", instance_pos = 4.9)] - public delegate Gst.FlowReturn CollectPadsClipFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data, owned Gst.Buffer inbuffer, Gst.Buffer outbuffer); + public delegate Gst.FlowReturn CollectPadsClipFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data, owned Gst.Buffer inbuffer, out Gst.Buffer outbuffer); [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsCompareFunction", instance_pos = 5.9)] public delegate int CollectPadsCompareFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data1, Gst.ClockTime timestamp1, Gst.Base.CollectData data2, Gst.ClockTime timestamp2); [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsEventFunction", instance_pos = 3.9)] @@ -794,7 +794,7 @@ namespace Gst { [CCode (cheader_filename = "gst/base/base.h", cname = "GstDataQueueFullCallback", has_target = false)] public delegate void DataQueueFullCallback (Gst.Base.DataQueue queue, void* checkdata); [CCode (cheader_filename = "gst/base/base.h", cname = "GstTypeFindHelperGetRangeFunction", has_target = false)] - public delegate Gst.FlowReturn TypeFindHelperGetRangeFunction (Gst.Object obj, Gst.Object? parent, uint64 offset, uint length, Gst.Buffer buffer); + public delegate Gst.FlowReturn TypeFindHelperGetRangeFunction (Gst.Object obj, Gst.Object? parent, uint64 offset, uint length, out Gst.Buffer buffer); [CCode (cheader_filename = "gst/base/base.h", cname = "GST_BASE_PARSE_FLAG_DRAINING")] public const int PARSE_FLAG_DRAINING; [CCode (cheader_filename = "gst/base/base.h", cname = "GST_BASE_PARSE_FLAG_LOST_SYNC")] @@ -808,7 +808,7 @@ namespace Gst { [CCode (cheader_filename = "gst/base/base.h", cname = "gst_type_find_helper_for_buffer")] public static Gst.Caps? type_find_helper_for_buffer (Gst.Object? obj, Gst.Buffer buf, out Gst.TypeFindProbability prob); [CCode (cheader_filename = "gst/base/base.h", cname = "gst_type_find_helper_for_data")] - public static Gst.Caps? type_find_helper_for_data (Gst.Object? obj, uint8 data, size_t size, out Gst.TypeFindProbability prob); + public static Gst.Caps? type_find_helper_for_data (Gst.Object? obj, [CCode (array_length_cname = "size", array_length_pos = 2.5, array_length_type = "gsize")] uint8[] data, out Gst.TypeFindProbability prob); [CCode (cheader_filename = "gst/base/base.h", cname = "gst_type_find_helper_for_extension")] public static Gst.Caps? type_find_helper_for_extension (Gst.Object? obj, string extension); [CCode (cheader_filename = "gst/base/base.h", cname = "gst_type_find_helper_get_range")] diff --git a/vapi/gstreamer-pbutils-1.0.vapi b/vapi/gstreamer-pbutils-1.0.vapi index d6d009ec7..94974647e 100644 --- a/vapi/gstreamer-pbutils-1.0.vapi +++ b/vapi/gstreamer-pbutils-1.0.vapi @@ -346,10 +346,10 @@ namespace Gst { public static Gst.Buffer codec_utils_opus_create_header (uint32 rate, uint8 channels, uint8 channel_mapping_family, uint8 stream_count, uint8 coupled_count, [CCode (array_length = false)] uint8[]? channel_mapping, uint16 pre_skip, int16 output_gain); [CCode (cheader_filename = "gst/pbutils/pbutils.h", cname = "gst_codec_utils_opus_parse_caps")] [Version (since = "1.8")] - public static bool codec_utils_opus_parse_caps (Gst.Caps caps, out uint32 rate, out uint8 channels, out uint8 channel_mapping_family, out uint8 stream_count, out uint8 coupled_count, [CCode (array_length = false)] out uint8[] channel_mapping); + public static bool codec_utils_opus_parse_caps (Gst.Caps caps, out uint32 rate, out uint8 channels, out uint8 channel_mapping_family, out uint8 stream_count, out uint8 coupled_count, [CCode (array_length = false)] out uint8 channel_mapping[256]); [CCode (cheader_filename = "gst/pbutils/pbutils.h", cname = "gst_codec_utils_opus_parse_header")] [Version (since = "1.8")] - public static bool codec_utils_opus_parse_header (Gst.Buffer header, out uint32 rate, out uint8 channels, out uint8 channel_mapping_family, out uint8 stream_count, out uint8 coupled_count, [CCode (array_length = false)] out uint8[] channel_mapping, out uint16 pre_skip, out int16 output_gain); + public static bool codec_utils_opus_parse_header (Gst.Buffer header, out uint32 rate, out uint8 channels, out uint8 channel_mapping_family, out uint8 stream_count, out uint8 coupled_count, [CCode (array_length = false)] out uint8 channel_mapping[256], out uint16 pre_skip, out int16 output_gain); [CCode (cheader_filename = "gst/pbutils/pbutils.h", cname = "gst_encoding_list_all_targets")] public static GLib.List encoding_list_all_targets (string? categoryname); [CCode (cheader_filename = "gst/pbutils/pbutils.h", cname = "gst_encoding_list_available_categories")] diff --git a/vapi/gstreamer-rtp-1.0.vapi b/vapi/gstreamer-rtp-1.0.vapi index dc0975fc1..d630aa7fb 100644 --- a/vapi/gstreamer-rtp-1.0.vapi +++ b/vapi/gstreamer-rtp-1.0.vapi @@ -14,7 +14,7 @@ namespace Gst { protected BaseAudioPayload (); public Gst.FlowReturn flush (uint payload_len, Gst.ClockTime timestamp); public Gst.Base.Adapter get_adapter (); - public Gst.FlowReturn push (uint8 data, uint payload_len, Gst.ClockTime timestamp); + public Gst.FlowReturn push ([CCode (array_length_cname = "payload_len", array_length_pos = 1.5, array_length_type = "guint")] uint8[] data, Gst.ClockTime timestamp); public void set_frame_based (); public void set_frame_options (int frame_duration, int frame_size); public void set_sample_based (); @@ -271,7 +271,7 @@ namespace Gst { [CCode (cheader_filename = "gst/rtp/rtp.h")] public static uint32 buffer_default_clock_rate (uint8 payload_type); [CCode (cheader_filename = "gst/rtp/rtp.h")] - public static uint64 buffer_ext_timestamp (uint64 exttimestamp, uint32 timestamp); + public static uint64 buffer_ext_timestamp (ref uint64 exttimestamp, uint32 timestamp); [CCode (cheader_filename = "gst/rtp/rtp.h")] public static bool buffer_map (Gst.Buffer buffer, Gst.MapFlags flags, out unowned Gst.RTP.Buffer rtp); [CCode (cheader_filename = "gst/rtp/rtp.h")] @@ -283,9 +283,9 @@ namespace Gst { [CCode (cheader_filename = "gst/rtp/rtp.h")] public static Gst.Buffer buffer_new_take_data ([CCode (array_length_cname = "len", array_length_pos = 1.1, array_length_type = "gsize")] owned uint8[] data); [CCode (cheader_filename = "gst/rtp/rtp.h")] - public static bool hdrext_get_ntp_56 (void* data, uint size, uint64 ntptime); + public static bool hdrext_get_ntp_56 ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "guint")] uint8[] data, out uint64 ntptime); [CCode (cheader_filename = "gst/rtp/rtp.h")] - public static bool hdrext_get_ntp_64 (void* data, uint size, uint64 ntptime); + public static bool hdrext_get_ntp_64 ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "guint")] uint8[] data, out uint64 ntptime); [CCode (cheader_filename = "gst/rtp/rtp.h")] public static bool hdrext_set_ntp_56 (void* data, uint size, uint64 ntptime); [CCode (cheader_filename = "gst/rtp/rtp.h")] @@ -316,7 +316,7 @@ namespace Gst { public weak Gst.RTPC.Buffer rtcp; public uint offset; [CCode (cname = "gst_rtcp_packet_add_profile_specific_ext")] - public bool add_profile_specific_ext (uint8 data, uint len); + public bool add_profile_specific_ext ([CCode (array_length_cname = "len", array_length_pos = 1.1, array_length_type = "guint")] uint8[] data); [CCode (cname = "gst_rtcp_packet_add_rb")] public bool add_rb (uint32 ssrc, uint8 fractionlost, int32 packetslost, uint32 exthighestseq, uint32 jitter, uint32 lsr, uint32 dlsr); [CCode (cname = "gst_rtcp_packet_app_get_data")] @@ -349,7 +349,7 @@ namespace Gst { [CCode (cname = "gst_rtcp_packet_bye_add_ssrc")] public bool bye_add_ssrc (uint32 ssrc); [CCode (cname = "gst_rtcp_packet_bye_add_ssrcs")] - public bool bye_add_ssrcs (uint32 ssrc, uint len); + public bool bye_add_ssrcs ([CCode (array_length_cname = "len", array_length_pos = 1.1, array_length_type = "guint")] uint32[] ssrc); [CCode (cname = "gst_rtcp_packet_bye_get_nth_ssrc")] public uint32 bye_get_nth_ssrc (uint nth); [CCode (cname = "gst_rtcp_packet_bye_get_reason")] @@ -391,7 +391,7 @@ namespace Gst { [CCode (cname = "gst_rtcp_packet_get_profile_specific_ext_length")] public uint16 get_profile_specific_ext_length (); [CCode (cname = "gst_rtcp_packet_get_rb")] - public void get_rb (uint nth, uint32 ssrc, uint8 fractionlost, int32 packetslost, uint32 exthighestseq, uint32 jitter, uint32 lsr, uint32 dlsr); + public void get_rb (uint nth, out uint32 ssrc, out uint8 fractionlost, out int32 packetslost, out uint32 exthighestseq, out uint32 jitter, out uint32 lsr, out uint32 dlsr); [CCode (cname = "gst_rtcp_packet_get_rb_count")] public uint get_rb_count (); [CCode (cname = "gst_rtcp_packet_get_type")] @@ -427,7 +427,7 @@ namespace Gst { [CCode (cname = "gst_rtcp_packet_set_rb")] public void set_rb (uint nth, uint32 ssrc, uint8 fractionlost, int32 packetslost, uint32 exthighestseq, uint32 jitter, uint32 lsr, uint32 dlsr); [CCode (cname = "gst_rtcp_packet_sr_get_sender_info")] - public void sr_get_sender_info (uint32 ssrc, uint64 ntptime, uint32 rtptime, uint32 packet_count, uint32 octet_count); + public void sr_get_sender_info (out uint32 ssrc, out uint64 ntptime, out uint32 rtptime, out uint32 packet_count, out uint32 octet_count); [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); } diff --git a/vapi/gstreamer-rtsp-1.0.vapi b/vapi/gstreamer-rtsp-1.0.vapi index 7da23eddd..968380b46 100644 --- a/vapi/gstreamer-rtsp-1.0.vapi +++ b/vapi/gstreamer-rtsp-1.0.vapi @@ -82,7 +82,7 @@ namespace Gst { [CCode (array_length = false, array_null_terminated = true)] public string[] decode_path_components (); public void free (); - public Gst.RTSP.Result get_port (uint16 port); + public Gst.RTSP.Result get_port (out uint16 port); public string get_request_uri (); public Gst.RTSP.Result set_port (uint16 port); } @@ -152,11 +152,12 @@ namespace Gst { public Gst.RTSP.Result init_data (uint8 channel); public Gst.RTSP.Result init_request (Gst.RTSP.Method method, string uri); public Gst.RTSP.Result init_response (Gst.RTSP.StatusCode code, string? reason, Gst.RTSP.Message? request); + [CCode (array_length = false, array_null_terminated = true)] [Version (since = "1.12")] - public Gst.RTSP.AuthCredential parse_auth_credentials (Gst.RTSP.HeaderField field); + public Gst.RTSP.AuthCredential[] parse_auth_credentials (Gst.RTSP.HeaderField field); public Gst.RTSP.Result parse_data (out uint8 channel); - 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 parse_request (out Gst.RTSP.Method method, out unowned string uri, out Gst.RTSP.Version version); + public Gst.RTSP.Result parse_response (out Gst.RTSP.StatusCode code, out unowned string reason, out Gst.RTSP.Version version); public Gst.RTSP.Result remove_header (Gst.RTSP.HeaderField field, int indx); [Version (since = "1.6")] public Gst.RTSP.Result remove_header_by_name (string header, int index); @@ -539,9 +540,9 @@ namespace Gst { public static void range_free (Gst.RTSP.TimeRange range); [CCode (cheader_filename = "gst/rtsp/rtsp.h")] [Version (since = "1.2")] - public static bool range_get_times (Gst.RTSP.TimeRange range, Gst.ClockTime min, Gst.ClockTime max); + public static bool range_get_times (Gst.RTSP.TimeRange range, out Gst.ClockTime min, out Gst.ClockTime max); [CCode (cheader_filename = "gst/rtsp/rtsp.h")] - public static Gst.RTSP.Result range_parse (string rangestr, Gst.RTSP.TimeRange range); + public static Gst.RTSP.Result range_parse (string rangestr, out Gst.RTSP.TimeRange range); [CCode (cheader_filename = "gst/rtsp/rtsp.h")] public static string range_to_string (Gst.RTSP.TimeRange range); [CCode (cheader_filename = "gst/rtsp/rtsp.h")] @@ -549,7 +550,7 @@ namespace Gst { [CCode (cheader_filename = "gst/rtsp/rtsp.h")] public static string strresult (Gst.RTSP.Result result); [CCode (cheader_filename = "gst/rtsp/rtsp.h")] - public static Gst.RTSP.Result transport_get_manager (Gst.RTSP.TransMode trans, string manager, uint option); + public static Gst.RTSP.Result transport_get_manager (Gst.RTSP.TransMode trans, out unowned string? manager, uint option); [CCode (cheader_filename = "gst/rtsp/rtsp.h")] [Version (deprecated = true)] public static Gst.RTSP.Result transport_get_mime (Gst.RTSP.TransMode trans, string mime); diff --git a/vapi/gstreamer-tag-1.0.vapi b/vapi/gstreamer-tag-1.0.vapi index b16fa636c..8b0a77686 100644 --- a/vapi/gstreamer-tag-1.0.vapi +++ b/vapi/gstreamer-tag-1.0.vapi @@ -70,7 +70,7 @@ namespace Gst { } namespace List { [CCode (cheader_filename = "gst/tag/tag.h")] - public static bool add_id3_image (Gst.TagList tag_list, uint8 image_data, uint image_data_len, uint id3_picture_type); + public static bool add_id3_image (Gst.TagList tag_list, [CCode (array_length_cname = "image_data_len", array_length_pos = 2.5, array_length_type = "guint")] uint8[] image_data, uint id3_picture_type); [CCode (cheader_filename = "gst/tag/tag.h")] public static Gst.TagList from_exif_buffer (Gst.Buffer buffer, int byte_order, uint32 base_offset); [CCode (cheader_filename = "gst/tag/tag.h")] @@ -78,21 +78,21 @@ namespace Gst { [CCode (cheader_filename = "gst/tag/tag.h")] public static Gst.TagList from_id3v2_tag (Gst.Buffer buffer); [CCode (cheader_filename = "gst/tag/tag.h")] - public static Gst.TagList from_vorbiscomment (uint8 data, size_t size, uint8 id_data, uint id_data_length, string vendor_string); + public static Gst.TagList from_vorbiscomment ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] data, [CCode (array_length_cname = "id_data_length", array_length_pos = 2.5, array_length_type = "guint")] uint8[] id_data, out string vendor_string); [CCode (cheader_filename = "gst/tag/tag.h")] - public static Gst.TagList from_vorbiscomment_buffer (Gst.Buffer buffer, uint8 id_data, uint id_data_length, string vendor_string); + public static Gst.TagList from_vorbiscomment_buffer (Gst.Buffer buffer, [CCode (array_length_cname = "id_data_length", array_length_pos = 2.5, array_length_type = "guint")] uint8[] id_data, out string vendor_string); [CCode (cheader_filename = "gst/tag/tag.h")] public static Gst.TagList from_xmp_buffer (Gst.Buffer buffer); [CCode (cheader_filename = "gst/tag/tag.h")] - public static Gst.TagList new_from_id3v1 (uint8 data); + public static Gst.TagList new_from_id3v1 ([CCode (array_length = false)] uint8 data[128]); [CCode (cheader_filename = "gst/tag/tag.h")] public static Gst.Buffer to_exif_buffer (Gst.TagList taglist, int byte_order, uint32 base_offset); [CCode (cheader_filename = "gst/tag/tag.h")] public static Gst.Buffer to_exif_buffer_with_tiff_header (Gst.TagList taglist); [CCode (cheader_filename = "gst/tag/tag.h")] - public static Gst.Buffer to_vorbiscomment_buffer (Gst.TagList list, uint8 id_data, uint id_data_length, string vendor_string); + public static Gst.Buffer to_vorbiscomment_buffer (Gst.TagList list, [CCode (array_length_cname = "id_data_length", array_length_pos = 2.5, array_length_type = "guint")] uint8[] id_data, string? vendor_string); [CCode (cheader_filename = "gst/tag/tag.h")] - public static Gst.Buffer to_xmp_buffer (Gst.TagList list, bool read_only, string schemas); + public static Gst.Buffer to_xmp_buffer (Gst.TagList list, bool read_only, [CCode (array_length = false, array_null_terminated = true)] string[] schemas); } namespace MusicBrainz { [CCode (cheader_filename = "gst/tag/tag.h", cname = "GST_TAG_MUSICBRAINZ_ALBUMARTISTID")] @@ -196,7 +196,7 @@ namespace Gst { [CCode (cheader_filename = "gst/tag/tag.h")] public static bool check_language_code (string lang_code); [CCode (cheader_filename = "gst/tag/tag.h")] - public static string freeform_string_to_utf8 (string data, int size, string env_vars); + public static string freeform_string_to_utf8 ([CCode (array_length_cname = "size", array_length_pos = 1.5)] char[] data, [CCode (array_length = false, array_null_terminated = true)] string[] env_vars); [CCode (cheader_filename = "gst/tag/tag.h")] public static unowned string from_id3_tag (string id3_tag); [CCode (cheader_filename = "gst/tag/tag.h")] @@ -234,9 +234,9 @@ namespace Gst { [CCode (cheader_filename = "gst/tag/tag.h")] public static unowned string id3_genre_get (uint id); [CCode (cheader_filename = "gst/tag/tag.h")] - public static Gst.Sample image_data_to_image_sample (uint8 image_data, uint image_data_len, Gst.Tag.ImageType image_type); + public static Gst.Sample image_data_to_image_sample ([CCode (array_length_cname = "image_data_len", array_length_pos = 1.5, array_length_type = "guint")] uint8[] image_data, Gst.Tag.ImageType image_type); [CCode (cheader_filename = "gst/tag/tag.h")] - public static bool parse_extended_comment (string ext_comment, string key, string lang, string value, bool fail_if_no_key); + public static bool parse_extended_comment (string ext_comment, out string? key, out string? lang, out string value, bool fail_if_no_key); [CCode (cheader_filename = "gst/tag/tag.h")] public static void register_musicbrainz_tags (); [CCode (cheader_filename = "gst/tag/tag.h")] diff --git a/vapi/gstreamer-video-1.0.vapi b/vapi/gstreamer-video-1.0.vapi index 5291f1b11..ccdc53146 100644 --- a/vapi/gstreamer-video-1.0.vapi +++ b/vapi/gstreamer-video-1.0.vapi @@ -266,7 +266,7 @@ namespace Gst { [Version (since = "1.6")] public Info (); public bool align (Gst.Video.Alignment align); - public bool convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value); + public bool convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, out int64 dest_value); [Version (since = "1.6")] public Gst.Video.Info copy (); [Version (since = "1.6")] @@ -449,10 +449,10 @@ namespace Gst { [CCode (cheader_filename = "gst/video/video.h", type_id = "gst_video_orientation_get_type ()")] [GIR (name = "VideoOrientation")] public interface Orientation : GLib.Object { - public abstract bool get_hcenter (int center); - public abstract bool get_hflip (bool flip); - public abstract bool get_vcenter (int center); - public abstract bool get_vflip (bool flip); + public abstract bool get_hcenter (out int center); + public abstract bool get_hflip (out bool flip); + public abstract bool get_vcenter (out int center); + public abstract bool get_vflip (out bool flip); public abstract bool set_hcenter (int center); public abstract bool set_hflip (bool flip); public abstract bool set_vcenter (int center); @@ -600,7 +600,7 @@ namespace Gst { public weak size_t offset[4]; [CCode (array_length = false)] public weak int stride[4]; - public bool map (uint plane, Gst.MapInfo info, void* data, int stride, Gst.MapFlags flags); + public bool map (uint plane, Gst.MapInfo info, out void* data, out int stride, Gst.MapFlags flags); public bool unmap (uint plane, Gst.MapInfo info); } [CCode (cheader_filename = "gst/video/video.h", has_type_id = false)] @@ -1361,12 +1361,12 @@ namespace Gst { public static unowned string chroma_to_string (Gst.Video.ChromaSite site); [CCode (cheader_filename = "gst/video/video.h")] [Version (since = "1.6")] - public static bool color_matrix_get_Kr_Kb (Gst.Video.ColorMatrix matrix, double Kr, double Kb); + public static bool color_matrix_get_Kr_Kb (Gst.Video.ColorMatrix matrix, out double Kr, out double Kb); [CCode (cheader_filename = "gst/video/video.h")] [Version (since = "1.6")] 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); + public static void color_range_offsets (Gst.Video.ColorRange range, Gst.Video.FormatInfo info, [CCode (array_length = false)] out int offset[4], [CCode (array_length = false)] out int scale[4]); [CCode (cheader_filename = "gst/video/video.h")] [Version (since = "1.6")] public static double color_transfer_decode (Gst.Video.TransferFunction func, double val); @@ -1392,7 +1392,7 @@ namespace Gst { [CCode (cheader_filename = "gst/video/video.h")] public static bool event_parse_downstream_force_key_unit (Gst.Event event, out Gst.ClockTime timestamp, out Gst.ClockTime stream_time, out Gst.ClockTime running_time, out bool all_headers, out uint count); [CCode (cheader_filename = "gst/video/video.h")] - public static bool event_parse_still_frame (Gst.Event event, bool in_still); + public static bool event_parse_still_frame (Gst.Event event, out bool in_still); [CCode (cheader_filename = "gst/video/video.h")] public static bool event_parse_upstream_force_key_unit (Gst.Event event, out Gst.ClockTime running_time, out bool all_headers, out uint count); [CCode (cheader_filename = "gst/video/video.h")] -- 2.11.4.GIT