From ec6a999649f92b101996be8ee32426db40ea4184 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Thu, 14 Nov 2019 09:40:08 +0530 Subject: [PATCH] gstreamer: typefind: add binding for gst_type_find_get_length() --- gstreamer/src/typefind.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gstreamer/src/typefind.rs b/gstreamer/src/typefind.rs index ae0626292..7f2d168b3 100644 --- a/gstreamer/src/typefind.rs +++ b/gstreamer/src/typefind.rs @@ -83,6 +83,17 @@ impl<'a> TypeFind<'a> { ); } } + + pub fn get_length(&mut self) -> Option { + unsafe { + let len = gst_sys::gst_type_find_get_length(&mut self.0); + if len == 0 { + None + } else { + Some(len) + } + } + } } unsafe impl<'a> Send for TypeFind<'a> {} @@ -270,6 +281,7 @@ mod tests { None, Some(&Caps::new_simple("test/test", &[])), |typefind| { + assert_eq!(typefind.get_length(), Some(8)); let mut found = false; if let Some(data) = typefind.peek(0, 8) { if data == b"abcdefgh" {