@@ -56,15 +56,12 @@ use gstreamer_base::BaseSrcExt;
56
56
use gstreamer_gl:: GLContext ;
57
57
use gstreamer_gl:: GLContextExt ;
58
58
use gstreamer_gl:: GLContextExtManual ;
59
+ use gstreamer_gl:: GLSyncMeta ;
59
60
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;
62
61
use gstreamer_gl_sys:: gst_gl_texture_target_to_gl;
63
62
use gstreamer_gl_sys:: gst_is_gl_memory;
64
63
use gstreamer_gl_sys:: GstGLContext ;
65
64
use gstreamer_gl_sys:: GstGLMemory ;
66
- use gstreamer_gl_sys:: GstGLSyncMeta ;
67
- use gstreamer_sys:: gst_buffer_get_meta;
68
65
use gstreamer_video:: VideoInfo ;
69
66
70
67
use log:: debug;
@@ -757,12 +754,9 @@ impl BaseSrcImpl for ServoWebSrc {
757
754
task. result ?;
758
755
759
756
// 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) ;
766
760
}
767
761
768
762
// Wake up Servo
0 commit comments