This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 41bd67b9fd337b5c4c7f35c4bd662bb487cc6d9b Author: Niklas Haas <[email protected]> AuthorDate: Sat Dec 20 16:43:40 2025 +0100 Commit: Niklas Haas <[email protected]> CommitDate: Tue Feb 3 12:00:31 2026 +0100 fftools/ffmpeg_sched: fix race on SchFilterIn.send_finished This logic was previously added to the scheduler. That commit added locking (and rescheduling) when updating the corresponding `receive_finished` flag, but missed doing the same for `send_finished`. Fixes: fd1fd5850de4f3beb240422b67889bb776b26c77 --- fftools/ffmpeg_sched.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fftools/ffmpeg_sched.c b/fftools/ffmpeg_sched.c index 0d820acb8e..237f1830df 100644 --- a/fftools/ffmpeg_sched.c +++ b/fftools/ffmpeg_sched.c @@ -2297,6 +2297,8 @@ static int send_to_filter(Scheduler *sch, SchFilterGraph *fg, if (frame) return tq_send(fg->queue, in_idx, frame); + pthread_mutex_lock(&sch->schedule_lock); + if (!fg->inputs[in_idx].send_finished) { fg->inputs[in_idx].send_finished = 1; tq_send_finish(fg->queue, in_idx); @@ -2304,7 +2306,11 @@ static int send_to_filter(Scheduler *sch, SchFilterGraph *fg, // close the control stream when all actual inputs are done if (atomic_fetch_add(&fg->nb_inputs_finished_send, 1) == fg->nb_inputs - 1) tq_send_finish(fg->queue, fg->nb_inputs); + + schedule_update_locked(sch); } + + pthread_mutex_unlock(&sch->schedule_lock); return 0; } _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
