diff --git a/gstreamer/src/miniobject.rs b/gstreamer/src/miniobject.rs index 90954588e..d0c65c6df 100644 --- a/gstreamer/src/miniobject.rs +++ b/gstreamer/src/miniobject.rs @@ -34,7 +34,7 @@ impl GstRc { ffi::gst_mini_object_ref(ptr as *mut ffi::GstMiniObject); GstRc { - obj: T::from_mut_ptr(ptr as *mut T::GstType) as *mut T, + obj: ptr as *mut T::GstType as *mut T, borrowed: false, phantom: PhantomData, } @@ -44,7 +44,7 @@ impl GstRc { assert!(!ptr.is_null()); GstRc { - obj: T::from_mut_ptr(ptr as *mut T::GstType) as *mut T, + obj: ptr as *mut T::GstType as *mut T, borrowed: false, phantom: PhantomData, } @@ -54,7 +54,7 @@ impl GstRc { assert!(!ptr.is_null()); GstRc { - obj: T::from_mut_ptr(ptr as *mut T::GstType) as *mut T, + obj: ptr as *mut T::GstType as *mut T, borrowed: true, phantom: PhantomData, } @@ -186,6 +186,7 @@ where unsafe fn from_mut_ptr<'a>(ptr: *mut Self::GstType) -> &'a mut Self { assert!(!ptr.is_null()); + assert_ne!(ffi::gst_mini_object_is_writable(ptr as *mut ffi::GstMiniObject), glib_ffi::GFALSE); &mut *(ptr as *mut Self) }