[vlc-devel] [PATCH] decoder: reset vout state only once

Thomas Guillem thomas at gllm.fr
Thu Mar 11 09:25:04 UTC 2021


Reset the vout state only if the new vout was just started.

Fixes assert(!sys->pause.is_on || !is_paused) on vout_ChangePause().
---
 src/input/decoder.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/input/decoder.c b/src/input/decoder.c
index be048188595..4d9b58e14b4 100644
--- a/src/input/decoder.c
+++ b/src/input/decoder.c
@@ -483,12 +483,14 @@ static int ModuleThread_UpdateVideoFormat( decoder_t *p_dec, vlc_video_context *
         p_owner->vout_started = true;
         vlc_mutex_unlock( &p_owner->lock );
 
-        vlc_fifo_Lock( p_owner->p_fifo );
-        p_owner->reset_out_state = true;
-        vlc_fifo_Unlock( p_owner->p_fifo );
-
         if (has_started)
+        {
+            vlc_fifo_Lock( p_owner->p_fifo );
+            p_owner->reset_out_state = true;
+            vlc_fifo_Unlock( p_owner->p_fifo );
+
             decoder_Notify(p_owner, on_vout_started, p_vout, p_owner->vout_order);
+        }
         return 0;
     }
 
-- 
2.30.0



More information about the vlc-devel mailing list