提交 a1217548 编写于 作者: M Martin Storsjö

ffmpeg: Don't trigger url_interrupt_cb on the first signal

Currently, the url_interrupt_cb callback will abort all IO
after the first received signal. This makes the output files
from e.g. the mov muxer to be unreadable if the transcode is
aborted with ctrl+c.

After this patch, the first signal cleanly breaks out of
the transcoding loop, but won't forcibly abort all IO.
After the second signal is received, the url_interrupt_cb
callback will abort all IO.
Signed-off-by: NMartin Storsjö <martin@martin.st>
上级 8089b7fa
......@@ -426,11 +426,13 @@ static void term_exit(void)
}
static volatile int received_sigterm = 0;
static volatile int received_nb_signals = 0;
static void
sigterm_handler(int sig)
{
received_sigterm = sig;
received_nb_signals++;
term_exit();
}
......@@ -445,7 +447,7 @@ static void term_init(void)
static int decode_interrupt_cb(void)
{
return received_sigterm;
return received_nb_signals > 1;
}
static int ffmpeg_exit(int ret)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册