From 510e4cd2b184576101871f031dd8ee936385d136 Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Sat, 17 Apr 2021 12:11:52 +0200 Subject: [PATCH] Regenerate with 1.19.1 updates --- gstreamer-app/src/auto/app_src.rs | 222 ++++++++++++++++ gstreamer-app/src/auto/enums.rs | 88 +++++++ gstreamer-app/src/auto/mod.rs | 3 + gstreamer-app/src/auto/versions.txt | 2 +- gstreamer-app/sys/build.rs | 2 +- gstreamer-app/sys/src/lib.rs | 38 ++- gstreamer-app/sys/tests/abi.rs | 12 +- gstreamer-app/sys/tests/constant.c | 5 +- gstreamer-app/sys/tests/layout.c | 3 +- gstreamer-audio/src/auto/audio_decoder.rs | 2 +- gstreamer-audio/src/auto/audio_encoder.rs | 2 +- .../src/auto/audio_stream_align.rs | 16 +- gstreamer-audio/src/auto/versions.txt | 2 +- gstreamer-audio/sys/build.rs | 2 +- gstreamer-audio/sys/src/lib.rs | 86 +++++-- gstreamer-audio/sys/tests/abi.rs | 9 +- gstreamer-audio/sys/tests/constant.c | 2 +- gstreamer-audio/sys/tests/layout.c | 3 +- gstreamer-base/src/auto/versions.txt | 2 +- gstreamer-base/sys/build.rs | 2 +- gstreamer-base/sys/src/lib.rs | 2 +- gstreamer-base/sys/tests/abi.rs | 2 +- gstreamer-base/sys/tests/constant.c | 2 +- gstreamer-base/sys/tests/layout.c | 2 +- gstreamer-check/src/auto/versions.txt | 2 +- gstreamer-check/sys/build.rs | 2 +- gstreamer-check/sys/src/lib.rs | 5 +- gstreamer-check/sys/tests/abi.rs | 2 +- gstreamer-check/sys/tests/constant.c | 2 +- gstreamer-check/sys/tests/layout.c | 2 +- gstreamer-controller/src/auto/versions.txt | 2 +- gstreamer-controller/sys/build.rs | 2 +- gstreamer-controller/sys/src/lib.rs | 2 +- gstreamer-controller/sys/tests/abi.rs | 2 +- gstreamer-controller/sys/tests/constant.c | 2 +- gstreamer-controller/sys/tests/layout.c | 2 +- .../src/auto/track_element.rs | 4 +- .../src/auto/versions.txt | 2 +- gstreamer-editing-services/sys/build.rs | 2 +- gstreamer-editing-services/sys/src/lib.rs | 15 +- gstreamer-editing-services/sys/tests/abi.rs | 6 +- .../sys/tests/constant.c | 2 +- gstreamer-editing-services/sys/tests/layout.c | 2 +- gstreamer-gl/egl/src/auto/versions.txt | 2 +- gstreamer-gl/egl/sys/build.rs | 2 +- gstreamer-gl/egl/sys/src/lib.rs | 2 +- gstreamer-gl/egl/sys/tests/abi.rs | 2 +- gstreamer-gl/egl/sys/tests/constant.c | 2 +- gstreamer-gl/egl/sys/tests/layout.c | 2 +- gstreamer-gl/src/auto/enums.rs | 101 +++++++- gstreamer-gl/src/auto/flags.rs | 101 ++++++++ gstreamer-gl/src/auto/gl_allocation_params.rs | 2 +- gstreamer-gl/src/auto/gl_context.rs | 32 +++ gstreamer-gl/src/auto/gl_display.rs | 9 + .../src/auto/gl_video_allocation_params.rs | 14 +- gstreamer-gl/src/auto/mod.rs | 6 + gstreamer-gl/src/auto/versions.txt | 2 +- gstreamer-gl/sys/build.rs | 2 +- gstreamer-gl/sys/src/lib.rs | 142 ++++++++--- gstreamer-gl/sys/tests/abi.rs | 27 +- gstreamer-gl/sys/tests/constant.c | 13 +- gstreamer-gl/sys/tests/layout.c | 4 +- gstreamer-gl/wayland/src/auto/versions.txt | 2 +- gstreamer-gl/wayland/sys/build.rs | 2 +- gstreamer-gl/wayland/sys/src/lib.rs | 2 +- gstreamer-gl/wayland/sys/tests/abi.rs | 2 +- gstreamer-gl/wayland/sys/tests/constant.c | 2 +- gstreamer-gl/wayland/sys/tests/layout.c | 2 +- gstreamer-gl/x11/src/auto/versions.txt | 2 +- gstreamer-gl/x11/sys/build.rs | 2 +- gstreamer-gl/x11/sys/src/lib.rs | 2 +- gstreamer-gl/x11/sys/tests/abi.rs | 2 +- gstreamer-gl/x11/sys/tests/constant.c | 2 +- gstreamer-gl/x11/sys/tests/layout.c | 2 +- gstreamer-mpegts/sys/build.rs | 2 +- gstreamer-mpegts/sys/src/lib.rs | 236 +++++++++++++++++- gstreamer-mpegts/sys/tests/abi.rs | 138 +++++++++- gstreamer-mpegts/sys/tests/constant.c | 59 ++++- gstreamer-mpegts/sys/tests/layout.c | 9 +- gstreamer-net/src/auto/versions.txt | 2 +- gstreamer-net/sys/build.rs | 2 +- gstreamer-net/sys/src/lib.rs | 2 +- gstreamer-net/sys/tests/abi.rs | 2 +- gstreamer-net/sys/tests/constant.c | 2 +- gstreamer-net/sys/tests/layout.c | 2 +- .../src/auto/encoding_profile.rs | 70 ++++++ gstreamer-pbutils/src/auto/versions.txt | 2 +- gstreamer-pbutils/sys/build.rs | 2 +- gstreamer-pbutils/sys/src/lib.rs | 13 +- gstreamer-pbutils/sys/tests/abi.rs | 2 +- gstreamer-pbutils/sys/tests/constant.c | 2 +- gstreamer-pbutils/sys/tests/layout.c | 2 +- gstreamer-player/src/auto/player.rs | 45 ++++ gstreamer-player/src/auto/versions.txt | 2 +- gstreamer-player/sys/build.rs | 2 +- gstreamer-player/sys/src/lib.rs | 2 +- gstreamer-player/sys/tests/abi.rs | 2 +- gstreamer-player/sys/tests/constant.c | 2 +- gstreamer-player/sys/tests/layout.c | 2 +- gstreamer-rtp/src/auto/constants.rs | 18 ++ gstreamer-rtp/src/auto/flags.rs | 74 ++++++ gstreamer-rtp/src/auto/functions.rs | 8 + gstreamer-rtp/src/auto/mod.rs | 22 +- .../src/auto/rtp_header_extension.rs | 203 +++++++++++++++ gstreamer-rtp/src/auto/versions.txt | 2 +- gstreamer-rtp/sys/build.rs | 2 +- gstreamer-rtp/sys/src/lib.rs | 215 +++++++++++++++- gstreamer-rtp/sys/tests/abi.rs | 33 ++- gstreamer-rtp/sys/tests/constant.c | 6 +- gstreamer-rtp/sys/tests/layout.c | 5 +- .../src/auto/rtsp_media_factory.rs | 70 ++++++ gstreamer-rtsp-server/src/auto/versions.txt | 2 +- gstreamer-rtsp-server/sys/build.rs | 2 +- gstreamer-rtsp-server/sys/src/lib.rs | 11 +- gstreamer-rtsp-server/sys/tests/abi.rs | 2 +- gstreamer-rtsp-server/sys/tests/constant.c | 2 +- gstreamer-rtsp-server/sys/tests/layout.c | 2 +- gstreamer-rtsp/src/auto/versions.txt | 2 +- gstreamer-rtsp/sys/build.rs | 2 +- gstreamer-rtsp/sys/src/lib.rs | 2 +- gstreamer-rtsp/sys/tests/abi.rs | 2 +- gstreamer-rtsp/sys/tests/constant.c | 2 +- gstreamer-rtsp/sys/tests/layout.c | 2 +- gstreamer-sdp/src/auto/versions.txt | 2 +- gstreamer-sdp/sys/build.rs | 2 +- gstreamer-sdp/sys/src/lib.rs | 2 +- gstreamer-sdp/sys/tests/abi.rs | 2 +- gstreamer-sdp/sys/tests/constant.c | 2 +- gstreamer-sdp/sys/tests/layout.c | 2 +- gstreamer-tag/sys/build.rs | 2 +- gstreamer-tag/sys/src/lib.rs | 2 +- gstreamer-tag/sys/tests/abi.rs | 2 +- gstreamer-tag/sys/tests/constant.c | 2 +- gstreamer-tag/sys/tests/layout.c | 2 +- gstreamer-video/src/auto/enums.rs | 40 +++ gstreamer-video/src/auto/flags.rs | 55 ++++ gstreamer-video/src/auto/mod.rs | 12 + gstreamer-video/src/auto/versions.txt | 2 +- .../video_aggregator_parallel_convert_pad.rs | 21 ++ gstreamer-video/src/auto/video_decoder.rs | 210 ++++++++++++++++ gstreamer-video/sys/build.rs | 2 +- gstreamer-video/sys/src/lib.rs | 194 +++++++++++++- gstreamer-video/sys/tests/abi.rs | 46 +++- gstreamer-video/sys/tests/constant.c | 9 +- gstreamer-video/sys/tests/layout.c | 6 +- gstreamer-webrtc/src/auto/enums.rs | 88 +++++++ gstreamer-webrtc/src/auto/mod.rs | 15 ++ gstreamer-webrtc/src/auto/versions.txt | 2 +- .../src/auto/web_rtcdtls_transport.rs | 25 +- .../src/auto/web_rtcrtp_receiver.rs | 71 +++++- .../src/auto/web_rtcrtp_sender.rs | 130 +++++++++- .../src/auto/web_rtcrtp_transceiver.rs | 202 +++++++++++++++ gstreamer-webrtc/sys/build.rs | 2 +- gstreamer-webrtc/sys/src/lib.rs | 57 +++-- gstreamer-webrtc/sys/tests/abi.rs | 12 +- gstreamer-webrtc/sys/tests/constant.c | 5 +- gstreamer-webrtc/sys/tests/layout.c | 3 +- gstreamer/src/auto/date_time.rs | 4 +- gstreamer/src/auto/device_provider.rs | 15 ++ gstreamer/src/auto/element.rs | 29 ++- gstreamer/src/auto/flags.rs | 146 +++++++++++ gstreamer/src/auto/mod.rs | 6 + gstreamer/src/auto/versions.txt | 2 +- gstreamer/sys/build.rs | 2 +- gstreamer/sys/src/lib.rs | 215 ++++++++++++++-- gstreamer/sys/tests/abi.rs | 40 ++- gstreamer/sys/tests/constant.c | 5 +- gstreamer/sys/tests/layout.c | 7 +- 168 files changed, 3726 insertions(+), 335 deletions(-) create mode 100644 gstreamer-rtp/src/auto/rtp_header_extension.rs create mode 100644 gstreamer-video/src/auto/video_aggregator_parallel_convert_pad.rs diff --git a/gstreamer-app/src/auto/app_src.rs b/gstreamer-app/src/auto/app_src.rs index 13f7eb76d..fd385a72b 100644 --- a/gstreamer-app/src/auto/app_src.rs +++ b/gstreamer-app/src/auto/app_src.rs @@ -3,6 +3,9 @@ // from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git) // DO NOT EDIT +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use crate::AppLeakyType; use crate::AppStreamType; use glib::object::ObjectType as ObjectType_; use glib::signal::connect_raw; @@ -34,12 +37,32 @@ impl AppSrc { unsafe { from_glib_full(ffi::gst_app_src_get_caps(self.to_glib_none().0)) } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_app_src_get_current_level_buffers")] + #[doc(alias = "get_current_level_buffers")] + pub fn current_level_buffers(&self) -> u64 { + unsafe { ffi::gst_app_src_get_current_level_buffers(self.to_glib_none().0) } + } + #[doc(alias = "gst_app_src_get_current_level_bytes")] #[doc(alias = "get_current_level_bytes")] pub fn current_level_bytes(&self) -> u64 { unsafe { ffi::gst_app_src_get_current_level_bytes(self.to_glib_none().0) } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_app_src_get_current_level_time")] + #[doc(alias = "get_current_level_time")] + pub fn current_level_time(&self) -> gst::ClockTime { + unsafe { + from_glib(ffi::gst_app_src_get_current_level_time( + self.to_glib_none().0, + )) + } + } + #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[doc(alias = "gst_app_src_get_duration")] @@ -48,12 +71,36 @@ impl AppSrc { unsafe { from_glib(ffi::gst_app_src_get_duration(self.to_glib_none().0)) } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_app_src_get_leaky_type")] + #[doc(alias = "get_leaky_type")] + pub fn leaky_type(&self) -> AppLeakyType { + unsafe { from_glib(ffi::gst_app_src_get_leaky_type(self.to_glib_none().0)) } + } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_app_src_get_max_buffers")] + #[doc(alias = "get_max_buffers")] + pub fn max_buffers(&self) -> u64 { + unsafe { ffi::gst_app_src_get_max_buffers(self.to_glib_none().0) } + } + #[doc(alias = "gst_app_src_get_max_bytes")] #[doc(alias = "get_max_bytes")] pub fn max_bytes(&self) -> u64 { unsafe { ffi::gst_app_src_get_max_bytes(self.to_glib_none().0) } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_app_src_get_max_time")] + #[doc(alias = "get_max_time")] + pub fn max_time(&self) -> gst::ClockTime { + unsafe { from_glib(ffi::gst_app_src_get_max_time(self.to_glib_none().0)) } + } + #[doc(alias = "gst_app_src_get_size")] #[doc(alias = "get_size")] pub fn size(&self) -> i64 { @@ -97,6 +144,24 @@ impl AppSrc { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_app_src_set_leaky_type")] + pub fn set_leaky_type(&self, leaky: AppLeakyType) { + unsafe { + ffi::gst_app_src_set_leaky_type(self.to_glib_none().0, leaky.into_glib()); + } + } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_app_src_set_max_buffers")] + pub fn set_max_buffers(&self, max: u64) { + unsafe { + ffi::gst_app_src_set_max_buffers(self.to_glib_none().0, max); + } + } + #[doc(alias = "gst_app_src_set_max_bytes")] pub fn set_max_bytes(&self, max: u64) { unsafe { @@ -104,6 +169,15 @@ impl AppSrc { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_app_src_set_max_time")] + pub fn set_max_time(&self, max: gst::ClockTime) { + unsafe { + ffi::gst_app_src_set_max_time(self.to_glib_none().0, max.into_glib()); + } + } + #[doc(alias = "gst_app_src_set_size")] pub fn set_size(&self, size: i64) { unsafe { @@ -352,6 +426,36 @@ impl AppSrc { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "current-level-buffers")] + pub fn connect_current_level_buffers_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_current_level_buffers_trampoline< + F: Fn(&AppSrc) + Send + Sync + 'static, + >( + this: *mut ffi::GstAppSrc, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&from_glib_borrow(this)) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::current-level-buffers\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_current_level_buffers_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + #[doc(alias = "current-level-bytes")] pub fn connect_current_level_bytes_notify( &self, @@ -380,6 +484,36 @@ impl AppSrc { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "current-level-time")] + pub fn connect_current_level_time_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_current_level_time_trampoline< + F: Fn(&AppSrc) + Send + Sync + 'static, + >( + this: *mut ffi::GstAppSrc, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&from_glib_borrow(this)) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::current-level-time\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_current_level_time_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[doc(alias = "duration")] @@ -490,6 +624,66 @@ impl AppSrc { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "leaky-type")] + pub fn connect_leaky_type_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_leaky_type_trampoline< + F: Fn(&AppSrc) + Send + Sync + 'static, + >( + this: *mut ffi::GstAppSrc, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&from_glib_borrow(this)) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::leaky-type\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_leaky_type_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "max-buffers")] + pub fn connect_max_buffers_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_max_buffers_trampoline< + F: Fn(&AppSrc) + Send + Sync + 'static, + >( + this: *mut ffi::GstAppSrc, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&from_glib_borrow(this)) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::max-buffers\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_max_buffers_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + #[doc(alias = "max-bytes")] pub fn connect_max_bytes_notify( &self, @@ -544,6 +738,34 @@ impl AppSrc { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "max-time")] + pub fn connect_max_time_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_max_time_trampoline( + this: *mut ffi::GstAppSrc, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&from_glib_borrow(this)) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::max-time\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_max_time_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + #[doc(alias = "min-latency")] pub fn connect_min_latency_notify( &self, diff --git a/gstreamer-app/src/auto/enums.rs b/gstreamer-app/src/auto/enums.rs index 372d8af53..30bda3567 100644 --- a/gstreamer-app/src/auto/enums.rs +++ b/gstreamer-app/src/auto/enums.rs @@ -9,6 +9,94 @@ use glib::value::ToValue; use glib::StaticType; use glib::Type; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] +#[non_exhaustive] +#[doc(alias = "GstAppLeakyType")] +pub enum AppLeakyType { + #[doc(alias = "GST_APP_LEAKY_TYPE_NONE")] + None, + #[doc(alias = "GST_APP_LEAKY_TYPE_UPSTREAM")] + Upstream, + #[doc(alias = "GST_APP_LEAKY_TYPE_DOWNSTREAM")] + Downstream, + #[doc(hidden)] + __Unknown(i32), +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl IntoGlib for AppLeakyType { + type GlibType = ffi::GstAppLeakyType; + + fn into_glib(self) -> ffi::GstAppLeakyType { + match self { + Self::None => ffi::GST_APP_LEAKY_TYPE_NONE, + Self::Upstream => ffi::GST_APP_LEAKY_TYPE_UPSTREAM, + Self::Downstream => ffi::GST_APP_LEAKY_TYPE_DOWNSTREAM, + Self::__Unknown(value) => value, + } + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl FromGlib for AppLeakyType { + unsafe fn from_glib(value: ffi::GstAppLeakyType) -> Self { + skip_assert_initialized!(); + match value { + ffi::GST_APP_LEAKY_TYPE_NONE => Self::None, + ffi::GST_APP_LEAKY_TYPE_UPSTREAM => Self::Upstream, + ffi::GST_APP_LEAKY_TYPE_DOWNSTREAM => Self::Downstream, + value => Self::__Unknown(value), + } + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl StaticType for AppLeakyType { + fn static_type() -> Type { + unsafe { from_glib(ffi::gst_app_leaky_type_get_type()) } + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl glib::value::ValueType for AppLeakyType { + type Type = Self; +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +unsafe impl<'a> FromValue<'a> for AppLeakyType { + type Checker = glib::value::GenericValueTypeChecker; + + unsafe fn from_value(value: &'a glib::Value) -> Self { + skip_assert_initialized!(); + from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl ToValue for AppLeakyType { + fn to_value(&self) -> glib::Value { + let mut value = glib::Value::for_value_type::(); + unsafe { + glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); + } + value + } + + fn value_type(&self) -> glib::Type { + Self::static_type() + } +} + #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] #[doc(alias = "GstAppStreamType")] diff --git a/gstreamer-app/src/auto/mod.rs b/gstreamer-app/src/auto/mod.rs index 261365ae7..655dc936b 100644 --- a/gstreamer-app/src/auto/mod.rs +++ b/gstreamer-app/src/auto/mod.rs @@ -10,6 +10,9 @@ mod app_src; pub use self::app_src::AppSrc; mod enums; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub use self::enums::AppLeakyType; pub use self::enums::AppStreamType; #[doc(hidden)] diff --git a/gstreamer-app/src/auto/versions.txt b/gstreamer-app/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-app/src/auto/versions.txt +++ b/gstreamer-app/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-app/sys/build.rs b/gstreamer-app/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-app/sys/build.rs +++ b/gstreamer-app/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-app/sys/src/lib.rs b/gstreamer-app/sys/src/lib.rs index ee6862ca6..3602eeb87 100644 --- a/gstreamer-app/sys/src/lib.rs +++ b/gstreamer-app/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] @@ -26,6 +26,11 @@ use libc::{ use glib::{gboolean, gconstpointer, gpointer, GType}; // Enums +pub type GstAppLeakyType = c_int; +pub const GST_APP_LEAKY_TYPE_NONE: GstAppLeakyType = 0; +pub const GST_APP_LEAKY_TYPE_UPSTREAM: GstAppLeakyType = 1; +pub const GST_APP_LEAKY_TYPE_DOWNSTREAM: GstAppLeakyType = 2; + pub type GstAppStreamType = c_int; pub const GST_APP_STREAM_TYPE_STREAM: GstAppStreamType = 0; pub const GST_APP_STREAM_TYPE_SEEKABLE: GstAppStreamType = 1; @@ -179,6 +184,13 @@ impl ::std::fmt::Debug for GstAppSrc { #[link(name = "gstapp-1.0")] extern "C" { + //========================================================================= + // GstAppLeakyType + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_app_leaky_type_get_type() -> GType; + //========================================================================= // GstAppStreamType //========================================================================= @@ -232,13 +244,28 @@ extern "C" { pub fn gst_app_src_get_type() -> GType; pub fn gst_app_src_end_of_stream(appsrc: *mut GstAppSrc) -> gst::GstFlowReturn; pub fn gst_app_src_get_caps(appsrc: *mut GstAppSrc) -> *mut gst::GstCaps; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_app_src_get_current_level_buffers(appsrc: *mut GstAppSrc) -> u64; pub fn gst_app_src_get_current_level_bytes(appsrc: *mut GstAppSrc) -> u64; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_app_src_get_current_level_time(appsrc: *mut GstAppSrc) -> gst::GstClockTime; #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] pub fn gst_app_src_get_duration(appsrc: *mut GstAppSrc) -> gst::GstClockTime; pub fn gst_app_src_get_emit_signals(appsrc: *mut GstAppSrc) -> gboolean; pub fn gst_app_src_get_latency(appsrc: *mut GstAppSrc, min: *mut u64, max: *mut u64); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_app_src_get_leaky_type(appsrc: *mut GstAppSrc) -> GstAppLeakyType; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_app_src_get_max_buffers(appsrc: *mut GstAppSrc) -> u64; pub fn gst_app_src_get_max_bytes(appsrc: *mut GstAppSrc) -> u64; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_app_src_get_max_time(appsrc: *mut GstAppSrc) -> gst::GstClockTime; 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( @@ -267,7 +294,16 @@ extern "C" { pub fn gst_app_src_set_duration(appsrc: *mut GstAppSrc, duration: gst::GstClockTime); pub fn gst_app_src_set_emit_signals(appsrc: *mut GstAppSrc, emit: gboolean); pub fn gst_app_src_set_latency(appsrc: *mut GstAppSrc, min: u64, max: u64); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_app_src_set_leaky_type(appsrc: *mut GstAppSrc, leaky: GstAppLeakyType); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_app_src_set_max_buffers(appsrc: *mut GstAppSrc, max: u64); pub fn gst_app_src_set_max_bytes(appsrc: *mut GstAppSrc, max: u64); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_app_src_set_max_time(appsrc: *mut GstAppSrc, max: gst::GstClockTime); pub fn gst_app_src_set_size(appsrc: *mut GstAppSrc, size: i64); pub fn gst_app_src_set_stream_type(appsrc: *mut GstAppSrc, type_: GstAppStreamType); diff --git a/gstreamer-app/sys/tests/abi.rs b/gstreamer-app/sys/tests/abi.rs index 810cf561c..8d44408a7 100644 --- a/gstreamer-app/sys/tests/abi.rs +++ b/gstreamer-app/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_app_sys::*; @@ -211,6 +211,13 @@ fn get_c_output(name: &str) -> Result> { } const RUST_LAYOUTS: &[(&str, Layout)] = &[ + ( + "GstAppLeakyType", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstAppSink", Layout { @@ -263,6 +270,9 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ ]; const RUST_CONSTANTS: &[(&str, &str)] = &[ + ("(gint) GST_APP_LEAKY_TYPE_DOWNSTREAM", "2"), + ("(gint) GST_APP_LEAKY_TYPE_NONE", "0"), + ("(gint) GST_APP_LEAKY_TYPE_UPSTREAM", "1"), ("(gint) GST_APP_STREAM_TYPE_RANDOM_ACCESS", "2"), ("(gint) GST_APP_STREAM_TYPE_SEEKABLE", "1"), ("(gint) GST_APP_STREAM_TYPE_STREAM", "0"), diff --git a/gstreamer-app/sys/tests/constant.c b/gstreamer-app/sys/tests/constant.c index 92f4daa66..52200050d 100644 --- a/gstreamer-app/sys/tests/constant.c +++ b/gstreamer-app/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" @@ -29,6 +29,9 @@ printf("\n"); int main() { + PRINT_CONSTANT((gint) GST_APP_LEAKY_TYPE_DOWNSTREAM); + PRINT_CONSTANT((gint) GST_APP_LEAKY_TYPE_NONE); + PRINT_CONSTANT((gint) GST_APP_LEAKY_TYPE_UPSTREAM); PRINT_CONSTANT((gint) GST_APP_STREAM_TYPE_RANDOM_ACCESS); PRINT_CONSTANT((gint) GST_APP_STREAM_TYPE_SEEKABLE); PRINT_CONSTANT((gint) GST_APP_STREAM_TYPE_STREAM); diff --git a/gstreamer-app/sys/tests/layout.c b/gstreamer-app/sys/tests/layout.c index 234e31923..500eda9fb 100644 --- a/gstreamer-app/sys/tests/layout.c +++ b/gstreamer-app/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" @@ -8,6 +8,7 @@ #include int main() { + printf("%s;%zu;%zu\n", "GstAppLeakyType", sizeof(GstAppLeakyType), alignof(GstAppLeakyType)); printf("%s;%zu;%zu\n", "GstAppSink", sizeof(GstAppSink), alignof(GstAppSink)); printf("%s;%zu;%zu\n", "GstAppSinkCallbacks", sizeof(GstAppSinkCallbacks), alignof(GstAppSinkCallbacks)); printf("%s;%zu;%zu\n", "GstAppSinkClass", sizeof(GstAppSinkClass), alignof(GstAppSinkClass)); diff --git a/gstreamer-audio/src/auto/audio_decoder.rs b/gstreamer-audio/src/auto/audio_decoder.rs index 23fc828d4..cec076a81 100644 --- a/gstreamer-audio/src/auto/audio_decoder.rs +++ b/gstreamer-audio/src/auto/audio_decoder.rs @@ -157,7 +157,7 @@ impl> AudioDecoderExt for O { fn audio_info(&self) -> Option { unsafe { - from_glib_full(ffi::gst_audio_decoder_get_audio_info( + from_glib_none(ffi::gst_audio_decoder_get_audio_info( self.as_ref().to_glib_none().0, )) } diff --git a/gstreamer-audio/src/auto/audio_encoder.rs b/gstreamer-audio/src/auto/audio_encoder.rs index 81bbf2acd..b136befd2 100644 --- a/gstreamer-audio/src/auto/audio_encoder.rs +++ b/gstreamer-audio/src/auto/audio_encoder.rs @@ -159,7 +159,7 @@ impl> AudioEncoderExt for O { fn audio_info(&self) -> Option { unsafe { - from_glib_full(ffi::gst_audio_encoder_get_audio_info( + from_glib_none(ffi::gst_audio_encoder_get_audio_info( self.as_ref().to_glib_none().0, )) } diff --git a/gstreamer-audio/src/auto/audio_stream_align.rs b/gstreamer-audio/src/auto/audio_stream_align.rs index 39ee5a438..5bda3bd22 100644 --- a/gstreamer-audio/src/auto/audio_stream_align.rs +++ b/gstreamer-audio/src/auto/audio_stream_align.rs @@ -38,7 +38,7 @@ impl AudioStreamAlign { pub fn alignment_threshold(&self) -> gst::ClockTime { unsafe { from_glib(ffi::gst_audio_stream_align_get_alignment_threshold( - mut_override(self.to_glib_none().0), + self.to_glib_none().0, )) } } @@ -47,26 +47,22 @@ impl AudioStreamAlign { #[doc(alias = "get_discont_wait")] pub fn discont_wait(&self) -> gst::ClockTime { unsafe { - from_glib(ffi::gst_audio_stream_align_get_discont_wait(mut_override( + from_glib(ffi::gst_audio_stream_align_get_discont_wait( self.to_glib_none().0, - ))) + )) } } #[doc(alias = "gst_audio_stream_align_get_rate")] #[doc(alias = "get_rate")] pub fn rate(&self) -> i32 { - unsafe { ffi::gst_audio_stream_align_get_rate(mut_override(self.to_glib_none().0)) } + unsafe { ffi::gst_audio_stream_align_get_rate(self.to_glib_none().0) } } #[doc(alias = "gst_audio_stream_align_get_samples_since_discont")] #[doc(alias = "get_samples_since_discont")] pub fn samples_since_discont(&self) -> u64 { - unsafe { - ffi::gst_audio_stream_align_get_samples_since_discont(mut_override( - self.to_glib_none().0, - )) - } + unsafe { ffi::gst_audio_stream_align_get_samples_since_discont(self.to_glib_none().0) } } #[doc(alias = "gst_audio_stream_align_get_timestamp_at_discont")] @@ -74,7 +70,7 @@ impl AudioStreamAlign { pub fn timestamp_at_discont(&self) -> gst::ClockTime { unsafe { from_glib(ffi::gst_audio_stream_align_get_timestamp_at_discont( - mut_override(self.to_glib_none().0), + self.to_glib_none().0, )) } } diff --git a/gstreamer-audio/src/auto/versions.txt b/gstreamer-audio/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-audio/src/auto/versions.txt +++ b/gstreamer-audio/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-audio/sys/build.rs b/gstreamer-audio/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-audio/sys/build.rs +++ b/gstreamer-audio/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-audio/sys/src/lib.rs b/gstreamer-audio/sys/src/lib.rs index 70bfd63a5..c5077f5b9 100644 --- a/gstreamer-audio/sys/src/lib.rs +++ b/gstreamer-audio/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] @@ -838,6 +838,24 @@ impl ::std::fmt::Debug for GstAudioInfo { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstAudioLevelMeta { + pub meta: gst::GstMeta, + pub level: u8, + pub voice_activity: gboolean, +} + +impl ::std::fmt::Debug for GstAudioLevelMeta { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstAudioLevelMeta @ {:p}", self)) + .field("meta", &self.meta) + .field("level", &self.level) + .field("voice_activity", &self.voice_activity) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstAudioMeta { @@ -1498,14 +1516,6 @@ extern "C" { //========================================================================= #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] - pub fn gst_audio_buffer_map( - buffer: *mut GstAudioBuffer, - info: *const GstAudioInfo, - gstbuffer: *mut gst::GstBuffer, - flags: gst::GstMapFlags, - ) -> gboolean; - #[cfg(any(feature = "v1_16", feature = "dox"))] - #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub fn gst_audio_buffer_unmap(buffer: *mut GstAudioBuffer); pub fn gst_audio_buffer_clip( buffer: *mut gst::GstBuffer, @@ -1513,6 +1523,14 @@ extern "C" { rate: c_int, bpf: c_int, ) -> *mut gst::GstBuffer; + #[cfg(any(feature = "v1_16", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] + pub fn gst_audio_buffer_map( + buffer: *mut GstAudioBuffer, + info: *const GstAudioInfo, + gstbuffer: *mut gst::GstBuffer, + flags: gst::GstMapFlags, + ) -> gboolean; pub fn gst_audio_buffer_reorder_channels( buffer: *mut gst::GstBuffer, format: GstAudioFormat, @@ -1635,6 +1653,17 @@ extern "C" { allowed_caps: *mut gst::GstCaps, ); + //========================================================================= + // GstAudioFormatInfo + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_audio_format_info_fill_silence( + info: *const GstAudioFormatInfo, + dest: gpointer, + length: size_t, + ); + //========================================================================= // GstAudioInfo //========================================================================= @@ -1649,9 +1678,6 @@ extern "C" { ) -> gboolean; pub fn gst_audio_info_copy(info: *const GstAudioInfo) -> *mut GstAudioInfo; pub fn gst_audio_info_free(info: *mut GstAudioInfo); - pub fn gst_audio_info_from_caps(info: *mut GstAudioInfo, caps: *const gst::GstCaps) - -> gboolean; - pub fn gst_audio_info_init(info: *mut GstAudioInfo); pub fn gst_audio_info_is_equal( info: *const GstAudioInfo, other: *const GstAudioInfo, @@ -1664,6 +1690,16 @@ extern "C" { position: *const [GstAudioChannelPosition; 64], ); pub fn gst_audio_info_to_caps(info: *const GstAudioInfo) -> *mut gst::GstCaps; + pub fn gst_audio_info_from_caps(info: *mut GstAudioInfo, caps: *const gst::GstCaps) + -> gboolean; + pub fn gst_audio_info_init(info: *mut GstAudioInfo); + + //========================================================================= + // GstAudioLevelMeta + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_audio_level_meta_get_info() -> *const gst::GstMetaInfo; //========================================================================= // GstAudioMeta @@ -1778,24 +1814,25 @@ extern "C" { #[cfg(any(feature = "v1_14", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] pub fn gst_audio_stream_align_get_alignment_threshold( - align: *mut GstAudioStreamAlign, + align: *const GstAudioStreamAlign, ) -> gst::GstClockTime; #[cfg(any(feature = "v1_14", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] pub fn gst_audio_stream_align_get_discont_wait( - align: *mut GstAudioStreamAlign, + align: *const GstAudioStreamAlign, ) -> gst::GstClockTime; #[cfg(any(feature = "v1_14", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] - pub fn gst_audio_stream_align_get_rate(align: *mut GstAudioStreamAlign) -> c_int; + pub fn gst_audio_stream_align_get_rate(align: *const GstAudioStreamAlign) -> c_int; #[cfg(any(feature = "v1_14", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] - pub fn gst_audio_stream_align_get_samples_since_discont(align: *mut GstAudioStreamAlign) - -> u64; + pub fn gst_audio_stream_align_get_samples_since_discont( + align: *const GstAudioStreamAlign, + ) -> u64; #[cfg(any(feature = "v1_14", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] pub fn gst_audio_stream_align_get_timestamp_at_discont( - align: *mut GstAudioStreamAlign, + align: *const GstAudioStreamAlign, ) -> gst::GstClockTime; #[cfg(any(feature = "v1_14", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] @@ -2275,6 +2312,9 @@ extern "C" { spec: *const GstAudioRingBufferSpec, endianness: c_int, ) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_audio_level_meta_api_get_type() -> GType; #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn gst_audio_make_raw_caps( @@ -2307,6 +2347,13 @@ extern "C" { to_channels: c_int, matrix: *mut *const c_float, ) -> *mut GstAudioDownmixMeta; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_buffer_add_audio_level_meta( + buffer: *mut gst::GstBuffer, + level: u8, + voice_activity: gboolean, + ) -> *mut GstAudioLevelMeta; #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub fn gst_buffer_add_audio_meta( @@ -2320,5 +2367,8 @@ extern "C" { to_position: *const GstAudioChannelPosition, to_channels: c_int, ) -> *mut GstAudioDownmixMeta; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_buffer_get_audio_level_meta(buffer: *mut gst::GstBuffer) -> *mut GstAudioLevelMeta; } diff --git a/gstreamer-audio/sys/tests/abi.rs b/gstreamer-audio/sys/tests/abi.rs index 0be21b241..7b3f4b829 100644 --- a/gstreamer-audio/sys/tests/abi.rs +++ b/gstreamer-audio/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_audio_sys::*; @@ -477,6 +477,13 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstAudioLevelMeta", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstAudioMeta", Layout { diff --git a/gstreamer-audio/sys/tests/constant.c b/gstreamer-audio/sys/tests/constant.c index e6ce94208..e6180ce16 100644 --- a/gstreamer-audio/sys/tests/constant.c +++ b/gstreamer-audio/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-audio/sys/tests/layout.c b/gstreamer-audio/sys/tests/layout.c index 5dc004488..5d0a6d39e 100644 --- a/gstreamer-audio/sys/tests/layout.c +++ b/gstreamer-audio/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" @@ -46,6 +46,7 @@ int main() { printf("%s;%zu;%zu\n", "GstAudioFormatInfo", sizeof(GstAudioFormatInfo), alignof(GstAudioFormatInfo)); printf("%s;%zu;%zu\n", "GstAudioInfo", sizeof(GstAudioInfo), alignof(GstAudioInfo)); printf("%s;%zu;%zu\n", "GstAudioLayout", sizeof(GstAudioLayout), alignof(GstAudioLayout)); + printf("%s;%zu;%zu\n", "GstAudioLevelMeta", sizeof(GstAudioLevelMeta), alignof(GstAudioLevelMeta)); printf("%s;%zu;%zu\n", "GstAudioMeta", sizeof(GstAudioMeta), alignof(GstAudioMeta)); printf("%s;%zu;%zu\n", "GstAudioNoiseShapingMethod", sizeof(GstAudioNoiseShapingMethod), alignof(GstAudioNoiseShapingMethod)); printf("%s;%zu;%zu\n", "GstAudioPackFlags", sizeof(GstAudioPackFlags), alignof(GstAudioPackFlags)); diff --git a/gstreamer-base/src/auto/versions.txt b/gstreamer-base/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-base/src/auto/versions.txt +++ b/gstreamer-base/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-base/sys/build.rs b/gstreamer-base/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-base/sys/build.rs +++ b/gstreamer-base/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-base/sys/src/lib.rs b/gstreamer-base/sys/src/lib.rs index b6af50e0f..609b66eb4 100644 --- a/gstreamer-base/sys/src/lib.rs +++ b/gstreamer-base/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] diff --git a/gstreamer-base/sys/tests/abi.rs b/gstreamer-base/sys/tests/abi.rs index 68454744c..d2720d1be 100644 --- a/gstreamer-base/sys/tests/abi.rs +++ b/gstreamer-base/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_base_sys::*; diff --git a/gstreamer-base/sys/tests/constant.c b/gstreamer-base/sys/tests/constant.c index cad7039c0..36fe211a7 100644 --- a/gstreamer-base/sys/tests/constant.c +++ b/gstreamer-base/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-base/sys/tests/layout.c b/gstreamer-base/sys/tests/layout.c index 54f1d210e..605b47055 100644 --- a/gstreamer-base/sys/tests/layout.c +++ b/gstreamer-base/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-check/src/auto/versions.txt b/gstreamer-check/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-check/src/auto/versions.txt +++ b/gstreamer-check/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-check/sys/build.rs b/gstreamer-check/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-check/sys/build.rs +++ b/gstreamer-check/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-check/sys/src/lib.rs b/gstreamer-check/sys/src/lib.rs index fef7db30e..65a07fad8 100644 --- a/gstreamer-check/sys/src/lib.rs +++ b/gstreamer-check/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] @@ -215,6 +215,9 @@ extern "C" { pub fn gst_harness_set_caps_str(h: *mut GstHarness, in_: *const c_char, out: *const c_char); pub fn gst_harness_set_drop_buffers(h: *mut GstHarness, drop_buffers: gboolean); pub fn gst_harness_set_forwarding(h: *mut GstHarness, forwarding: gboolean); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_harness_set_live(h: *mut GstHarness, is_live: gboolean); pub fn gst_harness_set_propose_allocator( h: *mut GstHarness, allocator: *mut gst::GstAllocator, diff --git a/gstreamer-check/sys/tests/abi.rs b/gstreamer-check/sys/tests/abi.rs index d63d08d06..31bad0362 100644 --- a/gstreamer-check/sys/tests/abi.rs +++ b/gstreamer-check/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_check_sys::*; diff --git a/gstreamer-check/sys/tests/constant.c b/gstreamer-check/sys/tests/constant.c index 3da2ece99..49e857902 100644 --- a/gstreamer-check/sys/tests/constant.c +++ b/gstreamer-check/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-check/sys/tests/layout.c b/gstreamer-check/sys/tests/layout.c index 5237ae730..518c22804 100644 --- a/gstreamer-check/sys/tests/layout.c +++ b/gstreamer-check/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-controller/src/auto/versions.txt b/gstreamer-controller/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-controller/src/auto/versions.txt +++ b/gstreamer-controller/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-controller/sys/build.rs b/gstreamer-controller/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-controller/sys/build.rs +++ b/gstreamer-controller/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-controller/sys/src/lib.rs b/gstreamer-controller/sys/src/lib.rs index 70276fc30..e68f39bd3 100644 --- a/gstreamer-controller/sys/src/lib.rs +++ b/gstreamer-controller/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] diff --git a/gstreamer-controller/sys/tests/abi.rs b/gstreamer-controller/sys/tests/abi.rs index b3f0051ed..3dcd6bb03 100644 --- a/gstreamer-controller/sys/tests/abi.rs +++ b/gstreamer-controller/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_controller_sys::*; diff --git a/gstreamer-controller/sys/tests/constant.c b/gstreamer-controller/sys/tests/constant.c index 5a5664ba6..01cf83a29 100644 --- a/gstreamer-controller/sys/tests/constant.c +++ b/gstreamer-controller/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-controller/sys/tests/layout.c b/gstreamer-controller/sys/tests/layout.c index 9eefe84a1..124dcc685 100644 --- a/gstreamer-controller/sys/tests/layout.c +++ b/gstreamer-controller/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-editing-services/src/auto/track_element.rs b/gstreamer-editing-services/src/auto/track_element.rs index 6b9dd0067..06a9476e1 100644 --- a/gstreamer-editing-services/src/auto/track_element.rs +++ b/gstreamer-editing-services/src/auto/track_element.rs @@ -56,7 +56,7 @@ pub trait TrackElementExt: 'static { //#[doc(alias = "ges_track_element_get_all_control_bindings")] //#[doc(alias = "get_all_control_bindings")] - //fn all_control_bindings(&self) -> /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 6, id: 83 }; + //fn all_control_bindings(&self) -> /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 6, id: 85 }; #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] @@ -217,7 +217,7 @@ impl> TrackElementExt for O { } } - //fn all_control_bindings(&self) -> /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 6, id: 83 } { + //fn all_control_bindings(&self) -> /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 6, id: 85 } { // unsafe { TODO: call ffi:ges_track_element_get_all_control_bindings() } //} diff --git a/gstreamer-editing-services/src/auto/versions.txt b/gstreamer-editing-services/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-editing-services/src/auto/versions.txt +++ b/gstreamer-editing-services/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-editing-services/sys/build.rs b/gstreamer-editing-services/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-editing-services/sys/build.rs +++ b/gstreamer-editing-services/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-editing-services/sys/src/lib.rs b/gstreamer-editing-services/sys/src/lib.rs index b5c557362..d7eec10a1 100644 --- a/gstreamer-editing-services/sys/src/lib.rs +++ b/gstreamer-editing-services/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] @@ -195,8 +195,8 @@ pub const GES_PADDING: c_int = 4; pub const GES_PADDING_LARGE: c_int = 20; pub const GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY: u32 = 4294967295; pub const GES_VERSION_MAJOR: c_int = 1; -pub const GES_VERSION_MICRO: c_int = 2; -pub const GES_VERSION_MINOR: c_int = 18; +pub const GES_VERSION_MICRO: c_int = 1; +pub const GES_VERSION_MINOR: c_int = 19; pub const GES_VERSION_NANO: c_int = 0; // Flags @@ -1069,12 +1069,16 @@ pub type GESProjectPrivate = *mut _GESProjectPrivate; #[derive(Copy, Clone)] pub struct GESSourceClass { pub parent_class: GESTrackElementClass, - pub _ges_reserved: [gpointer; 4], + pub select_pad: Option gboolean>, + pub create_source: Option *mut gst::GstElement>, + pub _ges_reserved: [gpointer; 2], } impl ::std::fmt::Debug for GESSourceClass { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GESSourceClass @ {:p}", self)) + .field("select_pad", &self.select_pad) + .field("create_source", &self.create_source) .finish() } } @@ -2947,6 +2951,9 @@ extern "C" { nargs: c_int, commands: *mut *mut c_char, ) -> *mut c_char; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn ges_command_line_formatter_get_timeline_uri(timeline: *mut GESTimeline) -> *mut c_char; //========================================================================= // GESContainer diff --git a/gstreamer-editing-services/sys/tests/abi.rs b/gstreamer-editing-services/sys/tests/abi.rs index bbc98f70e..a3788a560 100644 --- a/gstreamer-editing-services/sys/tests/abi.rs +++ b/gstreamer-editing-services/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_editing_services_sys::*; @@ -1126,8 +1126,8 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(guint) GES_TRACK_TYPE_UNKNOWN", "1"), ("(guint) GES_TRACK_TYPE_VIDEO", "4"), ("GES_VERSION_MAJOR", "1"), - ("GES_VERSION_MICRO", "2"), - ("GES_VERSION_MINOR", "18"), + ("GES_VERSION_MICRO", "1"), + ("GES_VERSION_MINOR", "19"), ("GES_VERSION_NANO", "0"), ( "(gint) GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DBL", diff --git a/gstreamer-editing-services/sys/tests/constant.c b/gstreamer-editing-services/sys/tests/constant.c index deefb3df0..273ba1199 100644 --- a/gstreamer-editing-services/sys/tests/constant.c +++ b/gstreamer-editing-services/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-editing-services/sys/tests/layout.c b/gstreamer-editing-services/sys/tests/layout.c index 60922ca46..4a4abba4d 100644 --- a/gstreamer-editing-services/sys/tests/layout.c +++ b/gstreamer-editing-services/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-gl/egl/src/auto/versions.txt b/gstreamer-gl/egl/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-gl/egl/src/auto/versions.txt +++ b/gstreamer-gl/egl/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-gl/egl/sys/build.rs b/gstreamer-gl/egl/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-gl/egl/sys/build.rs +++ b/gstreamer-gl/egl/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-gl/egl/sys/src/lib.rs b/gstreamer-gl/egl/sys/src/lib.rs index 773f39e7f..7290696d9 100644 --- a/gstreamer-gl/egl/sys/src/lib.rs +++ b/gstreamer-gl/egl/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] diff --git a/gstreamer-gl/egl/sys/tests/abi.rs b/gstreamer-gl/egl/sys/tests/abi.rs index 908f9672e..1a2f4f27e 100644 --- a/gstreamer-gl/egl/sys/tests/abi.rs +++ b/gstreamer-gl/egl/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_gl_egl_sys::*; diff --git a/gstreamer-gl/egl/sys/tests/constant.c b/gstreamer-gl/egl/sys/tests/constant.c index 9db04efc4..34d0edcd9 100644 --- a/gstreamer-gl/egl/sys/tests/constant.c +++ b/gstreamer-gl/egl/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-gl/egl/sys/tests/layout.c b/gstreamer-gl/egl/sys/tests/layout.c index e07f8a318..aab9a2277 100644 --- a/gstreamer-gl/egl/sys/tests/layout.c +++ b/gstreamer-gl/egl/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-gl/src/auto/enums.rs b/gstreamer-gl/src/auto/enums.rs index 20aa5f88d..7bba9d4d7 100644 --- a/gstreamer-gl/src/auto/enums.rs +++ b/gstreamer-gl/src/auto/enums.rs @@ -15,6 +15,105 @@ use glib::StaticType; use glib::Type; use std::mem; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] +#[non_exhaustive] +#[doc(alias = "GstGLConfigCaveat")] +pub enum GLConfigCaveat { + #[doc(alias = "GST_GL_CONFIG_CAVEAT_NONE")] + None, + #[doc(alias = "GST_GL_CONFIG_CAVEAT_SLOW")] + Slow, + #[doc(alias = "GST_GL_CONFIG_CAVEAT_NON_CONFORMANT")] + NonConformant, + #[doc(hidden)] + __Unknown(i32), +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl GLConfigCaveat { + #[doc(alias = "gst_gl_config_caveat_to_string")] + #[doc(alias = "to_string")] + pub fn to_str(self) -> Option { + assert_initialized_main_thread!(); + unsafe { from_glib_none(ffi::gst_gl_config_caveat_to_string(self.into_glib())) } + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl IntoGlib for GLConfigCaveat { + type GlibType = ffi::GstGLConfigCaveat; + + fn into_glib(self) -> ffi::GstGLConfigCaveat { + match self { + Self::None => ffi::GST_GL_CONFIG_CAVEAT_NONE, + Self::Slow => ffi::GST_GL_CONFIG_CAVEAT_SLOW, + Self::NonConformant => ffi::GST_GL_CONFIG_CAVEAT_NON_CONFORMANT, + Self::__Unknown(value) => value, + } + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl FromGlib for GLConfigCaveat { + unsafe fn from_glib(value: ffi::GstGLConfigCaveat) -> Self { + skip_assert_initialized!(); + match value { + ffi::GST_GL_CONFIG_CAVEAT_NONE => Self::None, + ffi::GST_GL_CONFIG_CAVEAT_SLOW => Self::Slow, + ffi::GST_GL_CONFIG_CAVEAT_NON_CONFORMANT => Self::NonConformant, + value => Self::__Unknown(value), + } + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl StaticType for GLConfigCaveat { + fn static_type() -> Type { + unsafe { from_glib(ffi::gst_gl_config_caveat_get_type()) } + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl glib::value::ValueType for GLConfigCaveat { + type Type = Self; +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +unsafe impl<'a> FromValue<'a> for GLConfigCaveat { + type Checker = glib::value::GenericValueTypeChecker; + + unsafe fn from_value(value: &'a glib::Value) -> Self { + skip_assert_initialized!(); + from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl ToValue for GLConfigCaveat { + fn to_value(&self) -> glib::Value { + let mut value = glib::Value::for_value_type::(); + unsafe { + glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); + } + value + } + + fn value_type(&self) -> glib::Type { + Self::static_type() + } +} + #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] #[doc(alias = "GstGLContextError")] @@ -183,7 +282,7 @@ impl GLFormat { unsafe { from_glib(ffi::gst_gl_format_from_video_info( context.as_ref().to_glib_none().0, - mut_override(vinfo.to_glib_none().0), + vinfo.to_glib_none().0, plane, )) } diff --git a/gstreamer-gl/src/auto/flags.rs b/gstreamer-gl/src/auto/flags.rs index d65c9bbb0..a4bdac721 100644 --- a/gstreamer-gl/src/auto/flags.rs +++ b/gstreamer-gl/src/auto/flags.rs @@ -97,6 +97,95 @@ impl ToValue for GLAPI { } } +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +bitflags! { + #[doc(alias = "GstGLConfigSurfaceType")] + pub struct GLConfigSurfaceType: u32 { + #[doc(alias = "GST_GL_CONFIG_SURFACE_TYPE_NONE")] + const NONE = ffi::GST_GL_CONFIG_SURFACE_TYPE_NONE as u32; + #[doc(alias = "GST_GL_CONFIG_SURFACE_TYPE_WINDOW")] + const WINDOW = ffi::GST_GL_CONFIG_SURFACE_TYPE_WINDOW as u32; + #[doc(alias = "GST_GL_CONFIG_SURFACE_TYPE_PBUFFER")] + const PBUFFER = ffi::GST_GL_CONFIG_SURFACE_TYPE_PBUFFER as u32; + #[doc(alias = "GST_GL_CONFIG_SURFACE_TYPE_PIXMAP")] + const PIXMAP = ffi::GST_GL_CONFIG_SURFACE_TYPE_PIXMAP as u32; + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl GLConfigSurfaceType { + #[doc(alias = "gst_gl_config_surface_type_to_string")] + #[doc(alias = "to_string")] + pub fn to_str(self) -> Option { + assert_initialized_main_thread!(); + unsafe { from_glib_none(ffi::gst_gl_config_surface_type_to_string(self.into_glib())) } + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl IntoGlib for GLConfigSurfaceType { + type GlibType = ffi::GstGLConfigSurfaceType; + + fn into_glib(self) -> ffi::GstGLConfigSurfaceType { + self.bits() + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl FromGlib for GLConfigSurfaceType { + unsafe fn from_glib(value: ffi::GstGLConfigSurfaceType) -> Self { + skip_assert_initialized!(); + Self::from_bits_truncate(value) + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl StaticType for GLConfigSurfaceType { + fn static_type() -> Type { + unsafe { from_glib(ffi::gst_gl_config_surface_type_get_type()) } + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl glib::value::ValueType for GLConfigSurfaceType { + type Type = Self; +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +unsafe impl<'a> FromValue<'a> for GLConfigSurfaceType { + type Checker = glib::value::GenericValueTypeChecker; + + unsafe fn from_value(value: &'a glib::Value) -> Self { + skip_assert_initialized!(); + from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl ToValue for GLConfigSurfaceType { + fn to_value(&self) -> glib::Value { + let mut value = glib::Value::for_value_type::(); + unsafe { + glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib()); + } + value + } + + fn value_type(&self) -> glib::Type { + Self::static_type() + } +} + bitflags! { #[doc(alias = "GstGLDisplayType")] pub struct GLDisplayType: u32 { @@ -120,6 +209,18 @@ bitflags! { #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_GL_DISPLAY_TYPE_EGL_DEVICE")] const EGL_DEVICE = ffi::GST_GL_DISPLAY_TYPE_EGL_DEVICE as u32; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "GST_GL_DISPLAY_TYPE_EAGL")] + const EAGL = ffi::GST_GL_DISPLAY_TYPE_EAGL as u32; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "GST_GL_DISPLAY_TYPE_WINRT")] + const WINRT = ffi::GST_GL_DISPLAY_TYPE_WINRT as u32; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "GST_GL_DISPLAY_TYPE_ANDROID")] + const ANDROID = ffi::GST_GL_DISPLAY_TYPE_ANDROID as u32; } } diff --git a/gstreamer-gl/src/auto/gl_allocation_params.rs b/gstreamer-gl/src/auto/gl_allocation_params.rs index fc8fd0942..634ed0495 100644 --- a/gstreamer-gl/src/auto/gl_allocation_params.rs +++ b/gstreamer-gl/src/auto/gl_allocation_params.rs @@ -28,7 +28,7 @@ impl GLAllocationParams { } //#[doc(alias = "gst_gl_allocation_params_init")] - //pub fn init>(&mut self, struct_size: usize, alloc_flags: u32, copy: P, free: /*Unimplemented*/Fn(/*Unimplemented*/Option), context: &Q, alloc_size: usize, alloc_params: Option<&mut gst::AllocationParams>, wrapped_data: /*Unimplemented*/Option, gl_handle: /*Unimplemented*/Option, user_data: /*Unimplemented*/Option) -> bool { + //pub fn init>(&mut self, struct_size: usize, alloc_flags: u32, copy: P, free: /*Unimplemented*/Fn(/*Unimplemented*/Option), context: &Q, alloc_size: usize, alloc_params: Option<&gst::AllocationParams>, wrapped_data: /*Unimplemented*/Option, gl_handle: /*Unimplemented*/Option, user_data: /*Unimplemented*/Option) -> bool { // unsafe { TODO: call ffi:gst_gl_allocation_params_init() } //} } diff --git a/gstreamer-gl/src/auto/gl_context.rs b/gstreamer-gl/src/auto/gl_context.rs index 8e45efb92..275877bf8 100644 --- a/gstreamer-gl/src/auto/gl_context.rs +++ b/gstreamer-gl/src/auto/gl_context.rs @@ -92,6 +92,12 @@ pub trait GLContextExt: 'static { #[doc(alias = "gst_gl_context_fill_info")] fn fill_info(&self) -> Result<(), glib::Error>; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_gl_context_get_config")] + #[doc(alias = "get_config")] + fn config(&self) -> Option; + #[doc(alias = "gst_gl_context_get_display")] #[doc(alias = "get_display")] fn display(&self) -> GLDisplay; @@ -119,6 +125,11 @@ pub trait GLContextExt: 'static { #[doc(alias = "gst_gl_context_is_shared")] fn is_shared(&self) -> bool; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_gl_context_request_config")] + fn request_config(&self, gl_config: Option<&gst::Structure>) -> bool; + #[doc(alias = "gst_gl_context_set_shared_with")] fn set_shared_with>(&self, share: &P); @@ -236,6 +247,16 @@ impl> GLContextExt for O { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + fn config(&self) -> Option { + unsafe { + from_glib_full(ffi::gst_gl_context_get_config( + self.as_ref().to_glib_none().0, + )) + } + } + fn display(&self) -> GLDisplay { unsafe { from_glib_full(ffi::gst_gl_context_get_display( @@ -306,6 +327,17 @@ impl> GLContextExt for O { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + fn request_config(&self, gl_config: Option<&gst::Structure>) -> bool { + unsafe { + from_glib(ffi::gst_gl_context_request_config( + self.as_ref().to_glib_none().0, + gl_config.to_glib_full(), + )) + } + } + fn set_shared_with>(&self, share: &P) { unsafe { ffi::gst_gl_context_set_shared_with( diff --git a/gstreamer-gl/src/auto/gl_display.rs b/gstreamer-gl/src/auto/gl_display.rs index 62dfa12d1..fc9539579 100644 --- a/gstreamer-gl/src/auto/gl_display.rs +++ b/gstreamer-gl/src/auto/gl_display.rs @@ -31,6 +31,15 @@ impl GLDisplay { assert_initialized_main_thread!(); unsafe { from_glib_full(ffi::gst_gl_display_new()) } } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_gl_display_new_with_type")] + #[doc(alias = "new_with_type")] + pub fn with_type(type_: GLDisplayType) -> Option { + assert_initialized_main_thread!(); + unsafe { from_glib_full(ffi::gst_gl_display_new_with_type(type_.into_glib())) } + } } impl Default for GLDisplay { diff --git a/gstreamer-gl/src/auto/gl_video_allocation_params.rs b/gstreamer-gl/src/auto/gl_video_allocation_params.rs index b1eeb0c76..e9328b3c5 100644 --- a/gstreamer-gl/src/auto/gl_video_allocation_params.rs +++ b/gstreamer-gl/src/auto/gl_video_allocation_params.rs @@ -35,10 +35,10 @@ impl GLVideoAllocationParams { unsafe { from_glib_full(ffi::gst_gl_video_allocation_params_new( context.as_ref().to_glib_none().0, - mut_override(alloc_params.to_glib_none().0), - mut_override(v_info.to_glib_none().0), + alloc_params.to_glib_none().0, + v_info.to_glib_none().0, plane, - mut_override(valign.to_glib_none().0), + valign.to_glib_none().0, target.into_glib(), tex_format.into_glib(), )) @@ -46,17 +46,17 @@ impl GLVideoAllocationParams { } //#[doc(alias = "gst_gl_video_allocation_params_new_wrapped_data")] - //pub fn new_wrapped_data>(context: &P, alloc_params: Option<&mut gst::AllocationParams>, v_info: &mut gst_video::VideoInfo, plane: u32, valign: Option<&mut gst_video::VideoAlignment>, target: GLTextureTarget, tex_format: GLFormat, wrapped_data: /*Unimplemented*/Option, user_data: /*Unimplemented*/Option) -> GLVideoAllocationParams { + //pub fn new_wrapped_data>(context: &P, alloc_params: Option<&gst::AllocationParams>, v_info: &gst_video::VideoInfo, plane: u32, valign: Option<&gst_video::VideoAlignment>, target: GLTextureTarget, tex_format: GLFormat, wrapped_data: /*Unimplemented*/Option, user_data: /*Unimplemented*/Option) -> GLVideoAllocationParams { // unsafe { TODO: call ffi:gst_gl_video_allocation_params_new_wrapped_data() } //} //#[doc(alias = "gst_gl_video_allocation_params_new_wrapped_gl_handle")] - //pub fn new_wrapped_gl_handle>(context: &P, alloc_params: Option<&mut gst::AllocationParams>, v_info: &mut gst_video::VideoInfo, plane: u32, valign: Option<&mut gst_video::VideoAlignment>, target: GLTextureTarget, tex_format: GLFormat, gl_handle: /*Unimplemented*/Option, user_data: /*Unimplemented*/Option) -> GLVideoAllocationParams { + //pub fn new_wrapped_gl_handle>(context: &P, alloc_params: Option<&gst::AllocationParams>, v_info: &gst_video::VideoInfo, plane: u32, valign: Option<&gst_video::VideoAlignment>, target: GLTextureTarget, tex_format: GLFormat, gl_handle: /*Unimplemented*/Option, user_data: /*Unimplemented*/Option) -> GLVideoAllocationParams { // unsafe { TODO: call ffi:gst_gl_video_allocation_params_new_wrapped_gl_handle() } //} //#[doc(alias = "gst_gl_video_allocation_params_new_wrapped_texture")] - //pub fn new_wrapped_texture>(context: &P, alloc_params: Option<&mut gst::AllocationParams>, v_info: &mut gst_video::VideoInfo, plane: u32, valign: Option<&mut gst_video::VideoAlignment>, target: GLTextureTarget, tex_format: GLFormat, tex_id: u32, user_data: /*Unimplemented*/Option) -> GLVideoAllocationParams { + //pub fn new_wrapped_texture>(context: &P, alloc_params: Option<&gst::AllocationParams>, v_info: &gst_video::VideoInfo, plane: u32, valign: Option<&gst_video::VideoAlignment>, target: GLTextureTarget, tex_format: GLFormat, tex_id: u32, user_data: /*Unimplemented*/Option) -> GLVideoAllocationParams { // unsafe { TODO: call ffi:gst_gl_video_allocation_params_new_wrapped_texture() } //} @@ -71,7 +71,7 @@ impl GLVideoAllocationParams { } //#[doc(alias = "gst_gl_video_allocation_params_init_full")] - //pub fn init_full>(&mut self, struct_size: usize, alloc_flags: u32, copy: P, free: /*Unimplemented*/Fn(/*Unimplemented*/Option), context: &Q, alloc_params: Option<&mut gst::AllocationParams>, v_info: &mut gst_video::VideoInfo, plane: u32, valign: Option<&mut gst_video::VideoAlignment>, target: GLTextureTarget, tex_format: GLFormat, wrapped_data: /*Unimplemented*/Option, gl_handle: /*Unimplemented*/Option, user_data: /*Unimplemented*/Option) -> bool { + //pub fn init_full>(&mut self, struct_size: usize, alloc_flags: u32, copy: P, free: /*Unimplemented*/Fn(/*Unimplemented*/Option), context: &Q, alloc_params: Option<&gst::AllocationParams>, v_info: &gst_video::VideoInfo, plane: u32, valign: Option<&gst_video::VideoAlignment>, target: GLTextureTarget, tex_format: GLFormat, wrapped_data: /*Unimplemented*/Option, gl_handle: /*Unimplemented*/Option, user_data: /*Unimplemented*/Option) -> bool { // unsafe { TODO: call ffi:gst_gl_video_allocation_params_init_full() } //} } diff --git a/gstreamer-gl/src/auto/mod.rs b/gstreamer-gl/src/auto/mod.rs index 1a1da3415..1ffd418b1 100644 --- a/gstreamer-gl/src/auto/mod.rs +++ b/gstreamer-gl/src/auto/mod.rs @@ -59,6 +59,9 @@ mod gl_video_allocation_params; pub use self::gl_video_allocation_params::GLVideoAllocationParams; mod enums; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub use self::enums::GLConfigCaveat; pub use self::enums::GLContextError; pub use self::enums::GLFormat; pub use self::enums::GLQueryType; @@ -70,6 +73,9 @@ pub use self::enums::GLUploadReturn; pub use self::enums::GLWindowError; mod flags; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub use self::flags::GLConfigSurfaceType; pub use self::flags::GLDisplayType; pub use self::flags::GLPlatform; pub use self::flags::GLSLProfile; diff --git a/gstreamer-gl/src/auto/versions.txt b/gstreamer-gl/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-gl/src/auto/versions.txt +++ b/gstreamer-gl/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-gl/sys/build.rs b/gstreamer-gl/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-gl/sys/build.rs +++ b/gstreamer-gl/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-gl/sys/src/lib.rs b/gstreamer-gl/sys/src/lib.rs index da6b8e55f..01ff0170e 100644 --- a/gstreamer-gl/sys/src/lib.rs +++ b/gstreamer-gl/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] @@ -37,6 +37,11 @@ pub const GST_GL_BASE_MEMORY_ERROR_FAILED: GstGLBaseMemoryError = 0; pub const GST_GL_BASE_MEMORY_ERROR_OLD_LIBS: GstGLBaseMemoryError = 1; pub const GST_GL_BASE_MEMORY_ERROR_RESOURCE_UNAVAILABLE: GstGLBaseMemoryError = 2; +pub type GstGLConfigCaveat = c_int; +pub const GST_GL_CONFIG_CAVEAT_NONE: GstGLConfigCaveat = 0; +pub const GST_GL_CONFIG_CAVEAT_SLOW: GstGLConfigCaveat = 1; +pub const GST_GL_CONFIG_CAVEAT_NON_CONFORMANT: GstGLConfigCaveat = 2; + pub type GstGLContextError = c_int; pub const GST_GL_CONTEXT_ERROR_FAILED: GstGLContextError = 0; pub const GST_GL_CONTEXT_ERROR_WRONG_CONFIG: GstGLContextError = 1; @@ -147,6 +152,8 @@ pub const GST_GL_BUFFER_ALLOCATOR_NAME: *const c_char = b"GLBuffer\0" as *const pub const GST_GL_COLOR_CONVERT_EXT_FORMATS: *const c_char = b", BGR10A2_LE, RGB10A2_LE, P010_10LE, P012_LE, P016_LE, Y212_LE, Y412_LE\0" as *const u8 as *const c_char; +pub const GST_GL_CONFIG_STRUCTURE_NAME: *const c_char = + b"gst-gl-context-config\0" as *const u8 as *const c_char; pub const GST_GL_CONTEXT_TYPE_CGL: *const c_char = b"gst.gl.context.CGL\0" as *const u8 as *const c_char; pub const GST_GL_CONTEXT_TYPE_EAGL: *const c_char = @@ -187,6 +194,12 @@ pub type GstGLBaseMemoryTransfer = c_uint; pub const GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD: GstGLBaseMemoryTransfer = 1048576; pub const GST_GL_BASE_MEMORY_TRANSFER_NEED_UPLOAD: GstGLBaseMemoryTransfer = 2097152; +pub type GstGLConfigSurfaceType = c_uint; +pub const GST_GL_CONFIG_SURFACE_TYPE_NONE: GstGLConfigSurfaceType = 0; +pub const GST_GL_CONFIG_SURFACE_TYPE_WINDOW: GstGLConfigSurfaceType = 1; +pub const GST_GL_CONFIG_SURFACE_TYPE_PBUFFER: GstGLConfigSurfaceType = 2; +pub const GST_GL_CONFIG_SURFACE_TYPE_PIXMAP: GstGLConfigSurfaceType = 4; + pub type GstGLDisplayType = c_uint; pub const GST_GL_DISPLAY_TYPE_NONE: GstGLDisplayType = 0; pub const GST_GL_DISPLAY_TYPE_X11: GstGLDisplayType = 1; @@ -197,7 +210,18 @@ pub const GST_GL_DISPLAY_TYPE_DISPMANX: GstGLDisplayType = 16; pub const GST_GL_DISPLAY_TYPE_EGL: GstGLDisplayType = 32; pub const GST_GL_DISPLAY_TYPE_VIV_FB: GstGLDisplayType = 64; pub const GST_GL_DISPLAY_TYPE_GBM: GstGLDisplayType = 128; +#[cfg(any(feature = "v1_18", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub const GST_GL_DISPLAY_TYPE_EGL_DEVICE: GstGLDisplayType = 256; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_GL_DISPLAY_TYPE_EAGL: GstGLDisplayType = 512; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_GL_DISPLAY_TYPE_WINRT: GstGLDisplayType = 1024; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_GL_DISPLAY_TYPE_ANDROID: GstGLDisplayType = 2048; pub const GST_GL_DISPLAY_TYPE_ANY: GstGLDisplayType = 4294967295; pub type GstGLPlatform = c_uint; @@ -545,7 +569,10 @@ pub struct GstGLContextClass { pub check_feature: Option gboolean>, pub get_gl_platform_version: Option, - pub _reserved: [gpointer; 4], + pub get_config: Option *mut gst::GstStructure>, + pub request_config: + Option gboolean>, + pub _reserved: [gpointer; 2], } impl ::std::fmt::Debug for GstGLContextClass { @@ -564,6 +591,8 @@ impl ::std::fmt::Debug for GstGLContextClass { .field("swap_buffers", &self.swap_buffers) .field("check_feature", &self.check_feature) .field("get_gl_platform_version", &self.get_gl_platform_version) + .field("get_config", &self.get_config) + .field("request_config", &self.request_config) .finish() } } @@ -1459,6 +1488,16 @@ extern "C" { pub fn gst_gl_base_memory_error_get_type() -> GType; pub fn gst_gl_base_memory_error_quark() -> glib::GQuark; + //========================================================================= + // GstGLConfigCaveat + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_gl_config_caveat_get_type() -> GType; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_gl_config_caveat_to_string(caveat: GstGLConfigCaveat) -> *const c_char; + //========================================================================= // GstGLContextError //========================================================================= @@ -1471,7 +1510,7 @@ extern "C" { pub fn gst_gl_format_get_type() -> GType; pub fn gst_gl_format_from_video_info( context: *mut GstGLContext, - vinfo: *mut gst_video::GstVideoInfo, + vinfo: *const gst_video::GstVideoInfo, plane: c_uint, ) -> GstGLFormat; #[cfg(any(feature = "v1_16", feature = "dox"))] @@ -1552,6 +1591,18 @@ extern "C" { //========================================================================= pub fn gst_gl_base_memory_transfer_get_type() -> GType; + //========================================================================= + // GstGLConfigSurfaceType + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_gl_config_surface_type_get_type() -> GType; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_gl_config_surface_type_to_string( + surface_type: GstGLConfigSurfaceType, + ) -> *const c_char; + //========================================================================= // GstGLDisplayType //========================================================================= @@ -1592,7 +1643,7 @@ extern "C" { free: GstGLAllocationParamsFreeFunc, context: *mut GstGLContext, alloc_size: size_t, - alloc_params: *mut gst::GstAllocationParams, + alloc_params: *const gst::GstAllocationParams, wrapped_data: gpointer, gl_handle: gpointer, user_data: gpointer, @@ -1632,7 +1683,7 @@ extern "C" { allocator: *mut gst::GstAllocator, parent: *mut gst::GstMemory, context: *mut GstGLContext, - params: *mut gst::GstAllocationParams, + params: *const gst::GstAllocationParams, size: size_t, user_data: gpointer, notify: glib::GDestroyNotify, @@ -1652,6 +1703,9 @@ extern "C" { //========================================================================= // GstGLBuffer //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_gl_buffer_get_type() -> GType; pub fn gst_gl_buffer_init_once(); //========================================================================= @@ -1661,7 +1715,7 @@ extern "C" { pub fn gst_gl_buffer_allocation_params_new( context: *mut GstGLContext, alloc_size: size_t, - alloc_params: *mut gst::GstAllocationParams, + alloc_params: *const gst::GstAllocationParams, gl_target: c_uint, gl_usage: c_uint, ) -> *mut GstGLBufferAllocationParams; @@ -1669,6 +1723,9 @@ extern "C" { //========================================================================= // GstGLMemory //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_gl_memory_get_type() -> GType; pub fn gst_gl_memory_copy_into( gl_mem: *mut GstGLMemory, tex_id: c_uint, @@ -1697,10 +1754,10 @@ extern "C" { context: *mut GstGLContext, target: GstGLTextureTarget, tex_format: GstGLFormat, - params: *mut gst::GstAllocationParams, - info: *mut gst_video::GstVideoInfo, + params: *const gst::GstAllocationParams, + info: *const gst_video::GstVideoInfo, plane: c_uint, - valign: *mut gst_video::GstVideoAlignment, + valign: *const gst_video::GstVideoAlignment, user_data: gpointer, notify: glib::GDestroyNotify, ); @@ -1720,6 +1777,9 @@ extern "C" { //========================================================================= // GstGLMemoryPBO //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_gl_memory_pbo_get_type() -> GType; pub fn gst_gl_memory_pbo_copy_into_texture( gl_mem: *mut GstGLMemoryPBO, tex_id: c_uint, @@ -1761,6 +1821,9 @@ extern "C" { //========================================================================= // GstGLRenderbuffer //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_gl_renderbuffer_get_type() -> GType; pub fn gst_gl_renderbuffer_get_format(gl_mem: *mut GstGLRenderbuffer) -> GstGLFormat; pub fn gst_gl_renderbuffer_get_height(gl_mem: *mut GstGLRenderbuffer) -> c_int; pub fn gst_gl_renderbuffer_get_id(gl_mem: *mut GstGLRenderbuffer) -> c_uint; @@ -1773,14 +1836,14 @@ extern "C" { pub fn gst_gl_renderbuffer_allocation_params_get_type() -> GType; pub fn gst_gl_renderbuffer_allocation_params_new( context: *mut GstGLContext, - alloc_params: *mut gst::GstAllocationParams, + alloc_params: *const gst::GstAllocationParams, renderbuffer_format: GstGLFormat, width: c_uint, height: c_uint, ) -> *mut GstGLRenderbufferAllocationParams; pub fn gst_gl_renderbuffer_allocation_params_new_wrapped( context: *mut GstGLContext, - alloc_params: *mut gst::GstAllocationParams, + alloc_params: *const gst::GstAllocationParams, renderbuffer_format: GstGLFormat, width: c_uint, height: c_uint, @@ -1806,19 +1869,19 @@ extern "C" { pub fn gst_gl_video_allocation_params_get_type() -> GType; pub fn gst_gl_video_allocation_params_new( context: *mut GstGLContext, - alloc_params: *mut gst::GstAllocationParams, - v_info: *mut gst_video::GstVideoInfo, + alloc_params: *const gst::GstAllocationParams, + v_info: *const gst_video::GstVideoInfo, plane: c_uint, - valign: *mut gst_video::GstVideoAlignment, + valign: *const gst_video::GstVideoAlignment, target: GstGLTextureTarget, tex_format: GstGLFormat, ) -> *mut GstGLVideoAllocationParams; pub fn gst_gl_video_allocation_params_new_wrapped_data( context: *mut GstGLContext, - alloc_params: *mut gst::GstAllocationParams, - v_info: *mut gst_video::GstVideoInfo, + alloc_params: *const gst::GstAllocationParams, + v_info: *const gst_video::GstVideoInfo, plane: c_uint, - valign: *mut gst_video::GstVideoAlignment, + valign: *const gst_video::GstVideoAlignment, target: GstGLTextureTarget, tex_format: GstGLFormat, wrapped_data: gpointer, @@ -1827,10 +1890,10 @@ extern "C" { ) -> *mut GstGLVideoAllocationParams; pub fn gst_gl_video_allocation_params_new_wrapped_gl_handle( context: *mut GstGLContext, - alloc_params: *mut gst::GstAllocationParams, - v_info: *mut gst_video::GstVideoInfo, + alloc_params: *const gst::GstAllocationParams, + v_info: *const gst_video::GstVideoInfo, plane: c_uint, - valign: *mut gst_video::GstVideoAlignment, + valign: *const gst_video::GstVideoAlignment, target: GstGLTextureTarget, tex_format: GstGLFormat, gl_handle: gpointer, @@ -1839,10 +1902,10 @@ extern "C" { ) -> *mut GstGLVideoAllocationParams; pub fn gst_gl_video_allocation_params_new_wrapped_texture( context: *mut GstGLContext, - alloc_params: *mut gst::GstAllocationParams, - v_info: *mut gst_video::GstVideoInfo, + alloc_params: *const gst::GstAllocationParams, + v_info: *const gst_video::GstVideoInfo, plane: c_uint, - valign: *mut gst_video::GstVideoAlignment, + valign: *const gst_video::GstVideoAlignment, target: GstGLTextureTarget, tex_format: GstGLFormat, tex_id: c_uint, @@ -1861,10 +1924,10 @@ extern "C" { copy: GstGLAllocationParamsCopyFunc, free: GstGLAllocationParamsFreeFunc, context: *mut GstGLContext, - alloc_params: *mut gst::GstAllocationParams, - v_info: *mut gst_video::GstVideoInfo, + alloc_params: *const gst::GstAllocationParams, + v_info: *const gst_video::GstVideoInfo, plane: c_uint, - valign: *mut gst_video::GstVideoAlignment, + valign: *const gst_video::GstVideoAlignment, target: GstGLTextureTarget, tex_format: GstGLFormat, wrapped_data: gpointer, @@ -1906,6 +1969,11 @@ extern "C" { //========================================================================= pub fn gst_gl_buffer_pool_get_type() -> GType; pub fn gst_gl_buffer_pool_new(context: *mut GstGLContext) -> *mut gst::GstBufferPool; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_gl_buffer_pool_get_gl_allocation_params( + pool: *mut GstGLBufferPool, + ) -> *mut GstGLAllocationParams; //========================================================================= // GstGLColorConvert @@ -1996,6 +2064,9 @@ extern "C" { context: *mut GstGLContext, error: *mut *mut glib::GError, ) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_gl_context_get_config(context: *mut GstGLContext) -> *mut gst::GstStructure; pub fn gst_gl_context_get_display(context: *mut GstGLContext) -> *mut GstGLDisplay; pub fn gst_gl_context_get_gl_api(context: *mut GstGLContext) -> GstGLAPI; pub fn gst_gl_context_get_gl_context(context: *mut GstGLContext) -> uintptr_t; @@ -2017,6 +2088,12 @@ extern "C" { pub fn gst_gl_context_get_thread(context: *mut GstGLContext) -> *mut glib::GThread; pub fn gst_gl_context_get_window(context: *mut GstGLContext) -> *mut GstGLWindow; pub fn gst_gl_context_is_shared(context: *mut GstGLContext) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_gl_context_request_config( + context: *mut GstGLContext, + gl_config: *mut gst::GstStructure, + ) -> gboolean; pub fn gst_gl_context_set_shared_with(context: *mut GstGLContext, share: *mut GstGLContext); pub fn gst_gl_context_set_window( context: *mut GstGLContext, @@ -2053,6 +2130,9 @@ extern "C" { //========================================================================= pub fn gst_gl_display_get_type() -> GType; pub fn gst_gl_display_new() -> *mut GstGLDisplay; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_gl_display_new_with_type(type_: GstGLDisplayType) -> *mut GstGLDisplay; pub fn gst_gl_display_add_context( display: *mut GstGLDisplay, context: *mut GstGLContext, @@ -2632,7 +2712,7 @@ extern "C" { ) -> *mut GstGLAllocationParams; pub fn gst_buffer_pool_config_set_gl_allocation_params( config: *mut gst::GstStructure, - params: *mut GstGLAllocationParams, + params: *const GstGLAllocationParams, ); pub fn gst_context_get_gl_display( context: *mut gst::GstContext, @@ -2650,13 +2730,13 @@ extern "C" { other_context_ptr: *mut *mut GstGLContext, ) -> gboolean; pub fn gst_gl_get_plane_data_size( - info: *mut gst_video::GstVideoInfo, - align: *mut gst_video::GstVideoAlignment, + info: *const gst_video::GstVideoInfo, + align: *const gst_video::GstVideoAlignment, plane: c_uint, ) -> size_t; pub fn gst_gl_get_plane_start( - info: *mut gst_video::GstVideoInfo, - valign: *mut gst_video::GstVideoAlignment, + info: *const gst_video::GstVideoInfo, + valign: *const gst_video::GstVideoAlignment, plane: c_uint, ) -> size_t; pub fn gst_gl_handle_context_query( diff --git a/gstreamer-gl/sys/tests/abi.rs b/gstreamer-gl/sys/tests/abi.rs index ca8e2c203..c8af4b837 100644 --- a/gstreamer-gl/sys/tests/abi.rs +++ b/gstreamer-gl/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_gl_sys::*; @@ -351,6 +351,20 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstGLConfigCaveat", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), + ( + "GstGLConfigSurfaceType", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstGLContext", Layout { @@ -743,6 +757,14 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ "GST_GL_COLOR_CONVERT_EXT_FORMATS", ", BGR10A2_LE, RGB10A2_LE, P010_10LE, P012_LE, P016_LE, Y212_LE, Y412_LE", ), + ("(gint) GST_GL_CONFIG_CAVEAT_NONE", "0"), + ("(gint) GST_GL_CONFIG_CAVEAT_NON_CONFORMANT", "2"), + ("(gint) GST_GL_CONFIG_CAVEAT_SLOW", "1"), + ("GST_GL_CONFIG_STRUCTURE_NAME", "gst-gl-context-config"), + ("(guint) GST_GL_CONFIG_SURFACE_TYPE_NONE", "0"), + ("(guint) GST_GL_CONFIG_SURFACE_TYPE_PBUFFER", "2"), + ("(guint) GST_GL_CONFIG_SURFACE_TYPE_PIXMAP", "4"), + ("(guint) GST_GL_CONFIG_SURFACE_TYPE_WINDOW", "1"), ("(gint) GST_GL_CONTEXT_ERROR_CREATE_CONTEXT", "4"), ("(gint) GST_GL_CONTEXT_ERROR_FAILED", "0"), ("(gint) GST_GL_CONTEXT_ERROR_OLD_LIBS", "3"), @@ -757,9 +779,11 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_GL_DEPTH24_STENCIL8", "35056"), ("(gint) GST_GL_DEPTH_COMPONENT16", "33189"), ("GST_GL_DISPLAY_CONTEXT_TYPE", "gst.gl.GLDisplay"), + ("(guint) GST_GL_DISPLAY_TYPE_ANDROID", "2048"), ("(guint) GST_GL_DISPLAY_TYPE_ANY", "4294967295"), ("(guint) GST_GL_DISPLAY_TYPE_COCOA", "4"), ("(guint) GST_GL_DISPLAY_TYPE_DISPMANX", "16"), + ("(guint) GST_GL_DISPLAY_TYPE_EAGL", "512"), ("(guint) GST_GL_DISPLAY_TYPE_EGL", "32"), ("(guint) GST_GL_DISPLAY_TYPE_EGL_DEVICE", "256"), ("(guint) GST_GL_DISPLAY_TYPE_GBM", "128"), @@ -767,6 +791,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(guint) GST_GL_DISPLAY_TYPE_VIV_FB", "64"), ("(guint) GST_GL_DISPLAY_TYPE_WAYLAND", "2"), ("(guint) GST_GL_DISPLAY_TYPE_WIN32", "8"), + ("(guint) GST_GL_DISPLAY_TYPE_WINRT", "1024"), ("(guint) GST_GL_DISPLAY_TYPE_X11", "1"), ("(gint) GST_GL_LUMINANCE", "6409"), ("(gint) GST_GL_LUMINANCE_ALPHA", "6410"), diff --git a/gstreamer-gl/sys/tests/constant.c b/gstreamer-gl/sys/tests/constant.c index 399d0139e..0509bf254 100644 --- a/gstreamer-gl/sys/tests/constant.c +++ b/gstreamer-gl/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" @@ -85,6 +85,14 @@ int main() { PRINT_CONSTANT((guint) GST_GL_BASE_MEMORY_TRANSFER_NEED_UPLOAD); PRINT_CONSTANT(GST_GL_BUFFER_ALLOCATOR_NAME); PRINT_CONSTANT(GST_GL_COLOR_CONVERT_EXT_FORMATS); + PRINT_CONSTANT((gint) GST_GL_CONFIG_CAVEAT_NONE); + PRINT_CONSTANT((gint) GST_GL_CONFIG_CAVEAT_NON_CONFORMANT); + PRINT_CONSTANT((gint) GST_GL_CONFIG_CAVEAT_SLOW); + PRINT_CONSTANT(GST_GL_CONFIG_STRUCTURE_NAME); + PRINT_CONSTANT((guint) GST_GL_CONFIG_SURFACE_TYPE_NONE); + PRINT_CONSTANT((guint) GST_GL_CONFIG_SURFACE_TYPE_PBUFFER); + PRINT_CONSTANT((guint) GST_GL_CONFIG_SURFACE_TYPE_PIXMAP); + PRINT_CONSTANT((guint) GST_GL_CONFIG_SURFACE_TYPE_WINDOW); PRINT_CONSTANT((gint) GST_GL_CONTEXT_ERROR_CREATE_CONTEXT); PRINT_CONSTANT((gint) GST_GL_CONTEXT_ERROR_FAILED); PRINT_CONSTANT((gint) GST_GL_CONTEXT_ERROR_OLD_LIBS); @@ -99,9 +107,11 @@ int main() { PRINT_CONSTANT((gint) GST_GL_DEPTH24_STENCIL8); PRINT_CONSTANT((gint) GST_GL_DEPTH_COMPONENT16); PRINT_CONSTANT(GST_GL_DISPLAY_CONTEXT_TYPE); + PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_ANDROID); PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_ANY); PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_COCOA); PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_DISPMANX); + PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_EAGL); PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_EGL); PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_EGL_DEVICE); PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_GBM); @@ -109,6 +119,7 @@ int main() { PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_VIV_FB); PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_WAYLAND); PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_WIN32); + PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_WINRT); PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_X11); PRINT_CONSTANT((gint) GST_GL_LUMINANCE); PRINT_CONSTANT((gint) GST_GL_LUMINANCE_ALPHA); diff --git a/gstreamer-gl/sys/tests/layout.c b/gstreamer-gl/sys/tests/layout.c index f0324f8f5..70b432584 100644 --- a/gstreamer-gl/sys/tests/layout.c +++ b/gstreamer-gl/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" @@ -28,6 +28,8 @@ int main() { printf("%s;%zu;%zu\n", "GstGLBufferPoolClass", sizeof(GstGLBufferPoolClass), alignof(GstGLBufferPoolClass)); printf("%s;%zu;%zu\n", "GstGLColorConvert", sizeof(GstGLColorConvert), alignof(GstGLColorConvert)); printf("%s;%zu;%zu\n", "GstGLColorConvertClass", sizeof(GstGLColorConvertClass), alignof(GstGLColorConvertClass)); + printf("%s;%zu;%zu\n", "GstGLConfigCaveat", sizeof(GstGLConfigCaveat), alignof(GstGLConfigCaveat)); + printf("%s;%zu;%zu\n", "GstGLConfigSurfaceType", sizeof(GstGLConfigSurfaceType), alignof(GstGLConfigSurfaceType)); printf("%s;%zu;%zu\n", "GstGLContext", sizeof(GstGLContext), alignof(GstGLContext)); printf("%s;%zu;%zu\n", "GstGLContextClass", sizeof(GstGLContextClass), alignof(GstGLContextClass)); printf("%s;%zu;%zu\n", "GstGLContextError", sizeof(GstGLContextError), alignof(GstGLContextError)); diff --git a/gstreamer-gl/wayland/src/auto/versions.txt b/gstreamer-gl/wayland/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-gl/wayland/src/auto/versions.txt +++ b/gstreamer-gl/wayland/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-gl/wayland/sys/build.rs b/gstreamer-gl/wayland/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-gl/wayland/sys/build.rs +++ b/gstreamer-gl/wayland/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-gl/wayland/sys/src/lib.rs b/gstreamer-gl/wayland/sys/src/lib.rs index 0d7013b81..853be4d1e 100644 --- a/gstreamer-gl/wayland/sys/src/lib.rs +++ b/gstreamer-gl/wayland/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] diff --git a/gstreamer-gl/wayland/sys/tests/abi.rs b/gstreamer-gl/wayland/sys/tests/abi.rs index 61bc2ade5..2f139cb7a 100644 --- a/gstreamer-gl/wayland/sys/tests/abi.rs +++ b/gstreamer-gl/wayland/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_gl_wayland_sys::*; diff --git a/gstreamer-gl/wayland/sys/tests/constant.c b/gstreamer-gl/wayland/sys/tests/constant.c index 3da2ece99..49e857902 100644 --- a/gstreamer-gl/wayland/sys/tests/constant.c +++ b/gstreamer-gl/wayland/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-gl/wayland/sys/tests/layout.c b/gstreamer-gl/wayland/sys/tests/layout.c index bce8b8804..8239df5ff 100644 --- a/gstreamer-gl/wayland/sys/tests/layout.c +++ b/gstreamer-gl/wayland/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-gl/x11/src/auto/versions.txt b/gstreamer-gl/x11/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-gl/x11/src/auto/versions.txt +++ b/gstreamer-gl/x11/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-gl/x11/sys/build.rs b/gstreamer-gl/x11/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-gl/x11/sys/build.rs +++ b/gstreamer-gl/x11/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-gl/x11/sys/src/lib.rs b/gstreamer-gl/x11/sys/src/lib.rs index 4a286ba14..add8c7bd1 100644 --- a/gstreamer-gl/x11/sys/src/lib.rs +++ b/gstreamer-gl/x11/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] diff --git a/gstreamer-gl/x11/sys/tests/abi.rs b/gstreamer-gl/x11/sys/tests/abi.rs index 169bd45aa..9572d9fd5 100644 --- a/gstreamer-gl/x11/sys/tests/abi.rs +++ b/gstreamer-gl/x11/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_gl_x11_sys::*; diff --git a/gstreamer-gl/x11/sys/tests/constant.c b/gstreamer-gl/x11/sys/tests/constant.c index 3da2ece99..49e857902 100644 --- a/gstreamer-gl/x11/sys/tests/constant.c +++ b/gstreamer-gl/x11/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-gl/x11/sys/tests/layout.c b/gstreamer-gl/x11/sys/tests/layout.c index 955ce80ff..9735fad35 100644 --- a/gstreamer-gl/x11/sys/tests/layout.c +++ b/gstreamer-gl/x11/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-mpegts/sys/build.rs b/gstreamer-mpegts/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-mpegts/sys/build.rs +++ b/gstreamer-mpegts/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-mpegts/sys/src/lib.rs b/gstreamer-mpegts/sys/src/lib.rs index 5e630d4c1..902021e34 100644 --- a/gstreamer-mpegts/sys/src/lib.rs +++ b/gstreamer-mpegts/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] @@ -27,7 +27,7 @@ use glib::{gboolean, gconstpointer, gpointer, GType}; // Enums pub type GstMpegtsATSCDescriptorType = c_int; pub const GST_MTS_DESC_ATSC_STUFFING: GstMpegtsATSCDescriptorType = 128; -pub const GST_MTS_DESC_ATSC_AC3: GstMpegtsATSCDescriptorType = 131; +pub const GST_MTS_DESC_ATSC_AC3: GstMpegtsATSCDescriptorType = 129; pub const GST_MTS_DESC_ATSC_CAPTION_SERVICE: GstMpegtsATSCDescriptorType = 134; pub const GST_MTS_DESC_ATSC_CONTENT_ADVISORY: GstMpegtsATSCDescriptorType = 135; pub const GST_MTS_DESC_ATSC_EXTENDED_CHANNEL_NAME: GstMpegtsATSCDescriptorType = 160; @@ -49,6 +49,15 @@ pub const GST_MTS_DESC_ATSC_MODULE_LINK: GstMpegtsATSCDescriptorType = 180; pub const GST_MTS_DESC_ATSC_CRC32: GstMpegtsATSCDescriptorType = 181; pub const GST_MTS_DESC_ATSC_GROUP_LINK: GstMpegtsATSCDescriptorType = 184; +pub type GstMpegtsATSCStreamType = c_int; +pub const GST_MPEGTS_STREAM_TYPE_ATSC_DCII_VIDEO: GstMpegtsATSCStreamType = 128; +pub const GST_MPEGTS_STREAM_TYPE_ATSC_AUDIO_AC3: GstMpegtsATSCStreamType = 129; +pub const GST_MPEGTS_STREAM_TYPE_ATSC_SUBTITLING: GstMpegtsATSCStreamType = 130; +pub const GST_MPEGTS_STREAM_TYPE_ATSC_ISOCH_DATA: GstMpegtsATSCStreamType = 131; +pub const GST_MPEGTS_STREAM_TYPE_ATSC_SIT: GstMpegtsATSCStreamType = 134; +pub const GST_MPEGTS_STREAM_TYPE_ATSC_AUDIO_EAC3: GstMpegtsATSCStreamType = 135; +pub const GST_MPEGTS_STREAM_TYPE_ATSC_AUDIO_DTS_HD: GstMpegtsATSCStreamType = 136; + pub type GstMpegtsAtscMGTTableType = c_int; pub const GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT0: GstMpegtsAtscMGTTableType = 256; pub const GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT127: GstMpegtsAtscMGTTableType = 383; @@ -185,6 +194,9 @@ pub const GST_MTS_DESC_EXT_DVB_VIDEO_DEPTH_RANGE: GstMpegtsDVBExtendedDescriptor pub const GST_MTS_DESC_EXT_DVB_T2MI: GstMpegtsDVBExtendedDescriptorType = 17; pub const GST_MTS_DESC_EXT_DVB_URI_LINKAGE: GstMpegtsDVBExtendedDescriptorType = 19; pub const GST_MTS_DESC_EXT_DVB_AC4: GstMpegtsDVBExtendedDescriptorType = 21; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_MTS_DESC_EXT_DVB_AUDIO_PRESELECTION: GstMpegtsDVBExtendedDescriptorType = 25; pub type GstMpegtsDVBLinkageHandOverType = c_int; pub const GST_MPEGTS_DVB_LINKAGE_HAND_OVER_RESERVED: GstMpegtsDVBLinkageHandOverType = 0; @@ -313,6 +325,21 @@ pub const GST_MTS_DESC_MPEG2_STEREOSCOPIC_VIDEO_FORMAT: GstMpegtsDescriptorType pub const GST_MTS_DESC_STEREOSCOPIC_PROGRAM_INFO: GstMpegtsDescriptorType = 53; pub const GST_MTS_DESC_STEREOSCOPIC_VIDEO_INFO: GstMpegtsDescriptorType = 54; +pub type GstMpegtsHdmvStreamType = c_int; +pub const GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_LPCM: GstMpegtsHdmvStreamType = 128; +pub const GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_AC3: GstMpegtsHdmvStreamType = 129; +pub const GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_DTS: GstMpegtsHdmvStreamType = 130; +pub const GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_AC3_TRUE_HD: GstMpegtsHdmvStreamType = 131; +pub const GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_AC3_PLUS: GstMpegtsHdmvStreamType = 132; +pub const GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_DTS_HD: GstMpegtsHdmvStreamType = 133; +pub const GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_DTS_HD_MASTER_AUDIO: GstMpegtsHdmvStreamType = 134; +pub const GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_EAC3: GstMpegtsHdmvStreamType = 135; +pub const GST_MPEGTS_STREAM_TYPE_HDMV_SUBPICTURE_PGS: GstMpegtsHdmvStreamType = 144; +pub const GST_MPEGTS_STREAM_TYPE_HDMV_IGS: GstMpegtsHdmvStreamType = 145; +pub const GST_MPEGTS_STREAM_TYPE_HDMV_SUBTITLE: GstMpegtsHdmvStreamType = 146; +pub const GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_AC3_PLUS_SECONDARY: GstMpegtsHdmvStreamType = 161; +pub const GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_DTS_HD_SECONDARY: GstMpegtsHdmvStreamType = 162; + pub type GstMpegtsISDBDescriptorType = c_int; pub const GST_MTS_DESC_ISDB_HIERARCHICAL_TRANSMISSION: GstMpegtsISDBDescriptorType = 192; pub const GST_MTS_DESC_ISDB_DIGITAL_COPY_CONTROL: GstMpegtsISDBDescriptorType = 193; @@ -354,7 +381,6 @@ pub const GST_MPEGTS_AUDIO_TYPE_HEARING_IMPAIRED: GstMpegtsIso639AudioType = 2; pub const GST_MPEGTS_AUDIO_TYPE_VISUAL_IMPAIRED_COMMENTARY: GstMpegtsIso639AudioType = 3; pub type GstMpegtsMiscDescriptorType = c_int; -pub const GST_MTS_DESC_AC3_AUDIO_STREAM: GstMpegtsMiscDescriptorType = 129; pub const GST_MTS_DESC_DTG_LOGICAL_CHANNEL: GstMpegtsMiscDescriptorType = 131; pub type GstMpegtsModulationType = c_int; @@ -382,6 +408,16 @@ pub const GST_MPEGTS_RUNNING_STATUS_PAUSING: GstMpegtsRunningStatus = 3; pub const GST_MPEGTS_RUNNING_STATUS_RUNNING: GstMpegtsRunningStatus = 4; pub const GST_MPEGTS_RUNNING_STATUS_OFF_AIR: GstMpegtsRunningStatus = 5; +pub type GstMpegtsSCTEDescriptorType = c_int; +pub const GST_MTS_DESC_SCTE_STUFFING: GstMpegtsSCTEDescriptorType = 128; +pub const GST_MTS_DESC_SCTE_AC3: GstMpegtsSCTEDescriptorType = 129; +pub const GST_MTS_DESC_SCTE_FRAME_RATE: GstMpegtsSCTEDescriptorType = 130; +pub const GST_MTS_DESC_SCTE_EXTENDED_VIDEO: GstMpegtsSCTEDescriptorType = 131; +pub const GST_MTS_DESC_SCTE_COMPONENT_NAME: GstMpegtsSCTEDescriptorType = 132; +pub const GST_MTS_DESC_SCTE_FREQUENCY_SPEC: GstMpegtsSCTEDescriptorType = 144; +pub const GST_MTS_DESC_SCTE_MODULATION_PARAMS: GstMpegtsSCTEDescriptorType = 145; +pub const GST_MTS_DESC_SCTE_TRANSPORT_STREAM_ID: GstMpegtsSCTEDescriptorType = 146; + pub type GstMpegtsSCTESpliceCommandType = c_int; pub const GST_MTS_SCTE_SPLICE_COMMAND_NULL: GstMpegtsSCTESpliceCommandType = 0; pub const GST_MTS_SCTE_SPLICE_COMMAND_SCHEDULE: GstMpegtsSCTESpliceCommandType = 4; @@ -430,6 +466,9 @@ pub const GST_MTS_TABLE_ID_ATSC_CHANNEL_OR_EVENT_EXTENDED_TEXT: GstMpegtsSection pub const GST_MTS_TABLE_ID_ATSC_SYSTEM_TIME: GstMpegtsSectionATSCTableID = 205; pub const GST_MTS_TABLE_ID_ATSC_DATA_EVENT: GstMpegtsSectionATSCTableID = 206; pub const GST_MTS_TABLE_ID_ATSC_DATA_SERVICE: GstMpegtsSectionATSCTableID = 207; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_MTS_TABLE_ID_ATSC_PROGRAM_IDENTIFIER: GstMpegtsSectionATSCTableID = 208; pub const GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE: GstMpegtsSectionATSCTableID = 209; pub const GST_MTS_TABLE_ID_ATSC_LONG_TERM_SERVICE: GstMpegtsSectionATSCTableID = 210; pub const GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE: GstMpegtsSectionATSCTableID = 211; @@ -446,6 +485,12 @@ pub const GST_MTS_TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK: GstMpegtsSectionDV pub const GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_ACTUAL_TS: GstMpegtsSectionDVBTableID = 66; pub const GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_OTHER_TS: GstMpegtsSectionDVBTableID = 70; pub const GST_MTS_TABLE_ID_BOUQUET_ASSOCIATION: GstMpegtsSectionDVBTableID = 74; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_MTS_TABLE_ID_UPDATE_NOTIFICATION: GstMpegtsSectionDVBTableID = 75; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_MTS_TABLE_ID_DOWNLOADABLE_FONT_INFO: GstMpegtsSectionDVBTableID = 76; pub const GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_PRESENT: GstMpegtsSectionDVBTableID = 78; pub const GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_PRESENT: GstMpegtsSectionDVBTableID = 79; pub const GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1: GstMpegtsSectionDVBTableID = 80; @@ -463,6 +508,9 @@ pub const GST_MTS_TABLE_ID_CONTENT_IDENTIFIER: GstMpegtsSectionDVBTableID = 119; pub const GST_MTS_TABLE_ID_MPE_FEC: GstMpegtsSectionDVBTableID = 120; pub const GST_MTS_TABLE_ID_RESOLUTION_NOTIFICATION: GstMpegtsSectionDVBTableID = 121; pub const GST_MTS_TABLE_ID_MPE_IFEC: GstMpegtsSectionDVBTableID = 122; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_MTS_TABLE_ID_PROTECTION_MESSAGE: GstMpegtsSectionDVBTableID = 123; pub const GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION: GstMpegtsSectionDVBTableID = 126; pub const GST_MTS_TABLE_ID_SELECTION_INFORMATION: GstMpegtsSectionDVBTableID = 127; pub const GST_MTS_TABLE_ID_CA_MESSAGE_ECM_0: GstMpegtsSectionDVBTableID = 128; @@ -498,6 +546,15 @@ pub const GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION: GstMpegtsSectionTableID = 4; pub const GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR: GstMpegtsSectionTableID = 5; pub const GST_MTS_TABLE_ID_METADATA: GstMpegtsSectionTableID = 6; pub const GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION: GstMpegtsSectionTableID = 7; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_MTS_TABLE_ID_14496_SECTION: GstMpegtsSectionTableID = 8; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_MTS_TABLE_ID_23001_11_SECTION: GstMpegtsSectionTableID = 9; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_MTS_TABLE_ID_23001_10_SECTION: GstMpegtsSectionTableID = 10; pub const GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA: GstMpegtsSectionTableID = 58; pub const GST_MTS_TABLE_ID_DSM_CC_U_N_MESSAGES: GstMpegtsSectionTableID = 59; pub const GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES: GstMpegtsSectionTableID = 60; @@ -518,14 +575,17 @@ pub const GST_MPEGTS_SECTION_BAT: GstMpegtsSectionType = 7; pub const GST_MPEGTS_SECTION_SDT: GstMpegtsSectionType = 8; pub const GST_MPEGTS_SECTION_TDT: GstMpegtsSectionType = 9; pub const GST_MPEGTS_SECTION_TOT: GstMpegtsSectionType = 10; -pub const GST_MPEGTS_SECTION_ATSC_TVCT: GstMpegtsSectionType = 11; -pub const GST_MPEGTS_SECTION_ATSC_CVCT: GstMpegtsSectionType = 12; -pub const GST_MPEGTS_SECTION_ATSC_MGT: GstMpegtsSectionType = 13; -pub const GST_MPEGTS_SECTION_ATSC_ETT: GstMpegtsSectionType = 14; -pub const GST_MPEGTS_SECTION_ATSC_EIT: GstMpegtsSectionType = 15; -pub const GST_MPEGTS_SECTION_ATSC_STT: GstMpegtsSectionType = 16; -pub const GST_MPEGTS_SECTION_ATSC_RRT: GstMpegtsSectionType = 17; -pub const GST_MPEGTS_SECTION_SCTE_SIT: GstMpegtsSectionType = 18; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_MPEGTS_SECTION_SIT: GstMpegtsSectionType = 11; +pub const GST_MPEGTS_SECTION_ATSC_TVCT: GstMpegtsSectionType = 12; +pub const GST_MPEGTS_SECTION_ATSC_CVCT: GstMpegtsSectionType = 13; +pub const GST_MPEGTS_SECTION_ATSC_MGT: GstMpegtsSectionType = 14; +pub const GST_MPEGTS_SECTION_ATSC_ETT: GstMpegtsSectionType = 15; +pub const GST_MPEGTS_SECTION_ATSC_EIT: GstMpegtsSectionType = 16; +pub const GST_MPEGTS_SECTION_ATSC_STT: GstMpegtsSectionType = 17; +pub const GST_MPEGTS_SECTION_ATSC_RRT: GstMpegtsSectionType = 18; +pub const GST_MPEGTS_SECTION_SCTE_SIT: GstMpegtsSectionType = 19; pub type GstMpegtsStreamType = c_int; pub const GST_MPEGTS_STREAM_TYPE_RESERVED_00: GstMpegtsStreamType = 0; @@ -566,6 +626,9 @@ pub const GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW: GstMpegtsSt pub const GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW: GstMpegtsStreamType = 35; pub const GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC: GstMpegtsStreamType = 36; pub const GST_MPEGTS_STREAM_TYPE_IPMP_STREAM: GstMpegtsStreamType = 127; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_MPEGTS_STREAM_TYPE_USER_PRIVATE_EA: GstMpegtsStreamType = 234; pub type GstMpegtsTerrestrialGuardInterval = c_int; pub const GST_MPEGTS_GUARD_INTERVAL_1_32: GstMpegtsTerrestrialGuardInterval = 0; @@ -598,6 +661,27 @@ pub const GST_MPEGTS_TRANSMISSION_MODE_32K: GstMpegtsTerrestrialTransmissionMode pub const GST_MPEGTS_TRANSMISSION_MODE_C1: GstMpegtsTerrestrialTransmissionMode = 7; pub const GST_MPEGTS_TRANSMISSION_MODE_C3780: GstMpegtsTerrestrialTransmissionMode = 8; +// Flags +pub type GstMpegtsRegistrationId = c_uint; +pub const GST_MTS_REGISTRATION_0: GstMpegtsRegistrationId = 0; +pub const GST_MTS_REGISTRATION_AC_3: GstMpegtsRegistrationId = 1094921523; +pub const GST_MTS_REGISTRATION_CUEI: GstMpegtsRegistrationId = 1129661769; +pub const GST_MTS_REGISTRATION_drac: GstMpegtsRegistrationId = 1685217635; +pub const GST_MTS_REGISTRATION_DTS1: GstMpegtsRegistrationId = 1146377009; +pub const GST_MTS_REGISTRATION_DTS2: GstMpegtsRegistrationId = 1146377010; +pub const GST_MTS_REGISTRATION_DTS3: GstMpegtsRegistrationId = 1146377011; +pub const GST_MTS_REGISTRATION_BSSD: GstMpegtsRegistrationId = 1112757060; +pub const GST_MTS_REGISTRATION_EAC3: GstMpegtsRegistrationId = 1161904947; +pub const GST_MTS_REGISTRATION_ETV1: GstMpegtsRegistrationId = 1163154993; +pub const GST_MTS_REGISTRATION_GA94: GstMpegtsRegistrationId = 1195456820; +pub const GST_MTS_REGISTRATION_HDMV: GstMpegtsRegistrationId = 1212435798; +pub const GST_MTS_REGISTRATION_KLVA: GstMpegtsRegistrationId = 1263294017; +pub const GST_MTS_REGISTRATION_OPUS: GstMpegtsRegistrationId = 1330664787; +pub const GST_MTS_REGISTRATION_TSHV: GstMpegtsRegistrationId = 1414744150; +pub const GST_MTS_REGISTRATION_VC_1: GstMpegtsRegistrationId = 1447243057; +pub const GST_MTS_REGISTRATION_AC_4: GstMpegtsRegistrationId = 1094921524; +pub const GST_MTS_REGISTRATION_OTHER_HEVC: GstMpegtsRegistrationId = 1212503619; + // Callbacks pub type GstMpegtsPacketizeFunc = Option gboolean>; @@ -894,6 +978,48 @@ impl ::std::fmt::Debug for GstMpegtsAtscVCTSource { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstMpegtsAudioPreselectionDescriptor { + pub preselection_id: u8, + pub audio_rendering_indication: u8, + pub audio_description: gboolean, + pub spoken_subtitles: gboolean, + pub dialogue_enhancement: gboolean, + pub interactivity_enabled: gboolean, + pub language_code_present: gboolean, + pub text_label_present: gboolean, + pub multi_stream_info_present: gboolean, + pub future_extension: gboolean, + pub language_code: *mut c_char, + pub message_id: u8, +} + +impl ::std::fmt::Debug for GstMpegtsAudioPreselectionDescriptor { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!( + "GstMpegtsAudioPreselectionDescriptor @ {:p}", + self + )) + .field("preselection_id", &self.preselection_id) + .field( + "audio_rendering_indication", + &self.audio_rendering_indication, + ) + .field("audio_description", &self.audio_description) + .field("spoken_subtitles", &self.spoken_subtitles) + .field("dialogue_enhancement", &self.dialogue_enhancement) + .field("interactivity_enabled", &self.interactivity_enabled) + .field("language_code_present", &self.language_code_present) + .field("text_label_present", &self.text_label_present) + .field("multi_stream_info_present", &self.multi_stream_info_present) + .field("future_extension", &self.future_extension) + .field("language_code", &self.language_code) + .field("message_id", &self.message_id) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstMpegtsBAT { @@ -1616,6 +1742,40 @@ impl ::std::fmt::Debug for GstMpegtsSDTService { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstMpegtsSIT { + pub descriptors: *mut glib::GPtrArray, + pub services: *mut glib::GPtrArray, +} + +impl ::std::fmt::Debug for GstMpegtsSIT { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstMpegtsSIT @ {:p}", self)) + .field("descriptors", &self.descriptors) + .field("services", &self.services) + .finish() + } +} + +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstMpegtsSITService { + pub service_id: u16, + pub running_status: GstMpegtsRunningStatus, + pub descriptors: *mut glib::GPtrArray, +} + +impl ::std::fmt::Debug for GstMpegtsSITService { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstMpegtsSITService @ {:p}", self)) + .field("service_id", &self.service_id) + .field("running_status", &self.running_status) + .field("descriptors", &self.descriptors) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstMpegtsSatelliteDeliverySystemDescriptor { @@ -1857,7 +2017,11 @@ extern "C" { //========================================================================= // GstMpegtsAtscRRTDimension //========================================================================= + #[cfg(any(feature = "v1_18", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn gst_mpegts_atsc_rrt_dimension_get_type() -> GType; + #[cfg(any(feature = "v1_18", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn gst_mpegts_atsc_rrt_dimension_new() -> *mut GstMpegtsAtscRRTDimension; //========================================================================= @@ -1984,6 +2148,12 @@ extern "C" { //========================================================================= pub fn gst_mpegts_descriptor_get_type() -> GType; pub fn gst_mpegts_descriptor_free(desc: *mut GstMpegtsDescriptor); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_mpegts_descriptor_parse_audio_preselection_list( + descriptor: *const GstMpegtsDescriptor, + list: *mut *mut glib::GPtrArray, + ) -> gboolean; pub fn gst_mpegts_descriptor_parse_ca( descriptor: *mut GstMpegtsDescriptor, ca_system_id: *mut u16, @@ -2136,6 +2306,14 @@ extern "C" { descriptor: *const GstMpegtsDescriptor, res: *mut GstMpegtsLogicalChannelDescriptor, ) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_mpegts_descriptor_parse_registration( + descriptor: *mut GstMpegtsDescriptor, + registration_id: *mut u32, + additional_info: *mut *mut u8, + additional_info_length: *mut size_t, + ) -> gboolean; pub fn gst_mpegts_descriptor_parse_satellite_delivery_system( descriptor: *const GstMpegtsDescriptor, res: *mut GstMpegtsSatelliteDeliverySystemDescriptor, @@ -2149,6 +2327,8 @@ extern "C" { data: *const u8, length: size_t, ) -> *mut GstMpegtsDescriptor; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] pub fn gst_mpegts_descriptor_from_custom_with_extension( tag: u8, tag_extension: u8, @@ -2177,6 +2357,16 @@ extern "C" { additional_info: *mut u8, additional_info_length: size_t, ) -> *mut GstMpegtsDescriptor; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_mpegts_descriptor_parse_audio_preselection_dump( + source: *mut GstMpegtsAudioPreselectionDescriptor, + ); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_mpegts_descriptor_parse_audio_preselection_free( + source: *mut GstMpegtsAudioPreselectionDescriptor, + ); //========================================================================= // GstMpegtsDvbMultilingualBouquetNameItem @@ -2291,6 +2481,20 @@ extern "C" { pub fn gst_mpegts_sdt_service_get_type() -> GType; pub fn gst_mpegts_sdt_service_new() -> *mut GstMpegtsSDTService; + //========================================================================= + // GstMpegtsSIT + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_mpegts_sit_get_type() -> GType; + + //========================================================================= + // GstMpegtsSITService + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_mpegts_sit_service_get_type() -> GType; + //========================================================================= // GstMpegtsSatelliteDeliverySystemDescriptor //========================================================================= @@ -2339,6 +2543,9 @@ extern "C" { section: *mut GstMpegtsSection, ) -> *const GstMpegtsSCTESIT; pub fn gst_mpegts_section_get_sdt(section: *mut GstMpegtsSection) -> *const GstMpegtsSDT; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_mpegts_section_get_sit(section: *mut GstMpegtsSection) -> *const GstMpegtsSIT; pub fn gst_mpegts_section_get_tdt(section: *mut GstMpegtsSection) -> *mut gst::GstDateTime; pub fn gst_mpegts_section_get_tot(section: *mut GstMpegtsSection) -> *const GstMpegtsTOT; pub fn gst_mpegts_section_get_tsdt(section: *mut GstMpegtsSection) -> *mut glib::GPtrArray; @@ -2406,6 +2613,13 @@ extern "C" { descriptors: *mut glib::GPtrArray, tag: u8, ) -> *const GstMpegtsDescriptor; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_mpegts_find_descriptor_with_extension( + descriptors: *mut glib::GPtrArray, + tag: u8, + tag_extension: u8, + ) -> *const GstMpegtsDescriptor; pub fn gst_mpegts_initialize(); pub fn gst_message_new_mpegts_section( parent: *mut gst::GstObject, diff --git a/gstreamer-mpegts/sys/tests/abi.rs b/gstreamer-mpegts/sys/tests/abi.rs index 68eb97f93..09260ba8f 100644 --- a/gstreamer-mpegts/sys/tests/abi.rs +++ b/gstreamer-mpegts/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_mpegts_sys::*; @@ -218,6 +218,13 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstMpegtsATSCStreamType", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstMpegtsAtscEIT", Layout { @@ -316,6 +323,13 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstMpegtsAudioPreselectionDescriptor", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstMpegtsBAT", Layout { @@ -547,6 +561,13 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstMpegtsHdmvStreamType", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstMpegtsISDBDescriptorType", Layout { @@ -631,6 +652,13 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstMpegtsRegistrationId", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstMpegtsRunningStatus", Layout { @@ -638,6 +666,13 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstMpegtsSCTEDescriptorType", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstMpegtsSCTESIT", Layout { @@ -680,6 +715,20 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstMpegtsSIT", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), + ( + "GstMpegtsSITService", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstMpegtsSatelliteDeliverySystemDescriptor", Layout { @@ -1002,21 +1051,22 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ "2", ), ("(gint) GST_MPEGTS_RUNNING_STATUS_UNDEFINED", "0"), - ("(gint) GST_MPEGTS_SECTION_ATSC_CVCT", "12"), - ("(gint) GST_MPEGTS_SECTION_ATSC_EIT", "15"), - ("(gint) GST_MPEGTS_SECTION_ATSC_ETT", "14"), - ("(gint) GST_MPEGTS_SECTION_ATSC_MGT", "13"), - ("(gint) GST_MPEGTS_SECTION_ATSC_RRT", "17"), - ("(gint) GST_MPEGTS_SECTION_ATSC_STT", "16"), - ("(gint) GST_MPEGTS_SECTION_ATSC_TVCT", "11"), + ("(gint) GST_MPEGTS_SECTION_ATSC_CVCT", "13"), + ("(gint) GST_MPEGTS_SECTION_ATSC_EIT", "16"), + ("(gint) GST_MPEGTS_SECTION_ATSC_ETT", "15"), + ("(gint) GST_MPEGTS_SECTION_ATSC_MGT", "14"), + ("(gint) GST_MPEGTS_SECTION_ATSC_RRT", "18"), + ("(gint) GST_MPEGTS_SECTION_ATSC_STT", "17"), + ("(gint) GST_MPEGTS_SECTION_ATSC_TVCT", "12"), ("(gint) GST_MPEGTS_SECTION_BAT", "7"), ("(gint) GST_MPEGTS_SECTION_CAT", "3"), ("(gint) GST_MPEGTS_SECTION_EIT", "5"), ("(gint) GST_MPEGTS_SECTION_NIT", "6"), ("(gint) GST_MPEGTS_SECTION_PAT", "1"), ("(gint) GST_MPEGTS_SECTION_PMT", "2"), - ("(gint) GST_MPEGTS_SECTION_SCTE_SIT", "18"), + ("(gint) GST_MPEGTS_SECTION_SCTE_SIT", "19"), ("(gint) GST_MPEGTS_SECTION_SDT", "8"), + ("(gint) GST_MPEGTS_SECTION_SIT", "11"), ("(gint) GST_MPEGTS_SECTION_TDT", "9"), ("(gint) GST_MPEGTS_SECTION_TOT", "10"), ("(gint) GST_MPEGTS_SECTION_TSDT", "4"), @@ -1029,6 +1079,13 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_MPEGTS_STREAM_CONTENT_MPEG2_VIDEO", "1"), ("(gint) GST_MPEGTS_STREAM_CONTENT_SRM_CPCM", "8"), ("(gint) GST_MPEGTS_STREAM_CONTENT_TELETEXT_OR_SUBTITLE", "3"), + ("(gint) GST_MPEGTS_STREAM_TYPE_ATSC_AUDIO_AC3", "129"), + ("(gint) GST_MPEGTS_STREAM_TYPE_ATSC_AUDIO_DTS_HD", "136"), + ("(gint) GST_MPEGTS_STREAM_TYPE_ATSC_AUDIO_EAC3", "135"), + ("(gint) GST_MPEGTS_STREAM_TYPE_ATSC_DCII_VIDEO", "128"), + ("(gint) GST_MPEGTS_STREAM_TYPE_ATSC_ISOCH_DATA", "131"), + ("(gint) GST_MPEGTS_STREAM_TYPE_ATSC_SIT", "134"), + ("(gint) GST_MPEGTS_STREAM_TYPE_ATSC_SUBTITLING", "130"), ("(gint) GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS", "15"), ("(gint) GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN", "28"), ("(gint) GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM", "17"), @@ -1040,6 +1097,31 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_MPEGTS_STREAM_TYPE_DSMCC_C", "12"), ("(gint) GST_MPEGTS_STREAM_TYPE_DSMCC_D", "13"), ("(gint) GST_MPEGTS_STREAM_TYPE_DSM_CC", "8"), + ("(gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_AC3", "129"), + ("(gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_AC3_PLUS", "132"), + ( + "(gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_AC3_PLUS_SECONDARY", + "161", + ), + ( + "(gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_AC3_TRUE_HD", + "131", + ), + ("(gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_DTS", "130"), + ("(gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_DTS_HD", "133"), + ( + "(gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_DTS_HD_MASTER_AUDIO", + "134", + ), + ( + "(gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_DTS_HD_SECONDARY", + "162", + ), + ("(gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_EAC3", "135"), + ("(gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_LPCM", "128"), + ("(gint) GST_MPEGTS_STREAM_TYPE_HDMV_IGS", "145"), + ("(gint) GST_MPEGTS_STREAM_TYPE_HDMV_SUBPICTURE_PGS", "144"), + ("(gint) GST_MPEGTS_STREAM_TYPE_HDMV_SUBTITLE", "146"), ("(gint) GST_MPEGTS_STREAM_TYPE_H_222_1", "9"), ("(gint) GST_MPEGTS_STREAM_TYPE_IPMP_STREAM", "127"), ("(gint) GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL", "23"), @@ -1070,6 +1152,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS", "18"), ("(gint) GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS", "19"), ("(gint) GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD", "20"), + ("(gint) GST_MPEGTS_STREAM_TYPE_USER_PRIVATE_EA", "234"), ("(gint) GST_MPEGTS_STREAM_TYPE_VIDEO_H264", "27"), ( "(gint) GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM", @@ -1102,8 +1185,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_MPEGTS_TRANSMISSION_MODE_AUTO", "2"), ("(gint) GST_MPEGTS_TRANSMISSION_MODE_C1", "7"), ("(gint) GST_MPEGTS_TRANSMISSION_MODE_C3780", "8"), - ("(gint) GST_MTS_DESC_AC3_AUDIO_STREAM", "129"), - ("(gint) GST_MTS_DESC_ATSC_AC3", "131"), + ("(gint) GST_MTS_DESC_ATSC_AC3", "129"), ("(gint) GST_MTS_DESC_ATSC_CAPTION_SERVICE", "134"), ("(gint) GST_MTS_DESC_ATSC_COMPONENT_NAME", "163"), ("(gint) GST_MTS_DESC_ATSC_CONTENT_ADVISORY", "135"), @@ -1213,6 +1295,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_MTS_DESC_DVB_XAIT_LOCATION", "125"), ("(gint) GST_MTS_DESC_EXTERNAL_ES_ID", "32"), ("(gint) GST_MTS_DESC_EXT_DVB_AC4", "21"), + ("(gint) GST_MTS_DESC_EXT_DVB_AUDIO_PRESELECTION", "25"), ("(gint) GST_MTS_DESC_EXT_DVB_C2_DELIVERY_SYSTEM", "13"), ("(gint) GST_MTS_DESC_EXT_DVB_CP", "2"), ("(gint) GST_MTS_DESC_EXT_DVB_CPCM_DELIVERY_SIGNALLING", "1"), @@ -1292,6 +1375,14 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_MTS_DESC_REGISTRATION", "5"), ("(gint) GST_MTS_DESC_RESERVED_00", "0"), ("(gint) GST_MTS_DESC_RESERVED_01", "1"), + ("(gint) GST_MTS_DESC_SCTE_AC3", "129"), + ("(gint) GST_MTS_DESC_SCTE_COMPONENT_NAME", "132"), + ("(gint) GST_MTS_DESC_SCTE_EXTENDED_VIDEO", "131"), + ("(gint) GST_MTS_DESC_SCTE_FRAME_RATE", "130"), + ("(gint) GST_MTS_DESC_SCTE_FREQUENCY_SPEC", "144"), + ("(gint) GST_MTS_DESC_SCTE_MODULATION_PARAMS", "145"), + ("(gint) GST_MTS_DESC_SCTE_STUFFING", "128"), + ("(gint) GST_MTS_DESC_SCTE_TRANSPORT_STREAM_ID", "146"), ("(gint) GST_MTS_DESC_SL", "30"), ("(gint) GST_MTS_DESC_SMOOTHING_BUFFER", "16"), ("(gint) GST_MTS_DESC_STD", "17"), @@ -1302,6 +1393,24 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_MTS_DESC_TARGET_BACKGROUND_GRID", "7"), ("(gint) GST_MTS_DESC_VIDEO_STREAM", "2"), ("(gint) GST_MTS_DESC_VIDEO_WINDOW", "8"), + ("(guint) GST_MTS_REGISTRATION_0", "0"), + ("(guint) GST_MTS_REGISTRATION_AC_3", "1094921523"), + ("(guint) GST_MTS_REGISTRATION_AC_4", "1094921524"), + ("(guint) GST_MTS_REGISTRATION_BSSD", "1112757060"), + ("(guint) GST_MTS_REGISTRATION_CUEI", "1129661769"), + ("(guint) GST_MTS_REGISTRATION_DTS1", "1146377009"), + ("(guint) GST_MTS_REGISTRATION_DTS2", "1146377010"), + ("(guint) GST_MTS_REGISTRATION_DTS3", "1146377011"), + ("(guint) GST_MTS_REGISTRATION_EAC3", "1161904947"), + ("(guint) GST_MTS_REGISTRATION_ETV1", "1163154993"), + ("(guint) GST_MTS_REGISTRATION_GA94", "1195456820"), + ("(guint) GST_MTS_REGISTRATION_HDMV", "1212435798"), + ("(guint) GST_MTS_REGISTRATION_KLVA", "1263294017"), + ("(guint) GST_MTS_REGISTRATION_OPUS", "1330664787"), + ("(guint) GST_MTS_REGISTRATION_OTHER_HEVC", "1212503619"), + ("(guint) GST_MTS_REGISTRATION_TSHV", "1414744150"), + ("(guint) GST_MTS_REGISTRATION_VC_1", "1447243057"), + ("(guint) GST_MTS_REGISTRATION_drac", "1685217635"), ("(gint) GST_MTS_SCTE_DESC_AUDIO", "4"), ("(gint) GST_MTS_SCTE_DESC_AVAIL", "0"), ("(gint) GST_MTS_SCTE_DESC_DTMF", "1"), @@ -1315,6 +1424,9 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_MTS_SCTE_SPLICE_COMMAND_TIME", "6"), ("(gint) GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR", "5"), ("(gint) GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION", "4"), + ("(gint) GST_MTS_TABLE_ID_14496_SECTION", "8"), + ("(gint) GST_MTS_TABLE_ID_23001_10_SECTION", "10"), + ("(gint) GST_MTS_TABLE_ID_23001_11_SECTION", "9"), ( "(gint) GST_MTS_TABLE_ID_APPLICATION_INFORMATION_TABLE", "116", @@ -1347,6 +1459,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_MTS_TABLE_ID_ATSC_LONG_TERM_SERVICE", "210"), ("(gint) GST_MTS_TABLE_ID_ATSC_MASTER_GUIDE", "199"), ("(gint) GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE", "209"), + ("(gint) GST_MTS_TABLE_ID_ATSC_PROGRAM_IDENTIFIER", "208"), ("(gint) GST_MTS_TABLE_ID_ATSC_RATING_REGION", "202"), ( "(gint) GST_MTS_TABLE_ID_ATSC_SATELLITE_VIRTUAL_CHANNEL", @@ -1367,6 +1480,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_MTS_TABLE_ID_CONTAINER", "117"), ("(gint) GST_MTS_TABLE_ID_CONTENT_IDENTIFIER", "119"), ("(gint) GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION", "126"), + ("(gint) GST_MTS_TABLE_ID_DOWNLOADABLE_FONT_INFO", "76"), ("(gint) GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS", "63"), ( "(gint) GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES", @@ -1419,6 +1533,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ), ("(gint) GST_MTS_TABLE_ID_PCR_PACKET_PAYLOAD", "166"), ("(gint) GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION", "0"), + ("(gint) GST_MTS_TABLE_ID_PROTECTION_MESSAGE", "123"), ("(gint) GST_MTS_TABLE_ID_RELATED_CONTENT", "118"), ("(gint) GST_MTS_TABLE_ID_RESOLUTION_NOTIFICATION", "121"), ("(gint) GST_MTS_TABLE_ID_RUNNING_STATUS", "113"), @@ -1450,6 +1565,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_MTS_TABLE_ID_TS_DESCRIPTION", "3"), ("(gint) GST_MTS_TABLE_ID_TS_PROGRAM_MAP", "2"), ("(gint) GST_MTS_TABLE_ID_UNSET", "255"), + ("(gint) GST_MTS_TABLE_ID_UPDATE_NOTIFICATION", "75"), ("(gint) HEARING_IMPAIRED_PAGE", "5"), ("(gint) INITIAL_PAGE", "1"), ("(gint) PROGRAMME_SCHEDULE_PAGE", "4"), diff --git a/gstreamer-mpegts/sys/tests/constant.c b/gstreamer-mpegts/sys/tests/constant.c index 99c0115ed..a36515c24 100644 --- a/gstreamer-mpegts/sys/tests/constant.c +++ b/gstreamer-mpegts/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" @@ -182,6 +182,7 @@ int main() { PRINT_CONSTANT((gint) GST_MPEGTS_SECTION_PMT); PRINT_CONSTANT((gint) GST_MPEGTS_SECTION_SCTE_SIT); PRINT_CONSTANT((gint) GST_MPEGTS_SECTION_SDT); + PRINT_CONSTANT((gint) GST_MPEGTS_SECTION_SIT); PRINT_CONSTANT((gint) GST_MPEGTS_SECTION_TDT); PRINT_CONSTANT((gint) GST_MPEGTS_SECTION_TOT); PRINT_CONSTANT((gint) GST_MPEGTS_SECTION_TSDT); @@ -194,6 +195,13 @@ int main() { PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_CONTENT_MPEG2_VIDEO); PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_CONTENT_SRM_CPCM); PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_CONTENT_TELETEXT_OR_SUBTITLE); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_ATSC_AUDIO_AC3); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_ATSC_AUDIO_DTS_HD); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_ATSC_AUDIO_EAC3); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_ATSC_DCII_VIDEO); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_ATSC_ISOCH_DATA); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_ATSC_SIT); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_ATSC_SUBTITLING); PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS); PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN); PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM); @@ -205,6 +213,19 @@ int main() { PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_DSMCC_C); PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_DSMCC_D); PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_DSM_CC); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_AC3); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_AC3_PLUS); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_AC3_PLUS_SECONDARY); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_AC3_TRUE_HD); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_DTS); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_DTS_HD); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_DTS_HD_MASTER_AUDIO); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_DTS_HD_SECONDARY); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_EAC3); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_HDMV_AUDIO_LPCM); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_HDMV_IGS); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_HDMV_SUBPICTURE_PGS); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_HDMV_SUBTITLE); PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_H_222_1); PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_IPMP_STREAM); PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL); @@ -229,6 +250,7 @@ int main() { PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS); PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS); PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD); + PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_USER_PRIVATE_EA); PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_VIDEO_H264); PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM); PRINT_CONSTANT((gint) GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW); @@ -249,7 +271,6 @@ int main() { PRINT_CONSTANT((gint) GST_MPEGTS_TRANSMISSION_MODE_AUTO); PRINT_CONSTANT((gint) GST_MPEGTS_TRANSMISSION_MODE_C1); PRINT_CONSTANT((gint) GST_MPEGTS_TRANSMISSION_MODE_C3780); - PRINT_CONSTANT((gint) GST_MTS_DESC_AC3_AUDIO_STREAM); PRINT_CONSTANT((gint) GST_MTS_DESC_ATSC_AC3); PRINT_CONSTANT((gint) GST_MTS_DESC_ATSC_CAPTION_SERVICE); PRINT_CONSTANT((gint) GST_MTS_DESC_ATSC_COMPONENT_NAME); @@ -354,6 +375,7 @@ int main() { PRINT_CONSTANT((gint) GST_MTS_DESC_DVB_XAIT_LOCATION); PRINT_CONSTANT((gint) GST_MTS_DESC_EXTERNAL_ES_ID); PRINT_CONSTANT((gint) GST_MTS_DESC_EXT_DVB_AC4); + PRINT_CONSTANT((gint) GST_MTS_DESC_EXT_DVB_AUDIO_PRESELECTION); PRINT_CONSTANT((gint) GST_MTS_DESC_EXT_DVB_C2_DELIVERY_SYSTEM); PRINT_CONSTANT((gint) GST_MTS_DESC_EXT_DVB_CP); PRINT_CONSTANT((gint) GST_MTS_DESC_EXT_DVB_CPCM_DELIVERY_SIGNALLING); @@ -433,6 +455,14 @@ int main() { PRINT_CONSTANT((gint) GST_MTS_DESC_REGISTRATION); PRINT_CONSTANT((gint) GST_MTS_DESC_RESERVED_00); PRINT_CONSTANT((gint) GST_MTS_DESC_RESERVED_01); + PRINT_CONSTANT((gint) GST_MTS_DESC_SCTE_AC3); + PRINT_CONSTANT((gint) GST_MTS_DESC_SCTE_COMPONENT_NAME); + PRINT_CONSTANT((gint) GST_MTS_DESC_SCTE_EXTENDED_VIDEO); + PRINT_CONSTANT((gint) GST_MTS_DESC_SCTE_FRAME_RATE); + PRINT_CONSTANT((gint) GST_MTS_DESC_SCTE_FREQUENCY_SPEC); + PRINT_CONSTANT((gint) GST_MTS_DESC_SCTE_MODULATION_PARAMS); + PRINT_CONSTANT((gint) GST_MTS_DESC_SCTE_STUFFING); + PRINT_CONSTANT((gint) GST_MTS_DESC_SCTE_TRANSPORT_STREAM_ID); PRINT_CONSTANT((gint) GST_MTS_DESC_SL); PRINT_CONSTANT((gint) GST_MTS_DESC_SMOOTHING_BUFFER); PRINT_CONSTANT((gint) GST_MTS_DESC_STD); @@ -443,6 +473,24 @@ int main() { PRINT_CONSTANT((gint) GST_MTS_DESC_TARGET_BACKGROUND_GRID); PRINT_CONSTANT((gint) GST_MTS_DESC_VIDEO_STREAM); PRINT_CONSTANT((gint) GST_MTS_DESC_VIDEO_WINDOW); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_0); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_AC_3); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_AC_4); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_BSSD); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_CUEI); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_DTS1); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_DTS2); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_DTS3); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_EAC3); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_ETV1); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_GA94); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_HDMV); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_KLVA); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_OPUS); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_OTHER_HEVC); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_TSHV); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_VC_1); + PRINT_CONSTANT((guint) GST_MTS_REGISTRATION_drac); PRINT_CONSTANT((gint) GST_MTS_SCTE_DESC_AUDIO); PRINT_CONSTANT((gint) GST_MTS_SCTE_DESC_AVAIL); PRINT_CONSTANT((gint) GST_MTS_SCTE_DESC_DTMF); @@ -456,6 +504,9 @@ int main() { PRINT_CONSTANT((gint) GST_MTS_SCTE_SPLICE_COMMAND_TIME); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION); + PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_14496_SECTION); + PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_23001_10_SECTION); + PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_23001_11_SECTION); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_APPLICATION_INFORMATION_TABLE); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_ATSC_AGGREGATE_DATA_EVENT); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_ATSC_AGGREGATE_EVENT_INFORMATION); @@ -470,6 +521,7 @@ int main() { PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_ATSC_LONG_TERM_SERVICE); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_ATSC_MASTER_GUIDE); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE); + PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_ATSC_PROGRAM_IDENTIFIER); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_ATSC_RATING_REGION); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_ATSC_SATELLITE_VIRTUAL_CHANNEL); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_ATSC_SYSTEM_TIME); @@ -484,6 +536,7 @@ int main() { PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_CONTAINER); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_CONTENT_IDENTIFIER); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION); + PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_DOWNLOADABLE_FONT_INFO); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA); @@ -506,6 +559,7 @@ int main() { PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_PCR_PACKET_PAYLOAD); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION); + PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_PROTECTION_MESSAGE); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_RELATED_CONTENT); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_RESOLUTION_NOTIFICATION); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_RUNNING_STATUS); @@ -531,6 +585,7 @@ int main() { PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_TS_DESCRIPTION); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_TS_PROGRAM_MAP); PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_UNSET); + PRINT_CONSTANT((gint) GST_MTS_TABLE_ID_UPDATE_NOTIFICATION); PRINT_CONSTANT((gint) HEARING_IMPAIRED_PAGE); PRINT_CONSTANT((gint) INITIAL_PAGE); PRINT_CONSTANT((gint) PROGRAMME_SCHEDULE_PAGE); diff --git a/gstreamer-mpegts/sys/tests/layout.c b/gstreamer-mpegts/sys/tests/layout.c index 65e6d3ee9..d4e079918 100644 --- a/gstreamer-mpegts/sys/tests/layout.c +++ b/gstreamer-mpegts/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" @@ -9,6 +9,7 @@ int main() { printf("%s;%zu;%zu\n", "GstMpegtsATSCDescriptorType", sizeof(GstMpegtsATSCDescriptorType), alignof(GstMpegtsATSCDescriptorType)); + printf("%s;%zu;%zu\n", "GstMpegtsATSCStreamType", sizeof(GstMpegtsATSCStreamType), alignof(GstMpegtsATSCStreamType)); printf("%s;%zu;%zu\n", "GstMpegtsAtscEIT", sizeof(GstMpegtsAtscEIT), alignof(GstMpegtsAtscEIT)); printf("%s;%zu;%zu\n", "GstMpegtsAtscEITEvent", sizeof(GstMpegtsAtscEITEvent), alignof(GstMpegtsAtscEITEvent)); printf("%s;%zu;%zu\n", "GstMpegtsAtscETT", sizeof(GstMpegtsAtscETT), alignof(GstMpegtsAtscETT)); @@ -23,6 +24,7 @@ int main() { printf("%s;%zu;%zu\n", "GstMpegtsAtscStringSegment", sizeof(GstMpegtsAtscStringSegment), alignof(GstMpegtsAtscStringSegment)); printf("%s;%zu;%zu\n", "GstMpegtsAtscVCT", sizeof(GstMpegtsAtscVCT), alignof(GstMpegtsAtscVCT)); printf("%s;%zu;%zu\n", "GstMpegtsAtscVCTSource", sizeof(GstMpegtsAtscVCTSource), alignof(GstMpegtsAtscVCTSource)); + printf("%s;%zu;%zu\n", "GstMpegtsAudioPreselectionDescriptor", sizeof(GstMpegtsAudioPreselectionDescriptor), alignof(GstMpegtsAudioPreselectionDescriptor)); printf("%s;%zu;%zu\n", "GstMpegtsBAT", sizeof(GstMpegtsBAT), alignof(GstMpegtsBAT)); printf("%s;%zu;%zu\n", "GstMpegtsBATStream", sizeof(GstMpegtsBATStream), alignof(GstMpegtsBATStream)); printf("%s;%zu;%zu\n", "GstMpegtsCableDeliverySystemDescriptor", sizeof(GstMpegtsCableDeliverySystemDescriptor), alignof(GstMpegtsCableDeliverySystemDescriptor)); @@ -56,6 +58,7 @@ int main() { printf("%s;%zu;%zu\n", "GstMpegtsEITEvent", sizeof(GstMpegtsEITEvent), alignof(GstMpegtsEITEvent)); printf("%s;%zu;%zu\n", "GstMpegtsExtendedEventDescriptor", sizeof(GstMpegtsExtendedEventDescriptor), alignof(GstMpegtsExtendedEventDescriptor)); printf("%s;%zu;%zu\n", "GstMpegtsExtendedEventItem", sizeof(GstMpegtsExtendedEventItem), alignof(GstMpegtsExtendedEventItem)); + printf("%s;%zu;%zu\n", "GstMpegtsHdmvStreamType", sizeof(GstMpegtsHdmvStreamType), alignof(GstMpegtsHdmvStreamType)); printf("%s;%zu;%zu\n", "GstMpegtsISDBDescriptorType", sizeof(GstMpegtsISDBDescriptorType), alignof(GstMpegtsISDBDescriptorType)); printf("%s;%zu;%zu\n", "GstMpegtsISO639LanguageDescriptor", sizeof(GstMpegtsISO639LanguageDescriptor), alignof(GstMpegtsISO639LanguageDescriptor)); printf("%s;%zu;%zu\n", "GstMpegtsIso639AudioType", sizeof(GstMpegtsIso639AudioType), alignof(GstMpegtsIso639AudioType)); @@ -68,13 +71,17 @@ int main() { printf("%s;%zu;%zu\n", "GstMpegtsPMT", sizeof(GstMpegtsPMT), alignof(GstMpegtsPMT)); printf("%s;%zu;%zu\n", "GstMpegtsPMTStream", sizeof(GstMpegtsPMTStream), alignof(GstMpegtsPMTStream)); printf("%s;%zu;%zu\n", "GstMpegtsPatProgram", sizeof(GstMpegtsPatProgram), alignof(GstMpegtsPatProgram)); + printf("%s;%zu;%zu\n", "GstMpegtsRegistrationId", sizeof(GstMpegtsRegistrationId), alignof(GstMpegtsRegistrationId)); printf("%s;%zu;%zu\n", "GstMpegtsRunningStatus", sizeof(GstMpegtsRunningStatus), alignof(GstMpegtsRunningStatus)); + printf("%s;%zu;%zu\n", "GstMpegtsSCTEDescriptorType", sizeof(GstMpegtsSCTEDescriptorType), alignof(GstMpegtsSCTEDescriptorType)); printf("%s;%zu;%zu\n", "GstMpegtsSCTESIT", sizeof(GstMpegtsSCTESIT), alignof(GstMpegtsSCTESIT)); printf("%s;%zu;%zu\n", "GstMpegtsSCTESpliceCommandType", sizeof(GstMpegtsSCTESpliceCommandType), alignof(GstMpegtsSCTESpliceCommandType)); printf("%s;%zu;%zu\n", "GstMpegtsSCTESpliceDescriptor", sizeof(GstMpegtsSCTESpliceDescriptor), alignof(GstMpegtsSCTESpliceDescriptor)); printf("%s;%zu;%zu\n", "GstMpegtsSCTESpliceEvent", sizeof(GstMpegtsSCTESpliceEvent), alignof(GstMpegtsSCTESpliceEvent)); printf("%s;%zu;%zu\n", "GstMpegtsSDT", sizeof(GstMpegtsSDT), alignof(GstMpegtsSDT)); printf("%s;%zu;%zu\n", "GstMpegtsSDTService", sizeof(GstMpegtsSDTService), alignof(GstMpegtsSDTService)); + printf("%s;%zu;%zu\n", "GstMpegtsSIT", sizeof(GstMpegtsSIT), alignof(GstMpegtsSIT)); + printf("%s;%zu;%zu\n", "GstMpegtsSITService", sizeof(GstMpegtsSITService), alignof(GstMpegtsSITService)); printf("%s;%zu;%zu\n", "GstMpegtsSatelliteDeliverySystemDescriptor", sizeof(GstMpegtsSatelliteDeliverySystemDescriptor), alignof(GstMpegtsSatelliteDeliverySystemDescriptor)); printf("%s;%zu;%zu\n", "GstMpegtsSatellitePolarizationType", sizeof(GstMpegtsSatellitePolarizationType), alignof(GstMpegtsSatellitePolarizationType)); printf("%s;%zu;%zu\n", "GstMpegtsSatelliteRolloff", sizeof(GstMpegtsSatelliteRolloff), alignof(GstMpegtsSatelliteRolloff)); diff --git a/gstreamer-net/src/auto/versions.txt b/gstreamer-net/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-net/src/auto/versions.txt +++ b/gstreamer-net/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-net/sys/build.rs b/gstreamer-net/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-net/sys/build.rs +++ b/gstreamer-net/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-net/sys/src/lib.rs b/gstreamer-net/sys/src/lib.rs index 4b3fd8e1b..615a611f5 100644 --- a/gstreamer-net/sys/src/lib.rs +++ b/gstreamer-net/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] diff --git a/gstreamer-net/sys/tests/abi.rs b/gstreamer-net/sys/tests/abi.rs index 42bab8db3..305f042e0 100644 --- a/gstreamer-net/sys/tests/abi.rs +++ b/gstreamer-net/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_net_sys::*; diff --git a/gstreamer-net/sys/tests/constant.c b/gstreamer-net/sys/tests/constant.c index 5d7e9c8a7..e9d4f0a23 100644 --- a/gstreamer-net/sys/tests/constant.c +++ b/gstreamer-net/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-net/sys/tests/layout.c b/gstreamer-net/sys/tests/layout.c index 72ef02f43..53ec82830 100644 --- a/gstreamer-net/sys/tests/layout.c +++ b/gstreamer-net/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-pbutils/src/auto/encoding_profile.rs b/gstreamer-pbutils/src/auto/encoding_profile.rs index 1aac5cb79..fceedab6f 100644 --- a/gstreamer-pbutils/src/auto/encoding_profile.rs +++ b/gstreamer-pbutils/src/auto/encoding_profile.rs @@ -4,8 +4,23 @@ // DO NOT EDIT use crate::DiscovererInfo; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use glib::object::Cast; use glib::object::IsA; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use glib::signal::connect_raw; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use glib::signal::SignalHandlerId; use glib::translate::*; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use std::boxed::Box as Box_; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use std::mem::transmute; glib::wrapper! { #[doc(alias = "GstEncodingProfile")] @@ -66,6 +81,12 @@ pub trait EncodingProfileExt: 'static { #[doc(alias = "get_description")] fn description(&self) -> Option; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_encoding_profile_get_element_properties")] + #[doc(alias = "get_element_properties")] + fn element_properties(&self) -> Option; + #[doc(alias = "gst_encoding_profile_get_file_extension")] #[doc(alias = "get_file_extension")] fn file_extension(&self) -> Option; @@ -109,6 +130,14 @@ pub trait EncodingProfileExt: 'static { #[doc(alias = "gst_encoding_profile_is_equal")] fn is_equal>(&self, b: &P) -> bool; + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "element-properties")] + fn connect_element_properties_notify( + &self, + f: F, + ) -> SignalHandlerId; } impl> EncodingProfileExt for O { @@ -138,6 +167,16 @@ impl> EncodingProfileExt for O { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + fn element_properties(&self) -> Option { + unsafe { + from_glib_full(ffi::gst_encoding_profile_get_element_properties( + self.as_ref().to_glib_none().0, + )) + } + } + fn file_extension(&self) -> Option { unsafe { from_glib_none(ffi::gst_encoding_profile_get_file_extension( @@ -224,4 +263,35 @@ impl> EncodingProfileExt for O { )) } } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "element-properties")] + fn connect_element_properties_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_element_properties_trampoline< + P: IsA, + F: Fn(&P) + Send + Sync + 'static, + >( + this: *mut ffi::GstEncodingProfile, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&EncodingProfile::from_glib_borrow(this).unsafe_cast_ref()) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::element-properties\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_element_properties_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } } diff --git a/gstreamer-pbutils/src/auto/versions.txt b/gstreamer-pbutils/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-pbutils/src/auto/versions.txt +++ b/gstreamer-pbutils/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-pbutils/sys/build.rs b/gstreamer-pbutils/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-pbutils/sys/build.rs +++ b/gstreamer-pbutils/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-pbutils/sys/src/lib.rs b/gstreamer-pbutils/sys/src/lib.rs index 24a0ddc26..e4e68e66b 100644 --- a/gstreamer-pbutils/sys/src/lib.rs +++ b/gstreamer-pbutils/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] @@ -594,6 +594,11 @@ extern "C" { profile: *mut GstEncodingProfile, ) -> gboolean; pub fn gst_encoding_profile_get_description(profile: *mut GstEncodingProfile) -> *const c_char; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_encoding_profile_get_element_properties( + self_: *mut GstEncodingProfile, + ) -> *mut gst::GstStructure; pub fn gst_encoding_profile_get_file_extension( profile: *mut GstEncodingProfile, ) -> *const c_char; @@ -625,6 +630,12 @@ extern "C" { profile: *mut GstEncodingProfile, description: *const c_char, ); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_encoding_profile_set_element_properties( + self_: *mut GstEncodingProfile, + element_properties: *mut gst::GstStructure, + ); pub fn gst_encoding_profile_set_enabled(profile: *mut GstEncodingProfile, enabled: gboolean); pub fn gst_encoding_profile_set_format( profile: *mut GstEncodingProfile, diff --git a/gstreamer-pbutils/sys/tests/abi.rs b/gstreamer-pbutils/sys/tests/abi.rs index fdb0ef8cc..7ac54c940 100644 --- a/gstreamer-pbutils/sys/tests/abi.rs +++ b/gstreamer-pbutils/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_pbutils_sys::*; diff --git a/gstreamer-pbutils/sys/tests/constant.c b/gstreamer-pbutils/sys/tests/constant.c index 24e8148fb..47a89d0c6 100644 --- a/gstreamer-pbutils/sys/tests/constant.c +++ b/gstreamer-pbutils/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-pbutils/sys/tests/layout.c b/gstreamer-pbutils/sys/tests/layout.c index d04dcf073..be32a8579 100644 --- a/gstreamer-pbutils/sys/tests/layout.c +++ b/gstreamer-pbutils/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-player/src/auto/player.rs b/gstreamer-player/src/auto/player.rs index afff16f2c..7fa68ac3e 100644 --- a/gstreamer-player/src/auto/player.rs +++ b/gstreamer-player/src/auto/player.rs @@ -10,6 +10,7 @@ use crate::PlayerSnapshotFormat; use crate::PlayerState; use crate::PlayerSubtitleInfo; use crate::PlayerVideoInfo; +use crate::PlayerVideoRenderer; use crate::PlayerVisualization; use glib::object::ObjectType as ObjectType_; use glib::signal::connect_raw; @@ -428,6 +429,22 @@ impl Player { } } + #[doc(alias = "video-renderer")] + pub fn video_renderer(&self) -> Option { + unsafe { + let mut value = + glib::Value::from_type(::static_type()); + glib::gobject_ffi::g_object_get_property( + self.as_ptr() as *mut glib::gobject_ffi::GObject, + b"video-renderer\0".as_ptr() as *const _, + value.to_glib_none_mut().0, + ); + value + .get() + .expect("Return Value for property `video-renderer` getter") + } + } + #[doc(alias = "gst_player_get_audio_streams")] #[doc(alias = "get_audio_streams")] pub fn audio_streams(info: &PlayerMediaInfo) -> Vec { @@ -1127,6 +1144,34 @@ impl Player { } } + #[doc(alias = "video-renderer")] + pub fn connect_video_renderer_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_video_renderer_trampoline< + F: Fn(&Player) + Send + Sync + 'static, + >( + this: *mut ffi::GstPlayer, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&from_glib_borrow(this)) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::video-renderer\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_video_renderer_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + #[doc(alias = "volume")] pub fn connect_volume_notify( &self, diff --git a/gstreamer-player/src/auto/versions.txt b/gstreamer-player/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-player/src/auto/versions.txt +++ b/gstreamer-player/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-player/sys/build.rs b/gstreamer-player/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-player/sys/build.rs +++ b/gstreamer-player/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-player/sys/src/lib.rs b/gstreamer-player/sys/src/lib.rs index 8e599621f..c1e149c42 100644 --- a/gstreamer-player/sys/src/lib.rs +++ b/gstreamer-player/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] diff --git a/gstreamer-player/sys/tests/abi.rs b/gstreamer-player/sys/tests/abi.rs index ce71c46c4..ab271e323 100644 --- a/gstreamer-player/sys/tests/abi.rs +++ b/gstreamer-player/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_player_sys::*; diff --git a/gstreamer-player/sys/tests/constant.c b/gstreamer-player/sys/tests/constant.c index c7a2f9233..407341996 100644 --- a/gstreamer-player/sys/tests/constant.c +++ b/gstreamer-player/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-player/sys/tests/layout.c b/gstreamer-player/sys/tests/layout.c index 8092a6488..248735e41 100644 --- a/gstreamer-player/sys/tests/layout.c +++ b/gstreamer-player/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-rtp/src/auto/constants.rs b/gstreamer-rtp/src/auto/constants.rs index 888586e6e..18df6e7ef 100644 --- a/gstreamer-rtp/src/auto/constants.rs +++ b/gstreamer-rtp/src/auto/constants.rs @@ -10,6 +10,15 @@ pub static RTP_HDREXT_BASE: once_cell::sync::Lazy<&'static str> = once_cell::sync::Lazy::new(|| unsafe { CStr::from_ptr(ffi::GST_RTP_HDREXT_BASE).to_str().unwrap() }); +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(alias = "GST_RTP_HDREXT_ELEMENT_CLASS")] +pub static RTP_HDREXT_ELEMENT_CLASS: once_cell::sync::Lazy<&'static str> = + once_cell::sync::Lazy::new(|| unsafe { + CStr::from_ptr(ffi::GST_RTP_HDREXT_ELEMENT_CLASS) + .to_str() + .unwrap() + }); #[doc(alias = "GST_RTP_HDREXT_NTP_56")] pub static RTP_HDREXT_NTP_56: once_cell::sync::Lazy<&'static str> = once_cell::sync::Lazy::new(|| unsafe { @@ -20,6 +29,15 @@ pub static RTP_HDREXT_NTP_64: once_cell::sync::Lazy<&'static str> = once_cell::sync::Lazy::new(|| unsafe { CStr::from_ptr(ffi::GST_RTP_HDREXT_NTP_64).to_str().unwrap() }); +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(alias = "GST_RTP_HEADER_EXTENSION_URI_METADATA_KEY")] +pub static RTP_HEADER_EXTENSION_URI_METADATA_KEY: once_cell::sync::Lazy<&'static str> = + once_cell::sync::Lazy::new(|| unsafe { + CStr::from_ptr(ffi::GST_RTP_HEADER_EXTENSION_URI_METADATA_KEY) + .to_str() + .unwrap() + }); #[doc(alias = "GST_RTP_PAYLOAD_1016_STRING")] pub static RTP_PAYLOAD_1016_STRING: once_cell::sync::Lazy<&'static str> = once_cell::sync::Lazy::new(|| unsafe { diff --git a/gstreamer-rtp/src/auto/flags.rs b/gstreamer-rtp/src/auto/flags.rs index c3c69d9fe..edf52b81c 100644 --- a/gstreamer-rtp/src/auto/flags.rs +++ b/gstreamer-rtp/src/auto/flags.rs @@ -141,3 +141,77 @@ impl ToValue for RTPBufferMapFlags { Self::static_type() } } + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +bitflags! { + #[doc(alias = "GstRTPHeaderExtensionFlags")] + pub struct RTPHeaderExtensionFlags: u32 { + #[doc(alias = "GST_RTP_HEADER_EXTENSION_ONE_BYTE")] + const ONE_BYTE = ffi::GST_RTP_HEADER_EXTENSION_ONE_BYTE as u32; + #[doc(alias = "GST_RTP_HEADER_EXTENSION_TWO_BYTE")] + const TWO_BYTE = ffi::GST_RTP_HEADER_EXTENSION_TWO_BYTE as u32; + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl IntoGlib for RTPHeaderExtensionFlags { + type GlibType = ffi::GstRTPHeaderExtensionFlags; + + fn into_glib(self) -> ffi::GstRTPHeaderExtensionFlags { + self.bits() + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl FromGlib for RTPHeaderExtensionFlags { + unsafe fn from_glib(value: ffi::GstRTPHeaderExtensionFlags) -> Self { + skip_assert_initialized!(); + Self::from_bits_truncate(value) + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl StaticType for RTPHeaderExtensionFlags { + fn static_type() -> Type { + unsafe { from_glib(ffi::gst_rtp_header_extension_flags_get_type()) } + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl glib::value::ValueType for RTPHeaderExtensionFlags { + type Type = Self; +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +unsafe impl<'a> FromValue<'a> for RTPHeaderExtensionFlags { + type Checker = glib::value::GenericValueTypeChecker; + + unsafe fn from_value(value: &'a glib::Value) -> Self { + skip_assert_initialized!(); + from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl ToValue for RTPHeaderExtensionFlags { + fn to_value(&self) -> glib::Value { + let mut value = glib::Value::for_value_type::(); + unsafe { + glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib()); + } + value + } + + fn value_type(&self) -> glib::Type { + Self::static_type() + } +} diff --git a/gstreamer-rtp/src/auto/functions.rs b/gstreamer-rtp/src/auto/functions.rs index 7b8b87701..ce2738af6 100644 --- a/gstreamer-rtp/src/auto/functions.rs +++ b/gstreamer-rtp/src/auto/functions.rs @@ -44,6 +44,14 @@ pub fn rtcp_unix_to_ntp(unixtime: u64) -> u64 { unsafe { ffi::gst_rtcp_unix_to_ntp(unixtime) } } +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(alias = "gst_rtp_get_header_extension_list")] +pub fn rtp_get_header_extension_list() -> Vec { + assert_initialized_main_thread!(); + unsafe { FromGlibPtrContainer::from_glib_full(ffi::gst_rtp_get_header_extension_list()) } +} + //#[doc(alias = "gst_rtp_hdrext_set_ntp_56")] //pub fn rtp_hdrext_set_ntp_56(data: /*Unimplemented*/Option, size: u32, ntptime: u64) -> bool { // unsafe { TODO: call ffi:gst_rtp_hdrext_set_ntp_56() } diff --git a/gstreamer-rtp/src/auto/mod.rs b/gstreamer-rtp/src/auto/mod.rs index 8ae18c026..403bca946 100644 --- a/gstreamer-rtp/src/auto/mod.rs +++ b/gstreamer-rtp/src/auto/mod.rs @@ -3,6 +3,13 @@ // from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git) // DO NOT EDIT +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +mod rtp_header_extension; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub use self::rtp_header_extension::{RTPHeaderExtension, NONE_RTP_HEADER_EXTENSION}; + mod enums; pub use self::enums::RTCPFBType; pub use self::enums::RTCPSDESType; @@ -18,13 +25,22 @@ mod flags; #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] pub use self::flags::RTPBufferFlags; pub use self::flags::RTPBufferMapFlags; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub use self::flags::RTPHeaderExtensionFlags; pub mod functions; mod constants; pub use self::constants::RTP_HDREXT_BASE; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub use self::constants::RTP_HDREXT_ELEMENT_CLASS; pub use self::constants::RTP_HDREXT_NTP_56; pub use self::constants::RTP_HDREXT_NTP_64; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub use self::constants::RTP_HEADER_EXTENSION_URI_METADATA_KEY; pub use self::constants::RTP_PAYLOAD_1016_STRING; pub use self::constants::RTP_PAYLOAD_CELLB_STRING; pub use self::constants::RTP_PAYLOAD_CN_STRING; @@ -58,4 +74,8 @@ pub use self::constants::RTP_PAYLOAD_TS41_STRING; pub use self::constants::RTP_PAYLOAD_TS48_STRING; #[doc(hidden)] -pub mod traits {} +pub mod traits { + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub use super::rtp_header_extension::RTPHeaderExtensionExt; +} diff --git a/gstreamer-rtp/src/auto/rtp_header_extension.rs b/gstreamer-rtp/src/auto/rtp_header_extension.rs new file mode 100644 index 000000000..8d646d453 --- /dev/null +++ b/gstreamer-rtp/src/auto/rtp_header_extension.rs @@ -0,0 +1,203 @@ +// This file was generated by gir (https://github.com/gtk-rs/gir) +// from gir-files (https://github.com/gtk-rs/gir-files) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git) +// DO NOT EDIT + +use crate::RTPHeaderExtensionFlags; +use glib::object::IsA; +use glib::translate::*; + +glib::wrapper! { + #[doc(alias = "GstRTPHeaderExtension")] + pub struct RTPHeaderExtension(Object); + + match fn { + type_ => || ffi::gst_rtp_header_extension_get_type(), + } +} + +impl RTPHeaderExtension { + #[doc(alias = "gst_rtp_header_extension_create_from_uri")] + pub fn create_from_uri(uri: &str) -> Option { + assert_initialized_main_thread!(); + unsafe { + from_glib_full(ffi::gst_rtp_header_extension_create_from_uri( + uri.to_glib_none().0, + )) + } + } +} + +unsafe impl Send for RTPHeaderExtension {} +unsafe impl Sync for RTPHeaderExtension {} + +pub const NONE_RTP_HEADER_EXTENSION: Option<&RTPHeaderExtension> = None; + +pub trait RTPHeaderExtensionExt: 'static { + #[doc(alias = "gst_rtp_header_extension_get_id")] + #[doc(alias = "get_id")] + fn id(&self) -> u32; + + #[doc(alias = "gst_rtp_header_extension_get_max_size")] + #[doc(alias = "get_max_size")] + fn max_size(&self, input_meta: &gst::Buffer) -> usize; + + #[doc(alias = "gst_rtp_header_extension_get_sdp_caps_field_name")] + #[doc(alias = "get_sdp_caps_field_name")] + fn sdp_caps_field_name(&self) -> glib::GString; + + #[doc(alias = "gst_rtp_header_extension_get_supported_flags")] + #[doc(alias = "get_supported_flags")] + fn supported_flags(&self) -> RTPHeaderExtensionFlags; + + #[doc(alias = "gst_rtp_header_extension_get_uri")] + #[doc(alias = "get_uri")] + fn uri(&self) -> Option; + + #[doc(alias = "gst_rtp_header_extension_set_attributes_from_caps")] + fn set_attributes_from_caps(&self, caps: &gst::Caps) -> bool; + + #[doc(alias = "gst_rtp_header_extension_set_attributes_from_caps_simple_sdp")] + fn set_attributes_from_caps_simple_sdp(&self, caps: &gst::Caps) -> bool; + + #[doc(alias = "gst_rtp_header_extension_set_caps_from_attributes")] + fn set_caps_from_attributes(&self, caps: &mut gst::Caps) -> bool; + + #[doc(alias = "gst_rtp_header_extension_set_caps_from_attributes_simple_sdp")] + fn set_caps_from_attributes_simple_sdp(&self, caps: &mut gst::Caps) -> bool; + + #[doc(alias = "gst_rtp_header_extension_set_id")] + fn set_id(&self, ext_id: u32); + + #[doc(alias = "gst_rtp_header_extension_set_non_rtp_sink_caps")] + fn set_non_rtp_sink_caps(&self, caps: &gst::Caps) -> bool; + + #[doc(alias = "gst_rtp_header_extension_set_wants_update_non_rtp_src_caps")] + fn set_wants_update_non_rtp_src_caps(&self, state: bool); + + #[doc(alias = "gst_rtp_header_extension_update_non_rtp_src_caps")] + fn update_non_rtp_src_caps(&self, caps: &mut gst::Caps) -> bool; + + #[doc(alias = "gst_rtp_header_extension_wants_update_non_rtp_src_caps")] + fn wants_update_non_rtp_src_caps(&self) -> bool; +} + +impl> RTPHeaderExtensionExt for O { + fn id(&self) -> u32 { + unsafe { ffi::gst_rtp_header_extension_get_id(self.as_ref().to_glib_none().0) } + } + + fn max_size(&self, input_meta: &gst::Buffer) -> usize { + unsafe { + ffi::gst_rtp_header_extension_get_max_size( + self.as_ref().to_glib_none().0, + input_meta.to_glib_none().0, + ) + } + } + + fn sdp_caps_field_name(&self) -> glib::GString { + unsafe { + from_glib_full(ffi::gst_rtp_header_extension_get_sdp_caps_field_name( + self.as_ref().to_glib_none().0, + )) + } + } + + fn supported_flags(&self) -> RTPHeaderExtensionFlags { + unsafe { + from_glib(ffi::gst_rtp_header_extension_get_supported_flags( + self.as_ref().to_glib_none().0, + )) + } + } + + fn uri(&self) -> Option { + unsafe { + from_glib_none(ffi::gst_rtp_header_extension_get_uri( + self.as_ref().to_glib_none().0, + )) + } + } + + fn set_attributes_from_caps(&self, caps: &gst::Caps) -> bool { + unsafe { + from_glib(ffi::gst_rtp_header_extension_set_attributes_from_caps( + self.as_ref().to_glib_none().0, + caps.to_glib_none().0, + )) + } + } + + fn set_attributes_from_caps_simple_sdp(&self, caps: &gst::Caps) -> bool { + unsafe { + from_glib( + ffi::gst_rtp_header_extension_set_attributes_from_caps_simple_sdp( + self.as_ref().to_glib_none().0, + caps.to_glib_none().0, + ), + ) + } + } + + fn set_caps_from_attributes(&self, caps: &mut gst::Caps) -> bool { + unsafe { + from_glib(ffi::gst_rtp_header_extension_set_caps_from_attributes( + self.as_ref().to_glib_none().0, + caps.to_glib_none_mut().0, + )) + } + } + + fn set_caps_from_attributes_simple_sdp(&self, caps: &mut gst::Caps) -> bool { + unsafe { + from_glib( + ffi::gst_rtp_header_extension_set_caps_from_attributes_simple_sdp( + self.as_ref().to_glib_none().0, + caps.to_glib_none_mut().0, + ), + ) + } + } + + fn set_id(&self, ext_id: u32) { + unsafe { + ffi::gst_rtp_header_extension_set_id(self.as_ref().to_glib_none().0, ext_id); + } + } + + fn set_non_rtp_sink_caps(&self, caps: &gst::Caps) -> bool { + unsafe { + from_glib(ffi::gst_rtp_header_extension_set_non_rtp_sink_caps( + self.as_ref().to_glib_none().0, + caps.to_glib_none().0, + )) + } + } + + fn set_wants_update_non_rtp_src_caps(&self, state: bool) { + unsafe { + ffi::gst_rtp_header_extension_set_wants_update_non_rtp_src_caps( + self.as_ref().to_glib_none().0, + state.into_glib(), + ); + } + } + + fn update_non_rtp_src_caps(&self, caps: &mut gst::Caps) -> bool { + unsafe { + from_glib(ffi::gst_rtp_header_extension_update_non_rtp_src_caps( + self.as_ref().to_glib_none().0, + caps.to_glib_none_mut().0, + )) + } + } + + fn wants_update_non_rtp_src_caps(&self) -> bool { + unsafe { + from_glib(ffi::gst_rtp_header_extension_wants_update_non_rtp_src_caps( + self.as_ref().to_glib_none().0, + )) + } + } +} diff --git a/gstreamer-rtp/src/auto/versions.txt b/gstreamer-rtp/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-rtp/src/auto/versions.txt +++ b/gstreamer-rtp/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-rtp/sys/build.rs b/gstreamer-rtp/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-rtp/sys/build.rs +++ b/gstreamer-rtp/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-rtp/sys/src/lib.rs b/gstreamer-rtp/sys/src/lib.rs index 89db3a8fc..cd6fc78e0 100644 --- a/gstreamer-rtp/sys/src/lib.rs +++ b/gstreamer-rtp/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] @@ -121,10 +121,14 @@ pub const GST_RTCP_VALID_VALUE: c_int = 200; pub const GST_RTCP_VERSION: c_int = 2; pub const GST_RTP_HDREXT_BASE: *const c_char = b"urn:ietf:params:rtp-hdrext:\0" as *const u8 as *const c_char; +pub const GST_RTP_HDREXT_ELEMENT_CLASS: *const c_char = + b"Network/Extension/RTPHeader\0" as *const u8 as *const c_char; pub const GST_RTP_HDREXT_NTP_56: *const c_char = b"ntp-56\0" as *const u8 as *const c_char; pub const GST_RTP_HDREXT_NTP_56_SIZE: c_int = 7; pub const GST_RTP_HDREXT_NTP_64: *const c_char = b"ntp-64\0" as *const u8 as *const c_char; pub const GST_RTP_HDREXT_NTP_64_SIZE: c_int = 8; +pub const GST_RTP_HEADER_EXTENSION_URI_METADATA_KEY: *const c_char = + b"RTP-Header-Extension-URI\0" as *const u8 as *const c_char; pub const GST_RTP_PAYLOAD_1016_STRING: *const c_char = b"1\0" as *const u8 as *const c_char; pub const GST_RTP_PAYLOAD_CELLB_STRING: *const c_char = b"25\0" as *const u8 as *const c_char; pub const GST_RTP_PAYLOAD_CN_STRING: *const c_char = b"13\0" as *const u8 as *const c_char; @@ -174,6 +178,10 @@ pub type GstRTPBufferMapFlags = c_uint; pub const GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING: GstRTPBufferMapFlags = 65536; pub const GST_RTP_BUFFER_MAP_FLAG_LAST: GstRTPBufferMapFlags = 16777216; +pub type GstRTPHeaderExtensionFlags = c_uint; +pub const GST_RTP_HEADER_EXTENSION_ONE_BYTE: GstRTPHeaderExtensionFlags = 1; +pub const GST_RTP_HEADER_EXTENSION_TWO_BYTE: GstRTPHeaderExtensionFlags = 2; + // Records #[repr(C)] #[derive(Copy, Clone)] @@ -342,6 +350,60 @@ impl ::std::fmt::Debug for GstRTPBuffer { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstRTPHeaderExtensionClass { + pub parent_class: gst::GstElementClass, + pub get_supported_flags: + Option GstRTPHeaderExtensionFlags>, + pub get_max_size: + Option size_t>, + pub write: Option< + unsafe extern "C" fn( + *mut GstRTPHeaderExtension, + *const gst::GstBuffer, + GstRTPHeaderExtensionFlags, + *mut gst::GstBuffer, + *mut u8, + size_t, + ) -> size_t, + >, + pub read: Option< + unsafe extern "C" fn( + *mut GstRTPHeaderExtension, + GstRTPHeaderExtensionFlags, + *const u8, + size_t, + *mut gst::GstBuffer, + ) -> gboolean, + >, + pub set_non_rtp_sink_caps: + Option gboolean>, + pub update_non_rtp_src_caps: + Option gboolean>, + pub set_attributes_from_caps: + Option gboolean>, + pub set_caps_from_attributes: + Option gboolean>, + pub _gst_reserved: [gpointer; 4], +} + +impl ::std::fmt::Debug for GstRTPHeaderExtensionClass { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstRTPHeaderExtensionClass @ {:p}", self)) + .field("parent_class", &self.parent_class) + .field("get_supported_flags", &self.get_supported_flags) + .field("get_max_size", &self.get_max_size) + .field("write", &self.write) + .field("read", &self.read) + .field("set_non_rtp_sink_caps", &self.set_non_rtp_sink_caps) + .field("update_non_rtp_src_caps", &self.update_non_rtp_src_caps) + .field("set_attributes_from_caps", &self.set_attributes_from_caps) + .field("set_caps_from_attributes", &self.set_caps_from_attributes) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstRTPPayloadInfo { @@ -478,6 +540,28 @@ impl ::std::fmt::Debug for GstRTPBasePayload { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstRTPHeaderExtension { + pub parent: gst::GstElement, + pub ext_id: c_uint, + pub wants_update_non_rtp_src_caps: gboolean, + pub _gst_reserved: [gpointer; 4], +} + +impl ::std::fmt::Debug for GstRTPHeaderExtension { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstRTPHeaderExtension @ {:p}", self)) + .field("parent", &self.parent) + .field("ext_id", &self.ext_id) + .field( + "wants_update_non_rtp_src_caps", + &self.wants_update_non_rtp_src_caps, + ) + .finish() + } +} + #[link(name = "gstrtp-1.0")] extern "C" { @@ -525,6 +609,13 @@ extern "C" { //========================================================================= pub fn gst_rtp_buffer_map_flags_get_type() -> GType; + //========================================================================= + // GstRTPHeaderExtensionFlags + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_flags_get_type() -> GType; + //========================================================================= // GstRTCPBuffer //========================================================================= @@ -998,6 +1089,16 @@ extern "C" { pub fn gst_rtp_buffer_new_copy_data(data: gconstpointer, len: size_t) -> *mut gst::GstBuffer; pub fn gst_rtp_buffer_new_take_data(data: gpointer, len: size_t) -> *mut gst::GstBuffer; + //========================================================================= + // GstRTPHeaderExtensionClass + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_class_set_uri( + klass: *mut GstRTPHeaderExtensionClass, + uri: *const c_char, + ); + //========================================================================= // GstRTPPayloadInfo //========================================================================= @@ -1136,6 +1237,12 @@ extern "C" { fieldname: *const c_char, ... ) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_base_payload_set_outcaps_structure( + payload: *mut GstRTPBasePayload, + s: *mut gst::GstStructure, + ) -> gboolean; #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub fn gst_rtp_base_payload_set_source_info_enabled( @@ -1143,6 +1250,109 @@ extern "C" { enable: gboolean, ); + //========================================================================= + // GstRTPHeaderExtension + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_get_type() -> GType; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_create_from_uri( + uri: *const c_char, + ) -> *mut GstRTPHeaderExtension; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_get_id(ext: *mut GstRTPHeaderExtension) -> c_uint; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_get_max_size( + ext: *mut GstRTPHeaderExtension, + input_meta: *const gst::GstBuffer, + ) -> size_t; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_get_sdp_caps_field_name( + ext: *mut GstRTPHeaderExtension, + ) -> *mut c_char; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_get_supported_flags( + ext: *mut GstRTPHeaderExtension, + ) -> GstRTPHeaderExtensionFlags; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_get_uri(ext: *mut GstRTPHeaderExtension) -> *const c_char; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_read( + ext: *mut GstRTPHeaderExtension, + read_flags: GstRTPHeaderExtensionFlags, + data: *const u8, + size: size_t, + buffer: *mut gst::GstBuffer, + ) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_set_attributes_from_caps( + ext: *mut GstRTPHeaderExtension, + caps: *const gst::GstCaps, + ) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_set_attributes_from_caps_simple_sdp( + ext: *mut GstRTPHeaderExtension, + caps: *const gst::GstCaps, + ) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_set_caps_from_attributes( + ext: *mut GstRTPHeaderExtension, + caps: *mut gst::GstCaps, + ) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_set_caps_from_attributes_simple_sdp( + ext: *mut GstRTPHeaderExtension, + caps: *mut gst::GstCaps, + ) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_set_id(ext: *mut GstRTPHeaderExtension, ext_id: c_uint); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_set_non_rtp_sink_caps( + ext: *mut GstRTPHeaderExtension, + caps: *const gst::GstCaps, + ) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_set_wants_update_non_rtp_src_caps( + ext: *mut GstRTPHeaderExtension, + state: gboolean, + ); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_update_non_rtp_src_caps( + ext: *mut GstRTPHeaderExtension, + caps: *mut gst::GstCaps, + ) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_wants_update_non_rtp_src_caps( + ext: *mut GstRTPHeaderExtension, + ) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_header_extension_write( + ext: *mut GstRTPHeaderExtension, + input_meta: *const gst::GstBuffer, + write_flags: GstRTPHeaderExtensionFlags, + output: *mut gst::GstBuffer, + data: *mut u8, + size: size_t, + ) -> size_t; + //========================================================================= // Other functions //========================================================================= @@ -1161,6 +1371,9 @@ extern "C" { pub fn gst_rtcp_sdes_name_to_type(name: *const c_char) -> GstRTCPSDESType; pub fn gst_rtcp_sdes_type_to_name(type_: GstRTCPSDESType) -> *const c_char; pub fn gst_rtcp_unix_to_ntp(unixtime: u64) -> u64; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtp_get_header_extension_list() -> *mut glib::GList; pub fn gst_rtp_hdrext_get_ntp_56(data: gpointer, size: c_uint, ntptime: *mut u64) -> gboolean; pub fn gst_rtp_hdrext_get_ntp_64(data: gpointer, size: c_uint, ntptime: *mut u64) -> gboolean; pub fn gst_rtp_hdrext_set_ntp_56(data: gpointer, size: c_uint, ntptime: u64) -> gboolean; diff --git a/gstreamer-rtp/sys/tests/abi.rs b/gstreamer-rtp/sys/tests/abi.rs index df275941f..add1eb3ab 100644 --- a/gstreamer-rtp/sys/tests/abi.rs +++ b/gstreamer-rtp/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_rtp_sys::*; @@ -316,6 +316,27 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstRTPHeaderExtension", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), + ( + "GstRTPHeaderExtensionClass", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), + ( + "GstRTPHeaderExtensionFlags", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstRTPPayload", Layout { @@ -402,10 +423,20 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(guint) GST_RTP_BUFFER_MAP_FLAG_LAST", "16777216"), ("(guint) GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING", "65536"), ("GST_RTP_HDREXT_BASE", "urn:ietf:params:rtp-hdrext:"), + ( + "GST_RTP_HDREXT_ELEMENT_CLASS", + "Network/Extension/RTPHeader", + ), ("GST_RTP_HDREXT_NTP_56", "ntp-56"), ("GST_RTP_HDREXT_NTP_56_SIZE", "7"), ("GST_RTP_HDREXT_NTP_64", "ntp-64"), ("GST_RTP_HDREXT_NTP_64_SIZE", "8"), + ("(guint) GST_RTP_HEADER_EXTENSION_ONE_BYTE", "1"), + ("(guint) GST_RTP_HEADER_EXTENSION_TWO_BYTE", "2"), + ( + "GST_RTP_HEADER_EXTENSION_URI_METADATA_KEY", + "RTP-Header-Extension-URI", + ), ("(gint) GST_RTP_PAYLOAD_1016", "1"), ("GST_RTP_PAYLOAD_1016_STRING", "1"), ("(gint) GST_RTP_PAYLOAD_CELLB", "25"), diff --git a/gstreamer-rtp/sys/tests/constant.c b/gstreamer-rtp/sys/tests/constant.c index f358481b8..a9b5c8def 100644 --- a/gstreamer-rtp/sys/tests/constant.c +++ b/gstreamer-rtp/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" @@ -84,10 +84,14 @@ int main() { PRINT_CONSTANT((guint) GST_RTP_BUFFER_MAP_FLAG_LAST); PRINT_CONSTANT((guint) GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING); PRINT_CONSTANT(GST_RTP_HDREXT_BASE); + PRINT_CONSTANT(GST_RTP_HDREXT_ELEMENT_CLASS); PRINT_CONSTANT(GST_RTP_HDREXT_NTP_56); PRINT_CONSTANT(GST_RTP_HDREXT_NTP_56_SIZE); PRINT_CONSTANT(GST_RTP_HDREXT_NTP_64); PRINT_CONSTANT(GST_RTP_HDREXT_NTP_64_SIZE); + PRINT_CONSTANT((guint) GST_RTP_HEADER_EXTENSION_ONE_BYTE); + PRINT_CONSTANT((guint) GST_RTP_HEADER_EXTENSION_TWO_BYTE); + PRINT_CONSTANT(GST_RTP_HEADER_EXTENSION_URI_METADATA_KEY); PRINT_CONSTANT((gint) GST_RTP_PAYLOAD_1016); PRINT_CONSTANT(GST_RTP_PAYLOAD_1016_STRING); PRINT_CONSTANT((gint) GST_RTP_PAYLOAD_CELLB); diff --git a/gstreamer-rtp/sys/tests/layout.c b/gstreamer-rtp/sys/tests/layout.c index ecb6765d0..ca033b88b 100644 --- a/gstreamer-rtp/sys/tests/layout.c +++ b/gstreamer-rtp/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" @@ -23,6 +23,9 @@ int main() { printf("%s;%zu;%zu\n", "GstRTPBuffer", sizeof(GstRTPBuffer), alignof(GstRTPBuffer)); printf("%s;%zu;%zu\n", "GstRTPBufferFlags", sizeof(GstRTPBufferFlags), alignof(GstRTPBufferFlags)); printf("%s;%zu;%zu\n", "GstRTPBufferMapFlags", sizeof(GstRTPBufferMapFlags), alignof(GstRTPBufferMapFlags)); + printf("%s;%zu;%zu\n", "GstRTPHeaderExtension", sizeof(GstRTPHeaderExtension), alignof(GstRTPHeaderExtension)); + printf("%s;%zu;%zu\n", "GstRTPHeaderExtensionClass", sizeof(GstRTPHeaderExtensionClass), alignof(GstRTPHeaderExtensionClass)); + printf("%s;%zu;%zu\n", "GstRTPHeaderExtensionFlags", sizeof(GstRTPHeaderExtensionFlags), alignof(GstRTPHeaderExtensionFlags)); printf("%s;%zu;%zu\n", "GstRTPPayload", sizeof(GstRTPPayload), alignof(GstRTPPayload)); printf("%s;%zu;%zu\n", "GstRTPPayloadInfo", sizeof(GstRTPPayloadInfo), alignof(GstRTPPayloadInfo)); printf("%s;%zu;%zu\n", "GstRTPProfile", sizeof(GstRTPProfile), alignof(GstRTPProfile)); diff --git a/gstreamer-rtsp-server/src/auto/rtsp_media_factory.rs b/gstreamer-rtsp-server/src/auto/rtsp_media_factory.rs index e2b633f0d..3c38f077f 100644 --- a/gstreamer-rtsp-server/src/auto/rtsp_media_factory.rs +++ b/gstreamer-rtsp-server/src/auto/rtsp_media_factory.rs @@ -135,6 +135,11 @@ pub trait RTSPMediaFactoryExt: 'static { #[doc(alias = "gst_rtsp_media_factory_is_bind_mcast_address")] fn is_bind_mcast_address(&self) -> bool; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_rtsp_media_factory_is_enable_rtcp")] + fn is_enable_rtcp(&self) -> bool; + #[doc(alias = "gst_rtsp_media_factory_is_eos_shutdown")] fn is_eos_shutdown(&self) -> bool; @@ -168,6 +173,11 @@ pub trait RTSPMediaFactoryExt: 'static { #[doc(alias = "gst_rtsp_media_factory_set_dscp_qos")] fn set_dscp_qos(&self, dscp_qos: i32); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_rtsp_media_factory_set_enable_rtcp")] + fn set_enable_rtcp(&self, enable: bool); + #[doc(alias = "gst_rtsp_media_factory_set_eos_shutdown")] fn set_eos_shutdown(&self, eos_shutdown: bool); @@ -269,6 +279,14 @@ pub trait RTSPMediaFactoryExt: 'static { f: F, ) -> SignalHandlerId; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "enable-rtcp")] + fn connect_enable_rtcp_notify( + &self, + f: F, + ) -> SignalHandlerId; + #[doc(alias = "eos-shutdown")] fn connect_eos_shutdown_notify( &self, @@ -479,6 +497,16 @@ impl> RTSPMediaFactoryExt for O { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + fn is_enable_rtcp(&self) -> bool { + unsafe { + from_glib(ffi::gst_rtsp_media_factory_is_enable_rtcp( + self.as_ref().to_glib_none().0, + )) + } + } + fn is_eos_shutdown(&self) -> bool { unsafe { from_glib(ffi::gst_rtsp_media_factory_is_eos_shutdown( @@ -557,6 +585,17 @@ impl> RTSPMediaFactoryExt for O { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + fn set_enable_rtcp(&self, enable: bool) { + unsafe { + ffi::gst_rtsp_media_factory_set_enable_rtcp( + self.as_ref().to_glib_none().0, + enable.into_glib(), + ); + } + } + fn set_eos_shutdown(&self, eos_shutdown: bool) { unsafe { ffi::gst_rtsp_media_factory_set_eos_shutdown( @@ -949,6 +988,37 @@ impl> RTSPMediaFactoryExt for O { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "enable-rtcp")] + fn connect_enable_rtcp_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_enable_rtcp_trampoline< + P: IsA, + F: Fn(&P) + Send + Sync + 'static, + >( + this: *mut ffi::GstRTSPMediaFactory, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&RTSPMediaFactory::from_glib_borrow(this).unsafe_cast_ref()) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::enable-rtcp\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_enable_rtcp_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + #[doc(alias = "eos-shutdown")] fn connect_eos_shutdown_notify( &self, diff --git a/gstreamer-rtsp-server/src/auto/versions.txt b/gstreamer-rtsp-server/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-rtsp-server/src/auto/versions.txt +++ b/gstreamer-rtsp-server/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-rtsp-server/sys/build.rs b/gstreamer-rtsp-server/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-rtsp-server/sys/build.rs +++ b/gstreamer-rtsp-server/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-rtsp-server/sys/src/lib.rs b/gstreamer-rtsp-server/sys/src/lib.rs index f3c0c05bb..bdac480b7 100644 --- a/gstreamer-rtsp-server/sys/src/lib.rs +++ b/gstreamer-rtsp-server/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] @@ -1807,6 +1807,9 @@ extern "C" { pub fn gst_rtsp_media_factory_is_bind_mcast_address( factory: *mut GstRTSPMediaFactory, ) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtsp_media_factory_is_enable_rtcp(factory: *mut GstRTSPMediaFactory) -> gboolean; pub fn gst_rtsp_media_factory_is_eos_shutdown(factory: *mut GstRTSPMediaFactory) -> gboolean; pub fn gst_rtsp_media_factory_is_shared(factory: *mut GstRTSPMediaFactory) -> gboolean; pub fn gst_rtsp_media_factory_is_stop_on_disonnect( @@ -1836,6 +1839,12 @@ extern "C" { #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn gst_rtsp_media_factory_set_dscp_qos(factory: *mut GstRTSPMediaFactory, dscp_qos: c_int); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_rtsp_media_factory_set_enable_rtcp( + factory: *mut GstRTSPMediaFactory, + enable: gboolean, + ); pub fn gst_rtsp_media_factory_set_eos_shutdown( factory: *mut GstRTSPMediaFactory, eos_shutdown: gboolean, diff --git a/gstreamer-rtsp-server/sys/tests/abi.rs b/gstreamer-rtsp-server/sys/tests/abi.rs index 53235c168..c54ee1ba4 100644 --- a/gstreamer-rtsp-server/sys/tests/abi.rs +++ b/gstreamer-rtsp-server/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_rtsp_server_sys::*; diff --git a/gstreamer-rtsp-server/sys/tests/constant.c b/gstreamer-rtsp-server/sys/tests/constant.c index e735cb814..c0d48f204 100644 --- a/gstreamer-rtsp-server/sys/tests/constant.c +++ b/gstreamer-rtsp-server/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-rtsp-server/sys/tests/layout.c b/gstreamer-rtsp-server/sys/tests/layout.c index 0a20a1ea8..2b38c808b 100644 --- a/gstreamer-rtsp-server/sys/tests/layout.c +++ b/gstreamer-rtsp-server/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-rtsp/src/auto/versions.txt b/gstreamer-rtsp/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-rtsp/src/auto/versions.txt +++ b/gstreamer-rtsp/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-rtsp/sys/build.rs b/gstreamer-rtsp/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-rtsp/sys/build.rs +++ b/gstreamer-rtsp/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-rtsp/sys/src/lib.rs b/gstreamer-rtsp/sys/src/lib.rs index ffb9f9715..7c932f964 100644 --- a/gstreamer-rtsp/sys/src/lib.rs +++ b/gstreamer-rtsp/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] diff --git a/gstreamer-rtsp/sys/tests/abi.rs b/gstreamer-rtsp/sys/tests/abi.rs index 4e7793bf0..716b486cb 100644 --- a/gstreamer-rtsp/sys/tests/abi.rs +++ b/gstreamer-rtsp/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_rtsp_sys::*; diff --git a/gstreamer-rtsp/sys/tests/constant.c b/gstreamer-rtsp/sys/tests/constant.c index 5a0725569..a253f97c6 100644 --- a/gstreamer-rtsp/sys/tests/constant.c +++ b/gstreamer-rtsp/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-rtsp/sys/tests/layout.c b/gstreamer-rtsp/sys/tests/layout.c index 96df48b7c..b4d6eb5ad 100644 --- a/gstreamer-rtsp/sys/tests/layout.c +++ b/gstreamer-rtsp/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-sdp/src/auto/versions.txt b/gstreamer-sdp/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-sdp/src/auto/versions.txt +++ b/gstreamer-sdp/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-sdp/sys/build.rs b/gstreamer-sdp/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-sdp/sys/build.rs +++ b/gstreamer-sdp/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-sdp/sys/src/lib.rs b/gstreamer-sdp/sys/src/lib.rs index 3917e3cd8..67a1a731a 100644 --- a/gstreamer-sdp/sys/src/lib.rs +++ b/gstreamer-sdp/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] diff --git a/gstreamer-sdp/sys/tests/abi.rs b/gstreamer-sdp/sys/tests/abi.rs index 09aba8dbf..bf513cabd 100644 --- a/gstreamer-sdp/sys/tests/abi.rs +++ b/gstreamer-sdp/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_sdp_sys::*; diff --git a/gstreamer-sdp/sys/tests/constant.c b/gstreamer-sdp/sys/tests/constant.c index 3b4321532..f3892757e 100644 --- a/gstreamer-sdp/sys/tests/constant.c +++ b/gstreamer-sdp/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-sdp/sys/tests/layout.c b/gstreamer-sdp/sys/tests/layout.c index a72eb7f54..0cc236ad9 100644 --- a/gstreamer-sdp/sys/tests/layout.c +++ b/gstreamer-sdp/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-tag/sys/build.rs b/gstreamer-tag/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-tag/sys/build.rs +++ b/gstreamer-tag/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-tag/sys/src/lib.rs b/gstreamer-tag/sys/src/lib.rs index 5eb776a9d..ad12e6060 100644 --- a/gstreamer-tag/sys/src/lib.rs +++ b/gstreamer-tag/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] diff --git a/gstreamer-tag/sys/tests/abi.rs b/gstreamer-tag/sys/tests/abi.rs index cae2ee3a2..8ac809650 100644 --- a/gstreamer-tag/sys/tests/abi.rs +++ b/gstreamer-tag/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_tag_sys::*; diff --git a/gstreamer-tag/sys/tests/constant.c b/gstreamer-tag/sys/tests/constant.c index 15014bb0b..d61644aea 100644 --- a/gstreamer-tag/sys/tests/constant.c +++ b/gstreamer-tag/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-tag/sys/tests/layout.c b/gstreamer-tag/sys/tests/layout.c index 86e197393..5d808ef2f 100644 --- a/gstreamer-tag/sys/tests/layout.c +++ b/gstreamer-tag/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" diff --git a/gstreamer-video/src/auto/enums.rs b/gstreamer-video/src/auto/enums.rs index a5b8bac8d..2cf1ecb25 100644 --- a/gstreamer-video/src/auto/enums.rs +++ b/gstreamer-video/src/auto/enums.rs @@ -1216,6 +1216,18 @@ pub enum VideoFormat { #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_FORMAT_NV12_32L32")] Nv1232l32, + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "GST_VIDEO_FORMAT_RGBP")] + Rgbp, + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "GST_VIDEO_FORMAT_BGRP")] + Bgrp, + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "GST_VIDEO_FORMAT_AV12")] + Av12, #[doc(hidden)] __Unknown(i32), } @@ -1396,6 +1408,12 @@ impl IntoGlib for VideoFormat { Self::Nv124l4 => ffi::GST_VIDEO_FORMAT_NV12_4L4, #[cfg(any(feature = "v1_18", feature = "dox"))] Self::Nv1232l32 => ffi::GST_VIDEO_FORMAT_NV12_32L32, + #[cfg(any(feature = "v1_20", feature = "dox"))] + Self::Rgbp => ffi::GST_VIDEO_FORMAT_RGBP, + #[cfg(any(feature = "v1_20", feature = "dox"))] + Self::Bgrp => ffi::GST_VIDEO_FORMAT_BGRP, + #[cfg(any(feature = "v1_20", feature = "dox"))] + Self::Av12 => ffi::GST_VIDEO_FORMAT_AV12, Self::__Unknown(value) => value, } } @@ -1543,6 +1561,12 @@ impl FromGlib for VideoFormat { ffi::GST_VIDEO_FORMAT_NV12_4L4 => Self::Nv124l4, #[cfg(any(feature = "v1_18", feature = "dox"))] ffi::GST_VIDEO_FORMAT_NV12_32L32 => Self::Nv1232l32, + #[cfg(any(feature = "v1_20", feature = "dox"))] + ffi::GST_VIDEO_FORMAT_RGBP => Self::Rgbp, + #[cfg(any(feature = "v1_20", feature = "dox"))] + ffi::GST_VIDEO_FORMAT_BGRP => Self::Bgrp, + #[cfg(any(feature = "v1_20", feature = "dox"))] + ffi::GST_VIDEO_FORMAT_AV12 => Self::Av12, value => Self::__Unknown(value), } } @@ -2489,6 +2513,22 @@ pub enum VideoTransferFunction { } impl VideoTransferFunction { + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_video_transfer_function_decode")] + pub fn decode(self, val: f64) -> f64 { + assert_initialized_main_thread!(); + unsafe { ffi::gst_video_transfer_function_decode(self.into_glib(), val) } + } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_video_transfer_function_encode")] + pub fn encode(self, val: f64) -> f64 { + assert_initialized_main_thread!(); + unsafe { ffi::gst_video_transfer_function_encode(self.into_glib(), val) } + } + #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "gst_video_transfer_function_from_iso")] diff --git a/gstreamer-video/src/auto/flags.rs b/gstreamer-video/src/auto/flags.rs index 9be68903b..ba2ae0467 100644 --- a/gstreamer-video/src/auto/flags.rs +++ b/gstreamer-video/src/auto/flags.rs @@ -9,6 +9,7 @@ use glib::value::FromValue; use glib::value::ToValue; use glib::StaticType; use glib::Type; +use std::fmt; bitflags! { #[doc(alias = "GstVideoBufferFlags")] @@ -112,6 +113,23 @@ bitflags! { } } +impl VideoChromaSite { + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_video_chroma_site_from_string")] + pub fn from_string(s: &str) -> VideoChromaSite { + assert_initialized_main_thread!(); + unsafe { from_glib(ffi::gst_video_chroma_site_from_string(s.to_glib_none().0)) } + } +} + +impl fmt::Display for VideoChromaSite { + #[inline] + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + f.write_str(&self.to_str()) + } +} + #[doc(hidden)] impl IntoGlib for VideoChromaSite { type GlibType = ffi::GstVideoChromaSite; @@ -173,6 +191,10 @@ bitflags! { const FORCE_KEYFRAME = ffi::GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME as u32; #[doc(alias = "GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME_HEADERS")] const FORCE_KEYFRAME_HEADERS = ffi::GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME_HEADERS as u32; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED")] + const CORRUPTED = ffi::GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED as u32; } } @@ -193,6 +215,39 @@ impl FromGlib for VideoCodecFrameFlags { } } +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +bitflags! { + #[doc(alias = "GstVideoDecoderRequestSyncPointFlags")] + pub struct VideoDecoderRequestSyncPointFlags: u32 { + #[doc(alias = "GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT")] + const DISCARD_INPUT = ffi::GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT as u32; + #[doc(alias = "GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT")] + const CORRUPT_OUTPUT = ffi::GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT as u32; + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl IntoGlib for VideoDecoderRequestSyncPointFlags { + type GlibType = ffi::GstVideoDecoderRequestSyncPointFlags; + + fn into_glib(self) -> ffi::GstVideoDecoderRequestSyncPointFlags { + self.bits() + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl FromGlib for VideoDecoderRequestSyncPointFlags { + unsafe fn from_glib(value: ffi::GstVideoDecoderRequestSyncPointFlags) -> Self { + skip_assert_initialized!(); + Self::from_bits_truncate(value) + } +} + bitflags! { #[doc(alias = "GstVideoFlags")] pub struct VideoFlags: u32 { diff --git a/gstreamer-video/src/auto/mod.rs b/gstreamer-video/src/auto/mod.rs index 3ac49cc71..4b1b7a340 100644 --- a/gstreamer-video/src/auto/mod.rs +++ b/gstreamer-video/src/auto/mod.rs @@ -3,6 +3,15 @@ // from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git) // DO NOT EDIT +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +mod video_aggregator_parallel_convert_pad; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub use self::video_aggregator_parallel_convert_pad::{ + VideoAggregatorParallelConvertPad, NONE_VIDEO_AGGREGATOR_PARALLEL_CONVERT_PAD, +}; + mod video_buffer_pool; pub use self::video_buffer_pool::{VideoBufferPool, NONE_VIDEO_BUFFER_POOL}; @@ -60,6 +69,9 @@ mod flags; pub use self::flags::VideoBufferFlags; pub use self::flags::VideoChromaSite; pub use self::flags::VideoCodecFrameFlags; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub use self::flags::VideoDecoderRequestSyncPointFlags; pub use self::flags::VideoFlags; pub use self::flags::VideoFormatFlags; pub use self::flags::VideoFrameFlags; diff --git a/gstreamer-video/src/auto/versions.txt b/gstreamer-video/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-video/src/auto/versions.txt +++ b/gstreamer-video/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-video/src/auto/video_aggregator_parallel_convert_pad.rs b/gstreamer-video/src/auto/video_aggregator_parallel_convert_pad.rs new file mode 100644 index 000000000..ec38484a8 --- /dev/null +++ b/gstreamer-video/src/auto/video_aggregator_parallel_convert_pad.rs @@ -0,0 +1,21 @@ +// This file was generated by gir (https://github.com/gtk-rs/gir) +// from gir-files (https://github.com/gtk-rs/gir-files) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git) +// DO NOT EDIT + +glib::wrapper! { + #[doc(alias = "GstVideoAggregatorParallelConvertPad")] + pub struct VideoAggregatorParallelConvertPad(Object) @extends gst::Object; + + match fn { + type_ => || ffi::gst_video_aggregator_parallel_convert_pad_get_type(), + } +} + +impl VideoAggregatorParallelConvertPad {} + +unsafe impl Send for VideoAggregatorParallelConvertPad {} +unsafe impl Sync for VideoAggregatorParallelConvertPad {} + +pub const NONE_VIDEO_AGGREGATOR_PARALLEL_CONVERT_PAD: Option<&VideoAggregatorParallelConvertPad> = + None; diff --git a/gstreamer-video/src/auto/video_decoder.rs b/gstreamer-video/src/auto/video_decoder.rs index 8b5c53847..59b399551 100644 --- a/gstreamer-video/src/auto/video_decoder.rs +++ b/gstreamer-video/src/auto/video_decoder.rs @@ -4,6 +4,9 @@ // DO NOT EDIT use crate::VideoCodecFrame; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use crate::VideoDecoderRequestSyncPointFlags; #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] use glib::object::Cast; @@ -69,6 +72,12 @@ pub trait VideoDecoderExt: 'static { #[doc(alias = "get_needs_format")] fn needs_format(&self) -> bool; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_video_decoder_get_needs_sync_point")] + #[doc(alias = "get_needs_sync_point")] + fn needs_sync_point(&self) -> bool; + #[doc(alias = "gst_video_decoder_get_packetized")] #[doc(alias = "get_packetized")] fn is_packetized(&self) -> bool; @@ -90,6 +99,11 @@ pub trait VideoDecoderExt: 'static { #[doc(alias = "gst_video_decoder_proxy_getcaps")] fn proxy_getcaps(&self, caps: Option<&gst::Caps>, filter: Option<&gst::Caps>) -> gst::Caps; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_video_decoder_request_sync_point")] + fn request_sync_point(&self, frame: &VideoCodecFrame, flags: VideoDecoderRequestSyncPointFlags); + #[doc(alias = "gst_video_decoder_set_estimate_rate")] fn set_estimate_rate(&self, enabled: bool); @@ -99,12 +113,37 @@ pub trait VideoDecoderExt: 'static { #[doc(alias = "gst_video_decoder_set_needs_format")] fn set_needs_format(&self, enabled: bool); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_video_decoder_set_needs_sync_point")] + fn set_needs_sync_point(&self, enabled: bool); + #[doc(alias = "gst_video_decoder_set_packetized")] fn set_packetized(&self, packetized: bool); #[doc(alias = "gst_video_decoder_set_use_default_pad_acceptcaps")] fn set_use_default_pad_acceptcaps(&self, use_: bool); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "discard-corrupted-frames")] + fn is_discard_corrupted_frames(&self) -> bool; + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "discard-corrupted-frames")] + fn set_discard_corrupted_frames(&self, discard_corrupted_frames: bool); + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "min-force-key-unit-interval")] + fn min_force_key_unit_interval(&self) -> u64; + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "min-force-key-unit-interval")] + fn set_min_force_key_unit_interval(&self, min_force_key_unit_interval: u64); + #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] fn is_qos(&self) -> bool; @@ -113,6 +152,14 @@ pub trait VideoDecoderExt: 'static { #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] fn set_qos(&self, qos: bool); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "discard-corrupted-frames")] + fn connect_discard_corrupted_frames_notify( + &self, + f: F, + ) -> SignalHandlerId; + #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "max-errors")] @@ -121,6 +168,14 @@ pub trait VideoDecoderExt: 'static { f: F, ) -> SignalHandlerId; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "min-force-key-unit-interval")] + fn connect_min_force_key_unit_interval_notify( + &self, + f: F, + ) -> SignalHandlerId; + #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "qos")] @@ -176,6 +231,16 @@ impl> VideoDecoderExt for O { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + fn needs_sync_point(&self) -> bool { + unsafe { + from_glib(ffi::gst_video_decoder_get_needs_sync_point( + self.as_ref().to_glib_none().0, + )) + } + } + fn is_packetized(&self) -> bool { unsafe { from_glib(ffi::gst_video_decoder_get_packetized( @@ -220,6 +285,22 @@ impl> VideoDecoderExt for O { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + fn request_sync_point( + &self, + frame: &VideoCodecFrame, + flags: VideoDecoderRequestSyncPointFlags, + ) { + unsafe { + ffi::gst_video_decoder_request_sync_point( + self.as_ref().to_glib_none().0, + frame.to_glib_none().0, + flags.into_glib(), + ); + } + } + fn set_estimate_rate(&self, enabled: bool) { unsafe { ffi::gst_video_decoder_set_estimate_rate( @@ -244,6 +325,17 @@ impl> VideoDecoderExt for O { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + fn set_needs_sync_point(&self, enabled: bool) { + unsafe { + ffi::gst_video_decoder_set_needs_sync_point( + self.as_ref().to_glib_none().0, + enabled.into_glib(), + ); + } + } + fn set_packetized(&self, packetized: bool) { unsafe { ffi::gst_video_decoder_set_packetized( @@ -262,6 +354,62 @@ impl> VideoDecoderExt for O { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + fn is_discard_corrupted_frames(&self) -> bool { + unsafe { + let mut value = glib::Value::from_type(::static_type()); + glib::gobject_ffi::g_object_get_property( + self.to_glib_none().0 as *mut glib::gobject_ffi::GObject, + b"discard-corrupted-frames\0".as_ptr() as *const _, + value.to_glib_none_mut().0, + ); + value + .get() + .expect("Return Value for property `discard-corrupted-frames` getter") + } + } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + fn set_discard_corrupted_frames(&self, discard_corrupted_frames: bool) { + unsafe { + glib::gobject_ffi::g_object_set_property( + self.to_glib_none().0 as *mut glib::gobject_ffi::GObject, + b"discard-corrupted-frames\0".as_ptr() as *const _, + discard_corrupted_frames.to_value().to_glib_none().0, + ); + } + } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + fn min_force_key_unit_interval(&self) -> u64 { + unsafe { + let mut value = glib::Value::from_type(::static_type()); + glib::gobject_ffi::g_object_get_property( + self.to_glib_none().0 as *mut glib::gobject_ffi::GObject, + b"min-force-key-unit-interval\0".as_ptr() as *const _, + value.to_glib_none_mut().0, + ); + value + .get() + .expect("Return Value for property `min-force-key-unit-interval` getter") + } + } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + fn set_min_force_key_unit_interval(&self, min_force_key_unit_interval: u64) { + unsafe { + glib::gobject_ffi::g_object_set_property( + self.to_glib_none().0 as *mut glib::gobject_ffi::GObject, + b"min-force-key-unit-interval\0".as_ptr() as *const _, + min_force_key_unit_interval.to_value().to_glib_none().0, + ); + } + } + #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] fn is_qos(&self) -> bool { @@ -288,6 +436,37 @@ impl> VideoDecoderExt for O { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "discard-corrupted-frames")] + fn connect_discard_corrupted_frames_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_discard_corrupted_frames_trampoline< + P: IsA, + F: Fn(&P) + Send + Sync + 'static, + >( + this: *mut ffi::GstVideoDecoder, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&VideoDecoder::from_glib_borrow(this).unsafe_cast_ref()) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::discard-corrupted-frames\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_discard_corrupted_frames_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "max-errors")] @@ -319,6 +498,37 @@ impl> VideoDecoderExt for O { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "min-force-key-unit-interval")] + fn connect_min_force_key_unit_interval_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_min_force_key_unit_interval_trampoline< + P: IsA, + F: Fn(&P) + Send + Sync + 'static, + >( + this: *mut ffi::GstVideoDecoder, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&VideoDecoder::from_glib_borrow(this).unsafe_cast_ref()) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::min-force-key-unit-interval\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_min_force_key_unit_interval_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "qos")] diff --git a/gstreamer-video/sys/build.rs b/gstreamer-video/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-video/sys/build.rs +++ b/gstreamer-video/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-video/sys/src/lib.rs b/gstreamer-video/sys/src/lib.rs index 4b2b44905..ea6f09a35 100644 --- a/gstreamer-video/sys/src/lib.rs +++ b/gstreamer-video/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] @@ -274,6 +274,15 @@ pub const GST_VIDEO_FORMAT_NV12_4L4: GstVideoFormat = 97; #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub const GST_VIDEO_FORMAT_NV12_32L32: GstVideoFormat = 98; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_VIDEO_FORMAT_RGBP: GstVideoFormat = 99; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_VIDEO_FORMAT_BGRP: GstVideoFormat = 100; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_VIDEO_FORMAT_AV12: GstVideoFormat = 101; pub type GstVideoGLTextureOrientation = c_int; pub const GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL: GstVideoGLTextureOrientation = 0; @@ -445,6 +454,8 @@ pub const GST_VIDEO_CONVERTER_OPT_ALPHA_MODE: *const c_char = b"GstVideoConverter.alpha-mode\0" as *const u8 as *const c_char; pub const GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE: *const c_char = b"GstVideoConverter.alpha-value\0" as *const u8 as *const c_char; +pub const GST_VIDEO_CONVERTER_OPT_ASYNC_TASKS: *const c_char = + b"GstVideoConverter.async-tasks\0" as *const u8 as *const c_char; pub const GST_VIDEO_CONVERTER_OPT_BORDER_ARGB: *const c_char = b"GstVideoConverter.border-argb\0" as *const u8 as *const c_char; pub const GST_VIDEO_CONVERTER_OPT_CHROMA_MODE: *const c_char = @@ -547,6 +558,15 @@ pub const GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY: GstVideoCodecFrameFlags = 1; pub const GST_VIDEO_CODEC_FRAME_FLAG_SYNC_POINT: GstVideoCodecFrameFlags = 2; pub const GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME: GstVideoCodecFrameFlags = 4; pub const GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME_HEADERS: GstVideoCodecFrameFlags = 8; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub const GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED: GstVideoCodecFrameFlags = 16; + +pub type GstVideoDecoderRequestSyncPointFlags = c_uint; +pub const GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT: GstVideoDecoderRequestSyncPointFlags = + 1; +pub const GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT: + GstVideoDecoderRequestSyncPointFlags = 2; pub type GstVideoDitherFlags = c_uint; pub const GST_VIDEO_DITHER_FLAG_NONE: GstVideoDitherFlags = 0; @@ -869,7 +889,22 @@ pub struct GstVideoAggregatorPadClass { *mut GstVideoFrame, ), >, - pub _gst_reserved: [gpointer; 20], + pub prepare_frame_start: Option< + unsafe extern "C" fn( + *mut GstVideoAggregatorPad, + *mut GstVideoAggregator, + *mut gst::GstBuffer, + *mut GstVideoFrame, + ), + >, + pub prepare_frame_finish: Option< + unsafe extern "C" fn( + *mut GstVideoAggregatorPad, + *mut GstVideoAggregator, + *mut GstVideoFrame, + ), + >, + pub _gst_reserved: [gpointer; 18], } impl ::std::fmt::Debug for GstVideoAggregatorPadClass { @@ -879,6 +914,8 @@ impl ::std::fmt::Debug for GstVideoAggregatorPadClass { .field("update_conversion_info", &self.update_conversion_info) .field("prepare_frame", &self.prepare_frame) .field("clean_frame", &self.clean_frame) + .field("prepare_frame_start", &self.prepare_frame_start) + .field("prepare_frame_finish", &self.prepare_frame_finish) .field("_gst_reserved", &self._gst_reserved) .finish() } @@ -889,6 +926,24 @@ pub struct _GstVideoAggregatorPadPrivate(c_void); pub type GstVideoAggregatorPadPrivate = *mut _GstVideoAggregatorPadPrivate; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstVideoAggregatorParallelConvertPadClass { + pub parent_class: GstVideoAggregatorConvertPadClass, + pub _gst_reserved: [gpointer; 4], +} + +impl ::std::fmt::Debug for GstVideoAggregatorParallelConvertPadClass { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!( + "GstVideoAggregatorParallelConvertPadClass @ {:p}", + self + )) + .field("parent_class", &self.parent_class) + .finish() + } +} + #[repr(C)] pub struct _GstVideoAggregatorPrivate(c_void); @@ -1002,6 +1057,22 @@ pub struct _GstVideoChromaResample(c_void); pub type GstVideoChromaResample = *mut _GstVideoChromaResample; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstVideoCodecAlphaMeta { + pub meta: gst::GstMeta, + pub buffer: *mut gst::GstBuffer, +} + +impl ::std::fmt::Debug for GstVideoCodecAlphaMeta { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstVideoCodecAlphaMeta @ {:p}", self)) + .field("meta", &self.meta) + .field("buffer", &self.buffer) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstVideoCodecFrame { @@ -1846,7 +1917,10 @@ pub struct GstVideoSinkClass { pub parent_class: gst_base::GstBaseSinkClass, pub show_frame: Option gst::GstFlowReturn>, - pub _gst_reserved: [gpointer; 4], + pub set_info: Option< + unsafe extern "C" fn(*mut GstVideoSink, *mut gst::GstCaps, *const GstVideoInfo) -> gboolean, + >, + pub _gst_reserved: [gpointer; 3], } impl ::std::fmt::Debug for GstVideoSinkClass { @@ -1854,6 +1928,7 @@ impl ::std::fmt::Debug for GstVideoSinkClass { f.debug_struct(&format!("GstVideoSinkClass @ {:p}", self)) .field("parent_class", &self.parent_class) .field("show_frame", &self.show_frame) + .field("set_info", &self.set_info) .finish() } } @@ -2036,6 +2111,23 @@ impl ::std::fmt::Debug for GstVideoAggregatorPad { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstVideoAggregatorParallelConvertPad { + pub parent_instance: GstVideoAggregatorConvertPad, +} + +impl ::std::fmt::Debug for GstVideoAggregatorParallelConvertPad { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!( + "GstVideoAggregatorParallelConvertPad @ {:p}", + self + )) + .field("parent_instance", &self.parent_instance) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstVideoBufferPool { @@ -2417,6 +2509,18 @@ extern "C" { // GstVideoTransferFunction //========================================================================= pub fn gst_video_transfer_function_get_type() -> GType; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_video_transfer_function_decode( + func: GstVideoTransferFunction, + val: c_double, + ) -> c_double; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_video_transfer_function_encode( + func: GstVideoTransferFunction, + val: c_double, + ) -> c_double; #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn gst_video_transfer_function_from_iso(value: c_uint) -> GstVideoTransferFunction; @@ -2453,6 +2557,12 @@ extern "C" { // GstVideoChromaSite //========================================================================= pub fn gst_video_chroma_site_get_type() -> GType; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_video_chroma_site_from_string(s: *const c_char) -> GstVideoChromaSite; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_video_chroma_site_to_string(site: GstVideoChromaSite) -> *mut c_char; //========================================================================= // GstVideoDitherFlags @@ -2566,6 +2676,13 @@ extern "C" { v_factor: c_int, ) -> *mut GstVideoChromaResample; + //========================================================================= + // GstVideoCodecAlphaMeta + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_video_codec_alpha_meta_get_info() -> *const gst::GstMetaInfo; + //========================================================================= // GstVideoCodecFrame //========================================================================= @@ -2627,6 +2744,12 @@ extern "C" { #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn gst_video_content_light_level_init(linfo: *mut GstVideoContentLightLevel); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_video_content_light_level_is_equal( + linfo: *const GstVideoContentLightLevel, + other: *const GstVideoContentLightLevel, + ) -> gboolean; #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn gst_video_content_light_level_to_string( @@ -2641,6 +2764,9 @@ extern "C" { src: *const GstVideoFrame, dest: *mut GstVideoFrame, ); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_video_converter_frame_finish(convert: *mut GstVideoConverter); pub fn gst_video_converter_free(convert: *mut GstVideoConverter); pub fn gst_video_converter_get_config( convert: *mut GstVideoConverter, @@ -2650,10 +2776,18 @@ extern "C" { config: *mut gst::GstStructure, ) -> gboolean; pub fn gst_video_converter_new( - in_info: *mut GstVideoInfo, - out_info: *mut GstVideoInfo, + in_info: *const GstVideoInfo, + out_info: *const GstVideoInfo, config: *mut gst::GstStructure, ) -> *mut GstVideoConverter; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_video_converter_new_with_pool( + in_info: *const GstVideoInfo, + out_info: *const GstVideoInfo, + config: *mut gst::GstStructure, + pool: *mut gst::GstTaskPool, + ) -> *mut GstVideoConverter; //========================================================================= // GstVideoCropMeta @@ -2699,20 +2833,20 @@ extern "C" { src: *const GstVideoFrame, plane: c_uint, ) -> gboolean; + pub fn gst_video_frame_unmap(frame: *mut GstVideoFrame); pub fn gst_video_frame_map( frame: *mut GstVideoFrame, - info: *mut GstVideoInfo, + info: *const GstVideoInfo, buffer: *mut gst::GstBuffer, flags: gst::GstMapFlags, ) -> gboolean; pub fn gst_video_frame_map_id( frame: *mut GstVideoFrame, - info: *mut GstVideoInfo, + info: *const GstVideoInfo, buffer: *mut gst::GstBuffer, id: c_int, flags: gst::GstMapFlags, ) -> gboolean; - pub fn gst_video_frame_unmap(frame: *mut GstVideoFrame); //========================================================================= // GstVideoGLTextureUploadMeta @@ -2738,7 +2872,7 @@ extern "C" { plane_size: *mut size_t, ) -> gboolean; pub fn gst_video_info_convert( - info: *mut GstVideoInfo, + info: *const GstVideoInfo, src_format: gst::GstFormat, src_value: i64, dest_format: gst::GstFormat, @@ -2746,9 +2880,6 @@ extern "C" { ) -> gboolean; pub fn gst_video_info_copy(info: *const GstVideoInfo) -> *mut GstVideoInfo; pub fn gst_video_info_free(info: *mut GstVideoInfo); - pub fn gst_video_info_from_caps(info: *mut GstVideoInfo, caps: *const gst::GstCaps) - -> gboolean; - pub fn gst_video_info_init(info: *mut GstVideoInfo); pub fn gst_video_info_is_equal( info: *const GstVideoInfo, other: *const GstVideoInfo, @@ -2769,6 +2900,9 @@ extern "C" { height: c_uint, ) -> gboolean; pub fn gst_video_info_to_caps(info: *const GstVideoInfo) -> *mut gst::GstCaps; + pub fn gst_video_info_from_caps(info: *mut GstVideoInfo, caps: *const gst::GstCaps) + -> gboolean; + pub fn gst_video_info_init(info: *mut GstVideoInfo); //========================================================================= // GstVideoMasteringDisplayInfo @@ -3279,6 +3413,11 @@ extern "C" { #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub fn gst_video_aggregator_get_type() -> GType; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_video_aggregator_get_execution_task_pool( + vagg: *mut GstVideoAggregator, + ) -> *mut gst::GstTaskPool; //========================================================================= // GstVideoAggregatorConvertPad @@ -3319,6 +3458,13 @@ extern "C" { needs_alpha: gboolean, ); + //========================================================================= + // GstVideoAggregatorParallelConvertPad + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_video_aggregator_parallel_convert_pad_get_type() -> GType; + //========================================================================= // GstVideoBufferPool //========================================================================= @@ -3377,6 +3523,9 @@ extern "C" { ) -> gst::GstClockTimeDiff; pub fn gst_video_decoder_get_max_errors(dec: *mut GstVideoDecoder) -> c_int; pub fn gst_video_decoder_get_needs_format(dec: *mut GstVideoDecoder) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_video_decoder_get_needs_sync_point(dec: *mut GstVideoDecoder) -> gboolean; pub fn gst_video_decoder_get_oldest_frame( decoder: *mut GstVideoDecoder, ) -> *mut GstVideoCodecFrame; @@ -3402,6 +3551,13 @@ extern "C" { dec: *mut GstVideoDecoder, frame: *mut GstVideoCodecFrame, ); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_video_decoder_request_sync_point( + dec: *mut GstVideoDecoder, + frame: *mut GstVideoCodecFrame, + flags: GstVideoDecoderRequestSyncPointFlags, + ); pub fn gst_video_decoder_set_estimate_rate(dec: *mut GstVideoDecoder, enabled: gboolean); #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] @@ -3420,6 +3576,9 @@ extern "C" { ); pub fn gst_video_decoder_set_max_errors(dec: *mut GstVideoDecoder, num: c_int); pub fn gst_video_decoder_set_needs_format(dec: *mut GstVideoDecoder, enabled: gboolean); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_video_decoder_set_needs_sync_point(dec: *mut GstVideoDecoder, enabled: gboolean); pub fn gst_video_decoder_set_output_state( decoder: *mut GstVideoDecoder, fmt: GstVideoFormat, @@ -3796,6 +3955,12 @@ extern "C" { data: *const u8, size: size_t, ) -> *mut GstVideoCaptionMeta; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_buffer_add_video_codec_alpha_meta( + buffer: *mut gst::GstBuffer, + alpha_buffer: *mut gst::GstBuffer, + ) -> *mut GstVideoCodecAlphaMeta; pub fn gst_buffer_add_video_gl_texture_upload_meta( buffer: *mut gst::GstBuffer, texture_orientation: GstVideoGLTextureOrientation, @@ -3878,7 +4043,7 @@ extern "C" { ) -> gboolean; pub fn gst_buffer_pool_config_set_video_alignment( config: *mut gst::GstStructure, - align: *mut GstVideoAlignment, + align: *const GstVideoAlignment, ); pub fn gst_is_video_overlay_prepare_window_handle_message( msg: *mut gst::GstMessage, @@ -3925,6 +4090,9 @@ extern "C" { width: c_int, ); pub fn gst_video_chroma_to_string(site: GstVideoChromaSite) -> *const c_char; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_video_codec_alpha_meta_api_get_type() -> GType; pub fn gst_video_color_transfer_decode( func: GstVideoTransferFunction, val: c_double, diff --git a/gstreamer-video/sys/tests/abi.rs b/gstreamer-video/sys/tests/abi.rs index e958ab232..5ce9efefb 100644 --- a/gstreamer-video/sys/tests/abi.rs +++ b/gstreamer-video/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_video_sys::*; @@ -344,6 +344,20 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstVideoAggregatorParallelConvertPad", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), + ( + "GstVideoAggregatorParallelConvertPadClass", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstVideoAlignment", Layout { @@ -449,6 +463,13 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstVideoCodecAlphaMeta", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstVideoCodecFrame", Layout { @@ -533,6 +554,13 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstVideoDecoderRequestSyncPointFlags", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstVideoDirectionInterface", Layout { @@ -1062,6 +1090,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(guint) GST_VIDEO_CHROMA_SITE_NONE", "1"), ("(guint) GST_VIDEO_CHROMA_SITE_UNKNOWN", "0"), ("(guint) GST_VIDEO_CHROMA_SITE_V_COSITED", "4"), + ("(guint) GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED", "16"), ("(guint) GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY", "1"), ("(guint) GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME", "4"), ( @@ -1117,6 +1146,10 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ "GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE", "GstVideoConverter.alpha-value", ), + ( + "GST_VIDEO_CONVERTER_OPT_ASYNC_TASKS", + "GstVideoConverter.async-tasks", + ), ( "GST_VIDEO_CONVERTER_OPT_BORDER_ARGB", "GstVideoConverter.border-argb", @@ -1186,6 +1219,14 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ "GstVideoConverter.threads", ), ("GST_VIDEO_DECODER_MAX_ERRORS", "10"), + ( + "(guint) GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT", + "2", + ), + ( + "(guint) GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT", + "1", + ), ("GST_VIDEO_DECODER_SINK_NAME", "sink"), ("GST_VIDEO_DECODER_SRC_NAME", "src"), ("(gint) GST_VIDEO_DITHER_BAYER", "4"), @@ -1214,6 +1255,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_VIDEO_FORMAT_ABGR", "14"), ("(gint) GST_VIDEO_FORMAT_ARGB", "13"), ("(gint) GST_VIDEO_FORMAT_ARGB64", "39"), + ("(gint) GST_VIDEO_FORMAT_AV12", "101"), ("(gint) GST_VIDEO_FORMAT_AYUV", "6"), ("(gint) GST_VIDEO_FORMAT_AYUV64", "40"), ("(gint) GST_VIDEO_FORMAT_BGR", "16"), @@ -1221,6 +1263,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_VIDEO_FORMAT_BGR15", "32"), ("(gint) GST_VIDEO_FORMAT_BGR16", "30"), ("(gint) GST_VIDEO_FORMAT_BGRA", "12"), + ("(gint) GST_VIDEO_FORMAT_BGRP", "100"), ("(gint) GST_VIDEO_FORMAT_BGRx", "8"), ("(gint) GST_VIDEO_FORMAT_ENCODED", "1"), ("(guint) GST_VIDEO_FORMAT_FLAG_ALPHA", "8"), @@ -1280,6 +1323,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_VIDEO_FORMAT_RGB16", "29"), ("(gint) GST_VIDEO_FORMAT_RGB8P", "35"), ("(gint) GST_VIDEO_FORMAT_RGBA", "11"), + ("(gint) GST_VIDEO_FORMAT_RGBP", "99"), ("(gint) GST_VIDEO_FORMAT_RGBx", "7"), ("(gint) GST_VIDEO_FORMAT_UNKNOWN", "0"), ("(gint) GST_VIDEO_FORMAT_UYVP", "33"), diff --git a/gstreamer-video/sys/tests/constant.c b/gstreamer-video/sys/tests/constant.c index e9779e24f..e09ed81a0 100644 --- a/gstreamer-video/sys/tests/constant.c +++ b/gstreamer-video/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" @@ -139,6 +139,7 @@ int main() { PRINT_CONSTANT((guint) GST_VIDEO_CHROMA_SITE_NONE); PRINT_CONSTANT((guint) GST_VIDEO_CHROMA_SITE_UNKNOWN); PRINT_CONSTANT((guint) GST_VIDEO_CHROMA_SITE_V_COSITED); + PRINT_CONSTANT((guint) GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED); PRINT_CONSTANT((guint) GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY); PRINT_CONSTANT((guint) GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME); PRINT_CONSTANT((guint) GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME_HEADERS); @@ -185,6 +186,7 @@ int main() { PRINT_CONSTANT(GST_VIDEO_COMP_Y); PRINT_CONSTANT(GST_VIDEO_CONVERTER_OPT_ALPHA_MODE); PRINT_CONSTANT(GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE); + PRINT_CONSTANT(GST_VIDEO_CONVERTER_OPT_ASYNC_TASKS); PRINT_CONSTANT(GST_VIDEO_CONVERTER_OPT_BORDER_ARGB); PRINT_CONSTANT(GST_VIDEO_CONVERTER_OPT_CHROMA_MODE); PRINT_CONSTANT(GST_VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD); @@ -206,6 +208,8 @@ int main() { PRINT_CONSTANT(GST_VIDEO_CONVERTER_OPT_SRC_Y); PRINT_CONSTANT(GST_VIDEO_CONVERTER_OPT_THREADS); PRINT_CONSTANT(GST_VIDEO_DECODER_MAX_ERRORS); + PRINT_CONSTANT((guint) GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT); + PRINT_CONSTANT((guint) GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT); PRINT_CONSTANT(GST_VIDEO_DECODER_SINK_NAME); PRINT_CONSTANT(GST_VIDEO_DECODER_SRC_NAME); PRINT_CONSTANT((gint) GST_VIDEO_DITHER_BAYER); @@ -234,6 +238,7 @@ int main() { PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_ABGR); PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_ARGB); PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_ARGB64); + PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_AV12); PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_AYUV); PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_AYUV64); PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_BGR); @@ -241,6 +246,7 @@ int main() { PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_BGR15); PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_BGR16); PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_BGRA); + PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_BGRP); PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_BGRx); PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_ENCODED); PRINT_CONSTANT((guint) GST_VIDEO_FORMAT_FLAG_ALPHA); @@ -300,6 +306,7 @@ int main() { PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_RGB16); PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_RGB8P); PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_RGBA); + PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_RGBP); PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_RGBx); PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_UNKNOWN); PRINT_CONSTANT((gint) GST_VIDEO_FORMAT_UYVP); diff --git a/gstreamer-video/sys/tests/layout.c b/gstreamer-video/sys/tests/layout.c index f73f2bf4a..f2ba93cde 100644 --- a/gstreamer-video/sys/tests/layout.c +++ b/gstreamer-video/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" @@ -27,6 +27,8 @@ int main() { printf("%s;%zu;%zu\n", "GstVideoAggregatorConvertPadClass", sizeof(GstVideoAggregatorConvertPadClass), alignof(GstVideoAggregatorConvertPadClass)); printf("%s;%zu;%zu\n", "GstVideoAggregatorPad", sizeof(GstVideoAggregatorPad), alignof(GstVideoAggregatorPad)); printf("%s;%zu;%zu\n", "GstVideoAggregatorPadClass", sizeof(GstVideoAggregatorPadClass), alignof(GstVideoAggregatorPadClass)); + printf("%s;%zu;%zu\n", "GstVideoAggregatorParallelConvertPad", sizeof(GstVideoAggregatorParallelConvertPad), alignof(GstVideoAggregatorParallelConvertPad)); + printf("%s;%zu;%zu\n", "GstVideoAggregatorParallelConvertPadClass", sizeof(GstVideoAggregatorParallelConvertPadClass), alignof(GstVideoAggregatorParallelConvertPadClass)); printf("%s;%zu;%zu\n", "GstVideoAlignment", sizeof(GstVideoAlignment), alignof(GstVideoAlignment)); printf("%s;%zu;%zu\n", "GstVideoAlphaMode", sizeof(GstVideoAlphaMode), alignof(GstVideoAlphaMode)); printf("%s;%zu;%zu\n", "GstVideoAncillary", sizeof(GstVideoAncillary), alignof(GstVideoAncillary)); @@ -42,6 +44,7 @@ int main() { printf("%s;%zu;%zu\n", "GstVideoChromaMethod", sizeof(GstVideoChromaMethod), alignof(GstVideoChromaMethod)); printf("%s;%zu;%zu\n", "GstVideoChromaMode", sizeof(GstVideoChromaMode), alignof(GstVideoChromaMode)); printf("%s;%zu;%zu\n", "GstVideoChromaSite", sizeof(GstVideoChromaSite), alignof(GstVideoChromaSite)); + printf("%s;%zu;%zu\n", "GstVideoCodecAlphaMeta", sizeof(GstVideoCodecAlphaMeta), alignof(GstVideoCodecAlphaMeta)); printf("%s;%zu;%zu\n", "GstVideoCodecFrame", sizeof(GstVideoCodecFrame), alignof(GstVideoCodecFrame)); printf("%s;%zu;%zu\n", "GstVideoCodecFrameFlags", sizeof(GstVideoCodecFrameFlags), alignof(GstVideoCodecFrameFlags)); printf("%s;%zu;%zu\n", "GstVideoCodecState", sizeof(GstVideoCodecState), alignof(GstVideoCodecState)); @@ -54,6 +57,7 @@ int main() { printf("%s;%zu;%zu\n", "GstVideoCropMeta", sizeof(GstVideoCropMeta), alignof(GstVideoCropMeta)); printf("%s;%zu;%zu\n", "GstVideoDecoder", sizeof(GstVideoDecoder), alignof(GstVideoDecoder)); printf("%s;%zu;%zu\n", "GstVideoDecoderClass", sizeof(GstVideoDecoderClass), alignof(GstVideoDecoderClass)); + printf("%s;%zu;%zu\n", "GstVideoDecoderRequestSyncPointFlags", sizeof(GstVideoDecoderRequestSyncPointFlags), alignof(GstVideoDecoderRequestSyncPointFlags)); printf("%s;%zu;%zu\n", "GstVideoDirectionInterface", sizeof(GstVideoDirectionInterface), alignof(GstVideoDirectionInterface)); printf("%s;%zu;%zu\n", "GstVideoDitherFlags", sizeof(GstVideoDitherFlags), alignof(GstVideoDitherFlags)); printf("%s;%zu;%zu\n", "GstVideoDitherMethod", sizeof(GstVideoDitherMethod), alignof(GstVideoDitherMethod)); diff --git a/gstreamer-webrtc/src/auto/enums.rs b/gstreamer-webrtc/src/auto/enums.rs index c84dd427b..d75616737 100644 --- a/gstreamer-webrtc/src/auto/enums.rs +++ b/gstreamer-webrtc/src/auto/enums.rs @@ -831,6 +831,94 @@ impl ToValue for WebRTCICETransportPolicy { } } +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] +#[non_exhaustive] +#[doc(alias = "GstWebRTCKind")] +pub enum WebRTCKind { + #[doc(alias = "GST_WEBRTC_KIND_UNKNOWN")] + Unknown, + #[doc(alias = "GST_WEBRTC_KIND_AUDIO")] + Audio, + #[doc(alias = "GST_WEBRTC_KIND_VIDEO")] + Video, + #[doc(hidden)] + __Unknown(i32), +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl IntoGlib for WebRTCKind { + type GlibType = ffi::GstWebRTCKind; + + fn into_glib(self) -> ffi::GstWebRTCKind { + match self { + Self::Unknown => ffi::GST_WEBRTC_KIND_UNKNOWN, + Self::Audio => ffi::GST_WEBRTC_KIND_AUDIO, + Self::Video => ffi::GST_WEBRTC_KIND_VIDEO, + Self::__Unknown(value) => value, + } + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl FromGlib for WebRTCKind { + unsafe fn from_glib(value: ffi::GstWebRTCKind) -> Self { + skip_assert_initialized!(); + match value { + ffi::GST_WEBRTC_KIND_UNKNOWN => Self::Unknown, + ffi::GST_WEBRTC_KIND_AUDIO => Self::Audio, + ffi::GST_WEBRTC_KIND_VIDEO => Self::Video, + value => Self::__Unknown(value), + } + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl StaticType for WebRTCKind { + fn static_type() -> Type { + unsafe { from_glib(ffi::gst_webrtc_kind_get_type()) } + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl glib::value::ValueType for WebRTCKind { + type Type = Self; +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +unsafe impl<'a> FromValue<'a> for WebRTCKind { + type Checker = glib::value::GenericValueTypeChecker; + + unsafe fn from_value(value: &'a glib::Value) -> Self { + skip_assert_initialized!(); + from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl ToValue for WebRTCKind { + fn to_value(&self) -> glib::Value { + let mut value = glib::Value::for_value_type::(); + unsafe { + glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); + } + value + } + + fn value_type(&self) -> glib::Type { + Self::static_type() + } +} + #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] #[doc(alias = "GstWebRTCPeerConnectionState")] diff --git a/gstreamer-webrtc/src/auto/mod.rs b/gstreamer-webrtc/src/auto/mod.rs index 3b2c51220..5d354ca98 100644 --- a/gstreamer-webrtc/src/auto/mod.rs +++ b/gstreamer-webrtc/src/auto/mod.rs @@ -16,13 +16,25 @@ pub use self::web_rtc_data_channel::WebRTCDataChannel; mod web_rtcice_transport; pub use self::web_rtcice_transport::WebRTCICETransport; +#[cfg(any(feature = "v1_16", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] mod web_rtcrtp_receiver; +#[cfg(any(feature = "v1_16", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub use self::web_rtcrtp_receiver::WebRTCRTPReceiver; +#[cfg(any(feature = "v1_16", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] mod web_rtcrtp_sender; +#[cfg(any(feature = "v1_16", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub use self::web_rtcrtp_sender::WebRTCRTPSender; +#[cfg(any(feature = "v1_16", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] mod web_rtcrtp_transceiver; +#[cfg(any(feature = "v1_16", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub use self::web_rtcrtp_transceiver::WebRTCRTPTransceiver; mod web_rtc_session_description; @@ -47,6 +59,9 @@ pub use self::enums::WebRTCICERole; #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub use self::enums::WebRTCICETransportPolicy; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub use self::enums::WebRTCKind; pub use self::enums::WebRTCPeerConnectionState; #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] diff --git a/gstreamer-webrtc/src/auto/versions.txt b/gstreamer-webrtc/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer-webrtc/src/auto/versions.txt +++ b/gstreamer-webrtc/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer-webrtc/src/auto/web_rtcdtls_transport.rs b/gstreamer-webrtc/src/auto/web_rtcdtls_transport.rs index 6d7dd3fb3..4477a92b0 100644 --- a/gstreamer-webrtc/src/auto/web_rtcdtls_transport.rs +++ b/gstreamer-webrtc/src/auto/web_rtcdtls_transport.rs @@ -24,15 +24,12 @@ glib::wrapper! { } impl WebRTCDTLSTransport { + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] #[doc(alias = "gst_webrtc_dtls_transport_new")] - pub fn new(session_id: u32, rtcp: bool) -> WebRTCDTLSTransport { + pub fn new(session_id: u32) -> WebRTCDTLSTransport { assert_initialized_main_thread!(); - unsafe { - from_glib_none(ffi::gst_webrtc_dtls_transport_new( - session_id, - rtcp.into_glib(), - )) - } + unsafe { from_glib_none(ffi::gst_webrtc_dtls_transport_new(session_id)) } } #[doc(alias = "gst_webrtc_dtls_transport_set_transport")] @@ -108,20 +105,6 @@ impl WebRTCDTLSTransport { } } - pub fn is_rtcp(&self) -> bool { - unsafe { - let mut value = glib::Value::from_type(::static_type()); - glib::gobject_ffi::g_object_get_property( - self.as_ptr() as *mut glib::gobject_ffi::GObject, - b"rtcp\0".as_ptr() as *const _, - value.to_glib_none_mut().0, - ); - value - .get() - .expect("Return Value for property `rtcp` getter") - } - } - #[doc(alias = "session-id")] pub fn session_id(&self) -> u32 { unsafe { diff --git a/gstreamer-webrtc/src/auto/web_rtcrtp_receiver.rs b/gstreamer-webrtc/src/auto/web_rtcrtp_receiver.rs index 2825f66ef..e21d6b802 100644 --- a/gstreamer-webrtc/src/auto/web_rtcrtp_receiver.rs +++ b/gstreamer-webrtc/src/auto/web_rtcrtp_receiver.rs @@ -3,8 +3,28 @@ // from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git) // DO NOT EDIT +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] use crate::WebRTCDTLSTransport; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use glib::object::ObjectType as ObjectType_; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use glib::signal::connect_raw; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use glib::signal::SignalHandlerId; use glib::translate::*; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use glib::StaticType; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use std::boxed::Box as Box_; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use std::mem::transmute; glib::wrapper! { #[doc(alias = "GstWebRTCRTPReceiver")] @@ -22,27 +42,56 @@ impl WebRTCRTPReceiver { unsafe { from_glib_none(ffi::gst_webrtc_rtp_receiver_new()) } } - #[doc(alias = "gst_webrtc_rtp_receiver_set_rtcp_transport")] - pub fn set_rtcp_transport(&self, transport: &WebRTCDTLSTransport) { + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn transport(&self) -> Option { unsafe { - ffi::gst_webrtc_rtp_receiver_set_rtcp_transport( - self.to_glib_none().0, - transport.to_glib_none().0, + let mut value = + glib::Value::from_type(::static_type()); + glib::gobject_ffi::g_object_get_property( + self.as_ptr() as *mut glib::gobject_ffi::GObject, + b"transport\0".as_ptr() as *const _, + value.to_glib_none_mut().0, ); + value + .get() + .expect("Return Value for property `transport` getter") } } - #[doc(alias = "gst_webrtc_rtp_receiver_set_transport")] - pub fn set_transport(&self, transport: &WebRTCDTLSTransport) { + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "transport")] + pub fn connect_transport_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_transport_trampoline< + F: Fn(&WebRTCRTPReceiver) + Send + Sync + 'static, + >( + this: *mut ffi::GstWebRTCRTPReceiver, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&from_glib_borrow(this)) + } unsafe { - ffi::gst_webrtc_rtp_receiver_set_transport( - self.to_glib_none().0, - transport.to_glib_none().0, - ); + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::transport\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_transport_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) } } } +#[cfg(any(feature = "v1_16", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] impl Default for WebRTCRTPReceiver { fn default() -> Self { Self::new() diff --git a/gstreamer-webrtc/src/auto/web_rtcrtp_sender.rs b/gstreamer-webrtc/src/auto/web_rtcrtp_sender.rs index 9bb237b67..4def79d29 100644 --- a/gstreamer-webrtc/src/auto/web_rtcrtp_sender.rs +++ b/gstreamer-webrtc/src/auto/web_rtcrtp_sender.rs @@ -3,8 +3,31 @@ // from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git) // DO NOT EDIT +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] use crate::WebRTCDTLSTransport; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use crate::WebRTCPriorityType; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use glib::object::ObjectType as ObjectType_; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use glib::signal::connect_raw; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use glib::signal::SignalHandlerId; use glib::translate::*; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use glib::StaticType; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use std::boxed::Box as Box_; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use std::mem::transmute; glib::wrapper! { #[doc(alias = "GstWebRTCRTPSender")] @@ -22,27 +45,112 @@ impl WebRTCRTPSender { unsafe { from_glib_none(ffi::gst_webrtc_rtp_sender_new()) } } - #[doc(alias = "gst_webrtc_rtp_sender_set_rtcp_transport")] - pub fn set_rtcp_transport(&self, transport: &WebRTCDTLSTransport) { + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_webrtc_rtp_sender_set_priority")] + pub fn set_priority(&self, priority: WebRTCPriorityType) { unsafe { - ffi::gst_webrtc_rtp_sender_set_rtcp_transport( - self.to_glib_none().0, - transport.to_glib_none().0, - ); + ffi::gst_webrtc_rtp_sender_set_priority(self.to_glib_none().0, priority.into_glib()); } } - #[doc(alias = "gst_webrtc_rtp_sender_set_transport")] - pub fn set_transport(&self, transport: &WebRTCDTLSTransport) { + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn priority(&self) -> WebRTCPriorityType { unsafe { - ffi::gst_webrtc_rtp_sender_set_transport( - self.to_glib_none().0, - transport.to_glib_none().0, + let mut value = + glib::Value::from_type(::static_type()); + glib::gobject_ffi::g_object_get_property( + self.as_ptr() as *mut glib::gobject_ffi::GObject, + b"priority\0".as_ptr() as *const _, + value.to_glib_none_mut().0, ); + value + .get() + .expect("Return Value for property `priority` getter") + } + } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn transport(&self) -> Option { + unsafe { + let mut value = + glib::Value::from_type(::static_type()); + glib::gobject_ffi::g_object_get_property( + self.as_ptr() as *mut glib::gobject_ffi::GObject, + b"transport\0".as_ptr() as *const _, + value.to_glib_none_mut().0, + ); + value + .get() + .expect("Return Value for property `transport` getter") + } + } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "priority")] + pub fn connect_priority_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_priority_trampoline< + F: Fn(&WebRTCRTPSender) + Send + Sync + 'static, + >( + this: *mut ffi::GstWebRTCRTPSender, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&from_glib_borrow(this)) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::priority\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_priority_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "transport")] + pub fn connect_transport_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_transport_trampoline< + F: Fn(&WebRTCRTPSender) + Send + Sync + 'static, + >( + this: *mut ffi::GstWebRTCRTPSender, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&from_glib_borrow(this)) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::transport\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_transport_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) } } } +#[cfg(any(feature = "v1_16", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] impl Default for WebRTCRTPSender { fn default() -> Self { Self::new() diff --git a/gstreamer-webrtc/src/auto/web_rtcrtp_transceiver.rs b/gstreamer-webrtc/src/auto/web_rtcrtp_transceiver.rs index f21d52026..e727864ef 100644 --- a/gstreamer-webrtc/src/auto/web_rtcrtp_transceiver.rs +++ b/gstreamer-webrtc/src/auto/web_rtcrtp_transceiver.rs @@ -3,6 +3,9 @@ // from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git) // DO NOT EDIT +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +use crate::WebRTCKind; use crate::WebRTCRTPReceiver; use crate::WebRTCRTPSender; #[cfg(any(feature = "v1_18", feature = "dox"))] @@ -37,6 +40,55 @@ glib::wrapper! { } impl WebRTCRTPTransceiver { + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "codec-preferences")] + pub fn codec_preferences(&self) -> Option { + unsafe { + let mut value = glib::Value::from_type(::static_type()); + glib::gobject_ffi::g_object_get_property( + self.as_ptr() as *mut glib::gobject_ffi::GObject, + b"codec-preferences\0".as_ptr() as *const _, + value.to_glib_none_mut().0, + ); + value + .get() + .expect("Return Value for property `codec-preferences` getter") + } + } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "codec-preferences")] + pub fn set_codec_preferences(&self, codec_preferences: Option<&gst::Caps>) { + unsafe { + glib::gobject_ffi::g_object_set_property( + self.as_ptr() as *mut glib::gobject_ffi::GObject, + b"codec-preferences\0".as_ptr() as *const _, + codec_preferences.to_value().to_glib_none().0, + ); + } + } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "current-direction")] + pub fn current_direction(&self) -> WebRTCRTPTransceiverDirection { + unsafe { + let mut value = glib::Value::from_type( + ::static_type(), + ); + glib::gobject_ffi::g_object_get_property( + self.as_ptr() as *mut glib::gobject_ffi::GObject, + b"current-direction\0".as_ptr() as *const _, + value.to_glib_none_mut().0, + ); + value + .get() + .expect("Return Value for property `current-direction` getter") + } + } + #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn direction(&self) -> WebRTCRTPTransceiverDirection { @@ -67,6 +119,36 @@ impl WebRTCRTPTransceiver { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn kind(&self) -> WebRTCKind { + unsafe { + let mut value = glib::Value::from_type(::static_type()); + glib::gobject_ffi::g_object_get_property( + self.as_ptr() as *mut glib::gobject_ffi::GObject, + b"kind\0".as_ptr() as *const _, + value.to_glib_none_mut().0, + ); + value + .get() + .expect("Return Value for property `kind` getter") + } + } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn mid(&self) -> Option { + unsafe { + let mut value = glib::Value::from_type(::static_type()); + glib::gobject_ffi::g_object_get_property( + self.as_ptr() as *mut glib::gobject_ffi::GObject, + b"mid\0".as_ptr() as *const _, + value.to_glib_none_mut().0, + ); + value.get().expect("Return Value for property `mid` getter") + } + } + pub fn mlineindex(&self) -> u32 { unsafe { let mut value = glib::Value::from_type(::static_type()); @@ -110,6 +192,66 @@ impl WebRTCRTPTransceiver { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "codec-preferences")] + pub fn connect_codec_preferences_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_codec_preferences_trampoline< + F: Fn(&WebRTCRTPTransceiver) + Send + Sync + 'static, + >( + this: *mut ffi::GstWebRTCRTPTransceiver, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&from_glib_borrow(this)) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::codec-preferences\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_codec_preferences_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "current-direction")] + pub fn connect_current_direction_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_current_direction_trampoline< + F: Fn(&WebRTCRTPTransceiver) + Send + Sync + 'static, + >( + this: *mut ffi::GstWebRTCRTPTransceiver, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&from_glib_borrow(this)) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::current-direction\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_current_direction_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "direction")] @@ -139,6 +281,66 @@ impl WebRTCRTPTransceiver { ) } } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "kind")] + pub fn connect_kind_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_kind_trampoline< + F: Fn(&WebRTCRTPTransceiver) + Send + Sync + 'static, + >( + this: *mut ffi::GstWebRTCRTPTransceiver, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&from_glib_borrow(this)) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::kind\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_kind_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "mid")] + pub fn connect_mid_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_mid_trampoline< + F: Fn(&WebRTCRTPTransceiver) + Send + Sync + 'static, + >( + this: *mut ffi::GstWebRTCRTPTransceiver, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&from_glib_borrow(this)) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::mid\0".as_ptr() as *const _, + Some(transmute::<_, unsafe extern "C" fn()>( + notify_mid_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } } unsafe impl Send for WebRTCRTPTransceiver {} diff --git a/gstreamer-webrtc/sys/build.rs b/gstreamer-webrtc/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer-webrtc/sys/build.rs +++ b/gstreamer-webrtc/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer-webrtc/sys/src/lib.rs b/gstreamer-webrtc/sys/src/lib.rs index 8bb9f4f83..f95ae244b 100644 --- a/gstreamer-webrtc/sys/src/lib.rs +++ b/gstreamer-webrtc/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] @@ -83,6 +83,11 @@ pub type GstWebRTCICETransportPolicy = c_int; pub const GST_WEBRTC_ICE_TRANSPORT_POLICY_ALL: GstWebRTCICETransportPolicy = 0; pub const GST_WEBRTC_ICE_TRANSPORT_POLICY_RELAY: GstWebRTCICETransportPolicy = 1; +pub type GstWebRTCKind = c_int; +pub const GST_WEBRTC_KIND_UNKNOWN: GstWebRTCKind = 0; +pub const GST_WEBRTC_KIND_AUDIO: GstWebRTCKind = 1; +pub const GST_WEBRTC_KIND_VIDEO: GstWebRTCKind = 2; + pub type GstWebRTCPeerConnectionState = c_int; pub const GST_WEBRTC_PEER_CONNECTION_STATE_NEW: GstWebRTCPeerConnectionState = 0; pub const GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTING: GstWebRTCPeerConnectionState = 1; @@ -268,7 +273,6 @@ pub struct GstWebRTCDTLSTransport { pub parent: gst::GstObject, pub transport: *mut GstWebRTCICETransport, pub state: GstWebRTCDTLSTransportState, - pub is_rtcp: gboolean, pub client: gboolean, pub session_id: c_uint, pub dtlssrtpenc: *mut gst::GstElement, @@ -282,7 +286,6 @@ impl ::std::fmt::Debug for GstWebRTCDTLSTransport { .field("parent", &self.parent) .field("transport", &self.transport) .field("state", &self.state) - .field("is_rtcp", &self.is_rtcp) .field("client", &self.client) .field("session_id", &self.session_id) .field("dtlssrtpenc", &self.dtlssrtpenc) @@ -368,7 +371,6 @@ impl ::std::fmt::Debug for GstWebRTCICETransport { pub struct GstWebRTCRTPReceiver { pub parent: gst::GstObject, pub transport: *mut GstWebRTCDTLSTransport, - pub rtcp_transport: *mut GstWebRTCDTLSTransport, pub _padding: [gpointer; 4], } @@ -377,7 +379,6 @@ impl ::std::fmt::Debug for GstWebRTCRTPReceiver { f.debug_struct(&format!("GstWebRTCRTPReceiver @ {:p}", self)) .field("parent", &self.parent) .field("transport", &self.transport) - .field("rtcp_transport", &self.rtcp_transport) .field("_padding", &self._padding) .finish() } @@ -388,8 +389,8 @@ impl ::std::fmt::Debug for GstWebRTCRTPReceiver { pub struct GstWebRTCRTPSender { pub parent: gst::GstObject, pub transport: *mut GstWebRTCDTLSTransport, - pub rtcp_transport: *mut GstWebRTCDTLSTransport, pub send_encodings: *mut glib::GArray, + pub priority: GstWebRTCPriorityType, pub _padding: [gpointer; 4], } @@ -398,8 +399,8 @@ impl ::std::fmt::Debug for GstWebRTCRTPSender { f.debug_struct(&format!("GstWebRTCRTPSender @ {:p}", self)) .field("parent", &self.parent) .field("transport", &self.transport) - .field("rtcp_transport", &self.rtcp_transport) .field("send_encodings", &self.send_encodings) + .field("priority", &self.priority) .field("_padding", &self._padding) .finish() } @@ -417,6 +418,7 @@ pub struct GstWebRTCRTPTransceiver { pub direction: GstWebRTCRTPTransceiverDirection, pub current_direction: GstWebRTCRTPTransceiverDirection, pub codec_preferences: *mut gst::GstCaps, + pub kind: GstWebRTCKind, pub _padding: [gpointer; 4], } @@ -432,6 +434,7 @@ impl ::std::fmt::Debug for GstWebRTCRTPTransceiver { .field("direction", &self.direction) .field("current_direction", &self.current_direction) .field("codec_preferences", &self.codec_preferences) + .field("kind", &self.kind) .field("_padding", &self._padding) .finish() } @@ -498,6 +501,13 @@ extern "C" { #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub fn gst_webrtc_ice_transport_policy_get_type() -> GType; + //========================================================================= + // GstWebRTCKind + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_webrtc_kind_get_type() -> GType; + //========================================================================= // GstWebRTCPeerConnectionState //========================================================================= @@ -555,10 +565,7 @@ extern "C" { // GstWebRTCDTLSTransport //========================================================================= pub fn gst_webrtc_dtls_transport_get_type() -> GType; - pub fn gst_webrtc_dtls_transport_new( - session_id: c_uint, - rtcp: gboolean, - ) -> *mut GstWebRTCDTLSTransport; + pub fn gst_webrtc_dtls_transport_new(session_id: c_uint) -> *mut GstWebRTCDTLSTransport; pub fn gst_webrtc_dtls_transport_set_transport( transport: *mut GstWebRTCDTLSTransport, ice: *mut GstWebRTCICETransport, @@ -636,34 +643,34 @@ extern "C" { //========================================================================= // GstWebRTCRTPReceiver //========================================================================= + #[cfg(any(feature = "v1_16", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub fn gst_webrtc_rtp_receiver_get_type() -> GType; + #[cfg(any(feature = "v1_16", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub fn gst_webrtc_rtp_receiver_new() -> *mut GstWebRTCRTPReceiver; - pub fn gst_webrtc_rtp_receiver_set_rtcp_transport( - receiver: *mut GstWebRTCRTPReceiver, - transport: *mut GstWebRTCDTLSTransport, - ); - pub fn gst_webrtc_rtp_receiver_set_transport( - receiver: *mut GstWebRTCRTPReceiver, - transport: *mut GstWebRTCDTLSTransport, - ); //========================================================================= // GstWebRTCRTPSender //========================================================================= + #[cfg(any(feature = "v1_16", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub fn gst_webrtc_rtp_sender_get_type() -> GType; + #[cfg(any(feature = "v1_16", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub fn gst_webrtc_rtp_sender_new() -> *mut GstWebRTCRTPSender; - pub fn gst_webrtc_rtp_sender_set_rtcp_transport( + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_webrtc_rtp_sender_set_priority( sender: *mut GstWebRTCRTPSender, - transport: *mut GstWebRTCDTLSTransport, - ); - pub fn gst_webrtc_rtp_sender_set_transport( - sender: *mut GstWebRTCRTPSender, - transport: *mut GstWebRTCDTLSTransport, + priority: GstWebRTCPriorityType, ); //========================================================================= // GstWebRTCRTPTransceiver //========================================================================= + #[cfg(any(feature = "v1_16", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub fn gst_webrtc_rtp_transceiver_get_type() -> GType; } diff --git a/gstreamer-webrtc/sys/tests/abi.rs b/gstreamer-webrtc/sys/tests/abi.rs index a67abbc0d..6ce9e9edb 100644 --- a/gstreamer-webrtc/sys/tests/abi.rs +++ b/gstreamer-webrtc/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_webrtc_sys::*; @@ -323,6 +323,13 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstWebRTCKind", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstWebRTCPeerConnectionState", Layout { @@ -460,6 +467,9 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_WEBRTC_ICE_ROLE_CONTROLLING", "1"), ("(gint) GST_WEBRTC_ICE_TRANSPORT_POLICY_ALL", "0"), ("(gint) GST_WEBRTC_ICE_TRANSPORT_POLICY_RELAY", "1"), + ("(gint) GST_WEBRTC_KIND_AUDIO", "1"), + ("(gint) GST_WEBRTC_KIND_UNKNOWN", "0"), + ("(gint) GST_WEBRTC_KIND_VIDEO", "2"), ("(gint) GST_WEBRTC_PEER_CONNECTION_STATE_CLOSED", "5"), ("(gint) GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTED", "2"), ("(gint) GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTING", "1"), diff --git a/gstreamer-webrtc/sys/tests/constant.c b/gstreamer-webrtc/sys/tests/constant.c index acda6871f..a5a7fc0bf 100644 --- a/gstreamer-webrtc/sys/tests/constant.c +++ b/gstreamer-webrtc/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" @@ -65,6 +65,9 @@ int main() { PRINT_CONSTANT((gint) GST_WEBRTC_ICE_ROLE_CONTROLLING); PRINT_CONSTANT((gint) GST_WEBRTC_ICE_TRANSPORT_POLICY_ALL); PRINT_CONSTANT((gint) GST_WEBRTC_ICE_TRANSPORT_POLICY_RELAY); + PRINT_CONSTANT((gint) GST_WEBRTC_KIND_AUDIO); + PRINT_CONSTANT((gint) GST_WEBRTC_KIND_UNKNOWN); + PRINT_CONSTANT((gint) GST_WEBRTC_KIND_VIDEO); PRINT_CONSTANT((gint) GST_WEBRTC_PEER_CONNECTION_STATE_CLOSED); PRINT_CONSTANT((gint) GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTED); PRINT_CONSTANT((gint) GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTING); diff --git a/gstreamer-webrtc/sys/tests/layout.c b/gstreamer-webrtc/sys/tests/layout.c index eca74af9a..2070adfd5 100644 --- a/gstreamer-webrtc/sys/tests/layout.c +++ b/gstreamer-webrtc/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" @@ -24,6 +24,7 @@ int main() { printf("%s;%zu;%zu\n", "GstWebRTCICETransport", sizeof(GstWebRTCICETransport), alignof(GstWebRTCICETransport)); printf("%s;%zu;%zu\n", "GstWebRTCICETransportClass", sizeof(GstWebRTCICETransportClass), alignof(GstWebRTCICETransportClass)); printf("%s;%zu;%zu\n", "GstWebRTCICETransportPolicy", sizeof(GstWebRTCICETransportPolicy), alignof(GstWebRTCICETransportPolicy)); + printf("%s;%zu;%zu\n", "GstWebRTCKind", sizeof(GstWebRTCKind), alignof(GstWebRTCKind)); printf("%s;%zu;%zu\n", "GstWebRTCPeerConnectionState", sizeof(GstWebRTCPeerConnectionState), alignof(GstWebRTCPeerConnectionState)); printf("%s;%zu;%zu\n", "GstWebRTCPriorityType", sizeof(GstWebRTCPriorityType), alignof(GstWebRTCPriorityType)); printf("%s;%zu;%zu\n", "GstWebRTCRTPReceiver", sizeof(GstWebRTCRTPReceiver), alignof(GstWebRTCRTPReceiver)); diff --git a/gstreamer/src/auto/date_time.rs b/gstreamer/src/auto/date_time.rs index c64edf411..a698d6048 100644 --- a/gstreamer/src/auto/date_time.rs +++ b/gstreamer/src/auto/date_time.rs @@ -83,13 +83,13 @@ impl DateTime { } #[doc(alias = "gst_date_time_new_now_local_time")] - pub fn new_now_local_time() -> DateTime { + pub fn new_now_local_time() -> Option { assert_initialized_main_thread!(); unsafe { from_glib_full(ffi::gst_date_time_new_now_local_time()) } } #[doc(alias = "gst_date_time_new_now_utc")] - pub fn new_now_utc() -> DateTime { + pub fn new_now_utc() -> Option { assert_initialized_main_thread!(); unsafe { from_glib_full(ffi::gst_date_time_new_now_utc()) } } diff --git a/gstreamer/src/auto/device_provider.rs b/gstreamer/src/auto/device_provider.rs index ccb501260..1b5a489e4 100644 --- a/gstreamer/src/auto/device_provider.rs +++ b/gstreamer/src/auto/device_provider.rs @@ -63,6 +63,11 @@ pub trait DeviceProviderExt: 'static { #[doc(alias = "gst_device_provider_hide_provider")] fn hide_provider(&self, name: &str); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_device_provider_is_started")] + fn is_started(&self) -> bool; + #[doc(alias = "gst_device_provider_start")] fn start(&self) -> Result<(), glib::error::BoolError>; @@ -165,6 +170,16 @@ impl> DeviceProviderExt for O { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + fn is_started(&self) -> bool { + unsafe { + from_glib(ffi::gst_device_provider_is_started( + self.as_ref().to_glib_none().0, + )) + } + } + fn start(&self) -> Result<(), glib::error::BoolError> { unsafe { glib::result_from_gboolean!( diff --git a/gstreamer/src/auto/element.rs b/gstreamer/src/auto/element.rs index d06828f5d..e7cfe0e17 100644 --- a/gstreamer/src/auto/element.rs +++ b/gstreamer/src/auto/element.rs @@ -135,10 +135,6 @@ pub trait ElementExt: 'static { #[doc(alias = "get_factory")] fn factory(&self) -> Option; - #[doc(alias = "gst_element_get_request_pad")] - #[doc(alias = "get_request_pad")] - fn request_pad_simple(&self, name: &str) -> Option; - #[doc(alias = "gst_element_get_start_time")] #[doc(alias = "get_start_time")] fn start_time(&self) -> ClockTime; @@ -216,6 +212,11 @@ pub trait ElementExt: 'static { caps: Option<&Caps>, ) -> Option; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_element_request_pad_simple")] + fn request_pad_simple(&self, name: &str) -> Option; + #[doc(alias = "gst_element_set_base_time")] fn set_base_time(&self, time: ClockTime); @@ -445,15 +446,6 @@ impl> ElementExt for O { unsafe { from_glib_none(ffi::gst_element_get_factory(self.as_ref().to_glib_none().0)) } } - fn request_pad_simple(&self, name: &str) -> Option { - unsafe { - from_glib_full(ffi::gst_element_get_request_pad( - self.as_ref().to_glib_none().0, - name.to_glib_none().0, - )) - } - } - fn start_time(&self) -> ClockTime { unsafe { from_glib(ffi::gst_element_get_start_time( @@ -645,6 +637,17 @@ impl> ElementExt for O { } } + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + fn request_pad_simple(&self, name: &str) -> Option { + unsafe { + from_glib_full(ffi::gst_element_request_pad_simple( + self.as_ref().to_glib_none().0, + name.to_glib_none().0, + )) + } + } + fn set_base_time(&self, time: ClockTime) { unsafe { ffi::gst_element_set_base_time(self.as_ref().to_glib_none().0, time.into_glib()); diff --git a/gstreamer/src/auto/flags.rs b/gstreamer/src/auto/flags.rs index d13501f9a..e1d059a70 100644 --- a/gstreamer/src/auto/flags.rs +++ b/gstreamer/src/auto/flags.rs @@ -659,6 +659,78 @@ impl ToValue for EventTypeFlags { } } +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +bitflags! { + #[doc(alias = "GstGapFlags")] + pub struct GapFlags: u32 { + #[doc(alias = "GST_GAP_FLAG_MISSING_DATA")] + const DATA = ffi::GST_GAP_FLAG_MISSING_DATA as u32; + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl IntoGlib for GapFlags { + type GlibType = ffi::GstGapFlags; + + fn into_glib(self) -> ffi::GstGapFlags { + self.bits() + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl FromGlib for GapFlags { + unsafe fn from_glib(value: ffi::GstGapFlags) -> Self { + skip_assert_initialized!(); + Self::from_bits_truncate(value) + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl StaticType for GapFlags { + fn static_type() -> Type { + unsafe { from_glib(ffi::gst_gap_flags_get_type()) } + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl glib::value::ValueType for GapFlags { + type Type = Self; +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +unsafe impl<'a> FromValue<'a> for GapFlags { + type Checker = glib::value::GenericValueTypeChecker; + + unsafe fn from_value(value: &'a glib::Value) -> Self { + skip_assert_initialized!(); + from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl ToValue for GapFlags { + fn to_value(&self) -> glib::Value { + let mut value = glib::Value::for_value_type::(); + unsafe { + glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib()); + } + value + } + + fn value_type(&self) -> glib::Type { + Self::static_type() + } +} + bitflags! { #[doc(alias = "GstMemoryFlags")] pub struct MemoryFlags: u32 { @@ -1574,6 +1646,80 @@ impl ToValue for SegmentFlags { } } +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +bitflags! { + #[doc(alias = "GstSerializeFlags")] + pub struct SerializeFlags: u32 { + #[doc(alias = "GST_SERIALIZE_FLAG_NONE")] + const NONE = ffi::GST_SERIALIZE_FLAG_NONE as u32; + #[doc(alias = "GST_SERIALIZE_FLAG_BACKWARD_COMPAT")] + const BACKWARD_COMPAT = ffi::GST_SERIALIZE_FLAG_BACKWARD_COMPAT as u32; + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl IntoGlib for SerializeFlags { + type GlibType = ffi::GstSerializeFlags; + + fn into_glib(self) -> ffi::GstSerializeFlags { + self.bits() + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +#[doc(hidden)] +impl FromGlib for SerializeFlags { + unsafe fn from_glib(value: ffi::GstSerializeFlags) -> Self { + skip_assert_initialized!(); + Self::from_bits_truncate(value) + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl StaticType for SerializeFlags { + fn static_type() -> Type { + unsafe { from_glib(ffi::gst_serialize_flags_get_type()) } + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl glib::value::ValueType for SerializeFlags { + type Type = Self; +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +unsafe impl<'a> FromValue<'a> for SerializeFlags { + type Checker = glib::value::GenericValueTypeChecker; + + unsafe fn from_value(value: &'a glib::Value) -> Self { + skip_assert_initialized!(); + from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) + } +} + +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +impl ToValue for SerializeFlags { + fn to_value(&self) -> glib::Value { + let mut value = glib::Value::for_value_type::(); + unsafe { + glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib()); + } + value + } + + fn value_type(&self) -> glib::Type { + Self::static_type() + } +} + #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] bitflags! { diff --git a/gstreamer/src/auto/mod.rs b/gstreamer/src/auto/mod.rs index 4bbafd658..99901dd33 100644 --- a/gstreamer/src/auto/mod.rs +++ b/gstreamer/src/auto/mod.rs @@ -162,6 +162,9 @@ pub use self::flags::DebugColorFlags; pub use self::flags::DebugGraphDetails; pub use self::flags::ElementFlags; pub use self::flags::EventTypeFlags; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub use self::flags::GapFlags; pub use self::flags::MemoryFlags; pub use self::flags::ObjectFlags; pub use self::flags::PadFlags; @@ -177,6 +180,9 @@ pub use self::flags::PluginFlags; pub use self::flags::SchedulingFlags; pub use self::flags::SeekFlags; pub use self::flags::SegmentFlags; +#[cfg(any(feature = "v1_20", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] +pub use self::flags::SerializeFlags; #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] pub use self::flags::StackTraceFlags; diff --git a/gstreamer/src/auto/versions.txt b/gstreamer/src/auto/versions.txt index 06fc24d12..610411cdd 100644 --- a/gstreamer/src/auto/versions.txt +++ b/gstreamer/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) diff --git a/gstreamer/sys/build.rs b/gstreamer/sys/build.rs index 96b89a11c..b9d60aa35 100644 --- a/gstreamer/sys/build.rs +++ b/gstreamer/sys/build.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #[cfg(not(feature = "dox"))] diff --git a/gstreamer/sys/src/lib.rs b/gstreamer/sys/src/lib.rs index 4bb5b01e2..0508d17d5 100644 --- a/gstreamer/sys/src/lib.rs +++ b/gstreamer/sys/src/lib.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] @@ -662,6 +662,8 @@ pub const GST_ALLOCATOR_FLAG_LAST: GstAllocatorFlags = 1048576; pub type GstBinFlags = c_uint; pub const GST_BIN_FLAG_NO_RESYNC: GstBinFlags = 16384; +#[cfg(any(feature = "v1_10", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] pub const GST_BIN_FLAG_STREAMS_AWARE: GstBinFlags = 32768; pub const GST_BIN_FLAG_LAST: GstBinFlags = 524288; @@ -687,6 +689,8 @@ pub const GST_BUFFER_FLAG_DROPPABLE: GstBufferFlags = 4096; pub const GST_BUFFER_FLAG_DELTA_UNIT: GstBufferFlags = 8192; pub const GST_BUFFER_FLAG_TAG_MEMORY: GstBufferFlags = 16384; pub const GST_BUFFER_FLAG_SYNC_AFTER: GstBufferFlags = 32768; +#[cfg(any(feature = "v1_14", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] pub const GST_BUFFER_FLAG_NON_DROPPABLE: GstBufferFlags = 65536; pub const GST_BUFFER_FLAG_LAST: GstBufferFlags = 1048576; @@ -759,6 +763,9 @@ pub const GST_EVENT_TYPE_SERIALIZED: GstEventTypeFlags = 4; pub const GST_EVENT_TYPE_STICKY: GstEventTypeFlags = 8; pub const GST_EVENT_TYPE_STICKY_MULTI: GstEventTypeFlags = 16; +pub type GstGapFlags = c_uint; +pub const GST_GAP_FLAG_MISSING_DATA: GstGapFlags = 1; + pub type GstLockFlags = c_uint; pub const GST_LOCK_FLAG_READ: GstLockFlags = 1; pub const GST_LOCK_FLAG_WRITE: GstLockFlags = 2; @@ -952,6 +959,10 @@ pub const GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS: GstSegmentFlags = 128; pub const GST_SEGMENT_FLAG_TRICKMODE_FORWARD_PREDICTED: GstSegmentFlags = 512; pub const GST_SEGMENT_FLAG_TRICKMODE_NO_AUDIO: GstSegmentFlags = 256; +pub type GstSerializeFlags = c_uint; +pub const GST_SERIALIZE_FLAG_NONE: GstSerializeFlags = 0; +pub const GST_SERIALIZE_FLAG_BACKWARD_COMPAT: GstSerializeFlags = 1; + pub type GstStackTraceFlags = c_uint; pub const GST_STACK_TRACE_SHOW_NONE: GstStackTraceFlags = 0; pub const GST_STACK_TRACE_SHOW_FULL: GstStackTraceFlags = 1; @@ -986,7 +997,6 @@ impl ::std::fmt::Debug for GstControlBinding_ABI { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GstControlBinding_ABI @ {:p}", self)) .field("abi", unsafe { &self.abi }) - .field("_gst_reserved", unsafe { &self._gst_reserved }) .finish() } } @@ -1069,6 +1079,16 @@ pub type GstControlSourceGetValueArray = Option< *mut c_double, ) -> gboolean, >; +pub type GstCustomMetaTransformFunction = Option< + unsafe extern "C" fn( + *mut GstBuffer, + *mut GstCustomMeta, + *mut GstBuffer, + glib::GQuark, + gpointer, + gpointer, + ) -> gboolean, +>; pub type GstDebugFuncPtr = Option; pub type GstElementCallAsyncFunc = Option; pub type GstElementForeachPadFunc = @@ -1186,6 +1206,9 @@ pub type GstValueCompareFunc = Option c_int>; pub type GstValueDeserializeFunc = Option gboolean>; +pub type GstValueDeserializeWithPSpecFunc = Option< + unsafe extern "C" fn(*mut gobject::GValue, *const c_char, *mut gobject::GParamSpec) -> gboolean, +>; pub type GstValueSerializeFunc = Option *mut c_char>; @@ -1529,16 +1552,6 @@ impl ::std::fmt::Debug for GstClockEntry { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GstClockEntry @ {:p}", self)) .field("refcount", &self.refcount) - .field("clock", &self.clock) - .field("type_", &self.type_) - .field("time", &self.time) - .field("interval", &self.interval) - .field("status", &self.status) - .field("func", &self.func) - .field("user_data", &self.user_data) - .field("destroy_data", &self.destroy_data) - .field("unscheduled", &self.unscheduled) - .field("woken_up", &self.woken_up) .finish() } } @@ -1618,7 +1631,6 @@ pub struct GstControlBinding_ABI_abi { impl ::std::fmt::Debug for GstControlBinding_ABI_abi { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GstControlBinding_ABI_abi @ {:p}", self)) - .field("priv_", &self.priv_) .finish() } } @@ -1638,6 +1650,20 @@ impl ::std::fmt::Debug for GstControlSourceClass { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstCustomMeta { + pub meta: GstMeta, +} + +impl ::std::fmt::Debug for GstCustomMeta { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstCustomMeta @ {:p}", self)) + .field("meta", &self.meta) + .finish() + } +} + #[repr(C)] pub struct GstDateTime(c_void); @@ -2566,6 +2592,26 @@ impl ::std::fmt::Debug for GstSegment { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstSharedTaskPoolClass { + pub parent_class: GstTaskPoolClass, + pub _gst_reserved: [gpointer; 4], +} + +impl ::std::fmt::Debug for GstSharedTaskPoolClass { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstSharedTaskPoolClass @ {:p}", self)) + .field("parent_class", &self.parent_class) + .finish() + } +} + +#[repr(C)] +pub struct _GstSharedTaskPoolPrivate(c_void); + +pub type GstSharedTaskPoolPrivate = *mut _GstSharedTaskPoolPrivate; + #[repr(C)] #[derive(Copy, Clone)] pub struct GstStaticCaps { @@ -2741,7 +2787,8 @@ pub struct GstTaskPoolClass { ) -> gpointer, >, pub join: Option, - pub _gst_reserved: [gpointer; 4], + pub dispose_handle: Option, + pub _gst_reserved: [gpointer; 3], } impl ::std::fmt::Debug for GstTaskPoolClass { @@ -2752,6 +2799,7 @@ impl ::std::fmt::Debug for GstTaskPoolClass { .field("cleanup", &self.cleanup) .field("push", &self.push) .field("join", &self.join) + .field("dispose_handle", &self.dispose_handle) .finish() } } @@ -2906,7 +2954,8 @@ pub struct GstValueTable { pub compare: GstValueCompareFunc, pub serialize: GstValueSerializeFunc, pub deserialize: GstValueDeserializeFunc, - pub _gst_reserved: [gpointer; 4], + pub deserialize_with_pspec: GstValueDeserializeWithPSpecFunc, + pub _gst_reserved: [gpointer; 3], } impl ::std::fmt::Debug for GstValueTable { @@ -2916,6 +2965,7 @@ impl ::std::fmt::Debug for GstValueTable { .field("compare", &self.compare) .field("serialize", &self.serialize) .field("deserialize", &self.deserialize) + .field("deserialize_with_pspec", &self.deserialize_with_pspec) .finish() } } @@ -3501,6 +3551,22 @@ impl ::std::fmt::Debug for GstRegistry { } } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GstSharedTaskPool { + pub parent: GstTaskPool, + pub priv_: *mut GstSharedTaskPoolPrivate, + pub _gst_reserved: [gpointer; 4], +} + +impl ::std::fmt::Debug for GstSharedTaskPool { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstSharedTaskPool @ {:p}", self)) + .field("parent", &self.parent) + .finish() + } +} + #[repr(C)] #[derive(Copy, Clone)] pub struct GstStream { @@ -4034,6 +4100,13 @@ extern "C" { //========================================================================= pub fn gst_event_type_flags_get_type() -> GType; + //========================================================================= + // GstGapFlags + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_gap_flags_get_type() -> GType; + //========================================================================= // GstLockFlags //========================================================================= @@ -4138,6 +4211,13 @@ extern "C" { //========================================================================= pub fn gst_segment_flags_get_type() -> GType; + //========================================================================= + // GstSerializeFlags + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_serialize_flags_get_type() -> GType; + //========================================================================= // GstStackTraceFlags //========================================================================= @@ -4169,6 +4249,9 @@ extern "C" { // GstAllocationParams //========================================================================= pub fn gst_allocation_params_get_type() -> GType; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_allocation_params_new() -> *mut GstAllocationParams; pub fn gst_allocation_params_copy( params: *const GstAllocationParams, ) -> *mut GstAllocationParams; @@ -4197,6 +4280,9 @@ extern "C" { size: size_t, params: *mut GstAllocationParams, ) -> *mut GstBuffer; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_buffer_new_memdup(data: gconstpointer, size: size_t) -> *mut GstBuffer; pub fn gst_buffer_new_wrapped(data: gpointer, size: size_t) -> *mut GstBuffer; #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] @@ -4210,6 +4296,12 @@ extern "C" { user_data: gpointer, notify: glib::GDestroyNotify, ) -> *mut GstBuffer; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_buffer_add_custom_meta( + buffer: *mut GstBuffer, + name: *const c_char, + ) -> *mut GstCustomMeta; pub fn gst_buffer_add_meta( buffer: *mut GstBuffer, info: *const GstMetaInfo, @@ -4286,6 +4378,12 @@ extern "C" { user_data: gpointer, ) -> gboolean; pub fn gst_buffer_get_all_memory(buffer: *mut GstBuffer) -> *mut GstMemory; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_buffer_get_custom_meta( + buffer: *mut GstBuffer, + name: *const c_char, + ) -> *mut GstCustomMeta; #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] pub fn gst_buffer_get_flags(buffer: *mut GstBuffer) -> GstBufferFlags; @@ -4498,6 +4596,9 @@ extern "C" { ) -> *mut GstCaps; pub fn gst_caps_normalize(caps: *mut GstCaps) -> *mut GstCaps; pub fn gst_caps_remove_structure(caps: *mut GstCaps, idx: c_uint); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_caps_serialize(caps: *const GstCaps, flags: GstSerializeFlags) -> *mut c_char; pub fn gst_caps_set_features(caps: *mut GstCaps, index: c_uint, features: *mut GstCapsFeatures); #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] @@ -4525,6 +4626,9 @@ extern "C" { pub fn gst_caps_features_new_empty() -> *mut GstCapsFeatures; pub fn gst_caps_features_new_id(feature1: glib::GQuark, ...) -> *mut GstCapsFeatures; //pub fn gst_caps_features_new_id_valist(feature1: glib::GQuark, varargs: /*Unimplemented*/va_list) -> *mut GstCapsFeatures; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_caps_features_new_single(feature: *const c_char) -> *mut GstCapsFeatures; //pub fn gst_caps_features_new_valist(feature1: *const c_char, varargs: /*Unimplemented*/va_list) -> *mut GstCapsFeatures; pub fn gst_caps_features_add(features: *mut GstCapsFeatures, feature: *const c_char); pub fn gst_caps_features_add_id(features: *mut GstCapsFeatures, feature: glib::GQuark); @@ -4572,6 +4676,16 @@ extern "C" { pub fn gst_context_is_persistent(context: *const GstContext) -> gboolean; pub fn gst_context_writable_structure(context: *mut GstContext) -> *mut GstStructure; + //========================================================================= + // GstCustomMeta + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_custom_meta_get_structure(meta: *mut GstCustomMeta) -> *mut GstStructure; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_custom_meta_has_name(meta: *mut GstCustomMeta, name: *const c_char) -> gboolean; + //========================================================================= // GstDateTime //========================================================================= @@ -4826,6 +4940,9 @@ extern "C" { timestamp: *mut GstClockTime, duration: *mut GstClockTime, ); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_event_parse_gap_flags(event: *mut GstEvent, flags: *mut GstGapFlags); pub fn gst_event_parse_group_id(event: *mut GstEvent, group_id: *mut c_uint) -> gboolean; #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] @@ -4907,6 +5024,9 @@ extern "C" { pub fn gst_event_parse_tag(event: *mut GstEvent, taglist: *mut *mut GstTagList); pub fn gst_event_parse_toc(event: *mut GstEvent, toc: *mut *mut GstToc, updated: *mut gboolean); pub fn gst_event_parse_toc_select(event: *mut GstEvent, uid: *mut *mut c_char); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_event_set_gap_flags(event: *mut GstEvent, flags: GstGapFlags); pub fn gst_event_set_group_id(event: *mut GstEvent, group_id: c_uint); pub fn gst_event_set_running_time_offset(event: *mut GstEvent, offset: i64); #[cfg(any(feature = "v1_16", feature = "dox"))] @@ -5492,10 +5612,27 @@ extern "C" { free_func: GstMetaFreeFunction, transform_func: GstMetaTransformFunction, ) -> *const GstMetaInfo; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_meta_register_custom( + name: *const c_char, + tags: *mut *const c_char, + transform_func: GstCustomMetaTransformFunction, + user_data: gpointer, + destroy_data: glib::GDestroyNotify, + ) -> *const GstMetaInfo; + + //========================================================================= + // GstMetaInfo + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_meta_info_is_custom(info: *const GstMetaInfo) -> gboolean; //========================================================================= // GstMiniObject //========================================================================= + pub fn gst_mini_object_get_type() -> GType; #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub fn gst_mini_object_add_parent(object: *mut GstMiniObject, parent: *mut GstMiniObject); @@ -6283,6 +6420,12 @@ extern "C" { pub fn gst_structure_remove_field(structure: *mut GstStructure, fieldname: *const c_char); pub fn gst_structure_remove_fields(structure: *mut GstStructure, fieldname: *const c_char, ...); //pub fn gst_structure_remove_fields_valist(structure: *mut GstStructure, fieldname: *const c_char, varargs: /*Unimplemented*/va_list); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_structure_serialize( + structure: *const GstStructure, + flags: GstSerializeFlags, + ) -> *mut c_char; pub fn gst_structure_set(structure: *mut GstStructure, fieldname: *const c_char, ...); #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] @@ -6578,6 +6721,13 @@ extern "C" { pub fn gst_type_find_get_length(find: *mut GstTypeFind) -> u64; pub fn gst_type_find_peek(find: *mut GstTypeFind, offset: i64, size: c_uint) -> *const u8; pub fn gst_type_find_suggest(find: *mut GstTypeFind, probability: c_uint, caps: *mut GstCaps); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_type_find_suggest_empty_simple( + find: *mut GstTypeFind, + probability: c_uint, + media_type: *const c_char, + ); pub fn gst_type_find_suggest_simple( find: *mut GstTypeFind, probability: c_uint, @@ -7085,6 +7235,9 @@ extern "C" { key: *const c_char, ) -> *const c_char; pub fn gst_device_provider_hide_provider(provider: *mut GstDeviceProvider, name: *const c_char); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_device_provider_is_started(provider: *mut GstDeviceProvider) -> gboolean; pub fn gst_device_provider_start(provider: *mut GstDeviceProvider) -> gboolean; pub fn gst_device_provider_stop(provider: *mut GstDeviceProvider); pub fn gst_device_provider_unhide_provider( @@ -7361,6 +7514,12 @@ extern "C" { name: *const c_char, caps: *const GstCaps, ) -> *mut GstPad; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_element_request_pad_simple( + element: *mut GstElement, + name: *const c_char, + ) -> *mut GstPad; pub fn gst_element_seek( element: *mut GstElement, rate: c_double, @@ -8078,6 +8237,22 @@ extern "C" { 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; + //========================================================================= + // GstSharedTaskPool + //========================================================================= + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_shared_task_pool_get_type() -> GType; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_shared_task_pool_new() -> *mut GstTaskPool; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_shared_task_pool_get_max_threads(pool: *mut GstSharedTaskPool) -> c_uint; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_shared_task_pool_set_max_threads(pool: *mut GstSharedTaskPool, max_threads: c_uint); + //========================================================================= // GstStream //========================================================================= @@ -8198,6 +8373,9 @@ extern "C" { pub fn gst_task_pool_get_type() -> GType; pub fn gst_task_pool_new() -> *mut GstTaskPool; pub fn gst_task_pool_cleanup(pool: *mut GstTaskPool); + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_task_pool_dispose_handle(pool: *mut GstTaskPool, id: gpointer); pub fn gst_task_pool_join(pool: *mut GstTaskPool, id: gpointer); pub fn gst_task_pool_prepare(pool: *mut GstTaskPool, error: *mut *mut glib::GError); pub fn gst_task_pool_push( @@ -8794,6 +8972,13 @@ extern "C" { value2: *const gobject::GValue, ) -> c_int; pub fn gst_value_deserialize(dest: *mut gobject::GValue, src: *const c_char) -> gboolean; + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + pub fn gst_value_deserialize_with_pspec( + dest: *mut gobject::GValue, + src: *const c_char, + pspec: *mut gobject::GParamSpec, + ) -> gboolean; pub fn gst_value_fixate(dest: *mut gobject::GValue, src: *const gobject::GValue) -> gboolean; pub fn gst_value_fraction_multiply( product: *mut gobject::GValue, diff --git a/gstreamer/sys/tests/abi.rs b/gstreamer/sys/tests/abi.rs index b56c377d2..f3d94deb0 100644 --- a/gstreamer/sys/tests/abi.rs +++ b/gstreamer/sys/tests/abi.rs @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT use gstreamer_sys::*; @@ -477,6 +477,13 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstCustomMeta", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstDebugCategory", Layout { @@ -624,6 +631,13 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstGapFlags", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstGhostPad", Layout { @@ -1128,6 +1142,27 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstSerializeFlags", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), + ( + "GstSharedTaskPool", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), + ( + "GstSharedTaskPoolClass", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstStackTraceFlags", Layout { @@ -1679,6 +1714,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("GST_FORMAT_PERCENT_SCALE", "10000"), ("(gint) GST_FORMAT_TIME", "3"), ("(gint) GST_FORMAT_UNDEFINED", "0"), + ("(guint) GST_GAP_FLAG_MISSING_DATA", "1"), ("GST_GROUP_ID_INVALID", "0"), ("(gint) GST_ITERATOR_DONE", "0"), ("(gint) GST_ITERATOR_ERROR", "3"), @@ -1985,6 +2021,8 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(guint) GST_SEGMENT_FLAG_TRICKMODE_NO_AUDIO", "256"), ("GST_SEGMENT_INSTANT_FLAGS", "912"), ("GST_SEQNUM_INVALID", "0"), + ("(guint) GST_SERIALIZE_FLAG_BACKWARD_COMPAT", "1"), + ("(guint) GST_SERIALIZE_FLAG_NONE", "0"), ("(guint) GST_STACK_TRACE_SHOW_FULL", "1"), ("(guint) GST_STACK_TRACE_SHOW_NONE", "0"), ("(gint) GST_STATE_CHANGE_ASYNC", "2"), diff --git a/gstreamer/sys/tests/constant.c b/gstreamer/sys/tests/constant.c index 25e4b6457..f21599807 100644 --- a/gstreamer/sys/tests/constant.c +++ b/gstreamer/sys/tests/constant.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" @@ -264,6 +264,7 @@ int main() { PRINT_CONSTANT(GST_FORMAT_PERCENT_SCALE); PRINT_CONSTANT((gint) GST_FORMAT_TIME); PRINT_CONSTANT((gint) GST_FORMAT_UNDEFINED); + PRINT_CONSTANT((guint) GST_GAP_FLAG_MISSING_DATA); PRINT_CONSTANT(GST_GROUP_ID_INVALID); PRINT_CONSTANT((gint) GST_ITERATOR_DONE); PRINT_CONSTANT((gint) GST_ITERATOR_ERROR); @@ -552,6 +553,8 @@ int main() { PRINT_CONSTANT((guint) GST_SEGMENT_FLAG_TRICKMODE_NO_AUDIO); PRINT_CONSTANT(GST_SEGMENT_INSTANT_FLAGS); PRINT_CONSTANT(GST_SEQNUM_INVALID); + PRINT_CONSTANT((guint) GST_SERIALIZE_FLAG_BACKWARD_COMPAT); + PRINT_CONSTANT((guint) GST_SERIALIZE_FLAG_NONE); PRINT_CONSTANT((guint) GST_STACK_TRACE_SHOW_FULL); PRINT_CONSTANT((guint) GST_STACK_TRACE_SHOW_NONE); PRINT_CONSTANT((gint) GST_STATE_CHANGE_ASYNC); diff --git a/gstreamer/sys/tests/layout.c b/gstreamer/sys/tests/layout.c index 8bae6ae9b..5d4276f29 100644 --- a/gstreamer/sys/tests/layout.c +++ b/gstreamer/sys/tests/layout.c @@ -1,6 +1,6 @@ // Generated by gir (https://github.com/gtk-rs/gir @ 7225f48) // from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377) -// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 208138a) +// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 85bd06b) // DO NOT EDIT #include "manual.h" @@ -46,6 +46,7 @@ int main() { printf("%s;%zu;%zu\n", "GstControlSource", sizeof(GstControlSource), alignof(GstControlSource)); printf("%s;%zu;%zu\n", "GstControlSourceClass", sizeof(GstControlSourceClass), alignof(GstControlSourceClass)); printf("%s;%zu;%zu\n", "GstCoreError", sizeof(GstCoreError), alignof(GstCoreError)); + printf("%s;%zu;%zu\n", "GstCustomMeta", sizeof(GstCustomMeta), alignof(GstCustomMeta)); printf("%s;%zu;%zu\n", "GstDebugCategory", sizeof(GstDebugCategory), alignof(GstDebugCategory)); printf("%s;%zu;%zu\n", "GstDebugColorFlags", sizeof(GstDebugColorFlags), alignof(GstDebugColorFlags)); printf("%s;%zu;%zu\n", "GstDebugColorMode", sizeof(GstDebugColorMode), alignof(GstDebugColorMode)); @@ -67,6 +68,7 @@ int main() { printf("%s;%zu;%zu\n", "GstFlowReturn", sizeof(GstFlowReturn), alignof(GstFlowReturn)); printf("%s;%zu;%zu\n", "GstFormat", sizeof(GstFormat), alignof(GstFormat)); printf("%s;%zu;%zu\n", "GstFormatDefinition", sizeof(GstFormatDefinition), alignof(GstFormatDefinition)); + printf("%s;%zu;%zu\n", "GstGapFlags", sizeof(GstGapFlags), alignof(GstGapFlags)); printf("%s;%zu;%zu\n", "GstGhostPad", sizeof(GstGhostPad), alignof(GstGhostPad)); printf("%s;%zu;%zu\n", "GstGhostPadClass", sizeof(GstGhostPadClass), alignof(GstGhostPadClass)); printf("%s;%zu;%zu\n", "GstIterator", sizeof(GstIterator), alignof(GstIterator)); @@ -139,6 +141,9 @@ int main() { printf("%s;%zu;%zu\n", "GstSeekType", sizeof(GstSeekType), alignof(GstSeekType)); printf("%s;%zu;%zu\n", "GstSegment", sizeof(GstSegment), alignof(GstSegment)); printf("%s;%zu;%zu\n", "GstSegmentFlags", sizeof(GstSegmentFlags), alignof(GstSegmentFlags)); + printf("%s;%zu;%zu\n", "GstSerializeFlags", sizeof(GstSerializeFlags), alignof(GstSerializeFlags)); + printf("%s;%zu;%zu\n", "GstSharedTaskPool", sizeof(GstSharedTaskPool), alignof(GstSharedTaskPool)); + printf("%s;%zu;%zu\n", "GstSharedTaskPoolClass", sizeof(GstSharedTaskPoolClass), alignof(GstSharedTaskPoolClass)); printf("%s;%zu;%zu\n", "GstStackTraceFlags", sizeof(GstStackTraceFlags), alignof(GstStackTraceFlags)); printf("%s;%zu;%zu\n", "GstState", sizeof(GstState), alignof(GstState)); printf("%s;%zu;%zu\n", "GstStateChange", sizeof(GstStateChange), alignof(GstStateChange));