From aab1b7e56eac63be40e6a8454c1a4b8b644c495b Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Thu, 9 Aug 2007 12:13:29 +0000 Subject: [PATCH] Make ffmpeg and ffplay exit 0 after displaying help 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 | 14 ++++++++++---- ffplay.c | 17 +++++++++++++---- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/ffmpeg.c b/ffmpeg.c index bb40175ce5..7bae7257f7 100644 --- 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); diff --git a/ffplay.c b/ffplay.c index 9af066e9ed..426a2238bc 100644 --- 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;