This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit 424dcc89a3bed93aef6f7f317ec514980d13f19f
Author:     Niklas Haas <[email protected]>
AuthorDate: Mon Aug 31 17:41:04 2026 +0200
Commit:     Niklas Haas <[email protected]>
CommitDate: Mon Sep 21 14:23:20 2026 +0000

    fftools/thread_queue: unblock writers as soon as FIFO is no longer full
    
    With the thundering herd problem resolved, there's no more reason to
    wait until the FIFO is empty before unblocking the writers.
    
    In practice, this means that in a downstream-throttled scenario, we will
    always wake up exactly the decoder that we just read from.
    
    Sponsored-by: nxtedition AB
    Signed-off-by: Niklas Haas <[email protected]>
---
 fftools/thread_queue.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fftools/thread_queue.c b/fftools/thread_queue.c
index ed70ce582a..af112810c6 100644
--- a/fftools/thread_queue.c
+++ b/fftools/thread_queue.c
@@ -200,8 +200,8 @@ static int receive_locked(ThreadQueue *tq, int *stream_idx,
         ret = av_fifo_read(tq->fifo_stream_index, &idx, 1);
         av_assert0(ret >= 0);
 
-        // signal upstream if the fifo is empty
-        if (--tq->stream_count[idx] == 0)
+        // signal upstream if the fifo is no longer full
+        if (tq->stream_count[idx]-- == tq->queue_size)
             pthread_cond_broadcast(&tq->cond_write[idx]);
 
         if (tq->finished[idx] & FINISHED_RECV) {

-- 
To stop receiving notification emails like this one, please contact
[email protected].
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to