[FFmpeg-cvslog] ffplay: Exit on ctrl-c.

Michael Niedermayer git at videolan.org
Tue Jan 10 00:30:36 CET 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon Jan  9 07:03:55 2012 +0100| [73f2cf4ed9d61d1fcd06d260a5d3f22131d2fb07] | committer: Marton Balint

ffplay: Exit on ctrl-c.

This allows to get out of ffplay if it or SDL got stuck.
This for example happens when the audio driver is playing something
else and doesnt support mixing multiple sources.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
Signed-off-by: Marton Balint <cus at passwd.hu>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=73f2cf4ed9d61d1fcd06d260a5d3f22131d2fb07
---

 ffplay.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/ffplay.c b/ffplay.c
index 1c4289c..bd7374a 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -27,6 +27,7 @@
 #include <inttypes.h>
 #include <math.h>
 #include <limits.h>
+#include <signal.h>
 #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);



More information about the ffmpeg-cvslog mailing list