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:22:47 +0200 |
commit | 54fe00f54abed31bc80af3d39c1b8d56289418d3 (patch) | |
tree | 25584b665867b3ef411843983793c036760f2df7 | |
parent | 34755d7f8d47027ac8302e9fb5524d8e9888ab03 (diff) |
eglglessink: Make sure to always reset the display region in start()
-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); |