[vlc-commits] [Git][videolan/vlc][master] decoder: SubDecs also need to be paced by the input

Steve Lhomme (@robUx4) gitlab at videolan.org
Mon Sep 30 12:17:24 UTC 2024



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
9e107ac6 by Thomas Guillem at 2024-09-30T11:58:03+00:00
decoder: SubDecs also need to be paced by the input

Otherwise, a subdec can start rendering while other decoders wait for
the end of the buffering.

- - - - -


1 changed file:

- src/input/decoder.c


Changes:

=====================================
src/input/decoder.c
=====================================
@@ -2647,8 +2647,7 @@ void vlc_input_decoder_ChangeDelay( vlc_input_decoder_t *owner, vlc_tick_t delay
 
 void vlc_input_decoder_StartWait( vlc_input_decoder_t *p_owner )
 {
-    if( p_owner->master_dec != NULL /* SubDecs are paced by their master */
-     || vlc_input_decoder_IsSynchronous( p_owner ) )
+    if ( vlc_input_decoder_IsSynchronous( p_owner ) )
         return;
 
     assert( !p_owner->b_waiting );
@@ -2663,8 +2662,7 @@ void vlc_input_decoder_StartWait( vlc_input_decoder_t *p_owner )
 
 void vlc_input_decoder_StopWait( vlc_input_decoder_t *p_owner )
 {
-    if( p_owner->master_dec != NULL /* SubDecs are paced by their master */
-     || vlc_input_decoder_IsSynchronous( p_owner ) )
+    if ( vlc_input_decoder_IsSynchronous( p_owner ) )
         return;
 
     vlc_fifo_Lock(p_owner->p_fifo);
@@ -2676,12 +2674,8 @@ void vlc_input_decoder_StopWait( vlc_input_decoder_t *p_owner )
 
 void vlc_input_decoder_Wait( vlc_input_decoder_t *p_owner )
 {
-    if( p_owner->master_dec != NULL /* SubDecs are paced by their master */
-     || vlc_input_decoder_IsSynchronous( p_owner ) )
-    {
-        /* Nothing to wait for. There's no decoder thread running. */
+    if ( vlc_input_decoder_IsSynchronous( p_owner ) )
         return;
-    }
     assert( p_owner->b_waiting );
 
     vlc_fifo_Lock(p_owner->p_fifo);



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/9e107ac696f9fa826188fb0db445c5101d1426c1

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/9e107ac696f9fa826188fb0db445c5101d1426c1
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list