From b50a7993deb1c152e1bde1eae9ac00fc83ec8c92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 3 May 2022 15:41:54 +0300 Subject: [PATCH] video: Add bindings for `VideoFormatInfo::tile_sizes()` --- gstreamer-video/src/video_format_info.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gstreamer-video/src/video_format_info.rs b/gstreamer-video/src/video_format_info.rs index 3aa018f7a..04f126e9f 100644 --- a/gstreamer-video/src/video_format_info.rs +++ b/gstreamer-video/src/video_format_info.rs @@ -330,6 +330,24 @@ impl VideoFormatInfo { ) as u32 } } + + #[cfg(any(feature = "v1_22", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_22")))] + #[doc(alias = "gst_video_format_info_get_tile_sizes")] + pub fn tile_sizes(&self, plane: u32) -> (u32, (u32, u32)) { + unsafe { + let mut out_ws = std::mem::MaybeUninit::uninit(); + let mut out_hs = std::mem::MaybeUninit::uninit(); + let size = ffi::gst_video_format_info_get_tile_sizes( + self.to_glib_none().0, + plane, + out_ws.as_mut_ptr(), + out_hs.as_mut_ptr(), + ); + + (size, (out_ws.assume_init(), out_hs.assume_init())) + } + } } unsafe impl Sync for VideoFormatInfo {}