From 7868b700ee1c68d5fda32c3a6cdefdfdaf227003 Mon Sep 17 00:00:00 2001 From: Vivia Nikolaidou Date: Fri, 9 Jul 2021 14:55:29 +0300 Subject: [PATCH] structure, caps: Implement 1.20 serialize functions --- gstreamer/src/caps.rs | 7 +++++++ gstreamer/src/caps_serde.rs | 2 +- gstreamer/src/structure.rs | 7 +++++++ gstreamer/src/structure_serde.rs | 2 +- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/gstreamer/src/caps.rs b/gstreamer/src/caps.rs index 948a87098..d0d891623 100644 --- a/gstreamer/src/caps.rs +++ b/gstreamer/src/caps.rs @@ -425,6 +425,13 @@ impl CapsRef { )) } } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_caps_serialize")] + pub fn serialize(&self, flags: crate::SerializeFlags) -> glib::GString { + unsafe { from_glib_full(ffi::gst_caps_serialize(&self.0, flags.into_glib())) } + } } macro_rules! define_iter( diff --git a/gstreamer/src/caps_serde.rs b/gstreamer/src/caps_serde.rs index 2f026749e..c90e81fbd 100644 --- a/gstreamer/src/caps_serde.rs +++ b/gstreamer/src/caps_serde.rs @@ -94,7 +94,7 @@ impl Serialize for CapsRef { impl Serialize for Caps { fn serialize(&self, serializer: S) -> Result { - self.as_ref().serialize(serializer) + ::serialize(self.as_ref(), serializer) } } diff --git a/gstreamer/src/structure.rs b/gstreamer/src/structure.rs index 1c97f4aee..51680523f 100644 --- a/gstreamer/src/structure.rs +++ b/gstreamer/src/structure.rs @@ -654,6 +654,13 @@ impl StructureRef { )) } } + + #[cfg(any(feature = "v1_20", feature = "dox"))] + #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))] + #[doc(alias = "gst_structure_serialize")] + pub fn serialize(&self, flags: crate::SerializeFlags) -> glib::GString { + unsafe { from_glib_full(ffi::gst_structure_serialize(&self.0, flags.into_glib())) } + } } impl fmt::Display for StructureRef { diff --git a/gstreamer/src/structure_serde.rs b/gstreamer/src/structure_serde.rs index 33bb85992..06fb45110 100644 --- a/gstreamer/src/structure_serde.rs +++ b/gstreamer/src/structure_serde.rs @@ -62,7 +62,7 @@ impl Serialize for StructureRef { impl Serialize for Structure { fn serialize(&self, serializer: S) -> Result { - self.as_ref().serialize(serializer) + ::serialize(self.as_ref(), serializer) } }