ffmpeg_opt: Creating new data stream for output format context
authorAnshul Maheshwari <er.anshul.maheshwari@gmail.com>
Sun, 15 Feb 2015 09:54:01 +0000 (15:24 +0530)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 15 Feb 2015 11:32:22 +0000 (12:32 +0100)
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
if input codec Id match with expected data stream of output format context
then only new stream with same codec id is created.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg_opt.c

index 56b882e..f208ac5 100644 (file)
@@ -1935,7 +1935,15 @@ static int open_output_file(OptionsContext *o, const char *filename)
                     }
                 }
         }
-        /* do something with data? */
+        /* Data only if codec id match */
+        if (!o->data_disable ) {
+            enum AVCodecID codec_id = av_guess_codec(oc->oformat, NULL, filename, NULL, AVMEDIA_TYPE_DATA);
+            for (i = 0; codec_id != AV_CODEC_ID_NONE && i < nb_input_streams; i++) {
+                if (input_streams[i]->st->codec->codec_type == AVMEDIA_TYPE_DATA
+                    && input_streams[i]->st->codec->codec_id == codec_id )
+                    new_data_stream(o, oc, i);
+            }
+        }
     } else {
         for (i = 0; i < o->nb_stream_maps; i++) {
             StreamMap *map = &o->stream_maps[i];