From 0cdf5744c3439ef2fabe3555d0581750311cd7b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 14 Mar 2018 18:59:28 +0200 Subject: [PATCH] Regenerate everything with new GIR files --- gstreamer-app-sys/Cargo.toml | 1 + gstreamer-app-sys/build.rs | 4 +- gstreamer-app-sys/src/lib.rs | 8 +- gstreamer-audio-sys/Cargo.toml | 1 + gstreamer-audio-sys/build.rs | 4 +- gstreamer-audio-sys/src/lib.rs | 198 +++++++++++++++++++++++- gstreamer-base-sys/Cargo.toml | 1 + gstreamer-base-sys/build.rs | 4 +- gstreamer-base-sys/src/lib.rs | 158 ++++++++++++++++++- gstreamer-mpegts-sys/Cargo.toml | 7 + gstreamer-mpegts-sys/build.rs | 16 +- gstreamer-mpegts-sys/src/lib.rs | 2 +- gstreamer-net-sys/Cargo.toml | 1 + gstreamer-net-sys/build.rs | 4 +- gstreamer-net-sys/src/lib.rs | 2 +- gstreamer-pbutils-sys/Cargo.toml | 1 + gstreamer-pbutils-sys/build.rs | 4 +- gstreamer-pbutils-sys/src/lib.rs | 44 +++--- gstreamer-player-sys/Cargo.toml | 1 + gstreamer-player-sys/build.rs | 4 +- gstreamer-player-sys/src/lib.rs | 4 +- gstreamer-rtsp-server-sys/Cargo.toml | 1 + gstreamer-rtsp-server-sys/build.rs | 4 +- gstreamer-rtsp-server-sys/src/lib.rs | 217 ++++++++++++++++++++++++++- gstreamer-rtsp-sys/Cargo.toml | 1 + gstreamer-rtsp-sys/build.rs | 4 +- gstreamer-rtsp-sys/src/lib.rs | 25 ++- gstreamer-sdp-sys/Cargo.toml | 1 + gstreamer-sdp-sys/build.rs | 4 +- gstreamer-sdp-sys/src/lib.rs | 2 +- gstreamer-sys/Cargo.toml | 1 + gstreamer-sys/build.rs | 4 +- gstreamer-sys/src/lib.rs | 181 ++++++++++++++++++++-- gstreamer-tag-sys/Cargo.toml | 1 + gstreamer-tag-sys/build.rs | 4 +- gstreamer-tag-sys/src/lib.rs | 2 +- gstreamer-video-sys/Cargo.toml | 1 + gstreamer-video-sys/build.rs | 4 +- gstreamer-video-sys/src/lib.rs | 31 +++- 39 files changed, 893 insertions(+), 64 deletions(-) diff --git a/gstreamer-app-sys/Cargo.toml b/gstreamer-app-sys/Cargo.toml index ff2d26d4a..bf0ba86fa 100644 --- a/gstreamer-app-sys/Cargo.toml +++ b/gstreamer-app-sys/Cargo.toml @@ -18,6 +18,7 @@ v1_6 = ["v1_4"] v1_8 = ["v1_6"] v1_10 = ["v1_8"] v1_12 = ["v1_10"] +v1_14 = ["v1_12"] dox = [] [lib] diff --git a/gstreamer-app-sys/build.rs b/gstreamer-app-sys/build.rs index c6cba9dee..99a8f4f5f 100644 --- a/gstreamer-app-sys/build.rs +++ b/gstreamer-app-sys/build.rs @@ -16,7 +16,9 @@ fn main() { fn find() -> Result<(), Error> { let package_name = "gstreamer-app-1.0"; let shared_libs = ["gstapp-1.0"]; - let version = if cfg!(feature = "v1_12") { + let version = if cfg!(feature = "v1_14") { + "1.14" + } else if cfg!(feature = "v1_12") { "1.12" } else if cfg!(feature = "v1_10") { "1.10" diff --git a/gstreamer-app-sys/src/lib.rs b/gstreamer-app-sys/src/lib.rs index 49ae0a1af..9ad3a4e62 100644 --- a/gstreamer-app-sys/src/lib.rs +++ b/gstreamer-app-sys/src/lib.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT @@ -111,7 +111,8 @@ pub struct GstAppSrcClass { pub push_buffer: Option gst::GstFlowReturn>, pub end_of_stream: Option gst::GstFlowReturn>, pub push_sample: Option gst::GstFlowReturn>, - pub _gst_reserved: [gpointer; 3], + pub push_buffer_list: Option gst::GstFlowReturn>, + pub _gst_reserved: [gpointer; 2], } impl ::std::fmt::Debug for GstAppSrcClass { @@ -124,6 +125,7 @@ impl ::std::fmt::Debug for GstAppSrcClass { .field("push_buffer", &self.push_buffer) .field("end_of_stream", &self.end_of_stream) .field("push_sample", &self.push_sample) + .field("push_buffer_list", &self.push_buffer_list) .finish() } } @@ -221,6 +223,8 @@ extern "C" { pub fn gst_app_src_get_size(appsrc: *mut GstAppSrc) -> i64; pub fn gst_app_src_get_stream_type(appsrc: *mut GstAppSrc) -> GstAppStreamType; pub fn gst_app_src_push_buffer(appsrc: *mut GstAppSrc, buffer: *mut gst::GstBuffer) -> gst::GstFlowReturn; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_app_src_push_buffer_list(appsrc: *mut GstAppSrc, buffer_list: *mut gst::GstBufferList) -> gst::GstFlowReturn; #[cfg(any(feature = "v1_6", feature = "dox"))] pub fn gst_app_src_push_sample(appsrc: *mut GstAppSrc, sample: *mut gst::GstSample) -> gst::GstFlowReturn; pub fn gst_app_src_set_callbacks(appsrc: *mut GstAppSrc, callbacks: *mut GstAppSrcCallbacks, user_data: gpointer, notify: glib::GDestroyNotify); diff --git a/gstreamer-audio-sys/Cargo.toml b/gstreamer-audio-sys/Cargo.toml index b0b1dfb8d..7d2d2acf5 100644 --- a/gstreamer-audio-sys/Cargo.toml +++ b/gstreamer-audio-sys/Cargo.toml @@ -20,6 +20,7 @@ v1_6 = ["v1_4"] v1_8 = ["v1_6"] v1_10 = ["v1_8"] v1_12 = ["v1_10"] +v1_14 = ["v1_12"] dox = [] [lib] diff --git a/gstreamer-audio-sys/build.rs b/gstreamer-audio-sys/build.rs index 3268dfa17..bf90ac8ed 100644 --- a/gstreamer-audio-sys/build.rs +++ b/gstreamer-audio-sys/build.rs @@ -16,7 +16,9 @@ fn main() { fn find() -> Result<(), Error> { let package_name = "gstreamer-audio-1.0"; let shared_libs = ["gstaudio-1.0"]; - let version = if cfg!(feature = "v1_12") { + let version = if cfg!(feature = "v1_14") { + "1.14" + } else if cfg!(feature = "v1_12") { "1.12" } else if cfg!(feature = "v1_10") { "1.10" diff --git a/gstreamer-audio-sys/src/lib.rs b/gstreamer-audio-sys/src/lib.rs index a614ead17..84571b650 100644 --- a/gstreamer-audio-sys/src/lib.rs +++ b/gstreamer-audio-sys/src/lib.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT @@ -176,6 +176,7 @@ pub const GST_STREAM_VOLUME_FORMAT_DB: GstStreamVolumeFormat = 2; // Constants pub const GST_AUDIO_CHANNELS_RANGE: *const c_char = b"(int) [ 1, max ]\0" as *const u8 as *const c_char; pub const GST_AUDIO_CONVERTER_OPT_DITHER_METHOD: *const c_char = b"GstAudioConverter.dither-method\0" as *const u8 as *const c_char; +pub const GST_AUDIO_CONVERTER_OPT_MIX_MATRIX: *const c_char = b"GstAudioConverter.mix-matrix\0" as *const u8 as *const c_char; pub const GST_AUDIO_CONVERTER_OPT_NOISE_SHAPING_METHOD: *const c_char = b"GstAudioConverter.noise-shaping-method\0" as *const u8 as *const c_char; pub const GST_AUDIO_CONVERTER_OPT_QUANTIZATION: *const c_char = b"GstAudioConverter.quantization\0" as *const u8 as *const c_char; pub const GST_AUDIO_CONVERTER_OPT_RESAMPLER_METHOD: *const c_char = b"GstAudioConverter.resampler-method\0" as *const u8 as *const c_char; @@ -304,6 +305,89 @@ pub type GstAudioFormatUnpack = Option; // Records +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstAudioAggregatorClass { + pub parent_class: gst_base::GstAggregatorClass, + pub create_output_buffer: Option *mut gst::GstBuffer>, + pub aggregate_one_buffer: Option gboolean>, + pub _gst_reserved: [gpointer; 20], +} + +impl ::std::fmt::Debug for GstAudioAggregatorClass { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAudioAggregatorClass @ {:?}", self as *const _)) + .field("parent_class", &self.parent_class) + .field("create_output_buffer", &self.create_output_buffer) + .field("aggregate_one_buffer", &self.aggregate_one_buffer) + .finish() + } +} + +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstAudioAggregatorConvertPadClass { + pub parent_class: GstAudioAggregatorPadClass, + pub _gst_reserved: [gpointer; 4], +} + +impl ::std::fmt::Debug for GstAudioAggregatorConvertPadClass { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAudioAggregatorConvertPadClass @ {:?}", self as *const _)) + .field("parent_class", &self.parent_class) + .finish() + } +} + +#[repr(C)] +pub struct GstAudioAggregatorConvertPadPrivate(c_void); + +impl ::std::fmt::Debug for GstAudioAggregatorConvertPadPrivate { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAudioAggregatorConvertPadPrivate @ {:?}", self as *const _)) + .finish() + } +} + +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstAudioAggregatorPadClass { + pub parent_class: gst_base::GstAggregatorPadClass, + pub convert_buffer: Option *mut gst::GstBuffer>, + pub update_conversion_info: Option, + pub _gst_reserved: [gpointer; 20], +} + +impl ::std::fmt::Debug for GstAudioAggregatorPadClass { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAudioAggregatorPadClass @ {:?}", self as *const _)) + .field("parent_class", &self.parent_class) + .field("convert_buffer", &self.convert_buffer) + .field("update_conversion_info", &self.update_conversion_info) + .finish() + } +} + +#[repr(C)] +pub struct GstAudioAggregatorPadPrivate(c_void); + +impl ::std::fmt::Debug for GstAudioAggregatorPadPrivate { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAudioAggregatorPadPrivate @ {:?}", self as *const _)) + .finish() + } +} + +#[repr(C)] +pub struct GstAudioAggregatorPrivate(c_void); + +impl ::std::fmt::Debug for GstAudioAggregatorPrivate { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAudioAggregatorPrivate @ {:?}", self as *const _)) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstAudioBaseSinkClass { @@ -838,6 +922,16 @@ impl ::std::fmt::Debug for GstAudioSrcClass { } } +#[repr(C)] +pub struct GstAudioStreamAlign(c_void); + +impl ::std::fmt::Debug for GstAudioStreamAlign { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAudioStreamAlign @ {:?}", self as *const _)) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstStreamVolumeInterface { @@ -853,6 +947,58 @@ impl ::std::fmt::Debug for GstStreamVolumeInterface { } // Classes +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstAudioAggregator { + pub parent: gst_base::GstAggregator, + pub current_caps: *mut gst::GstCaps, + pub priv_: *mut GstAudioAggregatorPrivate, + pub _gst_reserved: [gpointer; 4], +} + +impl ::std::fmt::Debug for GstAudioAggregator { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAudioAggregator @ {:?}", self as *const _)) + .field("parent", &self.parent) + .field("current_caps", &self.current_caps) + .finish() + } +} + +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstAudioAggregatorConvertPad { + pub parent: GstAudioAggregatorPad, + pub priv_: *mut GstAudioAggregatorConvertPadPrivate, + pub _gst_reserved: [gpointer; 4], +} + +impl ::std::fmt::Debug for GstAudioAggregatorConvertPad { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAudioAggregatorConvertPad @ {:?}", self as *const _)) + .field("parent", &self.parent) + .finish() + } +} + +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstAudioAggregatorPad { + pub parent: gst_base::GstAggregatorPad, + pub info: GstAudioInfo, + pub priv_: *mut GstAudioAggregatorPadPrivate, + pub _gst_reserved: [gpointer; 4], +} + +impl ::std::fmt::Debug for GstAudioAggregatorPad { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAudioAggregatorPad @ {:?}", self as *const _)) + .field("parent", &self.parent) + .field("info", &self.info) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstAudioBaseSink { @@ -1229,6 +1375,8 @@ extern "C" { pub fn gst_audio_channel_mixer_is_passthrough(mix: *mut GstAudioChannelMixer) -> gboolean; pub fn gst_audio_channel_mixer_samples(mix: *mut GstAudioChannelMixer, in_: gpointer, out: gpointer, samples: c_int); pub fn gst_audio_channel_mixer_new(flags: GstAudioChannelMixerFlags, format: GstAudioFormat, in_channels: c_int, in_position: *mut GstAudioChannelPosition, out_channels: c_int, out_position: *mut GstAudioChannelPosition) -> *mut GstAudioChannelMixer; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_audio_channel_mixer_new_with_matrix(flags: GstAudioChannelMixerFlags, format: GstAudioFormat, in_channels: c_int, out_channels: c_int, matrix: *mut *mut c_float) -> *mut GstAudioChannelMixer; //========================================================================= // GstAudioClippingMeta @@ -1238,6 +1386,10 @@ extern "C" { //========================================================================= // GstAudioConverter //========================================================================= + pub fn gst_audio_converter_get_type() -> GType; + pub fn gst_audio_converter_new(flags: GstAudioConverterFlags, in_info: *mut GstAudioInfo, out_info: *mut GstAudioInfo, config: *mut gst::GstStructure) -> *mut GstAudioConverter; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_audio_converter_convert(convert: *mut GstAudioConverter, flags: GstAudioConverterFlags, in_: gpointer, in_size: size_t, out: *mut u8, out_size: *mut size_t) -> gboolean; pub fn gst_audio_converter_free(convert: *mut GstAudioConverter); pub fn gst_audio_converter_get_config(convert: *mut GstAudioConverter, in_rate: *mut c_int, out_rate: *mut c_int) -> *const gst::GstStructure; pub fn gst_audio_converter_get_in_frames(convert: *mut GstAudioConverter, out_frames: size_t) -> size_t; @@ -1247,7 +1399,6 @@ extern "C" { pub fn gst_audio_converter_samples(convert: *mut GstAudioConverter, flags: GstAudioConverterFlags, in_: gpointer, in_frames: size_t, out: gpointer, out_frames: size_t) -> gboolean; pub fn gst_audio_converter_supports_inplace(convert: *mut GstAudioConverter) -> gboolean; pub fn gst_audio_converter_update_config(convert: *mut GstAudioConverter, in_rate: c_int, out_rate: c_int, config: *mut gst::GstStructure) -> gboolean; - pub fn gst_audio_converter_new(flags: GstAudioConverterFlags, in_info: *mut GstAudioInfo, out_info: *mut GstAudioInfo, config: *mut gst::GstStructure) -> *mut GstAudioConverter; //========================================================================= // GstAudioDownmixMeta @@ -1271,7 +1422,7 @@ extern "C" { pub fn gst_audio_info_init(info: *mut GstAudioInfo); #[cfg(any(feature = "v1_2", feature = "dox"))] pub fn gst_audio_info_is_equal(info: *const GstAudioInfo, other: *const GstAudioInfo) -> gboolean; - pub fn gst_audio_info_set_format(info: *mut GstAudioInfo, format: GstAudioFormat, rate: c_int, channels: c_int, position: *const GstAudioChannelPosition); + pub fn gst_audio_info_set_format(info: *mut GstAudioInfo, format: GstAudioFormat, rate: c_int, channels: c_int, position: *mut [GstAudioChannelPosition; 64]); pub fn gst_audio_info_to_caps(info: *const GstAudioInfo) -> *mut gst::GstCaps; //========================================================================= @@ -1298,6 +1449,47 @@ extern "C" { #[cfg(any(feature = "v1_6", feature = "dox"))] pub fn gst_audio_resampler_options_set_quality(method: GstAudioResamplerMethod, quality: c_uint, in_rate: c_int, out_rate: c_int, options: *mut gst::GstStructure); + //========================================================================= + // GstAudioStreamAlign + //========================================================================= + pub fn gst_audio_stream_align_get_type() -> GType; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_audio_stream_align_new(rate: c_int, alignment_threshold: gst::GstClockTime, discont_wait: gst::GstClockTime) -> *mut GstAudioStreamAlign; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_audio_stream_align_copy(align: *const GstAudioStreamAlign) -> *mut GstAudioStreamAlign; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_audio_stream_align_free(align: *mut GstAudioStreamAlign); + pub fn gst_audio_stream_align_get_alignment_threshold(align: *mut GstAudioStreamAlign) -> gst::GstClockTime; + pub fn gst_audio_stream_align_get_discont_wait(align: *mut GstAudioStreamAlign) -> gst::GstClockTime; + pub fn gst_audio_stream_align_get_rate(align: *mut GstAudioStreamAlign) -> c_int; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_audio_stream_align_get_samples_since_discont(align: *mut GstAudioStreamAlign) -> u64; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_audio_stream_align_get_timestamp_at_discont(align: *mut GstAudioStreamAlign) -> gst::GstClockTime; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_audio_stream_align_mark_discont(align: *mut GstAudioStreamAlign); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_audio_stream_align_process(align: *mut GstAudioStreamAlign, discont: gboolean, timestamp: gst::GstClockTime, n_samples: c_uint, out_timestamp: *mut gst::GstClockTime, out_duration: *mut gst::GstClockTime, out_sample_position: *mut u64) -> gboolean; + pub fn gst_audio_stream_align_set_alignment_threshold(align: *mut GstAudioStreamAlign, alignment_threshold: gst::GstClockTime); + pub fn gst_audio_stream_align_set_discont_wait(align: *mut GstAudioStreamAlign, discont_wait: gst::GstClockTime); + pub fn gst_audio_stream_align_set_rate(align: *mut GstAudioStreamAlign, rate: c_int); + + //========================================================================= + // GstAudioAggregator + //========================================================================= + pub fn gst_audio_aggregator_get_type() -> GType; + pub fn gst_audio_aggregator_set_sink_caps(aagg: *mut GstAudioAggregator, pad: *mut GstAudioAggregatorPad, caps: *mut gst::GstCaps); + + //========================================================================= + // GstAudioAggregatorConvertPad + //========================================================================= + pub fn gst_audio_aggregator_convert_pad_get_type() -> GType; + + //========================================================================= + // GstAudioAggregatorPad + //========================================================================= + pub fn gst_audio_aggregator_pad_get_type() -> GType; + //========================================================================= // GstAudioBaseSink //========================================================================= diff --git a/gstreamer-base-sys/Cargo.toml b/gstreamer-base-sys/Cargo.toml index 4a07f2cc2..d5a41b8e6 100644 --- a/gstreamer-base-sys/Cargo.toml +++ b/gstreamer-base-sys/Cargo.toml @@ -19,6 +19,7 @@ v1_8 = ["v1_6"] v1_10 = ["v1_8"] v1_12 = ["v1_10"] v1_12_1 = ["v1_12"] +v1_14 = ["v1_12_1"] dox = [] [lib] diff --git a/gstreamer-base-sys/build.rs b/gstreamer-base-sys/build.rs index 06c69dafc..ee8aefe4c 100644 --- a/gstreamer-base-sys/build.rs +++ b/gstreamer-base-sys/build.rs @@ -16,7 +16,9 @@ fn main() { fn find() -> Result<(), Error> { let package_name = "gstreamer-base-1.0"; let shared_libs = ["gstbase-1.0"]; - let version = if cfg!(feature = "v1_12_1") { + let version = if cfg!(feature = "v1_14") { + "1.14" + } else if cfg!(feature = "v1_12_1") { "1.12.1" } else if cfg!(feature = "v1_12") { "1.12" diff --git a/gstreamer-base-sys/src/lib.rs b/gstreamer-base-sys/src/lib.rs index 82831fcfa..a8c7fe782 100644 --- a/gstreamer-base-sys/src/lib.rs +++ b/gstreamer-base-sys/src/lib.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT @@ -112,6 +112,96 @@ impl ::std::fmt::Debug for GstAdapterClass { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstAggregatorClass { + pub parent_class: gst::GstElementClass, + pub flush: Option gst::GstFlowReturn>, + pub clip: Option *mut gst::GstBuffer>, + pub finish_buffer: Option gst::GstFlowReturn>, + pub sink_event: Option gboolean>, + pub sink_query: Option gboolean>, + pub src_event: Option gboolean>, + pub src_query: Option gboolean>, + pub src_activate: Option gboolean>, + pub aggregate: Option gst::GstFlowReturn>, + pub stop: Option gboolean>, + pub start: Option gboolean>, + pub get_next_time: Option gst::GstClockTime>, + pub create_new_pad: Option *mut GstAggregatorPad>, + pub update_src_caps: Option gst::GstFlowReturn>, + pub fixate_src_caps: Option *mut gst::GstCaps>, + pub negotiated_src_caps: Option gboolean>, + pub decide_allocation: Option gboolean>, + pub propose_allocation: Option gboolean>, + pub _gst_reserved: [gpointer; 20], +} + +impl ::std::fmt::Debug for GstAggregatorClass { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAggregatorClass @ {:?}", self as *const _)) + .field("parent_class", &self.parent_class) + .field("flush", &self.flush) + .field("clip", &self.clip) + .field("finish_buffer", &self.finish_buffer) + .field("sink_event", &self.sink_event) + .field("sink_query", &self.sink_query) + .field("src_event", &self.src_event) + .field("src_query", &self.src_query) + .field("src_activate", &self.src_activate) + .field("aggregate", &self.aggregate) + .field("stop", &self.stop) + .field("start", &self.start) + .field("get_next_time", &self.get_next_time) + .field("create_new_pad", &self.create_new_pad) + .field("update_src_caps", &self.update_src_caps) + .field("fixate_src_caps", &self.fixate_src_caps) + .field("negotiated_src_caps", &self.negotiated_src_caps) + .field("decide_allocation", &self.decide_allocation) + .field("propose_allocation", &self.propose_allocation) + .finish() + } +} + +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstAggregatorPadClass { + pub parent_class: gst::GstPadClass, + pub flush: Option gst::GstFlowReturn>, + pub skip_buffer: Option gboolean>, + pub _gst_reserved: [gpointer; 20], +} + +impl ::std::fmt::Debug for GstAggregatorPadClass { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAggregatorPadClass @ {:?}", self as *const _)) + .field("parent_class", &self.parent_class) + .field("flush", &self.flush) + .field("skip_buffer", &self.skip_buffer) + .finish() + } +} + +#[repr(C)] +pub struct GstAggregatorPadPrivate(c_void); + +impl ::std::fmt::Debug for GstAggregatorPadPrivate { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAggregatorPadPrivate @ {:?}", self as *const _)) + .finish() + } +} + +#[repr(C)] +pub struct GstAggregatorPrivate(c_void); + +impl ::std::fmt::Debug for GstAggregatorPrivate { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAggregatorPrivate @ {:?}", self as *const _)) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstBaseParseClass { @@ -643,6 +733,44 @@ impl ::std::fmt::Debug for GstAdapter { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstAggregator { + pub parent: gst::GstElement, + pub srcpad: *mut gst::GstPad, + pub priv_: *mut GstAggregatorPrivate, + pub _gst_reserved: [gpointer; 20], +} + +impl ::std::fmt::Debug for GstAggregator { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAggregator @ {:?}", self as *const _)) + .field("parent", &self.parent) + .field("srcpad", &self.srcpad) + .finish() + } +} + +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstAggregatorPad { + pub parent: gst::GstPad, + pub segment: gst::GstSegment, + pub priv_: *mut GstAggregatorPadPrivate, + pub _gst_reserved: [gpointer; 4], +} + +impl ::std::fmt::Debug for GstAggregatorPad { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAggregatorPad @ {:?}", self as *const _)) + .field("parent", &self.parent) + .field("segment", &self.segment) + .field("priv_", &self.priv_) + .field("_gst_reserved", &self._gst_reserved) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstBaseParse { @@ -1035,10 +1163,16 @@ extern "C" { pub fn gst_queue_array_peek_head(array: *mut GstQueueArray) -> gpointer; #[cfg(any(feature = "v1_6", feature = "dox"))] pub fn gst_queue_array_peek_head_struct(array: *mut GstQueueArray) -> gpointer; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_queue_array_peek_tail(array: *mut GstQueueArray) -> gpointer; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_queue_array_peek_tail_struct(array: *mut GstQueueArray) -> gpointer; #[cfg(any(feature = "v1_2", feature = "dox"))] pub fn gst_queue_array_pop_head(array: *mut GstQueueArray) -> gpointer; #[cfg(any(feature = "v1_6", feature = "dox"))] pub fn gst_queue_array_pop_head_struct(array: *mut GstQueueArray) -> gpointer; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_queue_array_pop_tail(array: *mut GstQueueArray) -> gpointer; #[cfg(any(feature = "v1_2", feature = "dox"))] pub fn gst_queue_array_push_tail(array: *mut GstQueueArray, data: gpointer); pub fn gst_queue_array_push_tail_struct(array: *mut GstQueueArray, p_struct: gpointer); @@ -1095,6 +1229,26 @@ extern "C" { pub fn gst_adapter_take_list(adapter: *mut GstAdapter, nbytes: size_t) -> *mut glib::GList; pub fn gst_adapter_unmap(adapter: *mut GstAdapter); + //========================================================================= + // GstAggregator + //========================================================================= + pub fn gst_aggregator_get_type() -> GType; + pub fn gst_aggregator_finish_buffer(aggregator: *mut GstAggregator, buffer: *mut gst::GstBuffer) -> gst::GstFlowReturn; + pub fn gst_aggregator_get_allocator(self_: *mut GstAggregator, allocator: *mut *mut gst::GstAllocator, params: *mut gst::GstAllocationParams); + pub fn gst_aggregator_get_buffer_pool(self_: *mut GstAggregator) -> *mut gst::GstBufferPool; + pub fn gst_aggregator_get_latency(self_: *mut GstAggregator) -> gst::GstClockTime; + pub fn gst_aggregator_set_latency(self_: *mut GstAggregator, min_latency: gst::GstClockTime, max_latency: gst::GstClockTime); + pub fn gst_aggregator_set_src_caps(self_: *mut GstAggregator, caps: *mut gst::GstCaps); + + //========================================================================= + // GstAggregatorPad + //========================================================================= + pub fn gst_aggregator_pad_get_type() -> GType; + pub fn gst_aggregator_pad_drop_buffer(pad: *mut GstAggregatorPad) -> gboolean; + pub fn gst_aggregator_pad_is_eos(pad: *mut GstAggregatorPad) -> gboolean; + pub fn gst_aggregator_pad_peek_buffer(pad: *mut GstAggregatorPad) -> *mut gst::GstBuffer; + pub fn gst_aggregator_pad_pop_buffer(pad: *mut GstAggregatorPad) -> *mut gst::GstBuffer; + //========================================================================= // GstBaseParse //========================================================================= @@ -1181,6 +1335,8 @@ extern "C" { pub fn gst_base_src_set_live(src: *mut GstBaseSrc, live: gboolean); pub fn gst_base_src_start_complete(basesrc: *mut GstBaseSrc, ret: gst::GstFlowReturn); pub fn gst_base_src_start_wait(basesrc: *mut GstBaseSrc) -> gst::GstFlowReturn; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_base_src_submit_buffer_list(src: *mut GstBaseSrc, buffer_list: *mut gst::GstBufferList); pub fn gst_base_src_wait_playing(src: *mut GstBaseSrc) -> gst::GstFlowReturn; //========================================================================= diff --git a/gstreamer-mpegts-sys/Cargo.toml b/gstreamer-mpegts-sys/Cargo.toml index c1217155c..7a0cb2de0 100644 --- a/gstreamer-mpegts-sys/Cargo.toml +++ b/gstreamer-mpegts-sys/Cargo.toml @@ -17,6 +17,13 @@ path = "../gstreamer-base-sys" path = "../gstreamer-sys" [features] +v1_2 = [] +v1_4 = ["v1_2"] +v1_6 = ["v1_4"] +v1_8 = ["v1_6"] +v1_10 = ["v1_8"] +v1_12 = ["v1_10"] +v1_14 = ["v1_12"] dox = [] [lib] diff --git a/gstreamer-mpegts-sys/build.rs b/gstreamer-mpegts-sys/build.rs index 42f3c8fbb..f129268d1 100644 --- a/gstreamer-mpegts-sys/build.rs +++ b/gstreamer-mpegts-sys/build.rs @@ -16,8 +16,22 @@ fn main() { fn find() -> Result<(), Error> { let package_name = "gstreamer-mpegts-1.0"; let shared_libs = ["gstmpegts-1.0"]; - let version = { + let version = if cfg!(feature = "v1_14") { + "1.14" + } else if cfg!(feature = "v1_12") { "1.12" + } else if cfg!(feature = "v1_10") { + "1.10" + } else if cfg!(feature = "v1_8") { + "1.8" + } else if cfg!(feature = "v1_6") { + "1.6" + } else if cfg!(feature = "v1_4") { + "1.4" + } else if cfg!(feature = "v1_2") { + "1.2" + } else { + "1.0" }; if let Ok(lib_dir) = env::var("GTK_LIB_DIR") { diff --git a/gstreamer-mpegts-sys/src/lib.rs b/gstreamer-mpegts-sys/src/lib.rs index cce0f71c3..f7beb151c 100644 --- a/gstreamer-mpegts-sys/src/lib.rs +++ b/gstreamer-mpegts-sys/src/lib.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-net-sys/Cargo.toml b/gstreamer-net-sys/Cargo.toml index 1b4ba9c69..85bae039b 100644 --- a/gstreamer-net-sys/Cargo.toml +++ b/gstreamer-net-sys/Cargo.toml @@ -17,6 +17,7 @@ v1_6 = ["v1_4"] v1_8 = ["v1_6"] v1_10 = ["v1_8"] v1_12 = ["v1_10"] +v1_14 = ["v1_12"] dox = [] [lib] diff --git a/gstreamer-net-sys/build.rs b/gstreamer-net-sys/build.rs index 13b4b7c1c..2a5473b9b 100644 --- a/gstreamer-net-sys/build.rs +++ b/gstreamer-net-sys/build.rs @@ -16,7 +16,9 @@ fn main() { fn find() -> Result<(), Error> { let package_name = "gstreamer-net-1.0"; let shared_libs = ["gstnet-1.0"]; - let version = if cfg!(feature = "v1_12") { + let version = if cfg!(feature = "v1_14") { + "1.14" + } else if cfg!(feature = "v1_12") { "1.12" } else if cfg!(feature = "v1_10") { "1.10" diff --git a/gstreamer-net-sys/src/lib.rs b/gstreamer-net-sys/src/lib.rs index 8adf3710c..c76f3b0ae 100644 --- a/gstreamer-net-sys/src/lib.rs +++ b/gstreamer-net-sys/src/lib.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-pbutils-sys/Cargo.toml b/gstreamer-pbutils-sys/Cargo.toml index c45cf15b6..baf3b1b08 100644 --- a/gstreamer-pbutils-sys/Cargo.toml +++ b/gstreamer-pbutils-sys/Cargo.toml @@ -23,6 +23,7 @@ v1_6 = ["v1_4"] v1_8 = ["v1_6"] v1_10 = ["v1_8"] v1_12 = ["v1_10"] +v1_14 = ["v1_12"] dox = [] [lib] diff --git a/gstreamer-pbutils-sys/build.rs b/gstreamer-pbutils-sys/build.rs index 8ac101401..673404858 100644 --- a/gstreamer-pbutils-sys/build.rs +++ b/gstreamer-pbutils-sys/build.rs @@ -16,7 +16,9 @@ fn main() { fn find() -> Result<(), Error> { let package_name = "gstreamer-pbutils-1.0"; let shared_libs = ["gstpbutils-1.0"]; - let version = if cfg!(feature = "v1_12") { + let version = if cfg!(feature = "v1_14") { + "1.14" + } else if cfg!(feature = "v1_12") { "1.12" } else if cfg!(feature = "v1_10") { "1.10" diff --git a/gstreamer-pbutils-sys/src/lib.rs b/gstreamer-pbutils-sys/src/lib.rs index 34615494f..2c95fa14e 100644 --- a/gstreamer-pbutils-sys/src/lib.rs +++ b/gstreamer-pbutils-sys/src/lib.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT @@ -71,8 +71,8 @@ pub const GST_ENCODING_CATEGORY_ONLINE_SERVICE: *const c_char = b"online-service pub const GST_ENCODING_CATEGORY_STORAGE_EDITING: *const c_char = b"storage-editing\0" as *const u8 as *const c_char; pub const GST_PLUGINS_BASE_VERSION_MAJOR: c_int = 1; pub const GST_PLUGINS_BASE_VERSION_MICRO: c_int = 1; -pub const GST_PLUGINS_BASE_VERSION_MINOR: c_int = 12; -pub const GST_PLUGINS_BASE_VERSION_NANO: c_int = 0; +pub const GST_PLUGINS_BASE_VERSION_MINOR: c_int = 13; +pub const GST_PLUGINS_BASE_VERSION_NANO: c_int = 1; // Flags bitflags! { @@ -416,6 +416,8 @@ extern "C" { //========================================================================= pub fn gst_discoverer_audio_info_get_type() -> GType; pub fn gst_discoverer_audio_info_get_bitrate(info: *const GstDiscovererAudioInfo) -> c_uint; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_discoverer_audio_info_get_channel_mask(info: *const GstDiscovererAudioInfo) -> u64; pub fn gst_discoverer_audio_info_get_channels(info: *const GstDiscovererAudioInfo) -> c_uint; pub fn gst_discoverer_audio_info_get_depth(info: *const GstDiscovererAudioInfo) -> c_uint; pub fn gst_discoverer_audio_info_get_language(info: *const GstDiscovererAudioInfo) -> *const c_char; @@ -438,6 +440,8 @@ extern "C" { pub fn gst_discoverer_info_get_audio_streams(info: *mut GstDiscovererInfo) -> *mut glib::GList; pub fn gst_discoverer_info_get_container_streams(info: *mut GstDiscovererInfo) -> *mut glib::GList; pub fn gst_discoverer_info_get_duration(info: *const GstDiscovererInfo) -> gst::GstClockTime; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_discoverer_info_get_live(info: *const GstDiscovererInfo) -> gboolean; pub fn gst_discoverer_info_get_misc(info: *const GstDiscovererInfo) -> *const gst::GstStructure; #[cfg(any(feature = "v1_4", feature = "dox"))] pub fn gst_discoverer_info_get_missing_elements_installer_details(info: *const GstDiscovererInfo) -> *mut *mut c_char; @@ -564,31 +568,31 @@ extern "C" { //========================================================================= // Other functions //========================================================================= - pub fn gst_codec_utils_aac_caps_set_level_and_profile(caps: *mut gst::GstCaps, audio_config: *const u8, len: c_uint) -> gboolean; - pub fn gst_codec_utils_aac_get_channels(audio_config: *const u8, len: c_uint) -> c_uint; + pub fn gst_codec_utils_aac_caps_set_level_and_profile(caps: *mut gst::GstCaps, audio_config: *mut u8, len: c_uint) -> gboolean; + pub fn gst_codec_utils_aac_get_channels(audio_config: *mut u8, len: c_uint) -> c_uint; pub fn gst_codec_utils_aac_get_index_from_sample_rate(rate: c_uint) -> c_int; - pub fn gst_codec_utils_aac_get_level(audio_config: *const u8, len: c_uint) -> *const c_char; - pub fn gst_codec_utils_aac_get_profile(audio_config: *const u8, len: c_uint) -> *const c_char; - pub fn gst_codec_utils_aac_get_sample_rate(audio_config: *const u8, len: c_uint) -> c_uint; + pub fn gst_codec_utils_aac_get_level(audio_config: *mut u8, len: c_uint) -> *const c_char; + pub fn gst_codec_utils_aac_get_profile(audio_config: *mut u8, len: c_uint) -> *const c_char; + pub fn gst_codec_utils_aac_get_sample_rate(audio_config: *mut u8, len: c_uint) -> c_uint; pub fn gst_codec_utils_aac_get_sample_rate_from_index(sr_idx: c_uint) -> c_uint; - pub fn gst_codec_utils_h264_caps_set_level_and_profile(caps: *mut gst::GstCaps, sps: *const u8, len: c_uint) -> gboolean; - pub fn gst_codec_utils_h264_get_level(sps: *const u8, len: c_uint) -> *const c_char; + pub fn gst_codec_utils_h264_caps_set_level_and_profile(caps: *mut gst::GstCaps, sps: *mut u8, len: c_uint) -> gboolean; + pub fn gst_codec_utils_h264_get_level(sps: *mut u8, len: c_uint) -> *const c_char; pub fn gst_codec_utils_h264_get_level_idc(level: *const c_char) -> u8; - pub fn gst_codec_utils_h264_get_profile(sps: *const u8, len: c_uint) -> *const c_char; - pub fn gst_codec_utils_h265_caps_set_level_tier_and_profile(caps: *mut gst::GstCaps, profile_tier_level: *const u8, len: c_uint) -> gboolean; - pub fn gst_codec_utils_h265_get_level(profile_tier_level: *const u8, len: c_uint) -> *const c_char; + pub fn gst_codec_utils_h264_get_profile(sps: *mut u8, len: c_uint) -> *const c_char; + pub fn gst_codec_utils_h265_caps_set_level_tier_and_profile(caps: *mut gst::GstCaps, profile_tier_level: *mut u8, len: c_uint) -> gboolean; + pub fn gst_codec_utils_h265_get_level(profile_tier_level: *mut u8, len: c_uint) -> *const c_char; pub fn gst_codec_utils_h265_get_level_idc(level: *const c_char) -> u8; - pub fn gst_codec_utils_h265_get_profile(profile_tier_level: *const u8, len: c_uint) -> *const c_char; - pub fn gst_codec_utils_h265_get_tier(profile_tier_level: *const u8, len: c_uint) -> *const c_char; - pub fn gst_codec_utils_mpeg4video_caps_set_level_and_profile(caps: *mut gst::GstCaps, vis_obj_seq: *const u8, len: c_uint) -> gboolean; - pub fn gst_codec_utils_mpeg4video_get_level(vis_obj_seq: *const u8, len: c_uint) -> *const c_char; - pub fn gst_codec_utils_mpeg4video_get_profile(vis_obj_seq: *const u8, len: c_uint) -> *const c_char; + pub fn gst_codec_utils_h265_get_profile(profile_tier_level: *mut u8, len: c_uint) -> *const c_char; + pub fn gst_codec_utils_h265_get_tier(profile_tier_level: *mut u8, len: c_uint) -> *const c_char; + pub fn gst_codec_utils_mpeg4video_caps_set_level_and_profile(caps: *mut gst::GstCaps, vis_obj_seq: *mut u8, len: c_uint) -> gboolean; + pub fn gst_codec_utils_mpeg4video_get_level(vis_obj_seq: *mut u8, len: c_uint) -> *const c_char; + pub fn gst_codec_utils_mpeg4video_get_profile(vis_obj_seq: *mut u8, len: c_uint) -> *const c_char; #[cfg(any(feature = "v1_8", feature = "dox"))] - pub fn gst_codec_utils_opus_create_caps(rate: u32, channels: u8, channel_mapping_family: u8, stream_count: u8, coupled_count: u8, channel_mapping: *const u8) -> *mut gst::GstCaps; + pub fn gst_codec_utils_opus_create_caps(rate: u32, channels: u8, channel_mapping_family: u8, stream_count: u8, coupled_count: u8, channel_mapping: *mut u8) -> *mut gst::GstCaps; #[cfg(any(feature = "v1_8", feature = "dox"))] pub fn gst_codec_utils_opus_create_caps_from_header(header: *mut gst::GstBuffer, comments: *mut gst::GstBuffer) -> *mut gst::GstCaps; #[cfg(any(feature = "v1_8", feature = "dox"))] - pub fn gst_codec_utils_opus_create_header(rate: u32, channels: u8, channel_mapping_family: u8, stream_count: u8, coupled_count: u8, channel_mapping: *const u8, pre_skip: u16, output_gain: i16) -> *mut gst::GstBuffer; + pub fn gst_codec_utils_opus_create_header(rate: u32, channels: u8, channel_mapping_family: u8, stream_count: u8, coupled_count: u8, channel_mapping: *mut u8, pre_skip: u16, output_gain: i16) -> *mut gst::GstBuffer; #[cfg(any(feature = "v1_8", feature = "dox"))] pub fn gst_codec_utils_opus_parse_caps(caps: *mut gst::GstCaps, rate: *mut u32, channels: *mut u8, channel_mapping_family: *mut u8, stream_count: *mut u8, coupled_count: *mut u8, channel_mapping: u8) -> gboolean; #[cfg(any(feature = "v1_8", feature = "dox"))] diff --git a/gstreamer-player-sys/Cargo.toml b/gstreamer-player-sys/Cargo.toml index 1e9723c83..2981cfc6f 100644 --- a/gstreamer-player-sys/Cargo.toml +++ b/gstreamer-player-sys/Cargo.toml @@ -14,6 +14,7 @@ path = "../gstreamer-video-sys" [features] v1_12 = [] +v1_14 = ["v1_12"] dox = [] [lib] diff --git a/gstreamer-player-sys/build.rs b/gstreamer-player-sys/build.rs index ed3d915f4..95100b91e 100644 --- a/gstreamer-player-sys/build.rs +++ b/gstreamer-player-sys/build.rs @@ -16,7 +16,9 @@ fn main() { fn find() -> Result<(), Error> { let package_name = "gstreamer-player-1.0"; let shared_libs = ["gstplayer-1.0"]; - let version = { + let version = if cfg!(feature = "v1_14") { + "1.14" + } else { "1.12" }; diff --git a/gstreamer-player-sys/src/lib.rs b/gstreamer-player-sys/src/lib.rs index 5da69de73..db7d8b6e3 100644 --- a/gstreamer-player-sys/src/lib.rs +++ b/gstreamer-player-sys/src/lib.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT @@ -312,13 +312,13 @@ extern "C" { pub fn gst_player_config_get_seek_accurate(config: *const gst::GstStructure) -> gboolean; pub fn gst_player_config_get_user_agent(config: *const gst::GstStructure) -> *mut c_char; pub fn gst_player_config_set_position_update_interval(config: *mut gst::GstStructure, interval: c_uint); + pub fn gst_player_config_set_seek_accurate(config: *mut gst::GstStructure, accurate: gboolean); pub fn gst_player_config_set_user_agent(config: *mut gst::GstStructure, agent: *const c_char); pub fn gst_player_get_audio_streams(info: *const GstPlayerMediaInfo) -> *mut glib::GList; pub fn gst_player_get_subtitle_streams(info: *const GstPlayerMediaInfo) -> *mut glib::GList; pub fn gst_player_get_video_streams(info: *const GstPlayerMediaInfo) -> *mut glib::GList; pub fn gst_player_visualizations_free(viss: *mut *mut GstPlayerVisualization); pub fn gst_player_visualizations_get() -> *mut *mut GstPlayerVisualization; - pub fn gst_player_config_set_seek_accurate(player: *mut GstPlayer, accurate: gboolean); pub fn gst_player_get_audio_video_offset(player: *mut GstPlayer) -> i64; pub fn gst_player_get_color_balance(player: *mut GstPlayer, type_: GstPlayerColorBalanceType) -> c_double; pub fn gst_player_get_config(player: *mut GstPlayer) -> *mut gst::GstStructure; diff --git a/gstreamer-rtsp-server-sys/Cargo.toml b/gstreamer-rtsp-server-sys/Cargo.toml index 358440893..5d83b54c5 100644 --- a/gstreamer-rtsp-server-sys/Cargo.toml +++ b/gstreamer-rtsp-server-sys/Cargo.toml @@ -31,6 +31,7 @@ v1_6 = ["v1_4"] v1_8 = ["v1_6"] v1_10 = ["v1_8"] v1_12 = ["v1_10"] +v1_14 = ["v1_12"] [lib] name = "gstreamer_rtsp_server_sys" diff --git a/gstreamer-rtsp-server-sys/build.rs b/gstreamer-rtsp-server-sys/build.rs index 4c92eabff..0df858e9d 100644 --- a/gstreamer-rtsp-server-sys/build.rs +++ b/gstreamer-rtsp-server-sys/build.rs @@ -16,7 +16,9 @@ fn main() { fn find() -> Result<(), Error> { let package_name = "gstreamer-rtsp-server-1.0"; let shared_libs = ["gstrtspserver-1.0"]; - let version = if cfg!(feature = "v1_12") { + let version = if cfg!(feature = "v1_14") { + "1.14" + } else if cfg!(feature = "v1_12") { "1.12" } else if cfg!(feature = "v1_10") { "1.10" diff --git a/gstreamer-rtsp-server-sys/src/lib.rs b/gstreamer-rtsp-server-sys/src/lib.rs index 982ad16c0..6be852074 100644 --- a/gstreamer-rtsp-server-sys/src/lib.rs +++ b/gstreamer-rtsp-server-sys/src/lib.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT @@ -65,6 +65,7 @@ pub const GST_RTSP_AUTH_CHECK_MEDIA_FACTORY_ACCESS: *const c_char = b"auth.check pub const GST_RTSP_AUTH_CHECK_MEDIA_FACTORY_CONSTRUCT: *const c_char = b"auth.check.media.factory.construct\0" as *const u8 as *const c_char; pub const GST_RTSP_AUTH_CHECK_TRANSPORT_CLIENT_SETTINGS: *const c_char = b"auth.check.transport.client-settings\0" as *const u8 as *const c_char; pub const GST_RTSP_AUTH_CHECK_URL: *const c_char = b"auth.check.url\0" as *const u8 as *const c_char; +pub const GST_RTSP_ONVIF_BACKCHANNEL_REQUIREMENT: *const c_char = b"www.onvif.org/ver20/backchannel\0" as *const u8 as *const c_char; pub const GST_RTSP_PERM_MEDIA_FACTORY_ACCESS: *const c_char = b"media.factory.access\0" as *const u8 as *const c_char; pub const GST_RTSP_PERM_MEDIA_FACTORY_CONSTRUCT: *const c_char = b"media.factory.construct\0" as *const u8 as *const c_char; pub const GST_RTSP_TOKEN_MEDIA_FACTORY_ROLE: *const c_char = b"media.factory.role\0" as *const u8 as *const c_char; @@ -478,6 +479,88 @@ impl ::std::fmt::Debug for GstRTSPMountPointsPrivate { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstRTSPOnvifClientClass { + pub parent: GstRTSPClientClass, + pub _gst_reserved: [gpointer; 20], +} + +impl ::std::fmt::Debug for GstRTSPOnvifClientClass { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstRTSPOnvifClientClass @ {:?}", self as *const _)) + .field("parent", &self.parent) + .finish() + } +} + +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstRTSPOnvifMediaClass { + pub parent: GstRTSPMediaClass, + pub _gst_reserved: [gpointer; 20], +} + +impl ::std::fmt::Debug for GstRTSPOnvifMediaClass { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstRTSPOnvifMediaClass @ {:?}", self as *const _)) + .field("parent", &self.parent) + .finish() + } +} + +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstRTSPOnvifMediaFactoryClass { + pub parent: GstRTSPMediaFactoryClass, + pub has_backchannel_support: Option gboolean>, + pub _gst_reserved: [gpointer; 20], +} + +impl ::std::fmt::Debug for GstRTSPOnvifMediaFactoryClass { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstRTSPOnvifMediaFactoryClass @ {:?}", self as *const _)) + .field("parent", &self.parent) + .field("has_backchannel_support", &self.has_backchannel_support) + .finish() + } +} + +#[repr(C)] +pub struct GstRTSPOnvifMediaFactoryPrivate(c_void); + +impl ::std::fmt::Debug for GstRTSPOnvifMediaFactoryPrivate { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstRTSPOnvifMediaFactoryPrivate @ {:?}", self as *const _)) + .finish() + } +} + +#[repr(C)] +pub struct GstRTSPOnvifMediaPrivate(c_void); + +impl ::std::fmt::Debug for GstRTSPOnvifMediaPrivate { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstRTSPOnvifMediaPrivate @ {:?}", self as *const _)) + .finish() + } +} + +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstRTSPOnvifServerClass { + pub parent: GstRTSPServerClass, + pub _gst_reserved: [gpointer; 20], +} + +impl ::std::fmt::Debug for GstRTSPOnvifServerClass { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstRTSPOnvifServerClass @ {:?}", self as *const _)) + .field("parent", &self.parent) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstRTSPPermissions { @@ -850,6 +933,70 @@ impl ::std::fmt::Debug for GstRTSPMountPoints { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstRTSPOnvifClient { + pub parent: GstRTSPClient, + pub _gst_reserved: [gpointer; 4], +} + +impl ::std::fmt::Debug for GstRTSPOnvifClient { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstRTSPOnvifClient @ {:?}", self as *const _)) + .field("parent", &self.parent) + .finish() + } +} + +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstRTSPOnvifMedia { + pub parent: GstRTSPMedia, + pub priv_: *mut GstRTSPOnvifMediaPrivate, + pub _gst_reserved: [gpointer; 4], +} + +impl ::std::fmt::Debug for GstRTSPOnvifMedia { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstRTSPOnvifMedia @ {:?}", self as *const _)) + .field("parent", &self.parent) + .field("priv_", &self.priv_) + .finish() + } +} + +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstRTSPOnvifMediaFactory { + pub parent: GstRTSPMediaFactory, + pub priv_: *mut GstRTSPOnvifMediaFactoryPrivate, + pub _gst_reserved: [gpointer; 4], +} + +impl ::std::fmt::Debug for GstRTSPOnvifMediaFactory { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstRTSPOnvifMediaFactory @ {:?}", self as *const _)) + .field("parent", &self.parent) + .field("priv_", &self.priv_) + .finish() + } +} + +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstRTSPOnvifServer { + pub parent: GstRTSPServer, + pub _gst_reserved: [gpointer; 4], +} + +impl ::std::fmt::Debug for GstRTSPOnvifServer { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstRTSPOnvifServer @ {:?}", self as *const _)) + .field("parent", &self.parent) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstRTSPServer { @@ -998,7 +1145,13 @@ extern "C" { //========================================================================= pub fn gst_rtsp_permissions_get_type() -> GType; pub fn gst_rtsp_permissions_new() -> *mut GstRTSPPermissions; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_permissions_add_permission_for_role(permissions: *mut GstRTSPPermissions, role: *const c_char, permission: *const c_char, allowed: gboolean); pub fn gst_rtsp_permissions_add_role(permissions: *mut GstRTSPPermissions, role: *const c_char, fieldname: *const c_char, ...); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_permissions_add_role_empty(permissions: *mut GstRTSPPermissions, role: *const c_char); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_permissions_add_role_from_structure(permissions: *mut GstRTSPPermissions, structure: *mut gst::GstStructure); //pub fn gst_rtsp_permissions_add_role_valist(permissions: *mut GstRTSPPermissions, role: *const c_char, fieldname: *const c_char, var_args: /*Unimplemented*/va_list); pub fn gst_rtsp_permissions_get_role(permissions: *mut GstRTSPPermissions, role: *const c_char) -> *const gst::GstStructure; pub fn gst_rtsp_permissions_is_allowed(permissions: *mut GstRTSPPermissions, role: *const c_char, permission: *const c_char) -> gboolean; @@ -1022,6 +1175,10 @@ extern "C" { pub fn gst_rtsp_token_get_string(token: *mut GstRTSPToken, field: *const c_char) -> *const c_char; pub fn gst_rtsp_token_get_structure(token: *mut GstRTSPToken) -> *const gst::GstStructure; pub fn gst_rtsp_token_is_allowed(token: *mut GstRTSPToken, field: *const c_char) -> gboolean; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_token_set_bool(token: *mut GstRTSPToken, field: *const c_char, bool_value: gboolean); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_token_set_string(token: *mut GstRTSPToken, field: *const c_char, string_value: *const c_char); pub fn gst_rtsp_token_writable_structure(token: *mut GstRTSPToken) -> *mut gst::GstStructure; //========================================================================= @@ -1093,6 +1250,7 @@ extern "C" { pub fn gst_rtsp_media_get_type() -> GType; pub fn gst_rtsp_media_new(element: *mut gst::GstElement) -> *mut GstRTSPMedia; pub fn gst_rtsp_media_collect_streams(media: *mut GstRTSPMedia); + pub fn gst_rtsp_media_complete_pipeline(media: *mut GstRTSPMedia, transports: *mut glib::GPtrArray) -> gboolean; pub fn gst_rtsp_media_create_stream(media: *mut GstRTSPMedia, payloader: *mut gst::GstElement, pad: *mut gst::GstPad) -> *mut GstRTSPStream; pub fn gst_rtsp_media_find_stream(media: *mut GstRTSPMedia, control: *const c_char) -> *mut GstRTSPStream; pub fn gst_rtsp_media_get_address_pool(media: *mut GstRTSPMedia) -> *mut GstRTSPAddressPool; @@ -1123,6 +1281,8 @@ extern "C" { pub fn gst_rtsp_media_n_streams(media: *mut GstRTSPMedia) -> c_uint; pub fn gst_rtsp_media_prepare(media: *mut GstRTSPMedia, thread: *mut GstRTSPThread) -> gboolean; pub fn gst_rtsp_media_seek(media: *mut GstRTSPMedia, range: *mut gst_rtsp::GstRTSPTimeRange) -> gboolean; + pub fn gst_rtsp_media_seek_full(media: *mut GstRTSPMedia, range: *mut gst_rtsp::GstRTSPTimeRange, flags: gst::GstSeekFlags) -> gboolean; + pub fn gst_rtsp_media_seekable(media: *mut GstRTSPMedia) -> gst::GstClockTimeDiff; pub fn gst_rtsp_media_set_address_pool(media: *mut GstRTSPMedia, pool: *mut GstRTSPAddressPool); pub fn gst_rtsp_media_set_buffer_size(media: *mut GstRTSPMedia, size: c_uint); pub fn gst_rtsp_media_set_clock(media: *mut GstRTSPMedia, clock: *mut gst::GstClock); @@ -1155,6 +1315,8 @@ extern "C" { pub fn gst_rtsp_media_factory_get_type() -> GType; pub fn gst_rtsp_media_factory_new() -> *mut GstRTSPMediaFactory; pub fn gst_rtsp_media_factory_add_role(factory: *mut GstRTSPMediaFactory, role: *const c_char, fieldname: *const c_char, ...); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_media_factory_add_role_from_structure(factory: *mut GstRTSPMediaFactory, structure: *mut gst::GstStructure); pub fn gst_rtsp_media_factory_construct(factory: *mut GstRTSPMediaFactory, url: *const gst_rtsp::GstRTSPUrl) -> *mut GstRTSPMedia; pub fn gst_rtsp_media_factory_create_element(factory: *mut GstRTSPMediaFactory, url: *const gst_rtsp::GstRTSPUrl) -> *mut gst::GstElement; pub fn gst_rtsp_media_factory_get_address_pool(factory: *mut GstRTSPMediaFactory) -> *mut GstRTSPAddressPool; @@ -1216,6 +1378,47 @@ extern "C" { pub fn gst_rtsp_mount_points_match(mounts: *mut GstRTSPMountPoints, path: *const c_char, matched: *mut c_int) -> *mut GstRTSPMediaFactory; pub fn gst_rtsp_mount_points_remove_factory(mounts: *mut GstRTSPMountPoints, path: *const c_char); + //========================================================================= + // GstRTSPOnvifClient + //========================================================================= + pub fn gst_rtsp_onvif_client_get_type() -> GType; + + //========================================================================= + // GstRTSPOnvifMedia + //========================================================================= + pub fn gst_rtsp_onvif_media_get_type() -> GType; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_onvif_media_collect_backchannel(media: *mut GstRTSPOnvifMedia) -> gboolean; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_onvif_media_get_backchannel_bandwidth(media: *mut GstRTSPOnvifMedia) -> c_uint; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_onvif_media_set_backchannel_bandwidth(media: *mut GstRTSPOnvifMedia, bandwidth: c_uint); + + //========================================================================= + // GstRTSPOnvifMediaFactory + //========================================================================= + pub fn gst_rtsp_onvif_media_factory_get_type() -> GType; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_onvif_media_factory_new() -> *mut GstRTSPMediaFactory; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_onvif_media_factory_requires_backchannel(factory: *mut GstRTSPMediaFactory, ctx: *mut GstRTSPContext) -> gboolean; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_onvif_media_factory_get_backchannel_bandwidth(factory: *mut GstRTSPOnvifMediaFactory) -> c_uint; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_onvif_media_factory_get_backchannel_launch(factory: *mut GstRTSPOnvifMediaFactory) -> *mut c_char; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_onvif_media_factory_has_backchannel_support(factory: *mut GstRTSPOnvifMediaFactory) -> gboolean; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_onvif_media_factory_set_backchannel_bandwidth(factory: *mut GstRTSPOnvifMediaFactory, bandwidth: c_uint); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_onvif_media_factory_set_backchannel_launch(factory: *mut GstRTSPOnvifMediaFactory, launch: *const c_char); + + //========================================================================= + // GstRTSPOnvifServer + //========================================================================= + pub fn gst_rtsp_onvif_server_get_type() -> GType; + pub fn gst_rtsp_onvif_server_new() -> *mut GstRTSPServer; + //========================================================================= // GstRTSPServer //========================================================================= @@ -1275,6 +1478,7 @@ extern "C" { pub fn gst_rtsp_session_media_get_rtpinfo(media: *mut GstRTSPSessionMedia) -> *mut c_char; pub fn gst_rtsp_session_media_get_rtsp_state(media: *mut GstRTSPSessionMedia) -> gst_rtsp::GstRTSPState; pub fn gst_rtsp_session_media_get_transport(media: *mut GstRTSPSessionMedia, idx: c_uint) -> *mut GstRTSPStreamTransport; + pub fn gst_rtsp_session_media_get_transports(media: *mut GstRTSPSessionMedia) -> *mut glib::GPtrArray; pub fn gst_rtsp_session_media_matches(media: *mut GstRTSPSessionMedia, path: *const c_char, matched: *mut c_int) -> gboolean; pub fn gst_rtsp_session_media_set_rtsp_state(media: *mut GstRTSPSessionMedia, state: gst_rtsp::GstRTSPState); pub fn gst_rtsp_session_media_set_state(media: *mut GstRTSPSessionMedia, state: gst::GstState) -> gboolean; @@ -1301,7 +1505,8 @@ extern "C" { pub fn gst_rtsp_stream_get_type() -> GType; pub fn gst_rtsp_stream_new(idx: c_uint, payloader: *mut gst::GstElement, pad: *mut gst::GstPad) -> *mut GstRTSPStream; pub fn gst_rtsp_stream_add_transport(stream: *mut GstRTSPStream, trans: *mut GstRTSPStreamTransport) -> gboolean; - pub fn gst_rtsp_stream_allocate_udp_sockets(stream: *mut GstRTSPStream, family: gio::GSocketFamily, transport: *mut gst_rtsp::GstRTSPTransport, use_client_setttings: gboolean) -> gboolean; + pub fn gst_rtsp_stream_allocate_udp_sockets(stream: *mut GstRTSPStream, family: gio::GSocketFamily, transport: *mut gst_rtsp::GstRTSPTransport, use_client_settings: gboolean) -> gboolean; + pub fn gst_rtsp_stream_complete_stream(stream: *mut GstRTSPStream, transport: *const gst_rtsp::GstRTSPTransport) -> gboolean; pub fn gst_rtsp_stream_get_address_pool(stream: *mut GstRTSPStream) -> *mut GstRTSPAddressPool; #[cfg(any(feature = "v1_6", feature = "dox"))] pub fn gst_rtsp_stream_get_buffer_size(stream: *mut GstRTSPStream) -> c_uint; @@ -1321,7 +1526,9 @@ extern "C" { pub fn gst_rtsp_stream_get_publish_clock_mode(stream: *mut GstRTSPStream) -> GstRTSPPublishClockMode; pub fn gst_rtsp_stream_get_retransmission_pt(stream: *mut GstRTSPStream) -> c_uint; pub fn gst_rtsp_stream_get_retransmission_time(stream: *mut GstRTSPStream) -> gst::GstClockTime; + pub fn gst_rtsp_stream_get_rtcp_multicast_socket(stream: *mut GstRTSPStream, family: gio::GSocketFamily) -> *mut gio::GSocket; pub fn gst_rtsp_stream_get_rtcp_socket(stream: *mut GstRTSPStream, family: gio::GSocketFamily) -> *mut gio::GSocket; + pub fn gst_rtsp_stream_get_rtp_multicast_socket(stream: *mut GstRTSPStream, family: gio::GSocketFamily) -> *mut gio::GSocket; pub fn gst_rtsp_stream_get_rtp_socket(stream: *mut GstRTSPStream, family: gio::GSocketFamily) -> *mut gio::GSocket; pub fn gst_rtsp_stream_get_rtpinfo(stream: *mut GstRTSPStream, rtptime: *mut c_uint, seq: *mut c_uint, clock_rate: *mut c_uint, running_time: *mut gst::GstClockTime) -> gboolean; pub fn gst_rtsp_stream_get_rtpsession(stream: *mut GstRTSPStream) -> *mut gobject::GObject; @@ -1333,6 +1540,9 @@ extern "C" { pub fn gst_rtsp_stream_has_control(stream: *mut GstRTSPStream, control: *const c_char) -> gboolean; pub fn gst_rtsp_stream_is_blocking(stream: *mut GstRTSPStream) -> gboolean; pub fn gst_rtsp_stream_is_client_side(stream: *mut GstRTSPStream) -> gboolean; + pub fn gst_rtsp_stream_is_complete(stream: *mut GstRTSPStream) -> gboolean; + pub fn gst_rtsp_stream_is_receiver(stream: *mut GstRTSPStream) -> gboolean; + pub fn gst_rtsp_stream_is_sender(stream: *mut GstRTSPStream) -> gboolean; pub fn gst_rtsp_stream_is_transport_supported(stream: *mut GstRTSPStream, transport: *mut gst_rtsp::GstRTSPTransport) -> gboolean; pub fn gst_rtsp_stream_join_bin(stream: *mut GstRTSPStream, bin: *mut gst::GstBin, rtpbin: *mut gst::GstElement, state: gst::GstState) -> gboolean; pub fn gst_rtsp_stream_leave_bin(stream: *mut GstRTSPStream, bin: *mut gst::GstBin, rtpbin: *mut gst::GstElement) -> gboolean; @@ -1344,6 +1554,7 @@ extern "C" { #[cfg(any(feature = "v1_6", feature = "dox"))] pub fn gst_rtsp_stream_request_aux_sender(stream: *mut GstRTSPStream, sessid: c_uint) -> *mut gst::GstElement; pub fn gst_rtsp_stream_reserve_address(stream: *mut GstRTSPStream, address: *const c_char, port: c_uint, n_ports: c_uint, ttl: c_uint) -> *mut GstRTSPAddress; + pub fn gst_rtsp_stream_seekable(stream: *mut GstRTSPStream) -> gboolean; pub fn gst_rtsp_stream_set_address_pool(stream: *mut GstRTSPStream, pool: *mut GstRTSPAddressPool); pub fn gst_rtsp_stream_set_blocked(stream: *mut GstRTSPStream, blocked: gboolean) -> gboolean; #[cfg(any(feature = "v1_6", feature = "dox"))] @@ -1362,6 +1573,7 @@ extern "C" { pub fn gst_rtsp_stream_set_retransmission_time(stream: *mut GstRTSPStream, time: gst::GstClockTime); pub fn gst_rtsp_stream_set_seqnum_offset(stream: *mut GstRTSPStream, seqnum: u16); pub fn gst_rtsp_stream_transport_filter(stream: *mut GstRTSPStream, func: GstRTSPStreamTransportFilterFunc, user_data: gpointer) -> *mut glib::GList; + pub fn gst_rtsp_stream_unblock_linked(stream: *mut GstRTSPStream) -> gboolean; pub fn gst_rtsp_stream_update_crypto(stream: *mut GstRTSPStream, ssrc: c_uint, crypto: *mut gst::GstCaps) -> gboolean; //========================================================================= @@ -1403,5 +1615,6 @@ extern "C" { pub fn gst_rtsp_params_set(client: *mut GstRTSPClient, ctx: *mut GstRTSPContext) -> gst_rtsp::GstRTSPResult; pub fn gst_rtsp_sdp_from_media(sdp: *mut gst_sdp::GstSDPMessage, info: *mut GstSDPInfo, media: *mut GstRTSPMedia) -> gboolean; pub fn gst_rtsp_sdp_from_stream(sdp: *mut gst_sdp::GstSDPMessage, info: *mut GstSDPInfo, stream: *mut GstRTSPStream) -> gboolean; + pub fn gst_rtsp_sdp_make_media(sdp: *mut gst_sdp::GstSDPMessage, info: *mut GstSDPInfo, stream: *mut GstRTSPStream, caps: *mut gst::GstCaps, profile: gst_rtsp::GstRTSPProfile) -> gboolean; } diff --git a/gstreamer-rtsp-sys/Cargo.toml b/gstreamer-rtsp-sys/Cargo.toml index e425a7336..1f3179539 100644 --- a/gstreamer-rtsp-sys/Cargo.toml +++ b/gstreamer-rtsp-sys/Cargo.toml @@ -23,6 +23,7 @@ v1_6 = ["v1_4"] v1_8 = ["v1_6"] v1_10 = ["v1_8"] v1_12 = ["v1_10"] +v1_14 = ["v1_12"] [lib] name = "gstreamer_rtsp_sys" diff --git a/gstreamer-rtsp-sys/build.rs b/gstreamer-rtsp-sys/build.rs index 15250fbaf..a86e267d8 100644 --- a/gstreamer-rtsp-sys/build.rs +++ b/gstreamer-rtsp-sys/build.rs @@ -16,7 +16,9 @@ fn main() { fn find() -> Result<(), Error> { let package_name = "gstreamer-rtsp-1.0"; let shared_libs = ["gstrtsp-1.0"]; - let version = if cfg!(feature = "v1_12") { + let version = if cfg!(feature = "v1_14") { + "1.14" + } else if cfg!(feature = "v1_12") { "1.12" } else if cfg!(feature = "v1_10") { "1.10" diff --git a/gstreamer-rtsp-sys/src/lib.rs b/gstreamer-rtsp-sys/src/lib.rs index 0c826584e..9b00ae212 100644 --- a/gstreamer-rtsp-sys/src/lib.rs +++ b/gstreamer-rtsp-sys/src/lib.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT @@ -115,7 +115,11 @@ pub const GST_RTSP_HDR_X_SERVER_IP_ADDRESS: GstRTSPHeaderField = 79; pub const GST_RTSP_HDR_X_SESSIONCOOKIE: GstRTSPHeaderField = 80; pub const GST_RTSP_HDR_RTCP_INTERVAL: GstRTSPHeaderField = 81; pub const GST_RTSP_HDR_KEYMGMT: GstRTSPHeaderField = 82; -pub const GST_RTSP_HDR_LAST: GstRTSPHeaderField = 83; +pub const GST_RTSP_HDR_PIPELINED_REQUESTS: GstRTSPHeaderField = 83; +pub const GST_RTSP_HDR_MEDIA_PROPERTIES: GstRTSPHeaderField = 84; +pub const GST_RTSP_HDR_SEEK_STYLE: GstRTSPHeaderField = 85; +pub const GST_RTSP_HDR_ACCEPT_RANGES: GstRTSPHeaderField = 86; +pub const GST_RTSP_HDR_LAST: GstRTSPHeaderField = 87; pub type GstRTSPMsgType = c_int; pub const GST_RTSP_MESSAGE_INVALID: GstRTSPMsgType = 0; @@ -219,6 +223,7 @@ pub type GstRTSPVersion = c_int; pub const GST_RTSP_VERSION_INVALID: GstRTSPVersion = 0; pub const GST_RTSP_VERSION_1_0: GstRTSPVersion = 16; pub const GST_RTSP_VERSION_1_1: GstRTSPVersion = 17; +pub const GST_RTSP_VERSION_2_0: GstRTSPVersion = 32; // Constants pub const GST_RTSP_DEFAULT_PORT: c_int = 554; @@ -333,6 +338,9 @@ impl ::std::fmt::Debug for GstRTSPMessage_type_data { } } +// Callbacks +pub type GstRTSPConnectionAcceptCertificateFunc = Option gboolean>; + // Records #[repr(C)] #[derive(Copy, Clone)] @@ -802,6 +810,8 @@ extern "C" { pub fn gst_rtsp_connection_receive(conn: *mut GstRTSPConnection, message: *mut GstRTSPMessage, timeout: *mut glib::GTimeVal) -> GstRTSPResult; pub fn gst_rtsp_connection_reset_timeout(conn: *mut GstRTSPConnection) -> GstRTSPResult; pub fn gst_rtsp_connection_send(conn: *mut GstRTSPConnection, message: *mut GstRTSPMessage, timeout: *mut glib::GTimeVal) -> GstRTSPResult; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_connection_set_accept_certificate_func(conn: *mut GstRTSPConnection, func: GstRTSPConnectionAcceptCertificateFunc, user_data: gpointer, destroy_notify: glib::GDestroyNotify); pub fn gst_rtsp_connection_set_auth(conn: *mut GstRTSPConnection, method: GstRTSPAuthMethod, user: *const c_char, pass: *const c_char) -> GstRTSPResult; pub fn gst_rtsp_connection_set_auth_param(conn: *mut GstRTSPConnection, param: *const c_char, value: *const c_char); pub fn gst_rtsp_connection_set_http_mode(conn: *mut GstRTSPConnection, enable: gboolean); @@ -824,10 +834,13 @@ extern "C" { //========================================================================= // GstRTSPMessage //========================================================================= + pub fn gst_rtsp_msg_get_type() -> GType; pub fn gst_rtsp_message_add_header(msg: *mut GstRTSPMessage, field: GstRTSPHeaderField, value: *const c_char) -> GstRTSPResult; #[cfg(any(feature = "v1_6", feature = "dox"))] pub fn gst_rtsp_message_add_header_by_name(msg: *mut GstRTSPMessage, header: *const c_char, value: *const c_char) -> GstRTSPResult; pub fn gst_rtsp_message_append_headers(msg: *const GstRTSPMessage, str: *mut glib::GString) -> GstRTSPResult; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_rtsp_message_copy(msg: *const GstRTSPMessage, copy: *mut *mut GstRTSPMessage) -> GstRTSPResult; pub fn gst_rtsp_message_dump(msg: *mut GstRTSPMessage) -> GstRTSPResult; pub fn gst_rtsp_message_free(msg: *mut GstRTSPMessage) -> GstRTSPResult; pub fn gst_rtsp_message_get_body(msg: *const GstRTSPMessage, data: *mut *mut u8, size: *mut c_uint) -> GstRTSPResult; @@ -854,10 +867,6 @@ extern "C" { #[cfg(any(feature = "v1_6", feature = "dox"))] pub fn gst_rtsp_message_take_header_by_name(msg: *mut GstRTSPMessage, header: *const c_char, value: *mut c_char) -> GstRTSPResult; pub fn gst_rtsp_message_unset(msg: *mut GstRTSPMessage) -> GstRTSPResult; - pub fn gst_rtsp_message_new(msg: *mut *mut GstRTSPMessage) -> GstRTSPResult; - pub fn gst_rtsp_message_new_data(msg: *mut *mut GstRTSPMessage, channel: u8) -> GstRTSPResult; - pub fn gst_rtsp_message_new_request(msg: *mut *mut GstRTSPMessage, method: GstRTSPMethod, uri: *const c_char) -> GstRTSPResult; - pub fn gst_rtsp_message_new_response(msg: *mut *mut GstRTSPMessage, code: GstRTSPStatusCode, reason: *const c_char, request: *const GstRTSPMessage) -> GstRTSPResult; //========================================================================= // GstRTSPRange @@ -938,6 +947,10 @@ extern "C" { pub fn gst_rtsp_generate_digest_auth_response(algorithm: *const c_char, method: *const c_char, realm: *const c_char, username: *const c_char, password: *const c_char, uri: *const c_char, nonce: *const c_char) -> *mut c_char; pub fn gst_rtsp_header_allow_multiple(field: GstRTSPHeaderField) -> gboolean; pub fn gst_rtsp_header_as_text(field: GstRTSPHeaderField) -> *const c_char; + pub fn gst_rtsp_message_new(msg: *mut *mut GstRTSPMessage) -> GstRTSPResult; + pub fn gst_rtsp_message_new_data(msg: *mut *mut GstRTSPMessage, channel: u8) -> GstRTSPResult; + pub fn gst_rtsp_message_new_request(msg: *mut *mut GstRTSPMessage, method: GstRTSPMethod, uri: *const c_char) -> GstRTSPResult; + pub fn gst_rtsp_message_new_response(msg: *mut *mut GstRTSPMessage, code: GstRTSPStatusCode, reason: *const c_char, request: *const GstRTSPMessage) -> GstRTSPResult; pub fn gst_rtsp_options_as_text(options: GstRTSPMethod) -> *mut c_char; #[cfg(any(feature = "v1_2", feature = "dox"))] pub fn gst_rtsp_options_from_text(options: *const c_char) -> GstRTSPMethod; diff --git a/gstreamer-sdp-sys/Cargo.toml b/gstreamer-sdp-sys/Cargo.toml index 977973bdb..a659f6d0c 100644 --- a/gstreamer-sdp-sys/Cargo.toml +++ b/gstreamer-sdp-sys/Cargo.toml @@ -18,6 +18,7 @@ v1_8 = ["v1_4"] v1_8_1 = ["v1_8"] v1_10 = ["v1_8_1"] v1_12 = ["v1_10"] +v1_14 = ["v1_12"] [lib] name = "gstreamer_sdp_sys" diff --git a/gstreamer-sdp-sys/build.rs b/gstreamer-sdp-sys/build.rs index 398348a8f..500de6cba 100644 --- a/gstreamer-sdp-sys/build.rs +++ b/gstreamer-sdp-sys/build.rs @@ -16,7 +16,9 @@ fn main() { fn find() -> Result<(), Error> { let package_name = "gstreamer-sdp-1.0"; let shared_libs = ["gstsdp-1.0"]; - let version = if cfg!(feature = "v1_12") { + let version = if cfg!(feature = "v1_14") { + "1.14" + } else if cfg!(feature = "v1_12") { "1.12" } else if cfg!(feature = "v1_10") { "1.10" diff --git a/gstreamer-sdp-sys/src/lib.rs b/gstreamer-sdp-sys/src/lib.rs index d88255054..2f9a1ca83 100644 --- a/gstreamer-sdp-sys/src/lib.rs +++ b/gstreamer-sdp-sys/src/lib.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-sys/Cargo.toml b/gstreamer-sys/Cargo.toml index 0704f25e7..b1b05b029 100644 --- a/gstreamer-sys/Cargo.toml +++ b/gstreamer-sys/Cargo.toml @@ -16,6 +16,7 @@ v1_6 = ["v1_4"] v1_8 = ["v1_6"] v1_10 = ["v1_8"] v1_12 = ["v1_10"] +v1_14 = ["v1_12"] dox = [] [lib] diff --git a/gstreamer-sys/build.rs b/gstreamer-sys/build.rs index 3970ec39e..7cb744793 100644 --- a/gstreamer-sys/build.rs +++ b/gstreamer-sys/build.rs @@ -16,7 +16,9 @@ fn main() { fn find() -> Result<(), Error> { let package_name = "gstreamer-1.0"; let shared_libs = ["gstreamer-1.0"]; - let version = if cfg!(feature = "v1_12") { + let version = if cfg!(feature = "v1_14") { + "1.14" + } else if cfg!(feature = "v1_12") { "1.12" } else if cfg!(feature = "v1_10") { "1.10" diff --git a/gstreamer-sys/src/lib.rs b/gstreamer-sys/src/lib.rs index c530e9e0e..9d923cb5b 100644 --- a/gstreamer-sys/src/lib.rs +++ b/gstreamer-sys/src/lib.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT @@ -220,6 +220,12 @@ pub const GST_PROGRESS_TYPE_COMPLETE: GstProgressType = 2; pub const GST_PROGRESS_TYPE_CANCELED: GstProgressType = 3; pub const GST_PROGRESS_TYPE_ERROR: GstProgressType = 4; +pub type GstPromiseResult = c_int; +pub const GST_PROMISE_RESULT_PENDING: GstPromiseResult = 0; +pub const GST_PROMISE_RESULT_INTERRUPTED: GstPromiseResult = 1; +pub const GST_PROMISE_RESULT_REPLIED: GstPromiseResult = 2; +pub const GST_PROMISE_RESULT_EXPIRED: GstPromiseResult = 3; + pub type GstQOSType = c_int; pub const GST_QOS_TYPE_OVERFLOW: GstQOSType = 0; pub const GST_QOS_TYPE_UNDERFLOW: GstQOSType = 1; @@ -294,6 +300,10 @@ pub const GST_STATE_CHANGE_PAUSED_TO_PLAYING: GstStateChange = 28; pub const GST_STATE_CHANGE_PLAYING_TO_PAUSED: GstStateChange = 35; pub const GST_STATE_CHANGE_PAUSED_TO_READY: GstStateChange = 26; pub const GST_STATE_CHANGE_READY_TO_NULL: GstStateChange = 17; +pub const GST_STATE_CHANGE_NULL_TO_NULL: GstStateChange = 9; +pub const GST_STATE_CHANGE_READY_TO_READY: GstStateChange = 18; +pub const GST_STATE_CHANGE_PAUSED_TO_PAUSED: GstStateChange = 27; +pub const GST_STATE_CHANGE_PLAYING_TO_PLAYING: GstStateChange = 36; pub type GstStateChangeReturn = c_int; pub const GST_STATE_CHANGE_FAILURE: GstStateChangeReturn = 0; @@ -465,6 +475,7 @@ pub const GST_FLAG_SET_MASK_EXACT: c_uint = 4294967295; pub const GST_FORMAT_PERCENT_MAX: i64 = 1000000; pub const GST_FORMAT_PERCENT_SCALE: i64 = 10000; pub const GST_FOURCC_FORMAT: *const c_char = b"c%c%c%c\0" as *const u8 as *const c_char; +pub const GST_GROUP_ID_INVALID: c_int = 0; pub const GST_LICENSE_UNKNOWN: *const c_char = b"unknown\0" as *const u8 as *const c_char; pub const GST_LOCK_FLAG_READWRITE: GstLockFlags = GstLockFlags { bits: 3 }; pub const GST_MAP_READWRITE: GstMapFlags = GstMapFlags { bits: 3 }; @@ -482,6 +493,7 @@ pub const GST_QUERY_NUM_SHIFT: c_int = 8; pub const GST_QUERY_TYPE_BOTH: GstQueryTypeFlags = GstQueryTypeFlags { bits: 3 }; pub const GST_SECOND: GstClockTimeDiff = 1000000000; pub const GST_SEGMENT_FORMAT: *const c_char = b"paB\0" as *const u8 as *const c_char; +pub const GST_SEQNUM_INVALID: c_int = 0; pub const GST_STIME_FORMAT: *const c_char = b"c%\0" as *const u8 as *const c_char; pub const GST_TAG_ALBUM: *const c_char = b"album\0" as *const u8 as *const c_char; pub const GST_TAG_ALBUM_ARTIST: *const c_char = b"album-artist\0" as *const u8 as *const c_char; @@ -578,8 +590,8 @@ pub const GST_VALUE_LESS_THAN: c_int = -1; pub const GST_VALUE_UNORDERED: c_int = 2; pub const GST_VERSION_MAJOR: c_int = 1; pub const GST_VERSION_MICRO: c_int = 1; -pub const GST_VERSION_MINOR: c_int = 12; -pub const GST_VERSION_NANO: c_int = 0; +pub const GST_VERSION_MINOR: c_int = 13; +pub const GST_VERSION_NANO: c_int = 1; // Flags bitflags! { @@ -639,6 +651,7 @@ bitflags! { const DELTA_UNIT = 8192; const TAG_MEMORY = 16384; const SYNC_AFTER = 32768; + const NON_DROPPABLE = 65536; const LAST = 1048576; } } @@ -654,6 +667,7 @@ pub const GST_BUFFER_FLAG_DROPPABLE: GstBufferFlags = GstBufferFlags::DROPPABLE; pub const GST_BUFFER_FLAG_DELTA_UNIT: GstBufferFlags = GstBufferFlags::DELTA_UNIT; pub const GST_BUFFER_FLAG_TAG_MEMORY: GstBufferFlags = GstBufferFlags::TAG_MEMORY; pub const GST_BUFFER_FLAG_SYNC_AFTER: GstBufferFlags = GstBufferFlags::SYNC_AFTER; +pub const GST_BUFFER_FLAG_NON_DROPPABLE: GstBufferFlags = GstBufferFlags::NON_DROPPABLE; pub const GST_BUFFER_FLAG_LAST: GstBufferFlags = GstBufferFlags::LAST; bitflags! { @@ -1124,6 +1138,7 @@ bitflags! { const PATHS_ARE_DEFAULT_ONLY = 2; const FILE_NAME_IS_SUFFIX = 4; const FILE_NAME_IS_PREFIX = 8; + const PATHS_ARE_RELATIVE_TO_EXE = 16; } } pub const GST_PLUGIN_DEPENDENCY_FLAG_NONE: GstPluginDependencyFlags = GstPluginDependencyFlags::NONE; @@ -1131,6 +1146,7 @@ pub const GST_PLUGIN_DEPENDENCY_FLAG_RECURSE: GstPluginDependencyFlags = GstPlug pub const GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY: GstPluginDependencyFlags = GstPluginDependencyFlags::PATHS_ARE_DEFAULT_ONLY; pub const GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX: GstPluginDependencyFlags = GstPluginDependencyFlags::FILE_NAME_IS_SUFFIX; pub const GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_PREFIX: GstPluginDependencyFlags = GstPluginDependencyFlags::FILE_NAME_IS_PREFIX; +pub const GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_RELATIVE_TO_EXE: GstPluginDependencyFlags = GstPluginDependencyFlags::PATHS_ARE_RELATIVE_TO_EXE; bitflags! { #[repr(C)] @@ -1299,6 +1315,22 @@ impl ::std::fmt::Debug for GstPadProbeInfo_ABI { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub union GstPadTemplate_ABI { + pub _gst_reserved: [gpointer; 4], + pub abi: GstPadTemplate_ABI_abi, +} + +impl ::std::fmt::Debug for GstPadTemplate_ABI { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstPadTemplate_ABI @ {:?}", self as *const _)) + .field("_gst_reserved", unsafe { &self._gst_reserved }) + .field("abi", unsafe { &self.abi }) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub union GstPad_ABI { @@ -1329,6 +1361,7 @@ pub type GstControlSourceGetValue = Option gboolean>; pub type GstDebugFuncPtr = Option; pub type GstElementCallAsyncFunc = Option; +pub type GstElementForeachPadFunc = Option gboolean>; pub type GstIteratorCopyFunction = Option; pub type GstIteratorFoldFunction = Option gboolean>; pub type GstIteratorForeachFunction = Option; @@ -1369,6 +1402,7 @@ pub type GstPluginFeatureFilter = Option gboolean>; pub type GstPluginInitFullFunc = Option gboolean>; pub type GstPluginInitFunc = Option gboolean>; +pub type GstPromiseChangeFunc = Option; pub type GstStructureFilterMapFunc = Option gboolean>; pub type GstStructureForeachFunc = Option gboolean>; pub type GstStructureMapFunc = Option gboolean>; @@ -2386,6 +2420,20 @@ impl ::std::fmt::Debug for GstPadTemplateClass { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstPadTemplate_ABI_abi { + pub gtype: GType, +} + +impl ::std::fmt::Debug for GstPadTemplate_ABI_abi { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstPadTemplate_ABI_abi @ {:?}", self as *const _)) + .field("gtype", &self.gtype) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstPad_ABI_abi { @@ -2606,6 +2654,20 @@ impl ::std::fmt::Debug for GstPresetInterface { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstPromise { + pub parent: GstMiniObject, +} + +impl ::std::fmt::Debug for GstPromise { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstPromise @ {:?}", self as *const _)) + .field("parent", &self.parent) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstProtectionMeta { @@ -2663,6 +2725,26 @@ impl ::std::fmt::Debug for GstQuery { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstReferenceTimestampMeta { + pub parent: GstMeta, + pub reference: *mut GstCaps, + pub timestamp: GstClockTime, + pub duration: GstClockTime, +} + +impl ::std::fmt::Debug for GstReferenceTimestampMeta { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstReferenceTimestampMeta @ {:?}", self as *const _)) + .field("parent", &self.parent) + .field("reference", &self.reference) + .field("timestamp", &self.timestamp) + .field("duration", &self.duration) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstRegistryClass { @@ -3593,7 +3675,7 @@ pub struct GstPadTemplate { pub direction: GstPadDirection, pub presence: GstPadPresence, pub caps: *mut GstCaps, - pub _gst_reserved: [gpointer; 4], + pub ABI: GstPadTemplate_ABI, } impl ::std::fmt::Debug for GstPadTemplate { @@ -3604,6 +3686,7 @@ impl ::std::fmt::Debug for GstPadTemplate { .field("direction", &self.direction) .field("presence", &self.presence) .field("caps", &self.caps) + .field("ABI", &self.ABI) .finish() } } @@ -3712,7 +3795,6 @@ pub struct GstStream { impl ::std::fmt::Debug for GstStream { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GstStream @ {:?}", self as *const _)) - .field("object", &self.object) .field("stream_id", &self.stream_id) .finish() } @@ -3730,7 +3812,6 @@ pub struct GstStreamCollection { impl ::std::fmt::Debug for GstStreamCollection { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GstStreamCollection @ {:?}", self as *const _)) - .field("object", &self.object) .finish() } } @@ -4043,6 +4124,11 @@ extern "C" { //========================================================================= pub fn gst_progress_type_get_type() -> GType; + //========================================================================= + // GstPromiseResult + //========================================================================= + pub fn gst_promise_result_get_type() -> GType; + //========================================================================= // GstQOSType //========================================================================= @@ -4086,6 +4172,8 @@ extern "C" { // GstStateChange //========================================================================= pub fn gst_state_change_get_type() -> GType; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_state_change_get_name(transition: GstStateChange) -> *const c_char; //========================================================================= // GstStateChangeReturn @@ -4377,6 +4465,8 @@ extern "C" { pub fn gst_buffer_add_parent_buffer_meta(buffer: *mut GstBuffer, ref_: *mut GstBuffer) -> *mut GstParentBufferMeta; #[cfg(any(feature = "v1_6", feature = "dox"))] pub fn gst_buffer_add_protection_meta(buffer: *mut GstBuffer, info: *mut GstStructure) -> *mut GstProtectionMeta; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_buffer_add_reference_timestamp_meta(buffer: *mut GstBuffer, reference: *mut GstCaps, timestamp: GstClockTime, duration: GstClockTime) -> *mut GstReferenceTimestampMeta; pub fn gst_buffer_append(buf1: *mut GstBuffer, buf2: *mut GstBuffer) -> *mut GstBuffer; pub fn gst_buffer_append_memory(buffer: *mut GstBuffer, mem: *mut GstMemory); pub fn gst_buffer_append_region(buf1: *mut GstBuffer, buf2: *mut GstBuffer, offset: ssize_t, size: ssize_t) -> *mut GstBuffer; @@ -4396,6 +4486,10 @@ extern "C" { pub fn gst_buffer_get_memory(buffer: *mut GstBuffer, idx: c_uint) -> *mut GstMemory; pub fn gst_buffer_get_memory_range(buffer: *mut GstBuffer, idx: c_uint, length: c_int) -> *mut GstMemory; pub fn gst_buffer_get_meta(buffer: *mut GstBuffer, api: GType) -> *mut GstMeta; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_buffer_get_n_meta(buffer: *mut GstBuffer, api_type: GType) -> c_uint; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_buffer_get_reference_timestamp_meta(buffer: *mut GstBuffer, reference: *mut GstCaps) -> *mut GstReferenceTimestampMeta; pub fn gst_buffer_get_size(buffer: *mut GstBuffer) -> size_t; pub fn gst_buffer_get_sizes(buffer: *mut GstBuffer, offset: *mut size_t, maxsize: *mut size_t) -> size_t; pub fn gst_buffer_get_sizes_range(buffer: *mut GstBuffer, idx: c_uint, length: c_int, offset: *mut size_t, maxsize: *mut size_t) -> size_t; @@ -4439,10 +4533,14 @@ extern "C" { pub fn gst_buffer_list_get_type() -> GType; pub fn gst_buffer_list_new() -> *mut GstBufferList; pub fn gst_buffer_list_new_sized(size: c_uint) -> *mut GstBufferList; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_buffer_list_calculate_size(list: *mut GstBufferList) -> size_t; #[cfg(any(feature = "v1_6", feature = "dox"))] pub fn gst_buffer_list_copy_deep(list: *const GstBufferList) -> *mut GstBufferList; pub fn gst_buffer_list_foreach(list: *mut GstBufferList, func: GstBufferListFunc, user_data: gpointer) -> gboolean; pub fn gst_buffer_list_get(list: *mut GstBufferList, idx: c_uint) -> *mut GstBuffer; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_buffer_list_get_writable(list: *mut GstBufferList, idx: c_uint) -> *mut GstBuffer; pub fn gst_buffer_list_insert(list: *mut GstBufferList, idx: c_int, buffer: *mut GstBuffer); pub fn gst_buffer_list_length(list: *mut GstBufferList) -> c_uint; pub fn gst_buffer_list_remove(list: *mut GstBufferList, idx: c_uint, length: c_uint); @@ -4642,6 +4740,8 @@ extern "C" { pub fn gst_element_class_add_static_metadata(klass: *mut GstElementClass, key: *const c_char, value: *const c_char); #[cfg(any(feature = "v1_8", feature = "dox"))] pub fn gst_element_class_add_static_pad_template(klass: *mut GstElementClass, static_templ: *mut GstStaticPadTemplate); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_element_class_add_static_pad_template_with_gtype(klass: *mut GstElementClass, static_templ: *mut GstStaticPadTemplate, pad_type: GType); pub fn gst_element_class_get_metadata(klass: *mut GstElementClass, key: *const c_char) -> *const c_char; pub fn gst_element_class_get_pad_template(element_class: *mut GstElementClass, name: *const c_char) -> *mut GstPadTemplate; pub fn gst_element_class_get_pad_template_list(element_class: *mut GstElementClass) -> *mut glib::GList; @@ -4885,6 +4985,8 @@ extern "C" { pub fn gst_message_streams_selected_get_size(message: *mut GstMessage) -> c_uint; #[cfg(any(feature = "v1_10", feature = "dox"))] pub fn gst_message_streams_selected_get_stream(message: *mut GstMessage, idx: c_uint) -> *mut GstStream; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_message_writable_structure(message: *mut GstMessage) -> *mut GstStructure; //========================================================================= // GstMeta @@ -4967,6 +5069,25 @@ extern "C" { //========================================================================= pub fn gst_poll_fd_init(fd: *mut GstPollFD); + //========================================================================= + // GstPromise + //========================================================================= + pub fn gst_promise_get_type() -> GType; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_promise_new() -> *mut GstPromise; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_promise_new_with_change_func(func: GstPromiseChangeFunc, user_data: gpointer, notify: glib::GDestroyNotify) -> *mut GstPromise; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_promise_expire(promise: *mut GstPromise); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_promise_get_reply(promise: *mut GstPromise) -> *const GstStructure; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_promise_interrupt(promise: *mut GstPromise); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_promise_reply(promise: *mut GstPromise, s: *mut GstStructure); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_promise_wait(promise: *mut GstPromise) -> GstPromiseResult; + //========================================================================= // GstProtectionMeta //========================================================================= @@ -5068,6 +5189,12 @@ extern "C" { pub fn gst_query_set_uri_redirection_permanent(query: *mut GstQuery, permanent: gboolean); pub fn gst_query_writable_structure(query: *mut GstQuery) -> *mut GstStructure; + //========================================================================= + // GstReferenceTimestampMeta + //========================================================================= + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_reference_timestamp_meta_get_info() -> *const GstMetaInfo; + //========================================================================= // GstSample //========================================================================= @@ -5479,6 +5606,8 @@ extern "C" { pub fn gst_bus_create_watch(bus: *mut GstBus) -> *mut glib::GSource; pub fn gst_bus_disable_sync_message_emission(bus: *mut GstBus); pub fn gst_bus_enable_sync_message_emission(bus: *mut GstBus); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_bus_get_pollfd(bus: *mut GstBus, fd: *mut glib::GPollFD); pub fn gst_bus_have_pending(bus: *mut GstBus) -> gboolean; pub fn gst_bus_peek(bus: *mut GstBus) -> *mut GstMessage; pub fn gst_bus_poll(bus: *mut GstBus, events: GstMessageType, timeout: GstClockTime) -> *mut GstMessage; @@ -5619,6 +5748,8 @@ extern "C" { pub fn gst_device_provider_get_factory(provider: *mut GstDeviceProvider) -> *mut GstDeviceProviderFactory; #[cfg(any(feature = "v1_6", feature = "dox"))] pub fn gst_device_provider_get_hidden_providers(provider: *mut GstDeviceProvider) -> *mut *mut c_char; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_device_provider_get_metadata(provider: *mut GstDeviceProvider, key: *const c_char) -> *const c_char; #[cfg(any(feature = "v1_6", feature = "dox"))] pub fn gst_device_provider_hide_provider(provider: *mut GstDeviceProvider, name: *const c_char); #[cfg(any(feature = "v1_4", feature = "dox"))] @@ -5681,6 +5812,12 @@ extern "C" { pub fn gst_element_change_state(element: *mut GstElement, transition: GstStateChange) -> GstStateChangeReturn; pub fn gst_element_continue_state(element: *mut GstElement, ret: GstStateChangeReturn) -> GstStateChangeReturn; pub fn gst_element_create_all_pads(element: *mut GstElement); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_element_foreach_pad(element: *mut GstElement, func: GstElementForeachPadFunc, user_data: gpointer) -> gboolean; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_element_foreach_sink_pad(element: *mut GstElement, func: GstElementForeachPadFunc, user_data: gpointer) -> gboolean; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_element_foreach_src_pad(element: *mut GstElement, func: GstElementForeachPadFunc, user_data: gpointer) -> gboolean; pub fn gst_element_get_base_time(element: *mut GstElement) -> GstClockTime; pub fn gst_element_get_bus(element: *mut GstElement) -> *mut GstBus; pub fn gst_element_get_clock(element: *mut GstElement) -> *mut GstClock; @@ -5693,6 +5830,12 @@ extern "C" { #[cfg(any(feature = "v1_8", feature = "dox"))] pub fn gst_element_get_contexts(element: *mut GstElement) -> *mut glib::GList; pub fn gst_element_get_factory(element: *mut GstElement) -> *mut GstElementFactory; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_element_get_metadata(element: *mut GstElement, key: *const c_char) -> *const c_char; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_element_get_pad_template(element: *mut GstElement, name: *const c_char) -> *mut GstPadTemplate; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_element_get_pad_template_list(element: *mut GstElement) -> *mut glib::GList; pub fn gst_element_get_request_pad(element: *mut GstElement, name: *const c_char) -> *mut GstPad; pub fn gst_element_get_start_time(element: *mut GstElement) -> GstClockTime; pub fn gst_element_get_state(element: *mut GstElement, state: *mut GstState, pending: *mut GstState, timeout: GstClockTime) -> GstStateChangeReturn; @@ -5941,6 +6084,10 @@ extern "C" { //========================================================================= pub fn gst_pad_template_get_type() -> GType; pub fn gst_pad_template_new(name_template: *const c_char, direction: GstPadDirection, presence: GstPadPresence, caps: *mut GstCaps) -> *mut GstPadTemplate; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_pad_template_new_from_static_pad_template_with_gtype(pad_template: *mut GstStaticPadTemplate, pad_type: GType) -> *mut GstPadTemplate; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_pad_template_new_with_gtype(name_template: *const c_char, direction: GstPadDirection, presence: GstPadPresence, caps: *mut GstCaps, pad_type: GType) -> *mut GstPadTemplate; pub fn gst_pad_template_get_caps(templ: *mut GstPadTemplate) -> *mut GstCaps; pub fn gst_pad_template_pad_created(templ: *mut GstPadTemplate, pad: *mut GstPad); @@ -5981,14 +6128,14 @@ extern "C" { pub fn gst_plugin_get_type() -> GType; pub fn gst_plugin_list_free(list: *mut glib::GList); pub fn gst_plugin_load_by_name(name: *const c_char) -> *mut GstPlugin; - pub fn gst_plugin_load_file(filename: *const c_char, error: *mut *mut glib::GError) -> *mut GstPlugin; + pub fn gst_plugin_load_file(filename: *mut c_char, error: *mut *mut glib::GError) -> *mut GstPlugin; pub fn gst_plugin_register_static(major_version: c_int, minor_version: c_int, name: *const c_char, description: *const c_char, init_func: GstPluginInitFunc, version: *const c_char, license: *const c_char, source: *const c_char, package: *const c_char, origin: *const c_char) -> gboolean; pub fn gst_plugin_register_static_full(major_version: c_int, minor_version: c_int, name: *const c_char, description: *const c_char, init_full_func: GstPluginInitFullFunc, version: *const c_char, license: *const c_char, source: *const c_char, package: *const c_char, origin: *const c_char, user_data: gpointer) -> gboolean; pub fn gst_plugin_add_dependency(plugin: *mut GstPlugin, env_vars: *mut *mut c_char, paths: *mut *mut c_char, names: *mut *mut c_char, flags: GstPluginDependencyFlags); pub fn gst_plugin_add_dependency_simple(plugin: *mut GstPlugin, env_vars: *const c_char, paths: *const c_char, names: *const c_char, flags: GstPluginDependencyFlags); pub fn gst_plugin_get_cache_data(plugin: *mut GstPlugin) -> *const GstStructure; pub fn gst_plugin_get_description(plugin: *mut GstPlugin) -> *const c_char; - pub fn gst_plugin_get_filename(plugin: *mut GstPlugin) -> *const c_char; + pub fn gst_plugin_get_filename(plugin: *mut GstPlugin) -> *mut c_char; pub fn gst_plugin_get_license(plugin: *mut GstPlugin) -> *const c_char; pub fn gst_plugin_get_name(plugin: *mut GstPlugin) -> *const c_char; pub fn gst_plugin_get_origin(plugin: *mut GstPlugin) -> *const c_char; @@ -6048,7 +6195,7 @@ extern "C" { pub fn gst_registry_plugin_filter(registry: *mut GstRegistry, filter: GstPluginFilter, first: gboolean, user_data: gpointer) -> *mut glib::GList; pub fn gst_registry_remove_feature(registry: *mut GstRegistry, feature: *mut GstPluginFeature); pub fn gst_registry_remove_plugin(registry: *mut GstRegistry, plugin: *mut GstPlugin); - pub fn gst_registry_scan_path(registry: *mut GstRegistry, path: *const c_char) -> gboolean; + pub fn gst_registry_scan_path(registry: *mut GstRegistry, path: *mut c_char) -> gboolean; //========================================================================= // GstStream @@ -6137,6 +6284,8 @@ extern "C" { pub fn gst_tracer_factory_get_type() -> GType; #[cfg(any(feature = "v1_8", feature = "dox"))] pub fn gst_tracer_factory_get_list() -> *mut glib::GList; + #[cfg(any(feature = "v1_8", feature = "dox"))] + pub fn gst_tracer_factory_get_tracer_type(factory: *mut GstTracerFactory) -> GType; //========================================================================= // GstTracerRecord @@ -6249,6 +6398,8 @@ extern "C" { #[cfg(any(feature = "v1_12", feature = "dox"))] pub fn gst_calculate_linear_regression(xy: *const GstClockTime, temp: *mut GstClockTime, n: c_uint, m_num: *mut GstClockTime, m_denom: *mut GstClockTime, b: *mut GstClockTime, xbase: *mut GstClockTime, r_squared: *mut c_double) -> gboolean; pub fn gst_debug_add_log_function(func: GstLogFunction, user_data: gpointer, notify: glib::GDestroyNotify); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_debug_add_ring_buffer_logger(max_size_per_thread: c_uint, thread_timeout: c_uint); pub fn gst_debug_bin_to_dot_data(bin: *mut GstBin, details: GstDebugGraphDetails) -> *mut c_char; pub fn gst_debug_bin_to_dot_file(bin: *mut GstBin, details: GstDebugGraphDetails, file_name: *const c_char); pub fn gst_debug_bin_to_dot_file_with_ts(bin: *mut GstBin, details: GstDebugGraphDetails, file_name: *const c_char); @@ -6268,6 +6419,10 @@ extern "C" { pub fn gst_debug_print_stack_trace(); pub fn gst_debug_remove_log_function(func: GstLogFunction) -> c_uint; pub fn gst_debug_remove_log_function_by_data(data: gpointer) -> c_uint; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_debug_remove_ring_buffer_logger(); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_debug_ring_buffer_logger_get_logs() -> *mut *mut c_char; pub fn gst_debug_set_active(active: gboolean); #[cfg(any(feature = "v1_2", feature = "dox"))] pub fn gst_debug_set_color_mode(mode: GstDebugColorMode); @@ -6286,6 +6441,8 @@ extern "C" { pub fn gst_flow_get_name(ret: GstFlowReturn) -> *const c_char; pub fn gst_flow_to_quark(ret: GstFlowReturn) -> glib::GQuark; pub fn gst_formats_contains(formats: *mut GstFormat, format: GstFormat) -> gboolean; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_get_main_executable_path() -> *const c_char; #[cfg(any(feature = "v1_8", feature = "dox"))] pub fn gst_info_strdup_printf(format: *const c_char, ...) -> *mut c_char; //#[cfg(any(feature = "v1_8", feature = "dox"))] @@ -6298,6 +6455,7 @@ extern "C" { pub fn gst_is_caps_features(obj: gconstpointer) -> gboolean; pub fn gst_is_initialized() -> gboolean; pub fn gst_make_element_message_details(name: *const c_char, ...) -> *mut GstStructure; + #[cfg(any(feature = "v1_14", feature = "dox"))] pub fn gst_param_spec_array(name: *const c_char, nick: *const c_char, blurb: *const c_char, element_spec: *mut gobject::GParamSpec, flags: gobject::GParamFlags) -> *mut gobject::GParamSpec; pub fn gst_param_spec_fraction(name: *const c_char, nick: *const c_char, blurb: *const c_char, min_num: c_int, min_denom: c_int, max_num: c_int, max_denom: c_int, default_num: c_int, default_denom: c_int, flags: gobject::GParamFlags) -> *mut gobject::GParamSpec; pub fn gst_parent_buffer_meta_api_get_type() -> GType; @@ -6315,9 +6473,12 @@ extern "C" { pub fn gst_printerrln(format: *const c_char, ...); #[cfg(any(feature = "v1_12", feature = "dox"))] pub fn gst_println(format: *const c_char, ...); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_protection_filter_systems_by_available_decryptors(system_identifiers: *mut *const c_char) -> *mut *mut c_char; pub fn gst_protection_meta_api_get_type() -> GType; #[cfg(any(feature = "v1_6", feature = "dox"))] pub fn gst_protection_select_system(system_identifiers: *mut *mut c_char) -> *const c_char; + pub fn gst_reference_timestamp_meta_api_get_type() -> GType; pub fn gst_segtrap_is_enabled() -> gboolean; pub fn gst_segtrap_set_enabled(enabled: gboolean); pub fn gst_static_caps_get_type() -> GType; @@ -6336,6 +6497,8 @@ extern "C" { pub fn gst_update_registry() -> gboolean; pub fn gst_util_array_binary_search(array: gpointer, num_elements: c_uint, element_size: size_t, search_func: glib::GCompareDataFunc, mode: GstSearchMode, search_data: gconstpointer, user_data: gpointer) -> gpointer; pub fn gst_util_double_to_fraction(src: c_double, dest_n: *mut c_int, dest_d: *mut c_int); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_util_dump_buffer(buf: *mut GstBuffer); pub fn gst_util_dump_mem(mem: *const u8, size: c_uint); pub fn gst_util_fraction_add(a_n: c_int, a_d: c_int, b_n: c_int, b_d: c_int, res_n: *mut c_int, res_d: *mut c_int) -> gboolean; pub fn gst_util_fraction_compare(a_n: c_int, a_d: c_int, b_n: c_int, b_d: c_int) -> c_int; diff --git a/gstreamer-tag-sys/Cargo.toml b/gstreamer-tag-sys/Cargo.toml index 126f66682..1a0bca1a0 100644 --- a/gstreamer-tag-sys/Cargo.toml +++ b/gstreamer-tag-sys/Cargo.toml @@ -19,6 +19,7 @@ v1_6 = ["v1_4"] v1_8 = ["v1_6"] v1_10 = ["v1_8"] v1_12 = ["v1_10"] +v1_14 = ["v1_12"] dox = [] [lib] diff --git a/gstreamer-tag-sys/build.rs b/gstreamer-tag-sys/build.rs index 346d812ae..4ba334e08 100644 --- a/gstreamer-tag-sys/build.rs +++ b/gstreamer-tag-sys/build.rs @@ -16,7 +16,9 @@ fn main() { fn find() -> Result<(), Error> { let package_name = "gstreamer-tag-1.0"; let shared_libs = ["gsttag-1.0"]; - let version = if cfg!(feature = "v1_12") { + let version = if cfg!(feature = "v1_14") { + "1.14" + } else if cfg!(feature = "v1_12") { "1.12" } else if cfg!(feature = "v1_10") { "1.10" diff --git a/gstreamer-tag-sys/src/lib.rs b/gstreamer-tag-sys/src/lib.rs index 649f1657d..8d6e35b3d 100644 --- a/gstreamer-tag-sys/src/lib.rs +++ b/gstreamer-tag-sys/src/lib.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-video-sys/Cargo.toml b/gstreamer-video-sys/Cargo.toml index 69e43d890..5b0a8157f 100644 --- a/gstreamer-video-sys/Cargo.toml +++ b/gstreamer-video-sys/Cargo.toml @@ -22,6 +22,7 @@ v1_6 = ["v1_4"] v1_8 = ["v1_6"] v1_10 = ["v1_8"] v1_12 = ["v1_10"] +v1_14 = ["v1_12"] dox = [] [lib] diff --git a/gstreamer-video-sys/build.rs b/gstreamer-video-sys/build.rs index ce135b146..5c508cc15 100644 --- a/gstreamer-video-sys/build.rs +++ b/gstreamer-video-sys/build.rs @@ -16,7 +16,9 @@ fn main() { fn find() -> Result<(), Error> { let package_name = "gstreamer-video-1.0"; let shared_libs = ["gstvideo-1.0"]; - let version = if cfg!(feature = "v1_12") { + let version = if cfg!(feature = "v1_14") { + "1.14" + } else if cfg!(feature = "v1_12") { "1.12" } else if cfg!(feature = "v1_10") { "1.10" diff --git a/gstreamer-video-sys/src/lib.rs b/gstreamer-video-sys/src/lib.rs index 0dfbf9e6d..90cf6ef69 100644 --- a/gstreamer-video-sys/src/lib.rs +++ b/gstreamer-video-sys/src/lib.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT @@ -193,6 +193,9 @@ pub const GST_VIDEO_FORMAT_I422_12BE: GstVideoFormat = 74; pub const GST_VIDEO_FORMAT_I422_12LE: GstVideoFormat = 75; pub const GST_VIDEO_FORMAT_Y444_12BE: GstVideoFormat = 76; pub const GST_VIDEO_FORMAT_Y444_12LE: GstVideoFormat = 77; +pub const GST_VIDEO_FORMAT_GRAY10_LE32: GstVideoFormat = 78; +pub const GST_VIDEO_FORMAT_NV12_10LE32: GstVideoFormat = 79; +pub const GST_VIDEO_FORMAT_NV16_10LE32: GstVideoFormat = 80; pub type GstVideoGLTextureOrientation = c_int; pub const GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL: GstVideoGLTextureOrientation = 0; @@ -358,7 +361,7 @@ pub const GST_VIDEO_DECODER_SINK_NAME: *const c_char = b"sink\0" as *const u8 as pub const GST_VIDEO_DECODER_SRC_NAME: *const c_char = b"src\0" as *const u8 as *const c_char; pub const GST_VIDEO_ENCODER_SINK_NAME: *const c_char = b"sink\0" as *const u8 as *const c_char; pub const GST_VIDEO_ENCODER_SRC_NAME: *const c_char = b"src\0" as *const u8 as *const c_char; -pub const GST_VIDEO_FORMATS_ALL: *const c_char = b"{ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE }\0" as *const u8 as *const c_char; +pub const GST_VIDEO_FORMATS_ALL: *const c_char = b"{ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32 }\0" as *const u8 as *const c_char; pub const GST_VIDEO_FPS_RANGE: *const c_char = b"(fraction) [ 0, max ]\0" as *const u8 as *const c_char; pub const GST_VIDEO_MAX_COMPONENTS: c_int = 4; pub const GST_VIDEO_MAX_PLANES: c_int = 4; @@ -1388,6 +1391,16 @@ impl ::std::fmt::Debug for GstVideoOverlayInterface { } } +#[repr(C)] +pub struct GstVideoOverlayProperties(c_void); + +impl ::std::fmt::Debug for GstVideoOverlayProperties { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstVideoOverlayProperties @ {:?}", self as *const _)) + .finish() + } +} + #[repr(C)] pub struct GstVideoOverlayRectangle(c_void); @@ -1429,6 +1442,7 @@ pub struct GstVideoRegionOfInterestMeta { pub y: c_uint, pub w: c_uint, pub h: c_uint, + pub params: *mut glib::GList, } impl ::std::fmt::Debug for GstVideoRegionOfInterestMeta { @@ -1442,6 +1456,7 @@ impl ::std::fmt::Debug for GstVideoRegionOfInterestMeta { .field("y", &self.y) .field("w", &self.w) .field("h", &self.h) + .field("params", &self.params) .finish() } } @@ -2134,6 +2149,10 @@ extern "C" { //========================================================================= // GstVideoRegionOfInterestMeta //========================================================================= + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_video_region_of_interest_meta_add_param(meta: *mut GstVideoRegionOfInterestMeta, s: *mut gst::GstStructure); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_video_region_of_interest_meta_get_param(meta: *mut GstVideoRegionOfInterestMeta, name: *const c_char) -> *mut gst::GstStructure; pub fn gst_video_region_of_interest_meta_get_info() -> *const gst::GstMetaInfo; //========================================================================= @@ -2288,8 +2307,12 @@ extern "C" { pub fn gst_video_encoder_get_frame(encoder: *mut GstVideoEncoder, frame_number: c_int) -> *mut GstVideoCodecFrame; pub fn gst_video_encoder_get_frames(encoder: *mut GstVideoEncoder) -> *mut glib::GList; pub fn gst_video_encoder_get_latency(encoder: *mut GstVideoEncoder, min_latency: *mut gst::GstClockTime, max_latency: *mut gst::GstClockTime); + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_video_encoder_get_max_encode_time(encoder: *mut GstVideoEncoder, frame: *mut GstVideoCodecFrame) -> gst::GstClockTimeDiff; pub fn gst_video_encoder_get_oldest_frame(encoder: *mut GstVideoEncoder) -> *mut GstVideoCodecFrame; pub fn gst_video_encoder_get_output_state(encoder: *mut GstVideoEncoder) -> *mut GstVideoCodecState; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_video_encoder_is_qos_enabled(encoder: *mut GstVideoEncoder) -> gboolean; pub fn gst_video_encoder_merge_tags(encoder: *mut GstVideoEncoder, tags: *const gst::GstTagList, mode: gst::GstTagMergeMode); pub fn gst_video_encoder_negotiate(encoder: *mut GstVideoEncoder) -> gboolean; pub fn gst_video_encoder_proxy_getcaps(enc: *mut GstVideoEncoder, caps: *mut gst::GstCaps, filter: *mut gst::GstCaps) -> *mut gst::GstCaps; @@ -2297,6 +2320,8 @@ extern "C" { pub fn gst_video_encoder_set_latency(encoder: *mut GstVideoEncoder, min_latency: gst::GstClockTime, max_latency: gst::GstClockTime); pub fn gst_video_encoder_set_min_pts(encoder: *mut GstVideoEncoder, min_pts: gst::GstClockTime); pub fn gst_video_encoder_set_output_state(encoder: *mut GstVideoEncoder, caps: *mut gst::GstCaps, reference: *mut GstVideoCodecState) -> *mut GstVideoCodecState; + #[cfg(any(feature = "v1_14", feature = "dox"))] + pub fn gst_video_encoder_set_qos_enabled(encoder: *mut GstVideoEncoder, enabled: gboolean); //========================================================================= // GstVideoFilter @@ -2379,6 +2404,8 @@ extern "C" { // GstVideoOverlay //========================================================================= pub fn gst_video_overlay_get_type() -> GType; + pub fn gst_video_overlay_install_properties(oclass: *mut gobject::GObjectClass, last_prop_id: c_int); + pub fn gst_video_overlay_set_property(object: *mut gobject::GObject, last_prop_id: c_int, property_id: c_uint, value: *const gobject::GValue) -> gboolean; pub fn gst_video_overlay_expose(overlay: *mut GstVideoOverlay); pub fn gst_video_overlay_got_window_handle(overlay: *mut GstVideoOverlay, handle: uintptr_t); pub fn gst_video_overlay_handle_events(overlay: *mut GstVideoOverlay, handle_events: gboolean);