summaryrefslogtreecommitdiff
path: root/ext/gl
diff options
context:
space:
mode:
authorMatthew Waters <matthew@centricular.com>2015-11-05 00:13:01 +1100
committerMatthew Waters <matthew@centricular.com>2015-11-10 15:42:35 +1100
commit0602539f1b79a3c48b313b1754cd1ab688bb66e7 (patch)
treedc1ee8ec2eb4b91e7264565749cebdc0a918b14e /ext/gl
parentdf69943726566a3dda0dac9625b1a328c58bf645 (diff)
downloadgstreamer-plugins-bad-0602539f1b79a3c48b313b1754cd1ab688bb66e7.tar.gz
glimagesink: wait on the provided sync meta provided to glimagesink
Diffstat (limited to 'ext/gl')
-rw-r--r--ext/gl/gstglimagesink.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/gl/gstglimagesink.c b/ext/gl/gstglimagesink.c
index b6a78ec49..a84ab36f8 100644
--- a/ext/gl/gstglimagesink.c
+++ b/ext/gl/gstglimagesink.c
@@ -1386,6 +1386,7 @@ static GstFlowReturn
gst_glimage_sink_prepare (GstBaseSink * bsink, GstBuffer * buf)
{
GstGLImageSink *glimage_sink;
+ GstGLSyncMeta *sync_meta;
GstBuffer **target;
GstBuffer *old_input;
@@ -1414,6 +1415,10 @@ gst_glimage_sink_prepare (GstBaseSink * bsink, GstBuffer * buf)
if (glimage_sink->output_mode_changed)
update_output_format (glimage_sink);
+ sync_meta = gst_buffer_get_gl_sync_meta (buf);
+ if (sync_meta)
+ gst_gl_sync_meta_wait (sync_meta, glimage_sink->context);
+
if (!prepare_next_buffer (glimage_sink)) {
GST_GLIMAGE_SINK_UNLOCK (glimage_sink);
if (old_input)