diff options
author | Matthew Waters <matthew@centricular.com> | 2015-05-19 16:14:39 +1000 |
---|---|---|
committer | Matthew Waters <matthew@centricular.com> | 2015-05-20 00:36:48 +1000 |
commit | 81e46e8b75ead396b4fcc1a155f027a33979c821 (patch) | |
tree | b1185d94d9d07897b2e6455f05e4af3a9738efbc /gst-libs | |
parent | 2747eb123284ac359e00ae71246566f2a508454c (diff) | |
download | gstreamer-plugins-bad-81e46e8b75ead396b4fcc1a155f027a33979c821.tar.gz |
glsyncmeta: ensure that the Fence is going to be executed
Otherwise it could stay client side without being submitted to the GL
server resulting in another context waiting on a Fence that will never
become signalled causing a deadlock.
Diffstat (limited to 'gst-libs')
-rw-r--r-- | gst-libs/gst/gl/gstglsyncmeta.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/gst-libs/gst/gl/gstglsyncmeta.c b/gst-libs/gst/gl/gstglsyncmeta.c index db48f02cf..be275da81 100644 --- a/gst-libs/gst/gl/gstglsyncmeta.c +++ b/gst-libs/gst/gl/gstglsyncmeta.c @@ -68,9 +68,8 @@ _set_sync_point (GstGLContext * context, GstGLSyncMeta * sync_meta) gl->DeleteSync (sync_meta->glsync); sync_meta->glsync = gl->FenceSync (GL_SYNC_GPU_COMMANDS_COMPLETE, 0); GST_LOG ("setting sync object %p", sync_meta->glsync); - } else { - gl->Flush (); } + gl->Flush (); } void @@ -100,9 +99,6 @@ _wait (GstGLContext * context, GstGLSyncMeta * sync_meta) void gst_gl_sync_meta_wait (GstGLSyncMeta * sync_meta, GstGLContext * context) { - if (sync_meta->context == context) - return; - if (sync_meta->glsync) { gst_gl_context_thread_add (context, (GstGLContextThreadFunc) _wait, sync_meta); |