diff --git a/gstreamer-video/src/video_frame.rs b/gstreamer-video/src/video_frame.rs index 754b341bd..df097ad6a 100644 --- a/gstreamer-video/src/video_frame.rs +++ b/gstreamer-video/src/video_frame.rs @@ -157,6 +157,12 @@ impl VideoFrame { )) } } + + pub unsafe fn from_glib_full(frame: ffi::GstVideoFrame) -> Self { + let info = ::VideoInfo(ptr::read(&frame.info)); + let buffer = gst::Buffer::from_glib_none(frame.buffer); + VideoFrame(frame, Some(buffer), info, PhantomData) + } } impl Drop for VideoFrame {