Make ffmpeg and ffplay exit 0 after displaying help
authorStefano Sabatini <stefano.sabatini-lala@poste.it>
Thu, 9 Aug 2007 12:13:29 +0000 (12:13 +0000)
committerBenoit Fouet <benoit.fouet@free.fr>
Thu, 9 Aug 2007 12:13:29 +0000 (12:13 +0000)
patch by Stefano Sabatini [stefano sabatini minus lala at poste it]

Originally committed as revision 10012 to svn://svn.ffmpeg.org/ffmpeg/trunk

ffmpeg.c
ffplay.c

index bb40175ce594d42e646896be3f496bc8381a03b5..7bae7257f78e9d60033de1959d00db61cf9f7779 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -3332,6 +3332,12 @@ static void opt_intra_matrix(const char *arg)
     parse_matrix_coeffs(intra_matrix, arg);
 }
 
+static void opt_show_help(void)
+{
+    show_help();
+    exit(0);
+}
+
 static void opt_target(const char *arg)
 {
     int norm = -1;
@@ -3585,7 +3591,7 @@ static int opt_default(const char *opt, const char *arg){
 const OptionDef options[] = {
     /* main options */
     { "L", 0, {(void*)show_license}, "show license" },
-    { "h", 0, {(void*)show_help}, "show help" },
+    { "h", 0, {(void*)opt_show_help}, "show help" },
     { "version", 0, {(void*)show_version}, "show version" },
     { "formats", 0, {(void*)show_formats}, "show available formats, codecs, protocols, ..." },
     { "f", HAS_ARG, {(void*)opt_format}, "force format", "fmt" },
@@ -3797,8 +3803,6 @@ static void show_help(void)
     av_opt_show(avctx_opts[0], NULL);
     av_opt_show(avformat_opts, NULL);
     av_opt_show(sws_opts, NULL);
-
-    exit(1);
 }
 
 void parse_arg_file(const char *filename)
@@ -3820,8 +3824,10 @@ int main(int argc, char **argv)
     sws_opts = sws_getContext(16,16,0, 16,16,0, sws_flags, NULL,NULL,NULL);
 
     show_banner();
-    if (argc <= 1)
+    if (argc <= 1) {
         show_help();
+        exit(1);
+    }
 
     /* parse options */
     parse_options(argc, argv, options);
index 9af066e9ed073793636aacee52ba26b2c4d765a5..426a2238bcd431060046228277a7fb8a871a7d40 100644 (file)
--- a/ffplay.c
+++ b/ffplay.c
@@ -2412,8 +2412,10 @@ static void opt_sync(const char *arg)
         av_sync_type = AV_SYNC_VIDEO_MASTER;
     else if (!strcmp(arg, "ext"))
         av_sync_type = AV_SYNC_EXTERNAL_CLOCK;
-    else
+    else {
         show_help();
+        exit(1);
+    }
 }
 
 static void opt_seek(const char *arg)
@@ -2440,8 +2442,14 @@ static void opt_thread_count(const char *arg)
 #endif
 }
 
+static void opt_show_help(void)
+{
+    show_help();
+    exit(0);
+}
+
 const OptionDef options[] = {
-    { "h", 0, {(void*)show_help}, "show help" },
+    { "h", 0, {(void*)opt_show_help}, "show help" },
     { "x", HAS_ARG, {(void*)opt_width}, "force displayed width", "width" },
     { "y", HAS_ARG, {(void*)opt_height}, "force displayed height", "height" },
     { "s", HAS_ARG | OPT_VIDEO, {(void*)opt_frame_size}, "set frame size (WxH or abbreviation)", "size" },
@@ -2499,7 +2507,6 @@ void show_help(void)
            "down/up             seek backward/forward 1 minute\n"
            "mouse click         seek to percentage in file corresponding to fraction of width\n"
            );
-    exit(1);
 }
 
 void parse_arg_file(const char *filename)
@@ -2519,8 +2526,10 @@ int main(int argc, char **argv)
 
     parse_options(argc, argv, options);
 
-    if (!input_filename)
+    if (!input_filename) {
         show_help();
+        exit(1);
+    }
 
     if (display_disable) {
         video_disable = 1;