From ce33439465fadfd3a4815f69bbb580c30dc14412 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 20 Jul 2017 11:39:44 +0300 Subject: [PATCH] Add GObjectExtManual trait and implement set_property_from_string() there --- gstreamer/src/gobject.rs | 17 +++++++++++++++++ gstreamer/src/lib.rs | 2 ++ 2 files changed, 19 insertions(+) create mode 100644 gstreamer/src/gobject.rs diff --git a/gstreamer/src/gobject.rs b/gstreamer/src/gobject.rs new file mode 100644 index 000000000..3ed15c300 --- /dev/null +++ b/gstreamer/src/gobject.rs @@ -0,0 +1,17 @@ +use glib; +use glib::IsA; +use glib::translate::{ToGlibPtr, from_glib}; + +use ffi; + +pub trait GObjectExtManualGst { + fn set_property_from_str(&self, name: &str, value: &str); +} + +impl> GObjectExtManualGst for O { + fn set_property_from_str(&self, name: &str, value: &str) { + unsafe { + ffi::gst_util_set_object_arg(self.to_glib_none().0, name.to_glib_none().0, value.to_glib_none().0); + } + } +} diff --git a/gstreamer/src/lib.rs b/gstreamer/src/lib.rs index f9dc0cd61..23c72501c 100644 --- a/gstreamer/src/lib.rs +++ b/gstreamer/src/lib.rs @@ -61,7 +61,9 @@ pub use tags::*; mod element; mod bin; mod bus; +mod gobject; pub use bin::BinExtManual; +pub use gobject::GObjectExtManualGst; mod value; pub use value::*;