avconv: add -n option to immediately exit when output files already exist
authorVittorio Giovara <vittorio.giovara@gmail.com>
Wed, 31 Jul 2013 12:48:49 +0000 (14:48 +0200)
committerMartin Storsjö <martin@martin.st>
Wed, 31 Jul 2013 19:28:54 +0000 (22:28 +0300)
Signed-off-by: Martin Storsjö <martin@martin.st>
Changelog
avconv_opt.c
doc/avconv.texi

index faf03931665f9380b21f03d8e200888e39ab421a..37e5a60619b6ecf015888056dfe9637f1d998e95 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -25,6 +25,7 @@ version 10:
 - support for WavPack muxing (raw and in Matroska)
 - Go2Webinar decoder
 - WavPack encoding through libwavpack
+- Added the -n parameter to avconv
 
 
 version 9:
index 96ec0d34778a7c11ca415003d34217eee73ac5e7..f96feced9a0e1911426de3dd44414251da19855f 100644 (file)
@@ -71,6 +71,7 @@ int print_stats       = 1;
 int qp_hist           = 0;
 
 static int file_overwrite     = 0;
+static int file_skip          = 0;
 static int video_discard      = 0;
 static int intra_dc_precision = 8;
 static int using_stdin        = 0;
@@ -508,11 +509,16 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
 
 static void assert_file_overwrite(const char *filename)
 {
+    if (file_overwrite && file_skip) {
+        fprintf(stderr, "Error, both -y and -n supplied. Exiting.\n");
+        exit_program(1);
+    }
+
     if (!file_overwrite &&
         (strchr(filename, ':') == NULL || filename[1] == ':' ||
          av_strstart(filename, "file:", NULL))) {
         if (avio_check(filename, 0) == 0) {
-            if (!using_stdin) {
+            if (!using_stdin && !file_skip) {
                 fprintf(stderr,"File '%s' already exists. Overwrite ? [y/N] ", filename);
                 fflush(stderr);
                 if (!read_yesno()) {
@@ -2113,6 +2119,8 @@ const OptionDef options[] = {
         "force format", "fmt" },
     { "y",              OPT_BOOL,                                    {              &file_overwrite },
         "overwrite output files" },
+    { "n",              OPT_BOOL,                                    {              &file_skip },
+        "never overwrite output files" },
     { "c",              HAS_ARG | OPT_STRING | OPT_SPEC |
                         OPT_INPUT | OPT_OUTPUT,                      { .off       = OFFSET(codec_names) },
         "codec name", "codec" },
index 18424226103c2e8ff5cb94dc43f2bd01f40cdf05..940c18896ba5c7aa976b217ef84749d2ff15b5aa 100644 (file)
@@ -233,6 +233,9 @@ input file name
 @item -y (@emph{global})
 Overwrite output files without asking.
 
+@item -n (@emph{global})
+Immediately exit when output files already exist.
+
 @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