eglglessink: Always Reset display_region.* at EGL/GLES ctx wipe
authorReynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
Thu, 18 Oct 2012 04:45:51 +0000 (01:45 -0300)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 18 Oct 2012 12:35:20 +0000 (14:35 +0200)
ext/eglgles/gsteglglessink.c

index e268ff7..110c448 100644 (file)
@@ -687,6 +687,15 @@ gst_eglglessink_wipe_eglglesctx (GstEglGlesSink * eglglessink)
         eglglessink->eglglesctx.eglcontext);
     eglglessink->eglglesctx.eglcontext = NULL;
   }
+
+  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);
 }
 
 static gboolean
@@ -2026,15 +2035,6 @@ gst_eglglessink_configure_caps (GstEglGlesSink * eglglessink, GstCaps * caps)
     /* EGL/GLES cleanup */
     gst_eglglessink_wipe_eglglesctx (eglglessink);
 
-    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);
-
     gst_caps_unref (eglglessink->configured_caps);
     eglglessink->configured_caps = NULL;
   }