From b9adbf0fcc26e04a0f291c9f8857affb4540a6e3 Mon Sep 17 00:00:00 2001 From: Patrick Wang Date: Fri, 29 Aug 2025 02:58:16 +0800 Subject: [PATCH] fftools/ffmpeg: fix gracefully shutdown d119ae2fd82a494d9430ff4d4fc262961a68c598 removed the loop-breaking condition received_sigterm. Thus, signals no longer gracefully shutdown ffmpeg. Fixes: #10834 Signed-off-by: Patrick Wang Signed-off-by: Michael Niedermayer (cherry picked from commit d7173e982ec815dcf70999c8683c465b99ce249c) --- fftools/ffmpeg.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index de607cac93..cbeefb71d6 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -806,8 +806,6 @@ static int check_keyboard_interaction(int64_t cur_time) { int i, key; static int64_t last_time; - if (received_nb_signals) - return AVERROR_EXIT; /* read_key() returns 0 on EOF */ if (cur_time - last_time >= 100000) { key = read_key(); @@ -891,6 +889,9 @@ static int transcode(Scheduler *sch) while (!sch_wait(sch, stats_period, &transcode_ts)) { int64_t cur_time= av_gettime_relative(); + if (received_nb_signals) + break; + /* if 'q' pressed, exits */ if (stdin_interaction) if (check_keyboard_interaction(cur_time) < 0)