allows thread safely using the provided output buffer in a separate
thread
const GstGLFuncs *gl = NULL;
GstGLWindow *window = NULL;
gboolean do_redisplay;
+ GstGLSyncMeta *sync_meta;
g_return_if_fail (GST_IS_GLIMAGE_SINK (gl_sink));
gl_sink->caps_change = FALSE;
}
+ sync_meta = gst_buffer_get_gl_sync_meta (gl_sink->stored_buffer);
+ if (sync_meta)
+ gst_gl_sync_meta_wait (sync_meta);
+
/* make sure that the environnement is clean */
gst_gl_context_clear_shader (gl_sink->context);
convert->outbuf = NULL;
}
+ if (convert->outbuf) {
+ GstGLSyncMeta *sync_meta =
+ gst_buffer_add_gl_sync_meta (convert->context, convert->outbuf);
+
+ if (sync_meta)
+ gst_gl_sync_meta_set_sync_point (sync_meta, convert->context);
+ }
+
convert->priv->result = res;
return;
}