[vlc-devel] [PATCH] caopengllayer: do not return an error when crop/zoom/aspect/etc fail

Steve Lhomme robux4 at ycbcr.xyz
Thu Oct 24 11:22:33 CEST 2019


Otherwise the core will call VOUT_DISPLAY_RESET_PICTURES which we don't support.

This is what is done in macosx.m when vlc_gl_MakeCurrent() fails.
---
 modules/video_output/caopengllayer.m | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/modules/video_output/caopengllayer.m b/modules/video_output/caopengllayer.m
index 3b542d1e637..57af6a01ff0 100644
--- a/modules/video_output/caopengllayer.m
+++ b/modules/video_output/caopengllayer.m
@@ -343,8 +343,9 @@ static int Control (vout_display_t *vd, int query, va_list ap)
 
             vout_display_place_t place;
             vout_display_PlacePicture(&place, &vd->source, &cfg_tmp);
-            if (OpenglLock(sys->gl))
-                return VLC_EGENERIC;
+            if (unlikely(OpenglLock(sys->gl)))
+                // don't return an error or we need to handle VOUT_DISPLAY_RESET_PICTURES
+                return VLC_SUCCESS;
 
             vout_display_opengl_SetWindowAspectRatio(sys->vgl, (float)place.width / place.height);
             OpenglUnlock(sys->gl);
-- 
2.17.1



More information about the vlc-devel mailing list