diff --git a/gstreamer/src/child_proxy.rs b/gstreamer/src/child_proxy.rs index f09ee3dac..74001968d 100644 --- a/gstreamer/src/child_proxy.rs +++ b/gstreamer/src/child_proxy.rs @@ -4,7 +4,7 @@ use std::ptr; use glib::{prelude::*, translate::*}; -use crate::ChildProxy; +use crate::{gobject::GObjectExtManualGst, ChildProxy}; pub trait ChildProxyExtManual: IsA + 'static { #[doc(alias = "gst_child_proxy_lookup")] @@ -49,6 +49,13 @@ pub trait ChildProxyExtManual: IsA + 'static { child.set_property(pspec.name(), value) } + #[doc(alias = "gst_child_proxy_set")] + #[track_caller] + fn set_child_property_from_str(&self, name: &str, value: &str) { + let (child, pspec) = self.lookup(name).unwrap(); + child.set_property_from_str(pspec.name(), value) + } + #[doc(alias = "gst_child_proxy_set_property")] #[track_caller] fn set_child_property_from_value(&self, name: &str, value: &glib::Value) {