summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Dufresne <nicolas.dufresne@collabora.com>2015-08-15 14:31:15 +0200
committerNicolas Dufresne <nicolas.dufresne@collabora.com>2015-08-15 15:55:08 +0200
commitf935b2c547e3ed91c2bf3301926273891bd110b5 (patch)
tree6ff6b1610d02b05b7cf00d67343ee71b1dc5449f
parent74486ab7e17385655d4fa01367afe661a1cb9d93 (diff)
downloadgstreamer-plugins-bad-f935b2c547e3ed91c2bf3301926273891bd110b5.tar.gz
glsink: Enable sync meta on pools we offer
As the upload is asynchronous, we need to enable the sync meta to gain correct rendering. The buffer pool receiver don't know about that.
-rw-r--r--ext/gl/gstglimagesink.c2
-rw-r--r--ext/gtk/gstgtkglsink.c3
-rw-r--r--gst-libs/gst/gl/gstglupload.c2
3 files changed, 7 insertions, 0 deletions
diff --git a/ext/gl/gstglimagesink.c b/ext/gl/gstglimagesink.c
index ae10c4213..febad5de2 100644
--- a/ext/gl/gstglimagesink.c
+++ b/ext/gl/gstglimagesink.c
@@ -1576,6 +1576,8 @@ gst_glimage_sink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
pool = gst_gl_buffer_pool_new (glimage_sink->context);
config = gst_buffer_pool_get_config (pool);
gst_buffer_pool_config_set_params (config, caps, size, 0, 0);
+ gst_buffer_pool_config_add_option (config,
+ GST_BUFFER_POOL_OPTION_GL_SYNC_META);
if (!gst_buffer_pool_set_config (pool, config)) {
g_object_unref (pool);
diff --git a/ext/gtk/gstgtkglsink.c b/ext/gtk/gstgtkglsink.c
index 16797d32c..d59880c53 100644
--- a/ext/gtk/gstgtkglsink.c
+++ b/ext/gtk/gstgtkglsink.c
@@ -249,6 +249,9 @@ gst_gtk_gl_sink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
config = gst_buffer_pool_get_config (pool);
gst_buffer_pool_config_set_params (config, caps, size, 0, 0);
+ gst_buffer_pool_config_add_option (config,
+ GST_BUFFER_POOL_OPTION_GL_SYNC_META);
+
if (!gst_buffer_pool_set_config (pool, config))
goto config_failed;
diff --git a/gst-libs/gst/gl/gstglupload.c b/gst-libs/gst/gl/gstglupload.c
index 9374c7ae6..926191410 100644
--- a/gst-libs/gst/gl/gstglupload.c
+++ b/gst-libs/gst/gl/gstglupload.c
@@ -231,6 +231,8 @@ _gl_memory_upload_propose_allocation (gpointer impl, GstQuery * decide_query,
/* the normal size of a frame */
size = info.size;
gst_buffer_pool_config_set_params (config, caps, size, 0, 0);
+ gst_buffer_pool_config_add_option (config,
+ GST_BUFFER_POOL_OPTION_GL_SYNC_META);
if (!gst_buffer_pool_set_config (pool, config)) {
gst_object_unref (pool);