Skip to content

Commit 14e0c6a

Browse files
author
Alan Jeffrey
committed
Use gstreamer_gl metadata
1 parent 03ec414 commit 14e0c6a

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

ports/gstplugin/servowebsrc.rs

+4-10
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,12 @@ use gstreamer_base::BaseSrcExt;
5656
use gstreamer_gl::GLContext;
5757
use gstreamer_gl::GLContextExt;
5858
use gstreamer_gl::GLContextExtManual;
59+
use gstreamer_gl::GLSyncMeta;
5960
use gstreamer_gl_sys::gst_gl_context_thread_add;
60-
use gstreamer_gl_sys::gst_gl_sync_meta_api_get_type;
61-
use gstreamer_gl_sys::gst_gl_sync_meta_set_sync_point;
6261
use gstreamer_gl_sys::gst_gl_texture_target_to_gl;
6362
use gstreamer_gl_sys::gst_is_gl_memory;
6463
use gstreamer_gl_sys::GstGLContext;
6564
use gstreamer_gl_sys::GstGLMemory;
66-
use gstreamer_gl_sys::GstGLSyncMeta;
67-
use gstreamer_sys::gst_buffer_get_meta;
6865
use gstreamer_video::VideoInfo;
6966

7067
use log::debug;
@@ -757,12 +754,9 @@ impl BaseSrcImpl for ServoWebSrc {
757754
task.result?;
758755

759756
// Put down a GL sync point if needed
760-
let gst_buffer = buffer.to_glib_none();
761-
let sync_meta_type = unsafe { gst_gl_sync_meta_api_get_type() };
762-
let sync_meta =
763-
unsafe { gst_buffer_get_meta(gst_buffer.0, sync_meta_type) } as *mut GstGLSyncMeta;
764-
if !sync_meta.is_null() {
765-
unsafe { gst_gl_sync_meta_set_sync_point(sync_meta, gl_memory.mem.context) };
757+
if let Some(meta) = buffer.get_meta::<GLSyncMeta>() {
758+
let gl_context = unsafe { GLContext::from_glib_borrow(gl_memory.mem.context) };
759+
meta.set_sync_point(&gl_context);
766760
}
767761

768762
// Wake up Servo

0 commit comments

Comments
 (0)