aboutsummaryrefslogtreecommitdiffstats
path: root/ports
diff options
context:
space:
mode:
authorAlan Jeffrey <ajeffrey@mozilla.com>2019-12-20 12:13:31 -0600
committerAlan Jeffrey <ajeffrey@mozilla.com>2019-12-20 12:13:31 -0600
commit14e0c6ad0562717d496c9d898a870a4338a4b935 (patch)
treeb32de416dd51679f4a0e1bcc1f61f83b202c6907 /ports
parent03ec414d88a768c0d8229f7ebcfc620b492ca0e9 (diff)
downloadservo-14e0c6ad0562717d496c9d898a870a4338a4b935.tar.gz
servo-14e0c6ad0562717d496c9d898a870a4338a4b935.zip
Use gstreamer_gl metadata
Diffstat (limited to 'ports')
-rw-r--r--ports/gstplugin/servowebsrc.rs14
1 files changed, 4 insertions, 10 deletions
diff --git a/ports/gstplugin/servowebsrc.rs b/ports/gstplugin/servowebsrc.rs
index 6fd0a4467a8..fc2320ad0ba 100644
--- a/ports/gstplugin/servowebsrc.rs
+++ b/ports/gstplugin/servowebsrc.rs
@@ -56,15 +56,12 @@ use gstreamer_base::BaseSrcExt;
use gstreamer_gl::GLContext;
use gstreamer_gl::GLContextExt;
use gstreamer_gl::GLContextExtManual;
+use gstreamer_gl::GLSyncMeta;
use gstreamer_gl_sys::gst_gl_context_thread_add;
-use gstreamer_gl_sys::gst_gl_sync_meta_api_get_type;
-use gstreamer_gl_sys::gst_gl_sync_meta_set_sync_point;
use gstreamer_gl_sys::gst_gl_texture_target_to_gl;
use gstreamer_gl_sys::gst_is_gl_memory;
use gstreamer_gl_sys::GstGLContext;
use gstreamer_gl_sys::GstGLMemory;
-use gstreamer_gl_sys::GstGLSyncMeta;
-use gstreamer_sys::gst_buffer_get_meta;
use gstreamer_video::VideoInfo;
use log::debug;
@@ -757,12 +754,9 @@ impl BaseSrcImpl for ServoWebSrc {
task.result?;
// Put down a GL sync point if needed
- let gst_buffer = buffer.to_glib_none();
- let sync_meta_type = unsafe { gst_gl_sync_meta_api_get_type() };
- let sync_meta =
- unsafe { gst_buffer_get_meta(gst_buffer.0, sync_meta_type) } as *mut GstGLSyncMeta;
- if !sync_meta.is_null() {
- unsafe { gst_gl_sync_meta_set_sync_point(sync_meta, gl_memory.mem.context) };
+ if let Some(meta) = buffer.get_meta::<GLSyncMeta>() {
+ let gl_context = unsafe { GLContext::from_glib_borrow(gl_memory.mem.context) };
+ meta.set_sync_point(&gl_context);
}
// Wake up Servo