[vlc-commits] opengl: reorder renderers initialization

Romain Vimont git at videolan.org
Thu Feb 13 23:13:14 CET 2020


vlc | branch: master | Romain Vimont <rom1v at videolabs.io> | Fri Jan 31 15:44:25 2020 +0100| [91473ab80abc5edcce3b9b12e2cb7679c2c3c870] | committer: Jean-Baptiste Kempf

opengl: reorder renderers initialization

Initialize the main renderer, then the sub renderer.

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=91473ab80abc5edcce3b9b12e2cb7679c2c3c870
---

 modules/video_output/opengl/vout_helper.c | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/modules/video_output/opengl/vout_helper.c b/modules/video_output/opengl/vout_helper.c
index b7bb6bc363..d4a2eda148 100644
--- a/modules/video_output/opengl/vout_helper.c
+++ b/modules/video_output/opengl/vout_helper.c
@@ -240,16 +240,6 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
 
     bool b_dump_shaders = var_InheritInteger(gl, "verbose") >= 4;
 
-    vgl->sub_renderer =
-        vlc_gl_sub_renderer_New(gl, &vgl->vt, supports_npot);
-    if (!vgl->sub_renderer)
-    {
-        msg_Err(gl, "Could not create sub renderer");
-        free(vgl);
-        return NULL;
-    }
-
-    GL_ASSERT_NOERROR();
     struct vlc_gl_renderer *renderer = vgl->renderer =
         vlc_gl_renderer_New(gl, &vgl->vt, context, fmt, supports_npot,
                             b_dump_shaders);
@@ -257,7 +247,18 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
     {
         msg_Warn(gl, "Could not create renderer for %4.4s",
                  (const char *) &fmt->i_chroma);
-        vlc_gl_sub_renderer_Delete(vgl->sub_renderer);
+        free(vgl);
+        return NULL;
+    }
+
+    GL_ASSERT_NOERROR();
+
+    vgl->sub_renderer =
+        vlc_gl_sub_renderer_New(gl, &vgl->vt, supports_npot);
+    if (!vgl->sub_renderer)
+    {
+        msg_Err(gl, "Could not create sub renderer");
+        vlc_gl_renderer_Delete(vgl->renderer);
         free(vgl);
         return NULL;
     }



More information about the vlc-commits mailing list