[FFmpeg-devel] [PATCH] ffmpeg_opt: allow the user to ignore unused stream maps
Rodger Combs
rodger.combs at gmail.com
Wed Jul 1 21:14:26 CEST 2015
---
ffmpeg_opt.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c
index 5c2bd48..d374d89 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);
--
2.4.1
More information about the ffmpeg-devel
mailing list