diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2011-11-24 21:42:42 +0100 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2011-11-24 21:42:42 +0100 |
commit | 0a4f02117b67c135a27e3490aea1631ad9f4312f (patch) | |
tree | 25646babb02476c6ac2e0f6d8c37c61beb1631ab | |
parent | 0232f788b6b0855db1771dbf8d7174e2eda2ff45 (diff) | |
download | ffmpeg-0a4f02117b67c135a27e3490aea1631ad9f4312f.tar.gz |
Add option -n to exit if output file exists.
-rw-r--r-- | avconv.c | 6 | ||||
-rw-r--r-- | doc/avconv.texi | 3 | ||||
-rw-r--r-- | doc/ffmpeg.texi | 3 | ||||
-rw-r--r-- | ffmpeg.c | 6 |
4 files changed, 14 insertions, 4 deletions
@@ -119,6 +119,7 @@ static int intra_dc_precision = 8; static int qp_hist = 0; static int file_overwrite = 0; +static int no_file_overwrite = 0; static int do_benchmark = 0; static int do_hex_dump = 0; static int do_pkt_dump = 0; @@ -3016,11 +3017,11 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic) static void assert_file_overwrite(const char *filename) { - if (!file_overwrite && + if ((!file_overwrite || no_file_overwrite) && (strchr(filename, ':') == NULL || filename[1] == ':' || av_strstart(filename, "file:", NULL))) { if (avio_check(filename, 0) == 0) { - if (!using_stdin) { + if (!using_stdin && (!no_file_overwrite || file_overwrite)) { fprintf(stderr,"File '%s' already exists. Overwrite ? [y/N] ", filename); fflush(stderr); if (!read_yesno()) { @@ -4268,6 +4269,7 @@ static const OptionDef options[] = { { "f", HAS_ARG | OPT_STRING | OPT_OFFSET, {.off = OFFSET(format)}, "force format", "fmt" }, { "i", HAS_ARG | OPT_FUNC2, {(void*)opt_input_file}, "input file name", "filename" }, { "y", OPT_BOOL, {(void*)&file_overwrite}, "overwrite output files" }, + { "n", OPT_BOOL, {(void*)&no_file_overwrite}, "do not overwrite output files" }, { "c", HAS_ARG | OPT_STRING | OPT_SPEC, {.off = OFFSET(codec_names)}, "codec name", "codec" }, { "codec", HAS_ARG | OPT_STRING | OPT_SPEC, {.off = OFFSET(codec_names)}, "codec name", "codec" }, { "pre", HAS_ARG | OPT_STRING | OPT_SPEC, {.off = OFFSET(presets)}, "preset name", "preset" }, diff --git a/doc/avconv.texi b/doc/avconv.texi index 53e9890022..854d7a597d 100644 --- a/doc/avconv.texi +++ b/doc/avconv.texi @@ -113,6 +113,9 @@ input file name @item -y (@emph{global}) Overwrite output files without asking. +@item -n (@emph{global}) +Do not overwrite output files but exit if file exists. + @item -c[:@var{stream_specifier}] @var{codec} (@emph{input/output,per-stream}) @itemx -codec[:@var{stream_specifier}] @var{codec} (@emph{input/output,per-stream}) Select an encoder (when used before an output file) or a decoder (when used diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi index 2fbfa44b0d..b0d3a459e0 100644 --- a/doc/ffmpeg.texi +++ b/doc/ffmpeg.texi @@ -94,6 +94,9 @@ input file name @item -y (@emph{global}) Overwrite output files without asking. +@item -n (@emph{global}) +Do not overwrite output files but exit if file exists. + @item -c[:@var{stream_specifier}] @var{codec} (@emph{input/output,per-stream}) @itemx -codec[:@var{stream_specifier}] @var{codec} (@emph{input/output,per-stream}) Select an encoder (when used before an output file) or a decoder (when used @@ -131,6 +131,7 @@ static const char *audio_codec_name = NULL; static const char *subtitle_codec_name = NULL; static int file_overwrite = 0; +static int no_file_overwrite = 0; static int do_benchmark = 0; static int do_hex_dump = 0; static int do_pkt_dump = 0; @@ -3247,11 +3248,11 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic) static void assert_file_overwrite(const char *filename) { - if (!file_overwrite && + if ((!file_overwrite || no_file_overwrite) && (strchr(filename, ':') == NULL || filename[1] == ':' || av_strstart(filename, "file:", NULL))) { if (avio_check(filename, 0) == 0) { - if (!using_stdin) { + if (!using_stdin && (!no_file_overwrite || file_overwrite)) { fprintf(stderr,"File '%s' already exists. Overwrite ? [y/N] ", filename); fflush(stderr); term_exit(); @@ -4619,6 +4620,7 @@ static const OptionDef options[] = { { "f", HAS_ARG | OPT_STRING | OPT_OFFSET, {.off = OFFSET(format)}, "force format", "fmt" }, { "i", HAS_ARG | OPT_FUNC2, {(void*)opt_input_file}, "input file name", "filename" }, { "y", OPT_BOOL, {(void*)&file_overwrite}, "overwrite output files" }, + { "n", OPT_BOOL, {(void*)&no_file_overwrite}, "do not overwrite output files" }, { "c", HAS_ARG | OPT_STRING | OPT_SPEC, {.off = OFFSET(codec_names)}, "codec name", "codec" }, { "codec", HAS_ARG | OPT_STRING | OPT_SPEC, {.off = OFFSET(codec_names)}, "codec name", "codec" }, { "pre", HAS_ARG | OPT_STRING | OPT_SPEC, {.off = OFFSET(presets)}, "preset name", "preset" }, |