diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-10-16 16:25:05 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-10-18 14:35:19 +0200 |
commit | 87a028a0a4d32efa2b11133b52f65cdc0e87f93b (patch) | |
tree | b92830c6af816a9e3ffc1869327354611ad5e242 /ext | |
parent | 28fe3f7888bcbad7da159e5c3a2fbc2ac7e39151 (diff) | |
download | gstreamer-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.c | 12 |
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); |