From: Rico Tzschichholz Date: Fri, 8 Jul 2016 13:00:27 +0000 (+0200) Subject: gstreamer: Update to 1.9.1 X-Git-Tag: 0.33.1~34 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0402cee9ec7c948cc0883b8a2f028b5d2cea70dd;p=thirdparty%2Fvala.git gstreamer: Update to 1.9.1 --- diff --git a/vapi/Makefile.am b/vapi/Makefile.am index 614feb367..4d67106fc 100644 --- a/vapi/Makefile.am +++ b/vapi/Makefile.am @@ -148,6 +148,8 @@ dist_vapi_DATA = \ gstreamer-net-1.0.deps \ gstreamer-pbutils-1.0.vapi \ gstreamer-pbutils-1.0.deps \ + gstreamer-player-1.0.vapi \ + gstreamer-player-1.0.deps \ gstreamer-riff-1.0.deps \ gstreamer-riff-1.0.vapi \ gstreamer-rtp-1.0.vapi \ @@ -389,6 +391,7 @@ GSTREAMER_1_0_BINDINGS = \ gstreamer-audio-1.0 \ gstreamer-fft-1.0 \ gstreamer-pbutils-1.0 \ + gstreamer-player-1.0 \ gstreamer-riff-1.0 \ gstreamer-rtp-1.0 \ gstreamer-sdp-1.0 \ @@ -645,6 +648,9 @@ gstreamer-net-1.0: gstreamer-pbutils-1.0: $(GENVAPI) --library $(srcdir)/gstreamer-pbutils-1.0 --pkg gstreamer-base-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstPbutils-1.0.gir +gstreamer-player-1.0: + $(GENVAPI) --library $(srcdir)/gstreamer-player-1.0 --pkg gstreamer-1.0 --pkg gstreamer-video-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstPlayer-1.0.gir + gstreamer-riff-1.0: $(GENVAPI) --library $(srcdir)/gstreamer-riff-1.0 --pkg gstreamer-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstRiff-1.0.gir diff --git a/vapi/gstreamer-1.0.vapi b/vapi/gstreamer-1.0.vapi index 410c7db9f..1814c62e1 100644 --- a/vapi/gstreamer-1.0.vapi +++ b/vapi/gstreamer-1.0.vapi @@ -608,6 +608,10 @@ namespace Gst { public bool async_handling { get; set; } [NoAccessorMethod] public bool message_forward { get; set; } + [Version (since = "1.10")] + public virtual signal void deep_element_added (Gst.Bin sub_bin, Gst.Element child); + [Version (since = "1.10")] + public virtual signal void deep_element_removed (Gst.Bin sub_bin, Gst.Element child); public virtual signal bool do_latency (); public virtual signal void element_added (Gst.Element child); public virtual signal void element_removed (Gst.Element child); @@ -1164,11 +1168,17 @@ namespace Gst { public bool add_pad (Gst.Pad pad); [CCode (cname = "gst_element_class_add_pad_template")] public class void add_pad_template (owned Gst.PadTemplate templ); + [Version (since = "1.10")] + public ulong add_property_deep_notify_watch (string? property_name, bool include_value); + [Version (since = "1.10")] + public ulong add_property_notify_watch (string? property_name, bool include_value); [CCode (cname = "gst_element_class_add_static_metadata")] public class void add_static_metadata (string key, string value); [CCode (cname = "gst_element_class_add_static_pad_template")] [Version (since = "1.8")] public class void add_static_pad_template (Gst.StaticPadTemplate static_templ); + [Version (since = "1.10")] + public void call_async (owned Gst.ElementCallAsyncFunc func); public virtual Gst.StateChangeReturn change_state (Gst.StateChange transition); public Gst.StateChangeReturn continue_state (Gst.StateChangeReturn ret); public void create_all_pads (); @@ -1219,6 +1229,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); + [Version (since = "1.10")] + public void remove_property_notify_watch (ulong watch_id); [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); @@ -1318,8 +1330,14 @@ namespace Gst { 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); public void parse_segment_done (out Gst.Format format, out int64 position); + [Version (since = "1.10")] + public void parse_select_streams (out GLib.List streams); public void parse_sink_message (out Gst.Message msg); public void parse_step (out Gst.Format format, out uint64 amount, out double rate, out bool flush, out bool intermediate); + [Version (since = "1.10")] + public void parse_stream (out Gst.Stream stream); + [Version (since = "1.10")] + public void parse_stream_collection (out Gst.StreamCollection collection); [Version (since = "1.2")] public void parse_stream_flags (out Gst.StreamFlags flags); public void parse_stream_start (out unowned string stream_id); @@ -1339,11 +1357,16 @@ namespace Gst { public Event.segment (Gst.Segment segment); [CCode (has_construct_function = false)] public Event.segment_done (Gst.Format format, int64 position); + [CCode (has_construct_function = false)] + [Version (since = "1.10")] + public Event.select_streams (GLib.List streams); [Version (since = "1.2")] public void set_group_id (uint group_id); [Version (since = "1.4")] public void set_running_time_offset (int64 offset); public void set_seqnum (uint32 seqnum); + [Version (since = "1.10")] + public void set_stream (Gst.Stream stream); [Version (since = "1.2")] public void set_stream_flags (Gst.StreamFlags flags); [CCode (has_construct_function = false)] @@ -1351,6 +1374,9 @@ namespace Gst { [CCode (has_construct_function = false)] public Event.step (Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate); [CCode (has_construct_function = false)] + [Version (since = "1.10")] + public Event.stream_collection (Gst.StreamCollection collection); + [CCode (has_construct_function = false)] public Event.stream_start (string stream_id); [CCode (has_construct_function = false)] public Event.tag (owned Gst.TagList taglist); @@ -1518,6 +1544,8 @@ namespace Gst { public void parse_info (out GLib.Error gerror, out string debug); public void parse_new_clock (out unowned Gst.Clock clock); public void parse_progress (out Gst.ProgressType type, out string code, out string text); + [Version (since = "1.10")] + public void parse_property_notify (out unowned Gst.Object object, out string property_name, out GLib.Value property_value); public void parse_qos (out bool live, out uint64 running_time, out uint64 stream_time, out uint64 timestamp, out uint64 duration); public void parse_qos_stats (out Gst.Format format, out uint64 processed, out uint64 dropped); public void parse_qos_values (out int64 jitter, out double proportion, out int quality); @@ -1528,7 +1556,11 @@ namespace Gst { public void parse_state_changed (out Gst.State oldstate, out Gst.State newstate, out Gst.State pending); public void parse_step_done (out Gst.Format format, out uint64 amount, out double rate, out bool flush, out bool intermediate, out uint64 duration, out bool eos); public void parse_step_start (out bool active, out Gst.Format format, out uint64 amount, out double rate, out bool flush, out bool intermediate); + [Version (since = "1.10")] + public void parse_stream_collection (out unowned Gst.StreamCollection collection); public void parse_stream_status (out Gst.StreamStatusType type, out unowned Gst.Element owner); + [Version (since = "1.10")] + public void parse_streams_selected (out unowned Gst.StreamCollection collection); public void parse_structure_change (out Gst.StructureChangeType type, out unowned Gst.Element owner, out bool busy); public void parse_tag (out Gst.TagList tag_list); public void parse_toc (out Gst.Toc toc, out bool updated); @@ -1536,6 +1568,9 @@ namespace Gst { [CCode (has_construct_function = false)] public Message.progress (Gst.Object src, Gst.ProgressType type, string code, string text); [CCode (has_construct_function = false)] + [Version (since = "1.10")] + public Message.property_notify (Gst.Object src, string property_name, owned GLib.Value? val); + [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); @@ -1561,10 +1596,22 @@ namespace Gst { [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)] + [Version (since = "1.10")] + public Message.stream_collection (Gst.Object src, Gst.StreamCollection collection); + [CCode (has_construct_function = false)] 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)] + [Version (since = "1.10")] + public Message.streams_selected (Gst.Object src, Gst.StreamCollection collection); + [Version (since = "1.10")] + public void streams_selected_add (Gst.Stream stream); + [Version (since = "1.10")] + public uint streams_selected_get_size (); + [Version (since = "1.10")] + public Gst.Stream streams_selected_get_stream (uint idx); + [CCode (has_construct_function = false)] 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); @@ -1675,6 +1722,8 @@ namespace Gst { public Gst.Pad get_peer (); public Gst.FlowReturn get_range (uint64 offset, uint size, out Gst.Buffer buffer); public Gst.Event? get_sticky_event (Gst.EventType event_type, uint idx); + [Version (since = "1.10")] + public Gst.Stream? get_stream (); [Version (since = "1.2")] public string? get_stream_id (); public bool has_current_caps (); @@ -1688,6 +1737,10 @@ namespace Gst { public Gst.PadLinkReturn link (Gst.Pad sinkpad, Gst.PadLinkCheck flags = Gst.PadLinkCheck.DEFAULT); [Version (since = "1.4")] public static unowned string link_get_name (Gst.PadLinkReturn ret); + [Version (since = "1.10")] + public bool link_maybe_ghosting (Gst.Pad sink); + [Version (since = "1.10")] + public bool link_maybe_ghosting_full (Gst.Pad sink, Gst.PadLinkCheck flags); public void mark_reconfigure (); public bool needs_reconfigure (); public bool pause_task (); @@ -2082,6 +2135,48 @@ namespace Gst { [Version (since = "1.8")] public int to_stream_time_full (Gst.Format format, uint64 position, uint64 stream_time); } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_stream_get_type ()")] + public class Stream : Gst.Object { + [CCode (has_construct_function = false)] + [Version (since = "1.10")] + public Stream (string? stream_id, Gst.Caps? caps, Gst.StreamType type, Gst.StreamFlags flags); + [Version (since = "1.10")] + public Gst.Caps? get_caps (); + [Version (since = "1.10")] + public Gst.StreamFlags get_stream_flags (); + [Version (since = "1.10")] + public unowned string? get_stream_id (); + [Version (since = "1.10")] + public Gst.StreamType get_stream_type (); + [Version (since = "1.10")] + public Gst.TagList? get_tags (); + [Version (since = "1.10")] + public void set_caps (Gst.Caps? caps); + [Version (since = "1.10")] + public void set_stream_flags (Gst.StreamFlags flags); + [Version (since = "1.10")] + public void set_stream_type (Gst.StreamType stream_type); + [Version (since = "1.10")] + public void set_tags (Gst.TagList? tags); + public Gst.Caps caps { owned get; set; } + public Gst.StreamFlags stream_flags { get; set construct; } + public string stream_id { get; construct; } + public Gst.StreamType stream_type { get; set construct; } + public Gst.TagList tags { owned get; set; } + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_stream_collection_get_type ()")] + [Version (since = "1.10")] + public class StreamCollection : Gst.Object { + [CCode (has_construct_function = false)] + public StreamCollection (string? upstream_id); + public bool add_stream (owned Gst.Stream stream); + public uint get_size (); + public unowned Gst.Stream get_stream (uint index); + public unowned string get_upstream_id (); + [NoAccessorMethod] + public string upstream_id { owned get; set construct; } + public virtual signal void stream_notify (Gst.Stream stream, GLib.ParamSpec pspec); + } [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_structure_copy", free_function = "gst_structure_free", type_id = "gst_structure_get_type ()")] [Compact] public class Structure { @@ -2860,6 +2955,7 @@ namespace Gst { STREAM_START, CAPS, SEGMENT, + STREAM_COLLECTION, TAG, BUFFERSIZE, SINK_MESSAGE, @@ -2875,6 +2971,7 @@ namespace Gst { STEP, RECONFIGURE, TOC_SELECT, + SELECT_STREAMS, CUSTOM_UPSTREAM, CUSTOM_DOWNSTREAM, CUSTOM_DOWNSTREAM_OOB, @@ -3006,6 +3103,9 @@ namespace Gst { EXTENDED, DEVICE_ADDED, DEVICE_REMOVED, + PROPERTY_NOTIFY, + STREAM_COLLECTION, + STREAMS_SELECTED, ANY; public static unowned string get_name (Gst.MessageType type); public static GLib.Quark to_quark (Gst.MessageType type); @@ -3024,11 +3124,13 @@ namespace Gst { public enum MiniObjectFlags { LOCKABLE, LOCK_READONLY, + MAY_BE_LEAKED, LAST } [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_OBJECT_FLAG_", type_id = "gst_object_flags_get_type ()")] [Flags] public enum ObjectFlags { + MAY_BE_LEAKED, LAST } [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_", type_id = "gst_pad_direction_get_type ()")] @@ -3131,7 +3233,8 @@ namespace Gst { public enum ParseFlags { NONE, FATAL_ERRORS, - NO_SINGLE_ELEMENT_BINS + NO_SINGLE_ELEMENT_BINS, + PLACE_IN_BIN } [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PIPELINE_FLAG_", type_id = "gst_pipeline_flags_get_type ()")] [Flags] @@ -3296,6 +3399,17 @@ namespace Gst { PAUSE, STOP } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_TYPE_", type_id = "gst_stream_type_get_type ()")] + [Flags] + public enum StreamType { + UNKNOWN, + AUDIO, + VIDEO, + CONTAINER, + TEXT; + [Version (since = "1.10")] + public static unowned string get_name (Gst.StreamType stype); + } [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STRUCTURE_CHANGE_TYPE_PAD_", type_id = "gst_structure_change_type_get_type ()")] public enum StructureChangeType { LINK, @@ -3504,6 +3618,8 @@ namespace Gst { public delegate bool ControlSourceGetValueArray (Gst.ControlSource self, Gst.ClockTime timestamp, Gst.ClockTime interval, uint n_values, double values); [CCode (cheader_filename = "gst/gst.h", has_target = false)] public delegate void DebugFuncPtr (); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)] + public delegate void ElementCallAsyncFunc (Gst.Element element); [CCode (cheader_filename = "gst/gst.h", has_target = false)] public delegate void IteratorCopyFunction (Gst.Iterator it, Gst.Iterator copy); [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)] diff --git a/vapi/gstreamer-app-1.0.vapi b/vapi/gstreamer-app-1.0.vapi index 1d8bd6fa9..698613f61 100644 --- a/vapi/gstreamer-app-1.0.vapi +++ b/vapi/gstreamer-app-1.0.vapi @@ -41,12 +41,16 @@ namespace Gst { public Gst.Caps get_caps (); [Version (since = "1.2")] public uint64 get_current_level_bytes (); + [Version (since = "1.10")] + public Gst.ClockTime get_duration (); public bool get_emit_signals (); public void get_latency (uint64 min, uint64 max); public uint64 get_max_bytes (); public int64 get_size (); public Gst.App.StreamType get_stream_type (); public void set_caps (Gst.Caps caps); + [Version (since = "1.10")] + public void set_duration (Gst.ClockTime duration); public void set_emit_signals (bool emit); public void set_latency (uint64 min, uint64 max); public void set_max_bytes (uint64 max); @@ -56,6 +60,7 @@ namespace Gst { public bool block { get; set; } public Gst.Caps caps { owned get; set; } public uint64 current_level_bytes { get; } + public uint64 duration { get; set; } public bool emit_signals { get; set; } [NoAccessorMethod] public Gst.Format format { get; set; } diff --git a/vapi/gstreamer-audio-1.0.vapi b/vapi/gstreamer-audio-1.0.vapi index c5bb28a72..8d5a9404a 100644 --- a/vapi/gstreamer-audio-1.0.vapi +++ b/vapi/gstreamer-audio-1.0.vapi @@ -163,6 +163,8 @@ namespace Gst { public virtual bool propose_allocation (Gst.Query query); [Version (since = "1.6")] public Gst.Caps proxy_getcaps (Gst.Caps? caps, Gst.Caps? filter); + [Version (since = "1.10")] + public void set_allocation_caps (Gst.Caps? allocation_caps); public void set_drainable (bool enabled); public void set_estimate_rate (bool enabled); [NoWrapper] @@ -239,6 +241,8 @@ namespace Gst { [NoWrapper] public virtual bool propose_allocation (Gst.Query query); public Gst.Caps proxy_getcaps (Gst.Caps? caps, Gst.Caps? filter); + [Version (since = "1.10")] + public void set_allocation_caps (Gst.Caps? allocation_caps); public void set_drainable (bool enabled); [NoWrapper] public virtual bool set_format (Gst.Audio.Info info); @@ -314,6 +318,19 @@ namespace Gst { public void reset (); public void samples (void* @in, void* @out, uint samples); } + [CCode (cheader_filename = "gst/audio/audio.h")] + [Compact] + [GIR (name = "AudioResampler")] + public class Resampler { + [Version (since = "1.6")] + public void free (); + 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); + public void resample (void* @in, size_t in_frames, void* @out, size_t out_frames); + public void reset (); + public bool update (int in_rate, int out_rate, Gst.Structure options); + } [CCode (cheader_filename = "gst/audio/audio.h", type_id = "gst_audio_ring_buffer_get_type ()")] [GIR (name = "AudioRingBuffer")] public abstract class RingBuffer : Gst.Object { @@ -667,6 +684,39 @@ namespace Gst { NONE, NON_INTERLEAVED } + [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_", type_id = "gst_audio_resampler_filter_interpolation_get_type ()")] + [GIR (name = "AudioResamplerFilterInterpolation")] + public enum ResamplerFilterInterpolation { + NONE, + LINEAR, + CUBIC + } + [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_RESAMPLER_FILTER_MODE_", type_id = "gst_audio_resampler_filter_mode_get_type ()")] + [GIR (name = "AudioResamplerFilterMode")] + public enum ResamplerFilterMode { + INTERPOLATED, + FULL, + AUTO + } + [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_RESAMPLER_FLAG_", type_id = "gst_audio_resampler_flags_get_type ()")] + [Flags] + [GIR (name = "AudioResamplerFlags")] + public enum ResamplerFlags { + NONE, + NON_INTERLEAVED_IN, + NON_INTERLEAVED_OUT, + VARIABLE_RATE + } + [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_RESAMPLER_METHOD_", type_id = "gst_audio_resampler_method_get_type ()")] + [GIR (name = "AudioResamplerMethod")] + [Version (since = "1.6")] + public enum ResamplerMethod { + NEAREST, + LINEAR, + CUBIC, + BLACKMAN_NUTTALL, + KAISER + } [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_RING_BUFFER_FORMAT_TYPE_", type_id = "gst_audio_ring_buffer_format_type_get_type ()")] [GIR (name = "AudioRingBufferFormatType")] public enum RingBufferFormatType { @@ -717,6 +767,8 @@ namespace Gst { public const string CONVERTER_OPT_NOISE_SHAPING_METHOD; [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_CONVERTER_OPT_QUANTIZATION")] public const string CONVERTER_OPT_QUANTIZATION; + [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_CONVERTER_OPT_RESAMPLER_METHOD")] + public const string CONVERTER_OPT_RESAMPLER_METHOD; [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_DECODER_MAX_ERRORS")] public const int DECODER_MAX_ERRORS; [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_DECODER_SINK_NAME")] @@ -746,6 +798,34 @@ namespace Gst { public const string META_TAG_AUDIO_STR; [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RATE_RANGE")] public const string RATE_RANGE; + [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_CUBIC_B")] + public const string RESAMPLER_OPT_CUBIC_B; + [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_CUBIC_C")] + public const string RESAMPLER_OPT_CUBIC_C; + [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_CUTOFF")] + public const string RESAMPLER_OPT_CUTOFF; + [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_FILTER_INTERPOLATION")] + public const string RESAMPLER_OPT_FILTER_INTERPOLATION; + [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_FILTER_MODE")] + public const string RESAMPLER_OPT_FILTER_MODE; + [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_FILTER_MODE_THRESHOLD")] + public const string RESAMPLER_OPT_FILTER_MODE_THRESHOLD; + [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_FILTER_OVERSAMPLE")] + public const string RESAMPLER_OPT_FILTER_OVERSAMPLE; + [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_MAX_PHASE_ERROR")] + public const string RESAMPLER_OPT_MAX_PHASE_ERROR; + [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_N_TAPS")] + public const string RESAMPLER_OPT_N_TAPS; + [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_STOP_ATTENUATION")] + public const string RESAMPLER_OPT_STOP_ATTENUATION; + [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_TRANSITION_BANDWIDTH")] + public const string RESAMPLER_OPT_TRANSITION_BANDWIDTH; + [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_QUALITY_DEFAULT")] + public const int RESAMPLER_QUALITY_DEFAULT; + [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_QUALITY_MAX")] + public const int RESAMPLER_QUALITY_MAX; + [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_QUALITY_MIN")] + public const int RESAMPLER_QUALITY_MIN; [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_buffer_clip")] public static Gst.Buffer audio_buffer_clip (owned Gst.Buffer buffer, Gst.Segment segment, int rate, int bpf); [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_buffer_reorder_channels")] @@ -757,6 +837,8 @@ namespace Gst { public static bool audio_channel_positions_from_mask (uint64 channel_mask, [CCode (array_length_cname = "channels", array_length_pos = 0.5)] Gst.Audio.ChannelPosition[] position); [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_channel_positions_to_mask")] public static bool audio_channel_positions_to_mask ([CCode (array_length_cname = "channels", array_length_pos = 1.5)] Gst.Audio.ChannelPosition[] position, bool force_order, [CCode (array_length = false)] uint64[] channel_mask); + [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_channel_positions_to_string")] + public static string audio_channel_positions_to_string ([CCode (array_length_cname = "channels", array_length_pos = 1.1)] Gst.Audio.ChannelPosition[] position); [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_channel_positions_to_valid_order")] public static bool audio_channel_positions_to_valid_order ([CCode (array_length_cname = "channels", array_length_pos = 1.1)] Gst.Audio.ChannelPosition[] position); [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_check_valid_channel_positions")] @@ -789,6 +871,8 @@ namespace Gst { public static bool audio_iec61937_payload ([CCode (array_length_cname = "src_n", array_length_pos = 1.5, array_length_type = "guint")] uint8[] src, [CCode (array_length_cname = "dst_n", array_length_pos = 2.5, array_length_type = "guint")] uint8[] dst, Gst.Audio.RingBufferSpec spec, int endianness); [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_reorder_channels")] public static bool audio_reorder_channels ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] data, Gst.Audio.Format format, int channels, [CCode (array_length = false)] Gst.Audio.ChannelPosition[] from, [CCode (array_length = false)] Gst.Audio.ChannelPosition[] to); + [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_resampler_options_set_quality")] + public static void audio_resampler_options_set_quality (Gst.Audio.ResamplerMethod method, uint quality, int in_rate, int out_rate, Gst.Structure options); [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_buffer_add_audio_clipping_meta")] [Version (since = "1.8")] public static unowned Gst.Audio.ClippingMeta? buffer_add_audio_clipping_meta (Gst.Buffer buffer, Gst.Format format, uint64 start, uint64 end); diff --git a/vapi/gstreamer-base-1.0.vapi b/vapi/gstreamer-base-1.0.vapi index 3544c5762..35f08f721 100644 --- a/vapi/gstreamer-base-1.0.vapi +++ b/vapi/gstreamer-base-1.0.vapi @@ -14,6 +14,9 @@ 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); [Version (since = "1.4")] public GLib.Bytes copy_bytes (size_t offset, size_t size); + public uint64 distance_from_discont (); + [Version (since = "1.10")] + public Gst.ClockTime dts_at_discont (); public void flush (size_t flush); [Version (since = "1.6")] public Gst.Buffer? get_buffer (size_t nbytes); @@ -27,12 +30,18 @@ namespace Gst { public unowned uint8[]? map (); public ssize_t masked_scan_uint32 (uint32 mask, uint32 pattern, size_t offset, size_t size); public ssize_t masked_scan_uint32_peek (uint32 mask, uint32 pattern, size_t offset, size_t size, out uint32 value); + [Version (since = "1.10")] + public uint64 offset_at_discont (); public Gst.ClockTime prev_dts (out uint64 distance); [Version (since = "1.2")] public Gst.ClockTime prev_dts_at_offset (size_t offset, out uint64 distance); + [Version (since = "1.10")] + public uint64 prev_offset (out uint64 distance); public Gst.ClockTime prev_pts (out uint64 distance); [Version (since = "1.2")] public Gst.ClockTime prev_pts_at_offset (size_t offset, out uint64 distance); + [Version (since = "1.10")] + public Gst.ClockTime pts_at_discont (); public void push (owned Gst.Buffer buf); [CCode (array_length_pos = 0.1, array_length_type = "gsize")] public uint8[]? take (); diff --git a/vapi/gstreamer-check-1.0.vapi b/vapi/gstreamer-check-1.0.vapi index bf6a3d1ba..6208c9e2e 100644 --- a/vapi/gstreamer-check-1.0.vapi +++ b/vapi/gstreamer-check-1.0.vapi @@ -45,6 +45,8 @@ namespace Gst { [CCode (has_construct_function = false, type = "GstClock*")] public TestClock.with_start_time (Gst.ClockTime start_time); [NoAccessorMethod] + public Gst.ClockType clock_type { get; set; } + [NoAccessorMethod] public uint64 start_time { get; construct; } } [CCode (cheader_filename = "gst/check/check.h", has_type_id = false)] diff --git a/vapi/gstreamer-pbutils-1.0.vapi b/vapi/gstreamer-pbutils-1.0.vapi index 5125c61f1..65ae9bbe8 100644 --- a/vapi/gstreamer-pbutils-1.0.vapi +++ b/vapi/gstreamer-pbutils-1.0.vapi @@ -7,12 +7,16 @@ namespace Gst { namespace AAC { [CCode (cheader_filename = "gst/pbutils/pbutils.h", cname = "gst_codec_utils_aac_caps_set_level_and_profile")] public static bool caps_set_level_and_profile (Gst.Caps caps, uint8 audio_config, uint len); + [CCode (cheader_filename = "gst/pbutils/pbutils.h", cname = "gst_codec_utils_aac_get_channels")] + public static uint get_channels (uint8 audio_config, uint len); [CCode (cheader_filename = "gst/pbutils/pbutils.h", cname = "gst_codec_utils_aac_get_index_from_sample_rate")] public static int get_index_from_sample_rate (uint rate); [CCode (cheader_filename = "gst/pbutils/pbutils.h", cname = "gst_codec_utils_aac_get_level")] public static unowned string get_level (uint8 audio_config, uint len); [CCode (cheader_filename = "gst/pbutils/pbutils.h", cname = "gst_codec_utils_aac_get_profile")] public static unowned string get_profile (uint8 audio_config, uint len); + [CCode (cheader_filename = "gst/pbutils/pbutils.h", cname = "gst_codec_utils_aac_get_sample_rate")] + public static uint get_sample_rate (uint8 audio_config, uint len); [CCode (cheader_filename = "gst/pbutils/pbutils.h", cname = "gst_codec_utils_aac_get_sample_rate_from_index")] public static uint get_sample_rate_from_index (uint sr_idx); } diff --git a/vapi/gstreamer-player-1.0.deps b/vapi/gstreamer-player-1.0.deps new file mode 100644 index 000000000..585ce323a --- /dev/null +++ b/vapi/gstreamer-player-1.0.deps @@ -0,0 +1,2 @@ +gstreamer-1.0 +gstreamer-video-1.0 diff --git a/vapi/gstreamer-player-1.0.vapi b/vapi/gstreamer-player-1.0.vapi new file mode 100644 index 000000000..842e4d340 --- /dev/null +++ b/vapi/gstreamer-player-1.0.vapi @@ -0,0 +1,206 @@ +/* gstreamer-player-1.0.vapi generated by vapigen, do not modify. */ + +[CCode (cprefix = "Gst", gir_namespace = "GstPlayer", gir_version = "1.0", lower_case_cprefix = "gst_")] +namespace Gst { + [CCode (cheader_filename = "gst/player/player.h", type_id = "gst_player_get_type ()")] + public class Player : Gst.Object { + [CCode (has_construct_function = false)] + public Player (owned Gst.PlayerVideoRenderer? video_renderer, owned Gst.PlayerSignalDispatcher? signal_dispatcher); + public static unowned GLib.List get_audio_streams (Gst.PlayerMediaInfo info); + public int64 get_audio_video_offset (); + public double get_color_balance (Gst.PlayerColorBalanceType type); + public Gst.PlayerAudioInfo get_current_audio_track (); + public unowned Gst.PlayerSubtitleInfo get_current_subtitle_track (); + public Gst.PlayerVideoInfo get_current_video_track (); + public string get_current_visualization (); + public Gst.ClockTime get_duration (); + public Gst.PlayerMediaInfo get_media_info (); + [Version (since = "1.10")] + public Gst.Video.MultiviewFlags get_multiview_flags (); + [Version (since = "1.10")] + public Gst.Video.MultiviewMode get_multiview_mode (); + public bool get_mute (); + public Gst.Element get_pipeline (); + public Gst.ClockTime get_position (); + public uint get_position_update_interval (); + public double get_rate (); + public static unowned GLib.List get_subtitle_streams (Gst.PlayerMediaInfo info); + public string get_subtitle_uri (); + public string get_uri (); + public static unowned GLib.List get_video_streams (Gst.PlayerMediaInfo info); + public double get_volume (); + public bool has_color_balance (); + public void pause (); + public void play (); + public void seek (Gst.ClockTime position); + public bool set_audio_track (int stream_index); + public void set_audio_track_enabled (bool enabled); + public void set_audio_video_offset (int64 offset); + public void set_color_balance (Gst.PlayerColorBalanceType type, double value); + [Version (since = "1.10")] + public void set_multiview_flags (Gst.Video.MultiviewFlags flags); + [Version (since = "1.10")] + public void set_multiview_mode (Gst.Video.MultiviewMode mode); + public void set_mute (bool val); + public void set_position_update_interval (uint interval); + public void set_rate (double rate); + public bool set_subtitle_track (int stream_index); + public void set_subtitle_track_enabled (bool enabled); + public bool set_subtitle_uri (string uri); + public void set_uri (string uri); + public bool set_video_track (int stream_index); + public void set_video_track_enabled (bool enabled); + public bool set_visualization (string name); + public void set_visualization_enabled (bool enabled); + public void set_volume (double val); + public void stop (); + public static void visualizations_free (Gst.PlayerVisualization viss); + [CCode (array_length = false, array_null_terminated = true)] + public static Gst.PlayerVisualization[] visualizations_get (); + public int64 audio_video_offset { get; set; } + public Gst.PlayerAudioInfo current_audio_track { owned get; } + public Gst.PlayerSubtitleInfo current_subtitle_track { get; } + public Gst.PlayerVideoInfo current_video_track { owned get; } + public uint64 duration { get; } + public Gst.PlayerMediaInfo media_info { owned get; } + public bool mute { get; set; } + public Gst.Element pipeline { owned get; } + public uint64 position { get; } + public uint position_update_interval { get; set; } + public double rate { get; set; } + public Gst.PlayerSignalDispatcher signal_dispatcher { construct; } + [NoAccessorMethod] + public string suburi { owned get; set; } + public string uri { owned get; set; } + [NoAccessorMethod] + public Gst.Video.MultiviewFlags video_multiview_flags { get; set; } + [NoAccessorMethod] + public Gst.Video.MultiviewFramePacking video_multiview_mode { get; set; } + public Gst.PlayerVideoRenderer video_renderer { construct; } + public double volume { get; set; } + public signal void buffering (int object); + public signal void duration_changed (uint64 object); + public signal void end_of_stream (); + public signal void error (GLib.Error object); + public signal void media_info_updated (Gst.PlayerMediaInfo object); + public signal void mute_changed (); + public signal void position_updated (uint64 object); + public signal void seek_done (uint64 object); + public signal void state_changed (Gst.PlayerState object); + public signal void uri_loaded (string object); + public signal void video_dimensions_changed (int object, int p0); + public signal void volume_changed (); + public signal void warning (GLib.Error object); + } + [CCode (cheader_filename = "gst/player/player.h", type_id = "gst_player_audio_info_get_type ()")] + public class PlayerAudioInfo : Gst.PlayerStreamInfo { + [CCode (has_construct_function = false)] + protected PlayerAudioInfo (); + public int get_bitrate (); + public int get_channels (); + public unowned string get_language (); + public int get_max_bitrate (); + public int get_sample_rate (); + } + [CCode (cheader_filename = "gst/player/player.h", lower_case_csuffix = "player_g_main_context_signal_dispatcher", type_id = "gst_player_g_main_context_signal_dispatcher_get_type ()")] + public class PlayerGMainContextSignalDispatcher : GLib.Object, Gst.PlayerSignalDispatcher { + [CCode (has_construct_function = false)] + protected PlayerGMainContextSignalDispatcher (); + public static Gst.PlayerSignalDispatcher @new (GLib.MainContext? application_context); + [NoAccessorMethod] + public GLib.MainContext application_context { owned get; construct; } + } + [CCode (cheader_filename = "gst/player/player.h", type_id = "gst_player_media_info_get_type ()")] + public class PlayerMediaInfo : GLib.Object { + [CCode (has_construct_function = false)] + protected PlayerMediaInfo (); + public unowned string get_container_format (); + public Gst.ClockTime get_duration (); + public unowned Gst.Sample get_image_sample (); + public unowned GLib.List get_stream_list (); + public unowned Gst.TagList get_tags (); + public unowned string get_title (); + public unowned string get_uri (); + public bool is_live (); + public bool is_seekable (); + } + [CCode (cheader_filename = "gst/player/player.h", type_id = "gst_player_stream_info_get_type ()")] + public abstract class PlayerStreamInfo : GLib.Object { + [CCode (has_construct_function = false)] + protected PlayerStreamInfo (); + public unowned Gst.Caps get_caps (); + public unowned string get_codec (); + public int get_index (); + public unowned string get_stream_type (); + public unowned Gst.TagList get_tags (); + } + [CCode (cheader_filename = "gst/player/player.h", type_id = "gst_player_subtitle_info_get_type ()")] + public class PlayerSubtitleInfo : Gst.PlayerStreamInfo { + [CCode (has_construct_function = false)] + protected PlayerSubtitleInfo (); + public unowned string get_language (); + } + [CCode (cheader_filename = "gst/player/player.h", type_id = "gst_player_video_info_get_type ()")] + public class PlayerVideoInfo : Gst.PlayerStreamInfo { + [CCode (has_construct_function = false)] + protected PlayerVideoInfo (); + public int get_bitrate (); + public void get_framerate (out int fps_n, out int fps_d); + public int get_height (); + public int get_max_bitrate (); + public void get_pixel_aspect_ratio (out uint par_n, out uint par_d); + public int get_width (); + } + [CCode (cheader_filename = "gst/player/player.h", type_id = "gst_player_video_overlay_video_renderer_get_type ()")] + public class PlayerVideoOverlayVideoRenderer : GLib.Object, Gst.PlayerVideoRenderer { + [CCode (has_construct_function = false)] + protected PlayerVideoOverlayVideoRenderer (); + public void expose (); + public void get_render_rectangle (out int x, out int y, out int width, out int height); + public void* get_window_handle (); + public static Gst.PlayerVideoRenderer @new (void* window_handle); + public void set_render_rectangle (int x, int y, int width, int height); + public void set_window_handle (void* window_handle); + public void* window_handle { get; set construct; } + } + [CCode (cheader_filename = "gst/player/player.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_player_visualization_get_type ()")] + [Compact] + public class PlayerVisualization { + public weak string description; + public weak string name; + public Gst.PlayerVisualization copy (); + public void free (); + } + [CCode (cheader_filename = "gst/player/player.h", type_cname = "GstPlayerSignalDispatcherInterface", type_id = "gst_player_signal_dispatcher_get_type ()")] + public interface PlayerSignalDispatcher : GLib.Object { + [NoWrapper] + public abstract void dispatch (Gst.Player player, owned Gst.PlayerSignalDispatcherFunc emitter); + } + [CCode (cheader_filename = "gst/player/player.h", type_cname = "GstPlayerVideoRendererInterface", type_id = "gst_player_video_renderer_get_type ()")] + public interface PlayerVideoRenderer : GLib.Object { + } + [CCode (cheader_filename = "gst/player/player.h", cprefix = "GST_PLAYER_COLOR_BALANCE_", type_id = "gst_player_color_balance_type_get_type ()")] + public enum PlayerColorBalanceType { + HUE, + BRIGHTNESS, + SATURATION, + CONTRAST; + public static unowned string get_name (Gst.PlayerColorBalanceType type); + } + [CCode (cheader_filename = "gst/player/player.h", cprefix = "GST_PLAYER_STATE_", type_id = "gst_player_state_get_type ()")] + public enum PlayerState { + STOPPED, + BUFFERING, + PAUSED, + PLAYING; + public static unowned string get_name (Gst.PlayerState state); + } + [CCode (cheader_filename = "gst/player/player.h", cprefix = "GST_PLAYER_ERROR_")] + public errordomain PlayerError { + FAILED; + public static unowned string get_name (Gst.PlayerError error); + public static GLib.Quark quark (); + } + [CCode (cheader_filename = "gst/player/player.h", has_target = false)] + public delegate void PlayerSignalDispatcherFunc (void* data); +} diff --git a/vapi/gstreamer-rtp-1.0.vapi b/vapi/gstreamer-rtp-1.0.vapi index 682ef7730..4de23a871 100644 --- a/vapi/gstreamer-rtp-1.0.vapi +++ b/vapi/gstreamer-rtp-1.0.vapi @@ -307,8 +307,37 @@ namespace Gst { public struct Packet { 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); [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")] + [Version (since = "1.10")] + public uint8 app_get_data (); + [CCode (cname = "gst_rtcp_packet_app_get_data_length")] + [Version (since = "1.10")] + public uint16 app_get_data_length (); + [CCode (cname = "gst_rtcp_packet_app_get_name")] + [Version (since = "1.10")] + public unowned string app_get_name (); + [CCode (cname = "gst_rtcp_packet_app_get_ssrc")] + [Version (since = "1.10")] + public uint32 app_get_ssrc (); + [CCode (cname = "gst_rtcp_packet_app_get_subtype")] + [Version (since = "1.10")] + public uint8 app_get_subtype (); + [CCode (cname = "gst_rtcp_packet_app_set_data_length")] + [Version (since = "1.10")] + public bool app_set_data_length (uint16 wordlen); + [CCode (cname = "gst_rtcp_packet_app_set_name")] + [Version (since = "1.10")] + public void app_set_name (string name); + [CCode (cname = "gst_rtcp_packet_app_set_ssrc")] + [Version (since = "1.10")] + public void app_set_ssrc (uint32 ssrc); + [CCode (cname = "gst_rtcp_packet_app_set_subtype")] + [Version (since = "1.10")] + public void app_set_subtype (uint8 subtype); [CCode (cname = "gst_rtcp_packet_bye_add_ssrc")] public bool bye_add_ssrc (uint32 ssrc); [CCode (cname = "gst_rtcp_packet_bye_add_ssrcs")] @@ -323,6 +352,8 @@ namespace Gst { public uint bye_get_ssrc_count (); [CCode (cname = "gst_rtcp_packet_bye_set_reason")] public bool bye_set_reason (string reason); + [CCode (cname = "gst_rtcp_packet_copy_profile_specific_ext")] + public bool copy_profile_specific_ext ([CCode (array_length_cname = "len", array_length_pos = 1.1, array_length_type = "guint")] out uint8[] data); [CCode (cname = "gst_rtcp_packet_fb_get_fci")] public uint8 fb_get_fci (); [CCode (cname = "gst_rtcp_packet_fb_get_fci_length")] @@ -347,6 +378,10 @@ namespace Gst { public uint16 get_length (); [CCode (cname = "gst_rtcp_packet_get_padding")] public bool get_padding (); + [CCode (cname = "gst_rtcp_packet_get_profile_specific_ext")] + public bool get_profile_specific_ext ([CCode (array_length_cname = "len", array_length_pos = 1.1, array_length_type = "guint")] out unowned uint8[] data); + [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); [CCode (cname = "gst_rtcp_packet_get_rb_count")] diff --git a/vapi/gstreamer-tag-1.0.vapi b/vapi/gstreamer-tag-1.0.vapi index b569206e8..b044aaa54 100644 --- a/vapi/gstreamer-tag-1.0.vapi +++ b/vapi/gstreamer-tag-1.0.vapi @@ -38,6 +38,9 @@ namespace Gst { public const string FLASH_MODE; [CCode (cheader_filename = "gst/tag/tag.h", cname = "GST_TAG_CAPTURING_FOCAL_LENGTH")] public const string FOCAL_LENGTH; + [CCode (cheader_filename = "gst/tag/tag.h", cname = "GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM")] + [Version (since = "1.10")] + public const string FOCAL_LENGTH_35_MM; [CCode (cheader_filename = "gst/tag/tag.h", cname = "GST_TAG_CAPTURING_FOCAL_RATIO")] public const string FOCAL_RATIO; [CCode (cheader_filename = "gst/tag/tag.h", cname = "GST_TAG_CAPTURING_GAIN_ADJUSTMENT")] diff --git a/vapi/gstreamer-video-1.0.vapi b/vapi/gstreamer-video-1.0.vapi index 826674e28..da5e770c1 100644 --- a/vapi/gstreamer-video-1.0.vapi +++ b/vapi/gstreamer-video-1.0.vapi @@ -44,6 +44,7 @@ namespace Gst { [Compact] [GIR (name = "VideoCodecState")] public class CodecState { + public weak Gst.Caps allocation_caps; public weak Gst.Caps caps; public weak Gst.Buffer codec_data; public weak Gst.Video.Info info; @@ -781,7 +782,10 @@ namespace Gst { A422_10LE, A444_10BE, A444_10LE, - NV61 + NV61, + P010_10BE, + P010_10LE, + IYU2 } [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_FORMAT_FLAG_", type_id = "gst_video_format_flags_get_type ()")] [Flags] @@ -974,10 +978,12 @@ namespace Gst { FAST } [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_RESAMPLER_FLAG_", type_id = "gst_video_resampler_flags_get_type ()")] + [Flags] [GIR (name = "VideoResamplerFlags")] [Version (since = "1.6")] public enum ResamplerFlags { - NONE + NONE, + HALF_TAPS } [CCode (cheader_filename = "gst/video/video.h", cprefix = "GST_VIDEO_RESAMPLER_METHOD_", type_id = "gst_video_resampler_method_get_type ()")] [GIR (name = "VideoResamplerMethod")]