ffmpeg: make stream default if its the only of its kind and no source can be unambigo...
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 25 Oct 2013 00:08:35 +0000 (02:08 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 25 Oct 2013 00:08:35 +0000 (02:08 +0200)
Fixes Ticket2969

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg.c

index 3148267..001e5c1 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2160,6 +2160,15 @@ static int transcode_init(void)
             ost->st->disposition          = ist->st->disposition;
             codec->bits_per_raw_sample    = icodec->bits_per_raw_sample;
             codec->chroma_sample_location = icodec->chroma_sample_location;
+        } else {
+            for (j=0; j<oc->nb_streams; j++) {
+                AVStream *st = oc->streams[j];
+                if (st != ost->st && st->codec->codec_type == codec->codec_type)
+                    break;
+            }
+            if (j == oc->nb_streams)
+                if (codec->codec_type == AVMEDIA_TYPE_AUDIO || codec->codec_type == AVMEDIA_TYPE_VIDEO)
+                    ost->st->disposition = AV_DISPOSITION_DEFAULT;
         }
 
         if (ost->stream_copy) {