ffmpeg: support ignoring unsupported mapped streams
authorRodger Combs <rodger.combs@gmail.com>
Wed, 20 May 2015 22:49:18 +0000 (17:49 -0500)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 20 May 2015 22:52:06 +0000 (00:52 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg_opt.c

index a8d433e..e64c829 100644 (file)
@@ -111,6 +111,7 @@ static int do_psnr            = 0;
 static int input_sync;
 static int override_ffserver  = 0;
 static int input_stream_potentially_available = 0;
+static int ignore_unknown_streams = 0;
 
 static void uninit_options(OptionsContext *o)
 {
@@ -2018,9 +2019,11 @@ loop_end:
                 case AVMEDIA_TYPE_DATA:       ost = new_data_stream      (o, oc, src_idx); break;
                 case AVMEDIA_TYPE_ATTACHMENT: ost = new_attachment_stream(o, oc, src_idx); break;
                 default:
-                    av_log(NULL, AV_LOG_FATAL, "Cannot map stream #%d:%d - unsupported type.\n",
+                    av_log(NULL, ignore_unknown_streams ? AV_LOG_FATAL : AV_LOG_WARNING,
+                           "Cannot map stream #%d:%d - unsupported type.\n",
                            map->file_index, map->stream_index);
-                    exit_program(1);
+                    if (!ignore_unknown_streams)
+                        exit_program(1);
                 }
             }
         }
@@ -2855,6 +2858,8 @@ const OptionDef options[] = {
         "overwrite output files" },
     { "n",              OPT_BOOL,                                    {              &no_file_overwrite },
         "never overwrite output files" },
+    { "ignore_unknown", OPT_BOOL,                                    {              &ignore_unknown_streams },
+        "Ignore unknown stream types" },
     { "c",              HAS_ARG | OPT_STRING | OPT_SPEC |
                         OPT_INPUT | OPT_OUTPUT,                      { .off       = OFFSET(codec_names) },
         "codec name", "codec" },