diff --git a/gstreamer-allocators/src/auto/constants.rs b/gstreamer-allocators/src/auto/constants.rs index 227e36172..77b762c6e 100644 --- a/gstreamer-allocators/src/auto/constants.rs +++ b/gstreamer-allocators/src/auto/constants.rs @@ -11,6 +11,11 @@ pub static ALLOCATOR_DMABUF: &GStr = #[doc(alias = "GST_ALLOCATOR_FD")] pub static ALLOCATOR_FD: &GStr = unsafe { GStr::from_utf8_with_nul_unchecked(ffi::GST_ALLOCATOR_FD) }; +#[cfg(feature = "v1_24")] +#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] +#[doc(alias = "GST_ALLOCATOR_SHM")] +pub static ALLOCATOR_SHM: &GStr = + unsafe { GStr::from_utf8_with_nul_unchecked(ffi::GST_ALLOCATOR_SHM) }; #[doc(alias = "GST_CAPS_FEATURE_MEMORY_DMABUF")] pub static CAPS_FEATURE_MEMORY_DMABUF: &GStr = unsafe { GStr::from_utf8_with_nul_unchecked(ffi::GST_CAPS_FEATURE_MEMORY_DMABUF) }; diff --git a/gstreamer-allocators/src/auto/mod.rs b/gstreamer-allocators/src/auto/mod.rs index 66f067688..9590ddb8c 100644 --- a/gstreamer-allocators/src/auto/mod.rs +++ b/gstreamer-allocators/src/auto/mod.rs @@ -35,6 +35,9 @@ pub(crate) mod functions; mod constants; pub use self::constants::ALLOCATOR_DMABUF; pub use self::constants::ALLOCATOR_FD; +#[cfg(feature = "v1_24")] +#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] +pub use self::constants::ALLOCATOR_SHM; pub use self::constants::CAPS_FEATURE_MEMORY_DMABUF; pub(crate) mod traits { diff --git a/gstreamer-allocators/src/auto/versions.txt b/gstreamer-allocators/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-allocators/sys/src/auto/versions.txt b/gstreamer-allocators/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-allocators/sys/src/lib.rs b/gstreamer-allocators/sys/src/lib.rs index 8dc19cea9..a98c30796 100644 --- a/gstreamer-allocators/sys/src/lib.rs +++ b/gstreamer-allocators/sys/src/lib.rs @@ -24,6 +24,7 @@ use glib::{gboolean, gconstpointer, gpointer, GType}; // Constants pub const GST_ALLOCATOR_DMABUF: &[u8] = b"dmabuf\0"; pub const GST_ALLOCATOR_FD: &[u8] = b"fd\0"; +pub const GST_ALLOCATOR_SHM: &[u8] = b"shm\0"; pub const GST_CAPS_FEATURE_MEMORY_DMABUF: &[u8] = b"memory:DMABuf\0"; // Flags @@ -93,6 +94,20 @@ impl ::std::fmt::Debug for GstPhysMemoryAllocatorInterface { } } +#[derive(Copy, Clone)] +#[repr(C)] +pub struct GstShmAllocatorClass { + pub parent_class: GstFdAllocatorClass, +} + +impl ::std::fmt::Debug for GstShmAllocatorClass { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstShmAllocatorClass @ {self:p}")) + .field("parent_class", &self.parent_class) + .finish() + } +} + // Classes #[repr(C)] pub struct GstDRMDumbAllocator { @@ -136,6 +151,19 @@ impl ::std::fmt::Debug for GstFdAllocator { } } +#[repr(C)] +pub struct GstShmAllocator { + _data: [u8; 0], + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, +} + +impl ::std::fmt::Debug for GstShmAllocator { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GstShmAllocator @ {self:p}")) + .finish() + } +} + // Interfaces #[repr(C)] pub struct GstPhysMemoryAllocator { @@ -211,6 +239,19 @@ extern "C" { flags: GstFdMemoryFlags, ) -> *mut gst::GstMemory; + //========================================================================= + // GstShmAllocator + //========================================================================= + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + pub fn gst_shm_allocator_get_type() -> GType; + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + pub fn gst_shm_allocator_get() -> *mut gst::GstAllocator; + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + pub fn gst_shm_allocator_init_once(); + //========================================================================= // GstPhysMemoryAllocator //========================================================================= diff --git a/gstreamer-allocators/sys/tests/abi.rs b/gstreamer-allocators/sys/tests/abi.rs index f96c08919..d26bf657d 100644 --- a/gstreamer-allocators/sys/tests/abi.rs +++ b/gstreamer-allocators/sys/tests/abi.rs @@ -251,11 +251,19 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GstShmAllocatorClass", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ]; const RUST_CONSTANTS: &[(&str, &str)] = &[ ("GST_ALLOCATOR_DMABUF", "dmabuf"), ("GST_ALLOCATOR_FD", "fd"), + ("GST_ALLOCATOR_SHM", "shm"), ("GST_CAPS_FEATURE_MEMORY_DMABUF", "memory:DMABuf"), ("(guint) GST_FD_MEMORY_FLAG_DONT_CLOSE", "4"), ("(guint) GST_FD_MEMORY_FLAG_KEEP_MAPPED", "1"), diff --git a/gstreamer-allocators/sys/tests/constant.c b/gstreamer-allocators/sys/tests/constant.c index ae1ebc6d0..27161819b 100644 --- a/gstreamer-allocators/sys/tests/constant.c +++ b/gstreamer-allocators/sys/tests/constant.c @@ -31,6 +31,7 @@ int main() { PRINT_CONSTANT(GST_ALLOCATOR_DMABUF); PRINT_CONSTANT(GST_ALLOCATOR_FD); + PRINT_CONSTANT(GST_ALLOCATOR_SHM); PRINT_CONSTANT(GST_CAPS_FEATURE_MEMORY_DMABUF); PRINT_CONSTANT((guint) GST_FD_MEMORY_FLAG_DONT_CLOSE); PRINT_CONSTANT((guint) GST_FD_MEMORY_FLAG_KEEP_MAPPED); diff --git a/gstreamer-allocators/sys/tests/layout.c b/gstreamer-allocators/sys/tests/layout.c index 149c11ca3..e37f29ecb 100644 --- a/gstreamer-allocators/sys/tests/layout.c +++ b/gstreamer-allocators/sys/tests/layout.c @@ -15,5 +15,6 @@ int main() { printf("%s;%zu;%zu\n", "GstFdAllocatorClass", sizeof(GstFdAllocatorClass), alignof(GstFdAllocatorClass)); printf("%s;%zu;%zu\n", "GstFdMemoryFlags", sizeof(GstFdMemoryFlags), alignof(GstFdMemoryFlags)); printf("%s;%zu;%zu\n", "GstPhysMemoryAllocatorInterface", sizeof(GstPhysMemoryAllocatorInterface), alignof(GstPhysMemoryAllocatorInterface)); + printf("%s;%zu;%zu\n", "GstShmAllocatorClass", sizeof(GstShmAllocatorClass), alignof(GstShmAllocatorClass)); return 0; } diff --git a/gstreamer-app/src/auto/versions.txt b/gstreamer-app/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-app/sys/src/auto/versions.txt b/gstreamer-app/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-audio/src/auto/versions.txt b/gstreamer-audio/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-audio/sys/src/auto/versions.txt b/gstreamer-audio/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-base/src/auto/versions.txt b/gstreamer-base/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-base/sys/src/auto/versions.txt b/gstreamer-base/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-check/src/auto/versions.txt b/gstreamer-check/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-check/sys/src/auto/versions.txt b/gstreamer-check/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-controller/src/auto/versions.txt b/gstreamer-controller/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-controller/sys/src/auto/versions.txt b/gstreamer-controller/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-editing-services/src/auto/discoverer_manager.rs b/gstreamer-editing-services/src/auto/discoverer_manager.rs index d3fbb4c56..12c61caf7 100644 --- a/gstreamer-editing-services/src/auto/discoverer_manager.rs +++ b/gstreamer-editing-services/src/auto/discoverer_manager.rs @@ -150,6 +150,36 @@ impl DiscovererManager { } } + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "source-setup")] + pub fn connect_source_setup( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn source_setup_trampoline< + F: Fn(&DiscovererManager, &gst::Element) + 'static, + >( + this: *mut ffi::GESDiscovererManager, + source: *mut gst::ffi::GstElement, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(&from_glib_borrow(this), &from_glib_borrow(source)) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"source-setup\0".as_ptr() as *const _, + Some(std::mem::transmute::<_, unsafe extern "C" fn()>( + source_setup_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + #[cfg(feature = "v1_24")] #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] #[doc(alias = "timeout")] diff --git a/gstreamer-editing-services/src/auto/versions.txt b/gstreamer-editing-services/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-editing-services/sys/src/auto/versions.txt b/gstreamer-editing-services/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-gl/egl/src/auto/gl_display_egl.rs b/gstreamer-gl/egl/src/auto/gl_display_egl.rs index 97447d5e1..64328a9ea 100644 --- a/gstreamer-gl/egl/src/auto/gl_display_egl.rs +++ b/gstreamer-gl/egl/src/auto/gl_display_egl.rs @@ -26,6 +26,17 @@ impl GLDisplayEGL { } } + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "gst_gl_display_egl_new_surfaceless")] + pub fn new_surfaceless() -> Result { + assert_initialized_main_thread!(); + unsafe { + Option::<_>::from_glib_full(ffi::gst_gl_display_egl_new_surfaceless()) + .ok_or_else(|| glib::bool_error!("Failed to create surfaceless EGL display")) + } + } + #[doc(alias = "gst_gl_display_egl_from_gl_display")] pub fn from_gl_display(display: &impl IsA) -> Option { assert_initialized_main_thread!(); diff --git a/gstreamer-gl/egl/src/auto/versions.txt b/gstreamer-gl/egl/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-gl/egl/sys/src/auto/versions.txt b/gstreamer-gl/egl/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-gl/egl/sys/src/lib.rs b/gstreamer-gl/egl/sys/src/lib.rs index 7278229b6..3e1e25877 100644 --- a/gstreamer-gl/egl/sys/src/lib.rs +++ b/gstreamer-gl/egl/sys/src/lib.rs @@ -67,6 +67,9 @@ extern "C" { //========================================================================= pub fn gst_gl_display_egl_get_type() -> GType; pub fn gst_gl_display_egl_new() -> *mut GstGLDisplayEGL; + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + pub fn gst_gl_display_egl_new_surfaceless() -> *mut GstGLDisplayEGL; pub fn gst_gl_display_egl_new_with_egl_display(display: gpointer) -> *mut GstGLDisplayEGL; pub fn gst_gl_display_egl_from_gl_display( display: *mut gst_gl::GstGLDisplay, diff --git a/gstreamer-gl/src/auto/flags.rs b/gstreamer-gl/src/auto/flags.rs index eb78ae72d..e9ee3e9c8 100644 --- a/gstreamer-gl/src/auto/flags.rs +++ b/gstreamer-gl/src/auto/flags.rs @@ -272,6 +272,10 @@ bitflags! { #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))] #[doc(alias = "GST_GL_DISPLAY_TYPE_ANDROID")] const ANDROID = ffi::GST_GL_DISPLAY_TYPE_ANDROID as _; + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "GST_GL_DISPLAY_TYPE_EGL_SURFACELESS")] + const EGL_SURFACELESS = ffi::GST_GL_DISPLAY_TYPE_EGL_SURFACELESS as _; } } diff --git a/gstreamer-gl/src/auto/gl_upload.rs b/gstreamer-gl/src/auto/gl_upload.rs index 93c783194..47a64e4ce 100644 --- a/gstreamer-gl/src/auto/gl_upload.rs +++ b/gstreamer-gl/src/auto/gl_upload.rs @@ -22,6 +22,25 @@ impl GLUpload { unsafe { from_glib_full(ffi::gst_gl_upload_new(context.as_ref().to_glib_none().0)) } } + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "gst_gl_upload_fixate_caps")] + pub fn fixate_caps( + &self, + direction: gst::PadDirection, + caps: &gst::Caps, + othercaps: gst::Caps, + ) -> gst::Caps { + unsafe { + from_glib_full(ffi::gst_gl_upload_fixate_caps( + self.to_glib_none().0, + direction.into_glib(), + caps.to_glib_none().0, + othercaps.into_glib_ptr(), + )) + } + } + #[doc(alias = "gst_gl_upload_get_caps")] #[doc(alias = "get_caps")] pub fn caps(&self) -> (gst::Caps, gst::Caps) { diff --git a/gstreamer-gl/src/auto/versions.txt b/gstreamer-gl/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-gl/sys/src/auto/versions.txt b/gstreamer-gl/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-gl/sys/src/lib.rs b/gstreamer-gl/sys/src/lib.rs index 3f6bc8675..7c3ee2339 100644 --- a/gstreamer-gl/sys/src/lib.rs +++ b/gstreamer-gl/sys/src/lib.rs @@ -195,6 +195,9 @@ pub const GST_GL_DISPLAY_TYPE_WINRT: GstGLDisplayType = 1024; #[cfg(feature = "v1_20")] #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))] pub const GST_GL_DISPLAY_TYPE_ANDROID: GstGLDisplayType = 2048; +#[cfg(feature = "v1_24")] +#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] +pub const GST_GL_DISPLAY_TYPE_EGL_SURFACELESS: GstGLDisplayType = 4096; pub const GST_GL_DISPLAY_TYPE_ANY: GstGLDisplayType = 4294967295; pub type GstGLPlatform = c_uint; @@ -2771,6 +2774,14 @@ extern "C" { pub fn gst_gl_upload_get_type() -> GType; pub fn gst_gl_upload_new(context: *mut GstGLContext) -> *mut GstGLUpload; pub fn gst_gl_upload_get_input_template_caps() -> *mut gst::GstCaps; + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + pub fn gst_gl_upload_fixate_caps( + upload: *mut GstGLUpload, + direction: gst::GstPadDirection, + caps: *mut gst::GstCaps, + othercaps: *mut gst::GstCaps, + ) -> *mut gst::GstCaps; pub fn gst_gl_upload_get_caps( upload: *mut GstGLUpload, in_caps: *mut *mut gst::GstCaps, diff --git a/gstreamer-gl/sys/tests/abi.rs b/gstreamer-gl/sys/tests/abi.rs index fd218c6a6..c612193a7 100644 --- a/gstreamer-gl/sys/tests/abi.rs +++ b/gstreamer-gl/sys/tests/abi.rs @@ -829,6 +829,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(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_EGL_SURFACELESS", "4096"), ("(guint) GST_GL_DISPLAY_TYPE_GBM", "128"), ("(guint) GST_GL_DISPLAY_TYPE_NONE", "0"), ("(guint) GST_GL_DISPLAY_TYPE_VIV_FB", "64"), diff --git a/gstreamer-gl/sys/tests/constant.c b/gstreamer-gl/sys/tests/constant.c index eee5ed3b3..13dabae56 100644 --- a/gstreamer-gl/sys/tests/constant.c +++ b/gstreamer-gl/sys/tests/constant.c @@ -113,6 +113,7 @@ int main() { 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_EGL_SURFACELESS); PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_GBM); PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_NONE); PRINT_CONSTANT((guint) GST_GL_DISPLAY_TYPE_VIV_FB); diff --git a/gstreamer-gl/wayland/src/auto/versions.txt b/gstreamer-gl/wayland/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-gl/wayland/sys/src/auto/versions.txt b/gstreamer-gl/wayland/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-gl/x11/src/auto/versions.txt b/gstreamer-gl/x11/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-gl/x11/sys/src/auto/versions.txt b/gstreamer-gl/x11/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-mpegts/src/auto/versions.txt b/gstreamer-mpegts/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-mpegts/sys/src/auto/versions.txt b/gstreamer-mpegts/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-net/src/auto/versions.txt b/gstreamer-net/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-net/sys/src/auto/versions.txt b/gstreamer-net/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-pbutils/src/auto/versions.txt b/gstreamer-pbutils/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-pbutils/sys/src/auto/versions.txt b/gstreamer-pbutils/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-play/src/auto/versions.txt b/gstreamer-play/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-play/sys/src/auto/versions.txt b/gstreamer-play/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-player/src/auto/versions.txt b/gstreamer-player/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-player/sys/src/auto/versions.txt b/gstreamer-player/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-rtp/src/auto/versions.txt b/gstreamer-rtp/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-rtp/sys/src/auto/versions.txt b/gstreamer-rtp/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-rtsp-server/src/auto/rtsp_media.rs b/gstreamer-rtsp-server/src/auto/rtsp_media.rs index 41ac85b89..b2f554d37 100644 --- a/gstreamer-rtsp-server/src/auto/rtsp_media.rs +++ b/gstreamer-rtsp-server/src/auto/rtsp_media.rs @@ -156,6 +156,28 @@ pub trait RTSPMediaExt: IsA + sealed::Sealed + 'static { } } + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "gst_rtsp_media_get_ensure_keyunit_on_start")] + #[doc(alias = "get_ensure_keyunit_on_start")] + fn is_ensure_keyunit_on_start(&self) -> bool { + unsafe { + from_glib(ffi::gst_rtsp_media_get_ensure_keyunit_on_start( + self.as_ref().to_glib_none().0, + )) + } + } + + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "gst_rtsp_media_get_ensure_keyunit_on_start_timeout")] + #[doc(alias = "get_ensure_keyunit_on_start_timeout")] + fn ensure_keyunit_on_start_timeout(&self) -> u32 { + unsafe { + ffi::gst_rtsp_media_get_ensure_keyunit_on_start_timeout(self.as_ref().to_glib_none().0) + } + } + #[doc(alias = "gst_rtsp_media_get_latency")] #[doc(alias = "get_latency")] fn latency(&self) -> u32 { @@ -515,6 +537,30 @@ pub trait RTSPMediaExt: IsA + sealed::Sealed + 'static { } } + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "gst_rtsp_media_set_ensure_keyunit_on_start")] + fn set_ensure_keyunit_on_start(&self, ensure_keyunit_on_start: bool) { + unsafe { + ffi::gst_rtsp_media_set_ensure_keyunit_on_start( + self.as_ref().to_glib_none().0, + ensure_keyunit_on_start.into_glib(), + ); + } + } + + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "gst_rtsp_media_set_ensure_keyunit_on_start_timeout")] + fn set_ensure_keyunit_on_start_timeout(&self, timeout: u32) { + unsafe { + ffi::gst_rtsp_media_set_ensure_keyunit_on_start_timeout( + self.as_ref().to_glib_none().0, + timeout, + ); + } + } + #[doc(alias = "gst_rtsp_media_set_eos_shutdown")] fn set_eos_shutdown(&self, eos_shutdown: bool) { unsafe { @@ -1084,6 +1130,68 @@ pub trait RTSPMediaExt: IsA + sealed::Sealed + 'static { } } + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "ensure-keyunit-on-start")] + fn connect_ensure_keyunit_on_start_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_ensure_keyunit_on_start_trampoline< + P: IsA, + F: Fn(&P) + Send + Sync + 'static, + >( + this: *mut ffi::GstRTSPMedia, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(RTSPMedia::from_glib_borrow(this).unsafe_cast_ref()) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::ensure-keyunit-on-start\0".as_ptr() as *const _, + Some(std::mem::transmute::<_, unsafe extern "C" fn()>( + notify_ensure_keyunit_on_start_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "ensure-keyunit-on-start-timeout")] + fn connect_ensure_keyunit_on_start_timeout_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_ensure_keyunit_on_start_timeout_trampoline< + P: IsA, + F: Fn(&P) + Send + Sync + 'static, + >( + this: *mut ffi::GstRTSPMedia, + _param_spec: glib::ffi::gpointer, + f: glib::ffi::gpointer, + ) { + let f: &F = &*(f as *const F); + f(RTSPMedia::from_glib_borrow(this).unsafe_cast_ref()) + } + unsafe { + let f: Box_ = Box_::new(f); + connect_raw( + self.as_ptr() as *mut _, + b"notify::ensure-keyunit-on-start-timeout\0".as_ptr() as *const _, + Some(std::mem::transmute::<_, unsafe extern "C" fn()>( + notify_ensure_keyunit_on_start_timeout_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/rtsp_media_factory.rs b/gstreamer-rtsp-server/src/auto/rtsp_media_factory.rs index bdb7da50e..2542565d6 100644 --- a/gstreamer-rtsp-server/src/auto/rtsp_media_factory.rs +++ b/gstreamer-rtsp-server/src/auto/rtsp_media_factory.rs @@ -118,6 +118,30 @@ pub trait RTSPMediaFactoryExt: IsA + sealed::Sealed + 'static unsafe { ffi::gst_rtsp_media_factory_get_dscp_qos(self.as_ref().to_glib_none().0) } } + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "gst_rtsp_media_factory_get_ensure_keyunit_on_start")] + #[doc(alias = "get_ensure_keyunit_on_start")] + fn is_ensure_keyunit_on_start(&self) -> bool { + unsafe { + from_glib(ffi::gst_rtsp_media_factory_get_ensure_keyunit_on_start( + self.as_ref().to_glib_none().0, + )) + } + } + + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "gst_rtsp_media_factory_get_ensure_keyunit_on_start_timeout")] + #[doc(alias = "get_ensure_keyunit_on_start_timeout")] + fn ensure_keyunit_on_start_timeout(&self) -> u32 { + unsafe { + ffi::gst_rtsp_media_factory_get_ensure_keyunit_on_start_timeout( + self.as_ref().to_glib_none().0, + ) + } + } + #[doc(alias = "gst_rtsp_media_factory_get_latency")] #[doc(alias = "get_latency")] fn latency(&self) -> u32 { @@ -349,6 +373,30 @@ pub trait RTSPMediaFactoryExt: IsA + sealed::Sealed + 'static } } + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "gst_rtsp_media_factory_set_ensure_keyunit_on_start")] + fn set_ensure_keyunit_on_start(&self, ensure_keyunit_on_start: bool) { + unsafe { + ffi::gst_rtsp_media_factory_set_ensure_keyunit_on_start( + self.as_ref().to_glib_none().0, + ensure_keyunit_on_start.into_glib(), + ); + } + } + + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "gst_rtsp_media_factory_set_ensure_keyunit_on_start_timeout")] + fn set_ensure_keyunit_on_start_timeout(&self, timeout: u32) { + unsafe { + ffi::gst_rtsp_media_factory_set_ensure_keyunit_on_start_timeout( + self.as_ref().to_glib_none().0, + timeout, + ); + } + } + #[doc(alias = "gst_rtsp_media_factory_set_eos_shutdown")] fn set_eos_shutdown(&self, eos_shutdown: bool) { unsafe { @@ -736,6 +784,68 @@ pub trait RTSPMediaFactoryExt: IsA + sealed::Sealed + 'static } } + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "ensure-keyunit-on-start")] + fn connect_ensure_keyunit_on_start_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_ensure_keyunit_on_start_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::ensure-keyunit-on-start\0".as_ptr() as *const _, + Some(std::mem::transmute::<_, unsafe extern "C" fn()>( + notify_ensure_keyunit_on_start_trampoline:: as *const (), + )), + Box_::into_raw(f), + ) + } + } + + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + #[doc(alias = "ensure-keyunit-on-start-timeout")] + fn connect_ensure_keyunit_on_start_timeout_notify( + &self, + f: F, + ) -> SignalHandlerId { + unsafe extern "C" fn notify_ensure_keyunit_on_start_timeout_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::ensure-keyunit-on-start-timeout\0".as_ptr() as *const _, + Some(std::mem::transmute::<_, unsafe extern "C" fn()>( + notify_ensure_keyunit_on_start_timeout_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 ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-rtsp-server/sys/src/auto/versions.txt b/gstreamer-rtsp-server/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-rtsp-server/sys/src/lib.rs b/gstreamer-rtsp-server/sys/src/lib.rs index f6baafb3a..37b3088e7 100644 --- a/gstreamer-rtsp-server/sys/src/lib.rs +++ b/gstreamer-rtsp-server/sys/src/lib.rs @@ -1595,6 +1595,12 @@ extern "C" { #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))] pub fn gst_rtsp_media_get_dscp_qos(media: *mut GstRTSPMedia) -> c_int; pub fn gst_rtsp_media_get_element(media: *mut GstRTSPMedia) -> *mut gst::GstElement; + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + pub fn gst_rtsp_media_get_ensure_keyunit_on_start(media: *mut GstRTSPMedia) -> gboolean; + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + pub fn gst_rtsp_media_get_ensure_keyunit_on_start_timeout(media: *mut GstRTSPMedia) -> c_uint; pub fn gst_rtsp_media_get_latency(media: *mut GstRTSPMedia) -> c_uint; #[cfg(feature = "v1_16")] #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))] @@ -1694,6 +1700,18 @@ extern "C" { #[cfg(feature = "v1_18")] #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))] pub fn gst_rtsp_media_set_dscp_qos(media: *mut GstRTSPMedia, dscp_qos: c_int); + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + pub fn gst_rtsp_media_set_ensure_keyunit_on_start( + media: *mut GstRTSPMedia, + ensure_keyunit_on_start: gboolean, + ); + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + pub fn gst_rtsp_media_set_ensure_keyunit_on_start_timeout( + media: *mut GstRTSPMedia, + timeout: c_uint, + ); pub fn gst_rtsp_media_set_eos_shutdown(media: *mut GstRTSPMedia, eos_shutdown: gboolean); pub fn gst_rtsp_media_set_latency(media: *mut GstRTSPMedia, latency: c_uint); #[cfg(feature = "v1_16")] @@ -1792,6 +1810,16 @@ extern "C" { #[cfg(feature = "v1_18")] #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))] pub fn gst_rtsp_media_factory_get_dscp_qos(factory: *mut GstRTSPMediaFactory) -> c_int; + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + pub fn gst_rtsp_media_factory_get_ensure_keyunit_on_start( + factory: *mut GstRTSPMediaFactory, + ) -> gboolean; + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + pub fn gst_rtsp_media_factory_get_ensure_keyunit_on_start_timeout( + factory: *mut GstRTSPMediaFactory, + ) -> c_uint; pub fn gst_rtsp_media_factory_get_latency(factory: *mut GstRTSPMediaFactory) -> c_uint; pub fn gst_rtsp_media_factory_get_launch(factory: *mut GstRTSPMediaFactory) -> *mut c_char; #[cfg(feature = "v1_16")] @@ -1865,6 +1893,18 @@ extern "C" { factory: *mut GstRTSPMediaFactory, enable: gboolean, ); + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + pub fn gst_rtsp_media_factory_set_ensure_keyunit_on_start( + factory: *mut GstRTSPMediaFactory, + ensure_keyunit_on_start: gboolean, + ); + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + pub fn gst_rtsp_media_factory_set_ensure_keyunit_on_start_timeout( + factory: *mut GstRTSPMediaFactory, + timeout: c_uint, + ); pub fn gst_rtsp_media_factory_set_eos_shutdown( factory: *mut GstRTSPMediaFactory, eos_shutdown: gboolean, diff --git a/gstreamer-rtsp/src/auto/versions.txt b/gstreamer-rtsp/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-rtsp/sys/src/auto/versions.txt b/gstreamer-rtsp/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-sdp/src/auto/versions.txt b/gstreamer-sdp/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-sdp/sys/src/auto/versions.txt b/gstreamer-sdp/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-tag/sys/src/auto/versions.txt b/gstreamer-tag/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-validate/src/auto/versions.txt b/gstreamer-validate/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-validate/sys/src/auto/versions.txt b/gstreamer-validate/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-video/src/auto/versions.txt b/gstreamer-video/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-video/sys/src/auto/versions.txt b/gstreamer-video/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-video/sys/src/lib.rs b/gstreamer-video/sys/src/lib.rs index 83b3cf812..e91050a9f 100644 --- a/gstreamer-video/sys/src/lib.rs +++ b/gstreamer-video/sys/src/lib.rs @@ -4602,6 +4602,9 @@ extern "C" { all_headers: *mut gboolean, count: *mut c_uint, ) -> gboolean; + #[cfg(feature = "v1_24")] + #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] + pub fn gst_video_formats_any(len: *mut c_uint) -> *const GstVideoFormat; #[cfg(feature = "v1_18")] #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))] pub fn gst_video_formats_raw(len: *mut c_uint) -> *const GstVideoFormat; diff --git a/gstreamer-webrtc/src/auto/versions.txt b/gstreamer-webrtc/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer-webrtc/sys/src/auto/versions.txt b/gstreamer-webrtc/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer/src/auto/stream_collection.rs b/gstreamer/src/auto/stream_collection.rs index ab943054b..de424df12 100644 --- a/gstreamer/src/auto/stream_collection.rs +++ b/gstreamer/src/auto/stream_collection.rs @@ -45,7 +45,7 @@ impl StreamCollection { //#[doc(alias = "stream-notify")] //pub fn connect_stream_notify(&self, detail: Option<&str>, f: F) -> SignalHandlerId { - // Ignored p0: GObject.ParamSpec + // Ignored prop: GObject.ParamSpec //} } diff --git a/gstreamer/src/auto/versions.txt b/gstreamer/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer/sys/src/auto/versions.txt b/gstreamer/sys/src/auto/versions.txt index ca2749c57..f581f1dec 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 @ c0970367709d) from gir-files (https://github.com/gtk-rs/gir-files @ 20031a537e40) -from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 962af2acaefd) +from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ edec6c70b41a) diff --git a/gstreamer/sys/src/lib.rs b/gstreamer/sys/src/lib.rs index a95b441d1..0b38c4c64 100644 --- a/gstreamer/sys/src/lib.rs +++ b/gstreamer/sys/src/lib.rs @@ -607,6 +607,9 @@ pub const GST_VALUE_UNORDERED: c_int = 2; // Flags pub type GstAllocatorFlags = c_uint; pub const GST_ALLOCATOR_FLAG_CUSTOM_ALLOC: GstAllocatorFlags = 16; +#[cfg(feature = "v1_24")] +#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))] +pub const GST_ALLOCATOR_FLAG_NO_COPY: GstAllocatorFlags = 32; pub const GST_ALLOCATOR_FLAG_LAST: GstAllocatorFlags = 1048576; pub type GstBinFlags = c_uint; diff --git a/gstreamer/sys/tests/abi.rs b/gstreamer/sys/tests/abi.rs index bbf974fc8..085fd7e14 100644 --- a/gstreamer/sys/tests/abi.rs +++ b/gstreamer/sys/tests/abi.rs @@ -1474,6 +1474,7 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(guint) GST_ALLOCATOR_FLAG_CUSTOM_ALLOC", "16"), ("(guint) GST_ALLOCATOR_FLAG_LAST", "1048576"), + ("(guint) GST_ALLOCATOR_FLAG_NO_COPY", "32"), ("GST_ALLOCATOR_SYSMEM", "SystemMemory"), ("(guint) GST_BIN_FLAG_LAST", "524288"), ("(guint) GST_BIN_FLAG_NO_RESYNC", "16384"), diff --git a/gstreamer/sys/tests/constant.c b/gstreamer/sys/tests/constant.c index fe6cddca0..3ead3aa8d 100644 --- a/gstreamer/sys/tests/constant.c +++ b/gstreamer/sys/tests/constant.c @@ -31,6 +31,7 @@ int main() { PRINT_CONSTANT((guint) GST_ALLOCATOR_FLAG_CUSTOM_ALLOC); PRINT_CONSTANT((guint) GST_ALLOCATOR_FLAG_LAST); + PRINT_CONSTANT((guint) GST_ALLOCATOR_FLAG_NO_COPY); PRINT_CONSTANT(GST_ALLOCATOR_SYSMEM); PRINT_CONSTANT((guint) GST_BIN_FLAG_LAST); PRINT_CONSTANT((guint) GST_BIN_FLAG_NO_RESYNC);