diff options
author | Rodger Combs <rodger.combs@gmail.com> | 2015-07-01 14:14:26 -0500 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-07-06 15:40:13 +0200 |
commit | 2375a85c36c4941042e6ee58a31d6560bde91d37 (patch) | |
tree | 5188ba01ad33dc6bd65ad1f6fcedece8a5e316f8 /ffmpeg_opt.c | |
parent | 8234f0e3b485811d60c228c40a94a141c46e61ca (diff) | |
download | ffmpeg-2375a85c36c4941042e6ee58a31d6560bde91d37.tar.gz |
ffmpeg_opt: allow the user to ignore unused stream maps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'ffmpeg_opt.c')
-rw-r--r-- | ffmpeg_opt.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c index 048c3df944..a356cadab4 100644 --- a/ffmpeg_opt.c +++ b/ffmpeg_opt.c @@ -231,6 +231,7 @@ static int opt_map(void *optctx, const char *opt, const char *arg) int sync_file_idx = -1, sync_stream_idx = 0; char *p, *sync; char *map; + char *allow_unused; if (*arg == '-') { negative = 1; @@ -275,6 +276,8 @@ static int opt_map(void *optctx, const char *opt, const char *arg) exit_program(1); } } else { + if (allow_unused = strchr(map, '?')) + *allow_unused = 0; file_idx = strtol(map, &p, 0); if (file_idx >= nb_input_files || file_idx < 0) { av_log(NULL, AV_LOG_FATAL, "Invalid input file index: %d.\n", file_idx); @@ -312,8 +315,13 @@ static int opt_map(void *optctx, const char *opt, const char *arg) } if (!m) { - av_log(NULL, AV_LOG_FATAL, "Stream map '%s' matches no streams.\n", arg); - exit_program(1); + if (allow_unused) { + av_log(NULL, AV_LOG_VERBOSE, "Stream map '%s' matches no streams; ignoring.\n", arg); + } else { + av_log(NULL, AV_LOG_FATAL, "Stream map '%s' matches no streams.\n" + "To ignore this, add a trailing '?' to the map.\n", arg); + exit_program(1); + } } av_freep(&map); |