diff --git a/Gir_Gst.toml b/Gir_Gst.toml index 8a719cf19..b3819e573 100644 --- a/Gir_Gst.toml +++ b/Gir_Gst.toml @@ -281,6 +281,11 @@ status = "generate" [object.function.return] bool_return_is_error = "Failed to link pads" + [[object.function]] + name = "link_pads_full" + [object.function.return] + bool_return_is_error = "Failed to link pads" + [[object.function]] name = "post_message" [object.function.return] diff --git a/gstreamer/src/auto/element.rs b/gstreamer/src/auto/element.rs index 134891759..e03b876f8 100644 --- a/gstreamer/src/auto/element.rs +++ b/gstreamer/src/auto/element.rs @@ -121,7 +121,7 @@ pub trait ElementExt { fn link_pads_filtered<'a, 'b, 'c, P: Into>, Q: IsA, R: Into>, S: Into>>(&self, srcpadname: P, dest: &Q, destpadname: R, filter: S) -> Result<(), glib::error::BoolError>; - fn link_pads_full<'a, 'b, P: Into>, Q: IsA, R: Into>>(&self, srcpadname: P, dest: &Q, destpadname: R, flags: PadLinkCheck) -> bool; + fn link_pads_full<'a, 'b, P: Into>, Q: IsA, R: Into>>(&self, srcpadname: P, dest: &Q, destpadname: R, flags: PadLinkCheck) -> Result<(), glib::error::BoolError>; fn lost_state(&self); @@ -342,13 +342,13 @@ impl + IsA> ElementExt for O { } } - fn link_pads_full<'a, 'b, P: Into>, Q: IsA, R: Into>>(&self, srcpadname: P, dest: &Q, destpadname: R, flags: PadLinkCheck) -> bool { + fn link_pads_full<'a, 'b, P: Into>, Q: IsA, R: Into>>(&self, srcpadname: P, dest: &Q, destpadname: R, flags: PadLinkCheck) -> Result<(), glib::error::BoolError> { let srcpadname = srcpadname.into(); let srcpadname = srcpadname.to_glib_none(); let destpadname = destpadname.into(); let destpadname = destpadname.to_glib_none(); unsafe { - from_glib(ffi::gst_element_link_pads_full(self.to_glib_none().0, srcpadname.0, dest.to_glib_none().0, destpadname.0, flags.to_glib())) + glib::error::BoolError::from_glib(ffi::gst_element_link_pads_full(self.to_glib_none().0, srcpadname.0, dest.to_glib_none().0, destpadname.0, flags.to_glib()), "Failed to link pads") } }