[FFmpeg-cvslog] r13231 - in trunk: cmdutils.c cmdutils.h ffmpeg.c

michael subversion
Thu May 22 01:27:50 CEST 2008


Author: michael
Date: Thu May 22 01:27:50 2008
New Revision: 13231

Log:
OPT_EXIT


Modified:
   trunk/cmdutils.c
   trunk/cmdutils.h
   trunk/ffmpeg.c

Modified: trunk/cmdutils.c
==============================================================================
--- trunk/cmdutils.c	(original)
+++ trunk/cmdutils.c	Thu May 22 01:27:50 2008
@@ -149,6 +149,8 @@ unknown_opt:
             } else {
                 po->u.func_arg(arg);
             }
+            if(po->flags & OPT_EXIT)
+                exit(0);
         } else {
             if (parse_arg_function)
                 parse_arg_function(opt);

Modified: trunk/cmdutils.h
==============================================================================
--- trunk/cmdutils.h	(original)
+++ trunk/cmdutils.h	Thu May 22 01:27:50 2008
@@ -70,6 +70,7 @@ typedef struct {
 #define OPT_SUBTITLE 0x0200
 #define OPT_FUNC2  0x0400
 #define OPT_INT64  0x0800
+#define OPT_EXIT   0x1000
      union {
         void (*func_arg)(const char *); //FIXME passing error code as int return would be nicer then exit() in the func
         int *int_arg;

Modified: trunk/ffmpeg.c
==============================================================================
--- trunk/ffmpeg.c	(original)
+++ trunk/ffmpeg.c	Thu May 22 01:27:50 2008
@@ -3499,7 +3499,6 @@ static void opt_show_formats(void)
 "even though both encoding and decoding are supported. For example, the h263\n"
 "decoder corresponds to the h263 and h263p encoders, for file formats it is even\n"
 "worse.\n");
-    av_exit(0);
 }
 
 static void parse_matrix_coeffs(uint16_t *dest, const char *str)
@@ -3574,12 +3573,6 @@ static void show_help(void)
     av_opt_show(sws_opts, NULL);
 }
 
-static void opt_show_help(void)
-{
-    show_help();
-    av_exit(0);
-}
-
 static void opt_target(const char *arg)
 {
     int norm = -1;
@@ -3763,12 +3756,6 @@ static int opt_bsf(const char *opt, cons
     return 0;
 }
 
-static void opt_show_license(void)
-{
-    show_license();
-    av_exit(0);
-}
-
 static void opt_show_version(void)
 {
     show_version(program_name);
@@ -3777,10 +3764,10 @@ static void opt_show_version(void)
 
 static const OptionDef options[] = {
     /* main options */
-    { "L", 0, {(void*)opt_show_license}, "show license" },
-    { "h", 0, {(void*)opt_show_help}, "show help" },
+    { "L", OPT_EXIT, {(void*)show_license}, "show license" },
+    { "h", OPT_EXIT, {(void*)show_help}, "show help" },
     { "version", 0, {(void*)opt_show_version}, "show version" },
-    { "formats", 0, {(void*)opt_show_formats}, "show available formats, codecs, protocols, ..." },
+    { "formats", OPT_EXIT, {(void*)opt_show_formats}, "show available formats, codecs, protocols, ..." },
     { "f", HAS_ARG, {(void*)opt_format}, "force format", "fmt" },
     { "i", HAS_ARG, {(void*)opt_input_file}, "input file name", "filename" },
     { "y", OPT_BOOL, {(void*)&file_overwrite}, "overwrite output files" },




More information about the ffmpeg-cvslog mailing list