diff --git a/gstreamer-allocators/src/auto/drm_dumb_allocator.rs b/gstreamer-allocators/src/auto/drm_dumb_allocator.rs new file mode 100644 index 000000000..f5b47c747 --- /dev/null +++ b/gstreamer-allocators/src/auto/drm_dumb_allocator.rs @@ -0,0 +1,60 @@ +// 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 glib::{prelude::*, translate::*}; + +glib::wrapper! { + #[doc(alias = "GstDRMDumbAllocator")] + pub struct DRMDumbAllocator(Object) @extends gst::Allocator; + + match fn { + type_ => || ffi::gst_drm_dumb_allocator_get_type(), + } +} + +impl DRMDumbAllocator { + #[doc(alias = "gst_drm_dumb_allocator_new_with_device_path")] + #[doc(alias = "new_with_device_path")] + pub fn with_device_path( + drm_device_path: impl AsRef, + ) -> Result { + assert_initialized_main_thread!(); + unsafe { + Option::::from_glib_full( + ffi::gst_drm_dumb_allocator_new_with_device_path( + drm_device_path.as_ref().to_glib_none().0, + ), + ) + .map(|o| o.unsafe_cast()) + .ok_or_else(|| glib::bool_error!("Failed to create allocator")) + } + } + + #[doc(alias = "gst_drm_dumb_allocator_has_prime_export")] + pub fn has_prime_export(&self) -> bool { + unsafe { + from_glib(ffi::gst_drm_dumb_allocator_has_prime_export( + self.to_glib_none().0, + )) + } + } + + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + #[doc(alias = "drm-device-path")] + pub fn drm_device_path(&self) -> Option { + glib::ObjectExt::property(self, "drm-device-path") + } + + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + #[doc(alias = "drm-fd")] + pub fn drm_fd(&self) -> i32 { + glib::ObjectExt::property(self, "drm-fd") + } +} + +unsafe impl Send for DRMDumbAllocator {} +unsafe impl Sync for DRMDumbAllocator {} diff --git a/gstreamer-allocators/src/auto/mod.rs b/gstreamer-allocators/src/auto/mod.rs index 6400cb9b3..6706dc8f6 100644 --- a/gstreamer-allocators/src/auto/mod.rs +++ b/gstreamer-allocators/src/auto/mod.rs @@ -3,6 +3,17 @@ // from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git) // DO NOT EDIT +#[cfg(any(target_os = "linux", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(target_os = "linux")))] +#[cfg(any(feature = "v1_24", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] +mod drm_dumb_allocator; +#[cfg(any(target_os = "linux", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(target_os = "linux")))] +#[cfg(any(feature = "v1_24", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] +pub use self::drm_dumb_allocator::DRMDumbAllocator; + #[cfg(any(target_os = "linux", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(target_os = "linux")))] mod dma_buf_allocator; diff --git a/gstreamer-allocators/src/auto/versions.txt b/gstreamer-allocators/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-allocators/src/auto/versions.txt +++ b/gstreamer-allocators/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-allocators/sys/src/auto/versions.txt b/gstreamer-allocators/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-allocators/sys/src/auto/versions.txt +++ b/gstreamer-allocators/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-allocators/sys/src/lib.rs b/gstreamer-allocators/sys/src/lib.rs index 33050ab32..3019bdafc 100644 --- a/gstreamer-allocators/sys/src/lib.rs +++ b/gstreamer-allocators/sys/src/lib.rs @@ -34,6 +34,20 @@ pub const GST_FD_MEMORY_FLAG_MAP_PRIVATE: GstFdMemoryFlags = 2; pub const GST_FD_MEMORY_FLAG_DONT_CLOSE: GstFdMemoryFlags = 4; // Records +#[derive(Copy, Clone)] +#[repr(C)] +pub struct GstDRMDumbAllocatorClass { + pub parent_class: gst::GstAllocatorClass, +} + +impl ::std::fmt::Debug for GstDRMDumbAllocatorClass { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstDRMDumbAllocatorClass @ {self:p}")) + .field("parent_class", &self.parent_class) + .finish() + } +} + #[derive(Copy, Clone)] #[repr(C)] pub struct GstDmaBufAllocatorClass { @@ -80,6 +94,19 @@ impl ::std::fmt::Debug for GstPhysMemoryAllocatorInterface { } // Classes +#[repr(C)] +pub struct GstDRMDumbAllocator { + _data: [u8; 0], + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, +} + +impl ::std::fmt::Debug for GstDRMDumbAllocator { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstDRMDumbAllocator @ {self:p}")) + .finish() + } +} + #[derive(Copy, Clone)] #[repr(C)] pub struct GstDmaBufAllocator { @@ -125,6 +152,34 @@ impl ::std::fmt::Debug for GstPhysMemoryAllocator { #[link(name = "gstallocators-1.0")] extern "C" { + //========================================================================= + // GstDRMDumbAllocator + //========================================================================= + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_drm_dumb_allocator_get_type() -> GType; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_drm_dumb_allocator_new_with_device_path( + drm_device_path: *const c_char, + ) -> *mut gst::GstAllocator; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_drm_dumb_allocator_new_with_fd(drm_fd: c_int) -> *mut gst::GstAllocator; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_drm_dumb_allocator_alloc( + allocator: *mut GstDRMDumbAllocator, + drm_fourcc: u32, + width: u32, + height: u32, + out_pitch: *mut u32, + ) -> *mut gst::GstMemory; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_drm_dumb_allocator_has_prime_export(allocator: *mut GstDRMDumbAllocator) + -> gboolean; + //========================================================================= // GstDmaBufAllocator //========================================================================= @@ -165,8 +220,17 @@ extern "C" { // Other functions //========================================================================= pub fn gst_dmabuf_memory_get_fd(mem: *mut gst::GstMemory) -> c_int; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_drm_dumb_memory_export_dmabuf(mem: *mut gst::GstMemory) -> *mut gst::GstMemory; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_drm_dumb_memory_get_handle(mem: *mut gst::GstMemory) -> u32; pub fn gst_fd_memory_get_fd(mem: *mut gst::GstMemory) -> c_int; pub fn gst_is_dmabuf_memory(mem: *mut gst::GstMemory) -> gboolean; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_is_drm_dumb_memory(mem: *mut gst::GstMemory) -> gboolean; pub fn gst_is_fd_memory(mem: *mut gst::GstMemory) -> gboolean; pub fn gst_is_phys_memory(mem: *mut gst::GstMemory) -> gboolean; pub fn gst_phys_memory_get_phys_addr(mem: *mut gst::GstMemory) -> uintptr_t; diff --git a/gstreamer-allocators/sys/tests/abi.rs b/gstreamer-allocators/sys/tests/abi.rs index cddafed8a..46bd3c035 100644 --- a/gstreamer-allocators/sys/tests/abi.rs +++ b/gstreamer-allocators/sys/tests/abi.rs @@ -198,6 +198,13 @@ fn get_c_output(name: &str) -> Result> { } const RUST_LAYOUTS: &[(&str, Layout)] = &[ + ( + "GstDRMDumbAllocatorClass", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstDmaBufAllocator", Layout { diff --git a/gstreamer-allocators/sys/tests/layout.c b/gstreamer-allocators/sys/tests/layout.c index ce13b5c4d..149c11ca3 100644 --- a/gstreamer-allocators/sys/tests/layout.c +++ b/gstreamer-allocators/sys/tests/layout.c @@ -8,6 +8,7 @@ #include int main() { + printf("%s;%zu;%zu\n", "GstDRMDumbAllocatorClass", sizeof(GstDRMDumbAllocatorClass), alignof(GstDRMDumbAllocatorClass)); printf("%s;%zu;%zu\n", "GstDmaBufAllocator", sizeof(GstDmaBufAllocator), alignof(GstDmaBufAllocator)); printf("%s;%zu;%zu\n", "GstDmaBufAllocatorClass", sizeof(GstDmaBufAllocatorClass), alignof(GstDmaBufAllocatorClass)); printf("%s;%zu;%zu\n", "GstFdAllocator", sizeof(GstFdAllocator), alignof(GstFdAllocator)); diff --git a/gstreamer-app/src/auto/versions.txt b/gstreamer-app/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-app/sys/src/auto/versions.txt b/gstreamer-app/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-app/sys/src/auto/versions.txt +++ b/gstreamer-app/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-app/sys/src/lib.rs b/gstreamer-app/sys/src/lib.rs index 17d7e201d..1097209f6 100644 --- a/gstreamer-app/sys/src/lib.rs +++ b/gstreamer-app/sys/src/lib.rs @@ -40,7 +40,9 @@ pub struct GstAppSinkCallbacks { pub new_preroll: Option gst::GstFlowReturn>, pub new_sample: Option gst::GstFlowReturn>, pub new_event: Option gboolean>, - pub _gst_reserved: [gpointer; 3], + pub propose_allocation: + Option gboolean>, + pub _gst_reserved: [gpointer; 2], } impl ::std::fmt::Debug for GstAppSinkCallbacks { @@ -50,6 +52,7 @@ impl ::std::fmt::Debug for GstAppSinkCallbacks { .field("new_preroll", &self.new_preroll) .field("new_sample", &self.new_sample) .field("new_event", &self.new_event) + .field("propose_allocation", &self.propose_allocation) .finish() } } diff --git a/gstreamer-audio/src/auto/versions.txt b/gstreamer-audio/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-audio/sys/src/auto/versions.txt b/gstreamer-audio/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-audio/sys/src/auto/versions.txt +++ b/gstreamer-audio/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-base/src/auto/base_src.rs b/gstreamer-base/src/auto/base_src.rs index 13111e756..33821ec12 100644 --- a/gstreamer-base/src/auto/base_src.rs +++ b/gstreamer-base/src/auto/base_src.rs @@ -56,6 +56,16 @@ pub trait BaseSrcExt: 'static { #[doc(alias = "gst_base_src_new_seamless_segment")] fn new_seamless_segment(&self, start: i64, stop: i64, time: i64) -> bool; + #[cfg(any(feature = "v1_18", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] + #[doc(alias = "gst_base_src_new_segment")] + fn new_segment(&self, segment: &gst::Segment) -> Result<(), glib::error::BoolError>; + + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + #[doc(alias = "gst_base_src_push_segment")] + fn push_segment(&self, segment: &gst::Segment) -> bool; + #[doc(alias = "gst_base_src_set_async")] fn set_async(&self, async_: bool); @@ -171,6 +181,31 @@ impl> BaseSrcExt for O { } } + #[cfg(any(feature = "v1_18", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] + fn new_segment(&self, segment: &gst::Segment) -> Result<(), glib::error::BoolError> { + unsafe { + glib::result_from_gboolean!( + ffi::gst_base_src_new_segment( + self.as_ref().to_glib_none().0, + segment.to_glib_none().0 + ), + "Failed to update segment" + ) + } + } + + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + fn push_segment(&self, segment: &gst::Segment) -> bool { + unsafe { + from_glib(ffi::gst_base_src_push_segment( + self.as_ref().to_glib_none().0, + segment.to_glib_none().0, + )) + } + } + fn set_async(&self, async_: bool) { unsafe { ffi::gst_base_src_set_async(self.as_ref().to_glib_none().0, async_.into_glib()); diff --git a/gstreamer-base/src/auto/versions.txt b/gstreamer-base/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-base/sys/src/auto/versions.txt b/gstreamer-base/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-base/sys/src/auto/versions.txt +++ b/gstreamer-base/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-base/sys/src/lib.rs b/gstreamer-base/sys/src/lib.rs index bd2fad116..962ea6f1e 100644 --- a/gstreamer-base/sys/src/lib.rs +++ b/gstreamer-base/sys/src/lib.rs @@ -2058,6 +2058,12 @@ extern "C" { src: *mut GstBaseSrc, segment: *const gst::GstSegment, ) -> gboolean; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_base_src_push_segment( + src: *mut GstBaseSrc, + segment: *const gst::GstSegment, + ) -> gboolean; pub fn gst_base_src_query_latency( src: *mut GstBaseSrc, live: *mut gboolean, diff --git a/gstreamer-check/src/auto/versions.txt b/gstreamer-check/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-check/sys/src/auto/versions.txt b/gstreamer-check/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-check/sys/src/auto/versions.txt +++ b/gstreamer-check/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-controller/src/auto/versions.txt b/gstreamer-controller/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-controller/sys/src/auto/versions.txt b/gstreamer-controller/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-controller/sys/src/auto/versions.txt +++ b/gstreamer-controller/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-editing-services/src/auto/versions.txt b/gstreamer-editing-services/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-editing-services/sys/src/auto/versions.txt b/gstreamer-editing-services/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-editing-services/sys/src/auto/versions.txt +++ b/gstreamer-editing-services/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-gl/egl/src/auto/versions.txt b/gstreamer-gl/egl/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-gl/egl/sys/src/auto/versions.txt b/gstreamer-gl/egl/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-gl/egl/sys/src/auto/versions.txt +++ b/gstreamer-gl/egl/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-gl/src/auto/versions.txt b/gstreamer-gl/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-gl/sys/src/auto/versions.txt b/gstreamer-gl/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-gl/sys/src/auto/versions.txt +++ b/gstreamer-gl/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-gl/sys/src/lib.rs b/gstreamer-gl/sys/src/lib.rs index 1fb635c83..1db845c67 100644 --- a/gstreamer-gl/sys/src/lib.rs +++ b/gstreamer-gl/sys/src/lib.rs @@ -2157,6 +2157,14 @@ extern "C" { error: *mut *mut glib::GError, ) -> gboolean; pub fn gst_gl_display_create_window(display: *mut GstGLDisplay) -> *mut GstGLWindow; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_gl_display_ensure_context( + display: *mut GstGLDisplay, + other_context: *mut GstGLContext, + context: *mut *mut GstGLContext, + error: *mut *mut glib::GError, + ) -> gboolean; pub fn gst_gl_display_filter_gl_api(display: *mut GstGLDisplay, gl_api: GstGLAPI); pub fn gst_gl_display_find_window( display: *mut GstGLDisplay, diff --git a/gstreamer-gl/wayland/src/auto/versions.txt b/gstreamer-gl/wayland/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-gl/wayland/sys/src/auto/versions.txt b/gstreamer-gl/wayland/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-gl/wayland/sys/src/auto/versions.txt +++ b/gstreamer-gl/wayland/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-gl/x11/src/auto/versions.txt b/gstreamer-gl/x11/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-gl/x11/sys/src/auto/versions.txt b/gstreamer-gl/x11/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-gl/x11/sys/src/auto/versions.txt +++ b/gstreamer-gl/x11/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-mpegts/src/auto/versions.txt b/gstreamer-mpegts/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-mpegts/src/auto/versions.txt +++ b/gstreamer-mpegts/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-mpegts/sys/src/auto/versions.txt b/gstreamer-mpegts/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-mpegts/sys/src/auto/versions.txt +++ b/gstreamer-mpegts/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-mpegts/sys/src/lib.rs b/gstreamer-mpegts/sys/src/lib.rs index 9f62ed1ae..0cd39f25e 100644 --- a/gstreamer-mpegts/sys/src/lib.rs +++ b/gstreamer-mpegts/sys/src/lib.rs @@ -377,6 +377,20 @@ pub const GST_MPEGTS_AUDIO_TYPE_CLEAN_EFFECTS: GstMpegtsIso639AudioType = 1; pub const GST_MPEGTS_AUDIO_TYPE_HEARING_IMPAIRED: GstMpegtsIso639AudioType = 2; pub const GST_MPEGTS_AUDIO_TYPE_VISUAL_IMPAIRED_COMMENTARY: GstMpegtsIso639AudioType = 3; +pub type GstMpegtsMetadataFormat = c_int; +#[cfg(any(feature = "v1_24", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] +pub const GST_MPEGTS_METADATA_FORMAT_TEM: GstMpegtsMetadataFormat = 16; +#[cfg(any(feature = "v1_24", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] +pub const GST_MPEGTS_METADATA_FORMAT_BIM: GstMpegtsMetadataFormat = 17; +#[cfg(any(feature = "v1_24", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] +pub const GST_MPEGTS_METADATA_FORMAT_APPLICATION_FORMAT: GstMpegtsMetadataFormat = 63; +#[cfg(any(feature = "v1_24", feature = "dox"))] +#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] +pub const GST_MPEGTS_METADATA_FORMAT_IDENTIFIER_FIELD: GstMpegtsMetadataFormat = 255; + pub type GstMpegtsMiscDescriptorType = c_int; pub const GST_MTS_DESC_DTG_LOGICAL_CHANNEL: GstMpegtsMiscDescriptorType = 131; @@ -1504,6 +1518,36 @@ impl ::std::fmt::Debug for GstMpegtsLogicalChannelDescriptor { } } +#[derive(Copy, Clone)] +#[repr(C)] +pub struct GstMpegtsMetadataDescriptor { + pub metadata_application_format: u16, + pub metadata_format: GstMpegtsMetadataFormat, + pub metadata_format_identifier: u32, + pub metadata_service_id: u8, + pub decoder_config_flags: u8, + pub dsm_cc_flag: gboolean, +} + +impl ::std::fmt::Debug for GstMpegtsMetadataDescriptor { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstMpegtsMetadataDescriptor @ {self:p}")) + .field( + "metadata_application_format", + &self.metadata_application_format, + ) + .field("metadata_format", &self.metadata_format) + .field( + "metadata_format_identifier", + &self.metadata_format_identifier, + ) + .field("metadata_service_id", &self.metadata_service_id) + .field("decoder_config_flags", &self.decoder_config_flags) + .field("dsm_cc_flag", &self.dsm_cc_flag) + .finish() + } +} + #[derive(Copy, Clone)] #[repr(C)] pub struct GstMpegtsNIT { @@ -1542,6 +1586,24 @@ impl ::std::fmt::Debug for GstMpegtsNITStream { } } +#[derive(Copy, Clone)] +#[repr(C)] +pub struct GstMpegtsPESMetadataMeta { + pub meta: gst::GstMeta, + pub metadata_service_id: u8, + pub flags: u8, +} + +impl ::std::fmt::Debug for GstMpegtsPESMetadataMeta { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstMpegtsPESMetadataMeta @ {self:p}")) + .field("meta", &self.meta) + .field("metadata_service_id", &self.metadata_service_id) + .field("flags", &self.flags) + .finish() + } +} + #[derive(Copy, Clone)] #[repr(C)] pub struct GstMpegtsPMT { @@ -2318,6 +2380,20 @@ extern "C" { descriptor: *const GstMpegtsDescriptor, res: *mut GstMpegtsLogicalChannelDescriptor, ) -> gboolean; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_mpegts_descriptor_parse_metadata( + descriptor: *const GstMpegtsDescriptor, + res: *mut *mut GstMpegtsMetadataDescriptor, + ) -> gboolean; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_mpegts_descriptor_parse_metadata_std( + descriptor: *const GstMpegtsDescriptor, + metadata_input_leak_rate: *mut u32, + metadata_buffer_size: *mut u32, + metadata_output_leak_rate: *mut u32, + ) -> gboolean; #[cfg(any(feature = "v1_20", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] pub fn gst_mpegts_descriptor_parse_registration( @@ -2439,6 +2515,13 @@ extern "C" { //========================================================================= pub fn gst_mpegts_logical_channel_descriptor_get_type() -> GType; + //========================================================================= + // GstMpegtsMetadataDescriptor + //========================================================================= + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_mpegts_metadata_descriptor_get_type() -> GType; + //========================================================================= // GstMpegtsNIT //========================================================================= @@ -2451,6 +2534,13 @@ extern "C" { pub fn gst_mpegts_nit_stream_get_type() -> GType; pub fn gst_mpegts_nit_stream_new() -> *mut GstMpegtsNITStream; + //========================================================================= + // GstMpegtsPESMetadataMeta + //========================================================================= + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_mpegts_pes_metadata_meta_get_info() -> *const gst::GstMetaInfo; + //========================================================================= // GstMpegtsPMT //========================================================================= @@ -2641,6 +2731,11 @@ extern "C" { //========================================================================= // Other functions //========================================================================= + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_buffer_add_mpegts_pes_metadata_meta( + buffer: *mut gst::GstBuffer, + ) -> *mut GstMpegtsPESMetadataMeta; pub fn gst_mpegts_dvb_component_descriptor_free(source: *mut GstMpegtsComponentDescriptor); #[cfg(any(feature = "v1_20", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] @@ -2666,6 +2761,9 @@ extern "C" { -> *mut GstMpegtsSection; pub fn gst_mpegts_parse_descriptors(buffer: *mut u8, buf_len: size_t) -> *mut glib::GPtrArray; pub fn gst_mpegts_pat_new() -> *mut glib::GPtrArray; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_mpegts_pes_metadata_meta_api_get_type() -> GType; #[cfg(any(feature = "v1_20", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] pub fn gst_mpegts_scte_cancel_new(event_id: u32) -> *mut GstMpegtsSCTESIT; diff --git a/gstreamer-mpegts/sys/tests/abi.rs b/gstreamer-mpegts/sys/tests/abi.rs index 49dcb906f..853ef6340 100644 --- a/gstreamer-mpegts/sys/tests/abi.rs +++ b/gstreamer-mpegts/sys/tests/abi.rs @@ -590,6 +590,20 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstMpegtsMetadataDescriptor", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), + ( + "GstMpegtsMetadataFormat", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstMpegtsMiscDescriptorType", Layout { @@ -618,6 +632,13 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstMpegtsPESMetadataMeta", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstMpegtsPMT", Layout { @@ -1012,6 +1033,10 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GST_MPEGTS_HIERARCHY_4", "3"), ("(gint) GST_MPEGTS_HIERARCHY_AUTO", "4"), ("(gint) GST_MPEGTS_HIERARCHY_NONE", "0"), + ("(gint) GST_MPEGTS_METADATA_FORMAT_APPLICATION_FORMAT", "63"), + ("(gint) GST_MPEGTS_METADATA_FORMAT_BIM", "17"), + ("(gint) GST_MPEGTS_METADATA_FORMAT_IDENTIFIER_FIELD", "255"), + ("(gint) GST_MPEGTS_METADATA_FORMAT_TEM", "16"), ("(gint) GST_MPEGTS_MODULATION_APSK_16", "10"), ("(gint) GST_MPEGTS_MODULATION_APSK_32", "11"), ("(gint) GST_MPEGTS_MODULATION_DQPSK", "12"), diff --git a/gstreamer-mpegts/sys/tests/constant.c b/gstreamer-mpegts/sys/tests/constant.c index 64ccf27ca..f6f829584 100644 --- a/gstreamer-mpegts/sys/tests/constant.c +++ b/gstreamer-mpegts/sys/tests/constant.c @@ -137,6 +137,10 @@ int main() { PRINT_CONSTANT((gint) GST_MPEGTS_HIERARCHY_4); PRINT_CONSTANT((gint) GST_MPEGTS_HIERARCHY_AUTO); PRINT_CONSTANT((gint) GST_MPEGTS_HIERARCHY_NONE); + PRINT_CONSTANT((gint) GST_MPEGTS_METADATA_FORMAT_APPLICATION_FORMAT); + PRINT_CONSTANT((gint) GST_MPEGTS_METADATA_FORMAT_BIM); + PRINT_CONSTANT((gint) GST_MPEGTS_METADATA_FORMAT_IDENTIFIER_FIELD); + PRINT_CONSTANT((gint) GST_MPEGTS_METADATA_FORMAT_TEM); PRINT_CONSTANT((gint) GST_MPEGTS_MODULATION_APSK_16); PRINT_CONSTANT((gint) GST_MPEGTS_MODULATION_APSK_32); PRINT_CONSTANT((gint) GST_MPEGTS_MODULATION_DQPSK); diff --git a/gstreamer-mpegts/sys/tests/layout.c b/gstreamer-mpegts/sys/tests/layout.c index 597e517d9..a8e1e7560 100644 --- a/gstreamer-mpegts/sys/tests/layout.c +++ b/gstreamer-mpegts/sys/tests/layout.c @@ -64,10 +64,13 @@ int main() { printf("%s;%zu;%zu\n", "GstMpegtsIso639AudioType", sizeof(GstMpegtsIso639AudioType), alignof(GstMpegtsIso639AudioType)); printf("%s;%zu;%zu\n", "GstMpegtsLogicalChannel", sizeof(GstMpegtsLogicalChannel), alignof(GstMpegtsLogicalChannel)); printf("%s;%zu;%zu\n", "GstMpegtsLogicalChannelDescriptor", sizeof(GstMpegtsLogicalChannelDescriptor), alignof(GstMpegtsLogicalChannelDescriptor)); + printf("%s;%zu;%zu\n", "GstMpegtsMetadataDescriptor", sizeof(GstMpegtsMetadataDescriptor), alignof(GstMpegtsMetadataDescriptor)); + printf("%s;%zu;%zu\n", "GstMpegtsMetadataFormat", sizeof(GstMpegtsMetadataFormat), alignof(GstMpegtsMetadataFormat)); printf("%s;%zu;%zu\n", "GstMpegtsMiscDescriptorType", sizeof(GstMpegtsMiscDescriptorType), alignof(GstMpegtsMiscDescriptorType)); printf("%s;%zu;%zu\n", "GstMpegtsModulationType", sizeof(GstMpegtsModulationType), alignof(GstMpegtsModulationType)); printf("%s;%zu;%zu\n", "GstMpegtsNIT", sizeof(GstMpegtsNIT), alignof(GstMpegtsNIT)); printf("%s;%zu;%zu\n", "GstMpegtsNITStream", sizeof(GstMpegtsNITStream), alignof(GstMpegtsNITStream)); + printf("%s;%zu;%zu\n", "GstMpegtsPESMetadataMeta", sizeof(GstMpegtsPESMetadataMeta), alignof(GstMpegtsPESMetadataMeta)); 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)); diff --git a/gstreamer-net/src/auto/versions.txt b/gstreamer-net/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-net/sys/src/auto/versions.txt b/gstreamer-net/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-net/sys/src/auto/versions.txt +++ b/gstreamer-net/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-pbutils/src/auto/versions.txt b/gstreamer-pbutils/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-pbutils/sys/src/auto/versions.txt b/gstreamer-pbutils/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-pbutils/sys/src/auto/versions.txt +++ b/gstreamer-pbutils/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-play/src/auto/versions.txt b/gstreamer-play/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-play/src/auto/versions.txt +++ b/gstreamer-play/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-play/sys/src/auto/versions.txt b/gstreamer-play/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-play/sys/src/auto/versions.txt +++ b/gstreamer-play/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-player/src/auto/versions.txt b/gstreamer-player/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-player/sys/src/auto/versions.txt b/gstreamer-player/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-player/sys/src/auto/versions.txt +++ b/gstreamer-player/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-rtp/src/auto/versions.txt b/gstreamer-rtp/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-rtp/sys/src/auto/versions.txt b/gstreamer-rtp/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-rtp/sys/src/auto/versions.txt +++ b/gstreamer-rtp/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-rtsp-server/src/auto/versions.txt b/gstreamer-rtsp-server/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-rtsp-server/sys/src/auto/versions.txt b/gstreamer-rtsp-server/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-rtsp-server/sys/src/auto/versions.txt +++ b/gstreamer-rtsp-server/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-rtsp/src/auto/versions.txt b/gstreamer-rtsp/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-rtsp/sys/src/auto/versions.txt b/gstreamer-rtsp/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-rtsp/sys/src/auto/versions.txt +++ b/gstreamer-rtsp/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-rtsp/sys/src/lib.rs b/gstreamer-rtsp/sys/src/lib.rs index 566fbdd95..89c900134 100644 --- a/gstreamer-rtsp/sys/src/lib.rs +++ b/gstreamer-rtsp/sys/src/lib.rs @@ -1069,6 +1069,19 @@ extern "C" { #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub fn gst_rtsp_message_has_body_buffer(msg: *const GstRTSPMessage) -> gboolean; + pub fn gst_rtsp_message_init(msg: *mut GstRTSPMessage) -> GstRTSPResult; + pub fn gst_rtsp_message_init_data(msg: *mut GstRTSPMessage, channel: u8) -> GstRTSPResult; + pub fn gst_rtsp_message_init_request( + msg: *mut GstRTSPMessage, + method: GstRTSPMethod, + uri: *const c_char, + ) -> GstRTSPResult; + pub fn gst_rtsp_message_init_response( + msg: *mut GstRTSPMessage, + code: GstRTSPStatusCode, + reason: *const c_char, + request: *const GstRTSPMessage, + ) -> GstRTSPResult; pub fn gst_rtsp_message_parse_auth_credentials( msg: *mut GstRTSPMessage, field: GstRTSPHeaderField, @@ -1335,19 +1348,6 @@ extern "C" { ) -> *mut c_char; pub fn gst_rtsp_header_allow_multiple(field: GstRTSPHeaderField) -> gboolean; pub fn gst_rtsp_header_as_text(field: GstRTSPHeaderField) -> *const c_char; - pub fn gst_rtsp_message_init(msg: *mut GstRTSPMessage) -> GstRTSPResult; - pub fn gst_rtsp_message_init_data(msg: *mut GstRTSPMessage, channel: u8) -> GstRTSPResult; - pub fn gst_rtsp_message_init_request( - msg: *mut GstRTSPMessage, - method: GstRTSPMethod, - uri: *const c_char, - ) -> GstRTSPResult; - pub fn gst_rtsp_message_init_response( - msg: *mut GstRTSPMessage, - code: GstRTSPStatusCode, - reason: *const c_char, - request: *const GstRTSPMessage, - ) -> GstRTSPResult; pub fn gst_rtsp_message_new(msg: *mut *mut GstRTSPMessage) -> GstRTSPResult; pub fn gst_rtsp_message_new_data(msg: *mut *mut GstRTSPMessage, channel: u8) -> GstRTSPResult; pub fn gst_rtsp_message_new_request( diff --git a/gstreamer-sdp/src/auto/versions.txt b/gstreamer-sdp/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-sdp/sys/src/auto/versions.txt b/gstreamer-sdp/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-sdp/sys/src/auto/versions.txt +++ b/gstreamer-sdp/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-tag/sys/src/auto/versions.txt b/gstreamer-tag/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-tag/sys/src/auto/versions.txt +++ b/gstreamer-tag/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-validate/src/auto/versions.txt b/gstreamer-validate/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-validate/src/auto/versions.txt +++ b/gstreamer-validate/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-validate/sys/src/auto/versions.txt b/gstreamer-validate/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-validate/sys/src/auto/versions.txt +++ b/gstreamer-validate/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-video/src/auto/versions.txt b/gstreamer-video/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-video/sys/src/auto/versions.txt b/gstreamer-video/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-video/sys/src/auto/versions.txt +++ b/gstreamer-video/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-video/sys/src/lib.rs b/gstreamer-video/sys/src/lib.rs index 54c4b1e42..bd6947d81 100644 --- a/gstreamer-video/sys/src/lib.rs +++ b/gstreamer-video/sys/src/lib.rs @@ -1677,6 +1677,25 @@ impl ::std::fmt::Debug for GstVideoInfo { } } +#[derive(Copy, Clone)] +#[repr(C)] +pub struct GstVideoInfoDmaDrm { + pub vinfo: GstVideoInfo, + pub drm_fourcc: u32, + pub drm_modifier: u64, + pub _gst_reserved: [u32; 20], +} + +impl ::std::fmt::Debug for GstVideoInfoDmaDrm { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstVideoInfoDmaDrm @ {self:p}")) + .field("vinfo", &self.vinfo) + .field("drm_fourcc", &self.drm_fourcc) + .field("drm_modifier", &self.drm_modifier) + .finish() + } +} + #[derive(Copy, Clone)] #[repr(C)] pub struct GstVideoInfo_ABI_abi { @@ -3102,6 +3121,37 @@ extern "C" { -> gboolean; pub fn gst_video_info_init(info: *mut GstVideoInfo); + //========================================================================= + // GstVideoInfoDmaDrm + //========================================================================= + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_video_info_dma_drm_get_type() -> GType; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_video_info_dma_drm_new() -> *mut GstVideoInfoDmaDrm; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_video_info_dma_drm_new_from_caps( + caps: *const gst::GstCaps, + ) -> *mut GstVideoInfoDmaDrm; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_video_info_dma_drm_free(drm_info: *mut GstVideoInfoDmaDrm); + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_video_info_dma_drm_to_caps(drm_info: *const GstVideoInfoDmaDrm) + -> *mut gst::GstCaps; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_video_info_dma_drm_from_caps( + drm_info: *mut GstVideoInfoDmaDrm, + caps: *const gst::GstCaps, + ) -> gboolean; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_video_info_dma_drm_init(drm_info: *mut GstVideoInfoDmaDrm); + //========================================================================= // GstVideoMasteringDisplayInfo //========================================================================= @@ -4432,6 +4482,21 @@ extern "C" { destroy_notify: glib::GDestroyNotify, ); pub fn gst_video_crop_meta_api_get_type() -> GType; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_video_dma_drm_fourcc_from_format(format: GstVideoFormat) -> u32; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_video_dma_drm_fourcc_from_string( + format_str: *const c_char, + modifier: *mut u64, + ) -> u32; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_video_dma_drm_fourcc_to_format(fourcc: u32) -> GstVideoFormat; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_video_dma_drm_fourcc_to_string(fourcc: u32, modifier: u64) -> *mut c_char; pub fn gst_video_event_is_force_key_unit(event: *mut gst::GstEvent) -> gboolean; pub fn gst_video_event_new_downstream_force_key_unit( timestamp: gst::GstClockTime, @@ -4481,6 +4546,9 @@ extern "C" { par_n: c_int, par_d: c_int, ) -> gboolean; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_video_is_dma_drm_caps(caps: *const gst::GstCaps) -> gboolean; #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn gst_video_make_raw_caps( diff --git a/gstreamer-video/sys/tests/abi.rs b/gstreamer-video/sys/tests/abi.rs index 167604cdc..632fe313d 100644 --- a/gstreamer-video/sys/tests/abi.rs +++ b/gstreamer-video/sys/tests/abi.rs @@ -695,6 +695,13 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstVideoInfoDmaDrm", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GstVideoInterlaceMode", Layout { diff --git a/gstreamer-video/sys/tests/layout.c b/gstreamer-video/sys/tests/layout.c index 54528bbde..396afff2c 100644 --- a/gstreamer-video/sys/tests/layout.c +++ b/gstreamer-video/sys/tests/layout.c @@ -79,6 +79,7 @@ int main() { printf("%s;%zu;%zu\n", "GstVideoGLTextureUploadMeta", sizeof(GstVideoGLTextureUploadMeta), alignof(GstVideoGLTextureUploadMeta)); printf("%s;%zu;%zu\n", "GstVideoGammaMode", sizeof(GstVideoGammaMode), alignof(GstVideoGammaMode)); printf("%s;%zu;%zu\n", "GstVideoInfo", sizeof(GstVideoInfo), alignof(GstVideoInfo)); + printf("%s;%zu;%zu\n", "GstVideoInfoDmaDrm", sizeof(GstVideoInfoDmaDrm), alignof(GstVideoInfoDmaDrm)); printf("%s;%zu;%zu\n", "GstVideoInterlaceMode", sizeof(GstVideoInterlaceMode), alignof(GstVideoInterlaceMode)); printf("%s;%zu;%zu\n", "GstVideoMasteringDisplayInfo", sizeof(GstVideoMasteringDisplayInfo), alignof(GstVideoMasteringDisplayInfo)); printf("%s;%zu;%zu\n", "GstVideoMasteringDisplayInfoCoordinates", sizeof(GstVideoMasteringDisplayInfoCoordinates), alignof(GstVideoMasteringDisplayInfoCoordinates)); diff --git a/gstreamer-webrtc/src/auto/versions.txt b/gstreamer-webrtc/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-webrtc/src/auto/web_rtcice.rs b/gstreamer-webrtc/src/auto/web_rtcice.rs index b231d1547..9869da7ac 100644 --- a/gstreamer-webrtc/src/auto/web_rtcice.rs +++ b/gstreamer-webrtc/src/auto/web_rtcice.rs @@ -28,9 +28,6 @@ unsafe impl Send for WebRTCICE {} unsafe impl Sync for WebRTCICE {} pub trait WebRTCICEExt: 'static { - #[doc(alias = "gst_webrtc_ice_add_candidate")] - fn add_candidate(&self, stream: &impl IsA, candidate: &str); - #[doc(alias = "gst_webrtc_ice_add_stream")] fn add_stream(&self, session_id: u32) -> Option; @@ -162,16 +159,6 @@ pub trait WebRTCICEExt: 'static { } impl> WebRTCICEExt for O { - fn add_candidate(&self, stream: &impl IsA, candidate: &str) { - unsafe { - ffi::gst_webrtc_ice_add_candidate( - self.as_ref().to_glib_none().0, - stream.as_ref().to_glib_none().0, - candidate.to_glib_none().0, - ); - } - } - fn add_stream(&self, session_id: u32) -> Option { unsafe { from_glib_full(ffi::gst_webrtc_ice_add_stream( diff --git a/gstreamer-webrtc/sys/src/auto/versions.txt b/gstreamer-webrtc/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer-webrtc/sys/src/auto/versions.txt +++ b/gstreamer-webrtc/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer-webrtc/sys/src/lib.rs b/gstreamer-webrtc/sys/src/lib.rs index 351e35056..d5e45e564 100644 --- a/gstreamer-webrtc/sys/src/lib.rs +++ b/gstreamer-webrtc/sys/src/lib.rs @@ -222,8 +222,14 @@ pub struct GstWebRTCICEClass { >, pub gather_candidates: Option gboolean>, - pub add_candidate: - Option, + pub add_candidate: Option< + unsafe extern "C" fn( + *mut GstWebRTCICE, + *mut GstWebRTCICEStream, + *const c_char, + *mut gst::GstPromise, + ), + >, pub set_local_credentials: Option< unsafe extern "C" fn( *mut GstWebRTCICE, @@ -747,6 +753,7 @@ extern "C" { ice: *mut GstWebRTCICE, stream: *mut GstWebRTCICEStream, candidate: *const c_char, + promise: *mut gst::GstPromise, ); #[cfg(any(feature = "v1_22", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_22")))] diff --git a/gstreamer/src/auto/element.rs b/gstreamer/src/auto/element.rs index d365f7ca1..e062ae7d9 100644 --- a/gstreamer/src/auto/element.rs +++ b/gstreamer/src/auto/element.rs @@ -74,6 +74,11 @@ pub trait ElementExt: 'static { #[doc(alias = "gst_element_create_all_pads")] fn create_all_pads(&self); + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + #[doc(alias = "gst_element_decorate_stream_id")] + fn decorate_stream_id(&self, stream_id: &str) -> glib::GString; + #[doc(alias = "gst_element_foreach_pad")] fn foreach_pad bool>(&self, func: P) -> bool; @@ -254,6 +259,17 @@ impl> ElementExt for O { } } + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + fn decorate_stream_id(&self, stream_id: &str) -> glib::GString { + unsafe { + from_glib_full(ffi::gst_element_decorate_stream_id( + self.as_ref().to_glib_none().0, + stream_id.to_glib_none().0, + )) + } + } + fn foreach_pad bool>(&self, func: P) -> bool { let func_data: P = func; unsafe extern "C" fn func_func bool>( diff --git a/gstreamer/src/auto/versions.txt b/gstreamer/src/auto/versions.txt index 53cf931f8..94b843e6a 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 @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer/sys/src/auto/versions.txt b/gstreamer/sys/src/auto/versions.txt index 53cf931f8..94b843e6a 100644 --- a/gstreamer/sys/src/auto/versions.txt +++ b/gstreamer/sys/src/auto/versions.txt @@ -1,3 +1,3 @@ Generated by gir (https://github.com/gtk-rs/gir @ 2358cc24efd2) from gir-files (https://github.com/gtk-rs/gir-files @ 1254daed0202) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 8dd059f42a8d) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 059d2f604836) diff --git a/gstreamer/sys/src/lib.rs b/gstreamer/sys/src/lib.rs index 28a207864..d1dfc6916 100644 --- a/gstreamer/sys/src/lib.rs +++ b/gstreamer/sys/src/lib.rs @@ -476,6 +476,7 @@ pub const GST_ELEMENT_FACTORY_TYPE_PARSER: GstElementFactoryListType = 64; pub const GST_ELEMENT_FACTORY_TYPE_PAYLOADER: GstElementFactoryListType = 128; pub const GST_ELEMENT_FACTORY_TYPE_SINK: GstElementFactoryListType = 4; pub const GST_ELEMENT_FACTORY_TYPE_SRC: GstElementFactoryListType = 8; +pub const GST_ELEMENT_FACTORY_TYPE_TIMESTAMPER: GstElementFactoryListType = 8192; pub const GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER: GstElementFactoryListType = 2814749767106562; pub const GST_ELEMENT_METADATA_AUTHOR: &[u8] = b"author\0"; pub const GST_ELEMENT_METADATA_DESCRIPTION: &[u8] = b"description\0"; @@ -6959,6 +6960,12 @@ extern "C" { pub fn gst_uri_get_port(uri: *const GstUri) -> c_uint; pub fn gst_uri_get_query_keys(uri: *const GstUri) -> *mut glib::GList; pub fn gst_uri_get_query_string(uri: *const GstUri) -> *mut c_char; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_uri_get_query_string_ordered( + uri: *const GstUri, + keys: *const glib::GList, + ) -> *mut c_char; pub fn gst_uri_get_query_table(uri: *const GstUri) -> *mut glib::GHashTable; pub fn gst_uri_get_query_value(uri: *const GstUri, query_key: *const c_char) -> *const c_char; pub fn gst_uri_get_scheme(uri: *const GstUri) -> *const c_char; @@ -7003,6 +7010,10 @@ extern "C" { pub fn gst_uri_set_scheme(uri: *mut GstUri, scheme: *const c_char) -> gboolean; pub fn gst_uri_set_userinfo(uri: *mut GstUri, userinfo: *const c_char) -> gboolean; pub fn gst_uri_to_string(uri: *const GstUri) -> *mut c_char; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_uri_to_string_with_keys(uri: *const GstUri, keys: *const glib::GList) + -> *mut c_char; #[cfg(any(feature = "v1_18_3", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18_3")))] pub fn gst_uri_unref(uri: *mut GstUri); @@ -7522,6 +7533,22 @@ extern "C" { ret: GstStateChangeReturn, ) -> GstStateChangeReturn; pub fn gst_element_create_all_pads(element: *mut GstElement); + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_element_decorate_stream_id( + element: *mut GstElement, + stream_id: *const c_char, + ) -> *mut c_char; + #[cfg(any(feature = "v1_24", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + pub fn gst_element_decorate_stream_id_printf( + element: *mut GstElement, + format: *const c_char, + ... + ) -> *mut c_char; + //#[cfg(any(feature = "v1_24", feature = "dox"))] + //#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_24")))] + //pub fn gst_element_decorate_stream_id_printf_valist(element: *mut GstElement, format: *const c_char, var_args: /*Unimplemented*/va_list) -> *mut c_char; pub fn gst_element_foreach_pad( element: *mut GstElement, func: GstElementForeachPadFunc, diff --git a/gstreamer/sys/tests/abi.rs b/gstreamer/sys/tests/abi.rs index 9ad834248..3c0a33171 100644 --- a/gstreamer/sys/tests/abi.rs +++ b/gstreamer/sys/tests/abi.rs @@ -1640,6 +1640,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("GST_ELEMENT_FACTORY_TYPE_PAYLOADER", "128"), ("GST_ELEMENT_FACTORY_TYPE_SINK", "4"), ("GST_ELEMENT_FACTORY_TYPE_SRC", "8"), + ("GST_ELEMENT_FACTORY_TYPE_TIMESTAMPER", "8192"), ("GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER", "2814749767106562"), ("(guint) GST_ELEMENT_FLAG_INDEXABLE", "512"), ("(guint) GST_ELEMENT_FLAG_LAST", "16384"), diff --git a/gstreamer/sys/tests/constant.c b/gstreamer/sys/tests/constant.c index 818456c22..fe6cddca0 100644 --- a/gstreamer/sys/tests/constant.c +++ b/gstreamer/sys/tests/constant.c @@ -189,6 +189,7 @@ int main() { PRINT_CONSTANT(GST_ELEMENT_FACTORY_TYPE_PAYLOADER); PRINT_CONSTANT(GST_ELEMENT_FACTORY_TYPE_SINK); PRINT_CONSTANT(GST_ELEMENT_FACTORY_TYPE_SRC); + PRINT_CONSTANT(GST_ELEMENT_FACTORY_TYPE_TIMESTAMPER); PRINT_CONSTANT(GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER); PRINT_CONSTANT((guint) GST_ELEMENT_FLAG_INDEXABLE); PRINT_CONSTANT((guint) GST_ELEMENT_FLAG_LAST);