diff --git a/Gir_GstApp.toml b/Gir_GstApp.toml index 69bf3f53a..6df5c2151 100644 --- a/Gir_GstApp.toml +++ b/Gir_GstApp.toml @@ -55,6 +55,12 @@ trait = false # Action signal ignore = true + [[object.function]] + name = "set_caps" + [[object.function.parameter]] + name = "caps" + nullable = true + [[object]] name = "GstApp.AppSrc" status = "generate" @@ -80,6 +86,12 @@ trait = false # Action signal ignore = true + [[object.function]] + name = "set_caps" + [[object.function.parameter]] + name = "caps" + nullable = true + [[object]] name = "Gst.Structure" status = "manual" diff --git a/gstreamer-app/src/auto/app_sink.rs b/gstreamer-app/src/auto/app_sink.rs index e29a9cede..90b19024b 100644 --- a/gstreamer-app/src/auto/app_sink.rs +++ b/gstreamer-app/src/auto/app_sink.rs @@ -97,9 +97,11 @@ impl AppSink { // unsafe { TODO: call ffi::gst_app_sink_set_callbacks() } //} - pub fn set_caps(&self, caps: &gst::Caps) { + pub fn set_caps<'a, P: Into>>(&self, caps: P) { + let caps = caps.into(); + let caps = caps.to_glib_none(); unsafe { - ffi::gst_app_sink_set_caps(self.to_glib_none().0, caps.to_glib_none().0); + ffi::gst_app_sink_set_caps(self.to_glib_none().0, caps.0); } } diff --git a/gstreamer-app/src/auto/app_src.rs b/gstreamer-app/src/auto/app_src.rs index bb0e3e955..c41e3e248 100644 --- a/gstreamer-app/src/auto/app_src.rs +++ b/gstreamer-app/src/auto/app_src.rs @@ -101,9 +101,11 @@ impl AppSrc { // unsafe { TODO: call ffi::gst_app_src_set_callbacks() } //} - pub fn set_caps(&self, caps: &gst::Caps) { + pub fn set_caps<'a, P: Into>>(&self, caps: P) { + let caps = caps.into(); + let caps = caps.to_glib_none(); unsafe { - ffi::gst_app_src_set_caps(self.to_glib_none().0, caps.to_glib_none().0); + ffi::gst_app_src_set_caps(self.to_glib_none().0, caps.0); } }