[vlc-devel] [PATCH 02/48] video_output: split vout_Request to have a function to enable the vout window

Steve Lhomme robux4 at ycbcr.xyz
Fri Oct 11 15:33:16 CEST 2019


---
 src/video_output/video_output.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index be31598b3da..44b2fb503d3 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -1925,7 +1925,7 @@ vout_thread_t *vout_Hold(vout_thread_t *vout)
     return vout;
 }
 
-int vout_Request(const vout_configuration_t *cfg, input_thread_t *input)
+static int vout_EnableWindow(const vout_configuration_t *cfg)
 {
     vout_thread_t *vout = cfg->vout;
     vout_thread_sys_t *sys = vout->p;
@@ -1984,14 +1984,24 @@ int vout_Request(const vout_configuration_t *cfg, input_thread_t *input)
         sys->window_enabled = true;
     } else
         vout_UpdateWindowSizeLocked(vout);
+    vlc_mutex_unlock(&sys->window_lock);
+
+    return 0;
+}
+
+int vout_Request(const vout_configuration_t *cfg, input_thread_t *input)
+{
+    vout_thread_t *vout = cfg->vout;
+    vout_thread_sys_t *sys = vout->p;
+
+    if (vout_EnableWindow(cfg) != 0)
+        return -1;
 
     sys->delay = 0;
     sys->rate = 1.f;
     sys->clock = cfg->clock;
     sys->delay = 0;
 
-    vlc_mutex_unlock(&sys->window_lock);
-
     if (vout_Start(vout, cfg))
     {
         msg_Err(vout, "video output display creation failed");
-- 
2.17.1



More information about the vlc-devel mailing list