[vlc-commits] [Git][videolan/vlc][master] decoder: fix possible and recent drained miss

Steve Lhomme (@robUx4) gitlab at videolan.org
Sat Nov 29 12:03:40 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
0bec04f0 by Thomas Guillem at 2025-11-29T11:39:05+00:00
decoder: fix possible and recent drained miss

Regression from 5eb0c9c48312bfb57bdf174c071a7f984f4ef7fe

`draining` should be checked from `vlc_input_decoder_IsDrainedLocked()`.

- - - - -


1 changed file:

- src/input/decoder.c


Changes:

=====================================
src/input/decoder.c
=====================================
@@ -2490,7 +2490,9 @@ static bool vlc_input_decoder_IsDrainedLocked(vlc_input_decoder_t *owner)
 {
     vlc_fifo_Assert(owner->p_fifo);
 
-    if (owner->p_sout_input != NULL)
+    if (owner->b_draining)
+        return false;
+    else if (owner->p_sout_input != NULL)
         return true;
     else if (owner->fmt.i_cat == VIDEO_ES && owner->video.vout != NULL)
         return vout_IsEmpty(owner->video.vout);
@@ -2503,7 +2505,7 @@ static bool vlc_input_decoder_IsDrainedLocked(vlc_input_decoder_t *owner)
 bool vlc_input_decoder_IsDrained(vlc_input_decoder_t *owner)
 {
     vlc_fifo_Lock(owner->p_fifo);
-    bool drained = !owner->b_draining && vlc_input_decoder_IsDrainedLocked(owner);
+    bool drained = vlc_input_decoder_IsDrainedLocked(owner);
     vlc_fifo_Unlock(owner->p_fifo);
     return drained;
 }



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/0bec04f0e10562419cec05cddfc75ae3fb8f29d0

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/0bec04f0e10562419cec05cddfc75ae3fb8f29d0
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