diff --git a/ffplay.c b/ffplay.c index 1c4289c287..bd7374a3ff 100644 --- a/ffplay.c +++ b/ffplay.c @@ -27,6 +27,7 @@ #include #include #include +#include #include "libavutil/avstring.h" #include "libavutil/colorspace.h" #include "libavutil/mathematics.h" @@ -925,6 +926,11 @@ static void do_exit(VideoState *is) exit(0); } +static void sigterm_handler(int sig) +{ + exit(123); +} + static int video_open(VideoState *is, int force_set_video_mode) { int flags = SDL_HWSURFACE | SDL_ASYNCBLIT | SDL_HWACCEL; @@ -3182,6 +3188,9 @@ int main(int argc, char **argv) init_opts(); + signal(SIGINT , sigterm_handler); /* Interrupt (ANSI). */ + signal(SIGTERM, sigterm_handler); /* Termination (ANSI). */ + show_banner(argc, argv, options); parse_options(NULL, argc, argv, options, opt_input_file);