diff --git a/Gir_GstBase.toml b/Gir_GstBase.toml index d75ebc231..df5c47007 100644 --- a/Gir_GstBase.toml +++ b/Gir_GstBase.toml @@ -92,6 +92,11 @@ name = "GstBase.BaseSrc" subclassing = true status = "generate" + [[object.function]] + name = "set_caps" + [object.function.return] + bool_return_is_error = "Failed to set caps" + [[object.function]] name = "start_complete" # Use Result @@ -117,6 +122,12 @@ name = "GstBase.BaseTransform" subclassing = true status = "generate" + [[object.function]] + name = "update_src_caps" + [object.function.return] + bool_return_is_error = "Failed to update src caps" + + [[object]] name = "GstBase.Aggregator" status = "generate" diff --git a/gstreamer-base/src/auto/base_src.rs b/gstreamer-base/src/auto/base_src.rs index ccd9de85d..3ca63ebed 100644 --- a/gstreamer-base/src/auto/base_src.rs +++ b/gstreamer-base/src/auto/base_src.rs @@ -3,6 +3,7 @@ // DO NOT EDIT use ffi; +use glib; use glib::StaticType; use glib::Value; use glib::object::Cast; @@ -53,7 +54,7 @@ pub trait BaseSrcExt: 'static { fn set_blocksize(&self, blocksize: u32); - fn set_caps(&self, caps: &gst::Caps) -> bool; + fn set_caps(&self, caps: &gst::Caps) -> Result<(), glib::error::BoolError>; fn set_do_timestamp(&self, timestamp: bool); @@ -149,9 +150,9 @@ impl> BaseSrcExt for O { } } - fn set_caps(&self, caps: &gst::Caps) -> bool { + fn set_caps(&self, caps: &gst::Caps) -> Result<(), glib::error::BoolError> { unsafe { - from_glib(ffi::gst_base_src_set_caps(self.as_ref().to_glib_none().0, caps.to_glib_none().0)) + glib_result_from_gboolean!(ffi::gst_base_src_set_caps(self.as_ref().to_glib_none().0, caps.to_glib_none().0), "Failed to set caps") } } diff --git a/gstreamer-base/src/auto/base_transform.rs b/gstreamer-base/src/auto/base_transform.rs index a451d9150..e38682980 100644 --- a/gstreamer-base/src/auto/base_transform.rs +++ b/gstreamer-base/src/auto/base_transform.rs @@ -3,6 +3,7 @@ // DO NOT EDIT use ffi; +use glib; use glib::StaticType; use glib::Value; use glib::object::Cast; @@ -56,7 +57,7 @@ pub trait BaseTransformExt: 'static { fn update_qos(&self, proportion: f64, diff: gst::ClockTimeDiff, timestamp: gst::ClockTime); - fn update_src_caps(&self, updated_caps: &gst::Caps) -> bool; + fn update_src_caps(&self, updated_caps: &gst::Caps) -> Result<(), glib::error::BoolError>; fn get_property_qos(&self) -> bool; @@ -142,9 +143,9 @@ impl> BaseTransformExt for O { } } - fn update_src_caps(&self, updated_caps: &gst::Caps) -> bool { + fn update_src_caps(&self, updated_caps: &gst::Caps) -> Result<(), glib::error::BoolError> { unsafe { - from_glib(ffi::gst_base_transform_update_src_caps(self.as_ref().to_glib_none().0, updated_caps.to_glib_none().0)) + glib_result_from_gboolean!(ffi::gst_base_transform_update_src_caps(self.as_ref().to_glib_none().0, updated_caps.to_glib_none().0), "Failed to update src caps") } }