summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2012-10-16 16:25:05 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2012-10-18 14:35:19 +0200
commit87a028a0a4d32efa2b11133b52f65cdc0e87f93b (patch)
treeb92830c6af816a9e3ffc1869327354611ad5e242 /ext
parent28fe3f7888bcbad7da159e5c3a2fbc2ac7e39151 (diff)
downloadgstreamer-plugins-bad-87a028a0a4d32efa2b11133b52f65cdc0e87f93b.tar.gz
eglglessink: Make sure to always reset the display region in start()
Diffstat (limited to 'ext')
-rw-r--r--ext/eglgles/gsteglglessink.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/ext/eglgles/gsteglglessink.c b/ext/eglgles/gsteglglessink.c
index 2fbbf3bb8..ce2ee95c2 100644
--- a/ext/eglgles/gsteglglessink.c
+++ b/ext/eglgles/gsteglglessink.c
@@ -1140,8 +1140,7 @@ render_thread_func (GstEglGlesSink * eglglessink)
}
}
- if (!gst_eglglessink_context_make_current (eglglessink, FALSE))
- return FALSE;
+ gst_eglglessink_context_make_current (eglglessink, FALSE);
if (eglglessink->eglglesctx.surface) {
eglDestroySurface (eglglessink->eglglesctx.display,
@@ -1186,6 +1185,15 @@ gst_eglglessink_start (GstEglGlesSink * eglglessink)
goto HANDLE_ERROR;
}
+ GST_OBJECT_LOCK (eglglessink);
+ /* Reset display region
+ * XXX: Should probably keep old ones if set_render_rect()
+ * has been called.
+ */
+ eglglessink->display_region.w = 0;
+ eglglessink->display_region.h = 0;
+ GST_OBJECT_UNLOCK (eglglessink);
+
eglglessink->last_flow = GST_FLOW_OK;
gst_data_queue_set_flushing (eglglessink->queue, FALSE);