ape: create audio stream before reading tags.
authorAnton Khirnov <anton@khirnov.net>
Fri, 22 Jun 2012 11:08:08 +0000 (13:08 +0200)
committerAnton Khirnov <anton@khirnov.net>
Sun, 24 Jun 2012 05:55:33 +0000 (07:55 +0200)
Tags may contain attached picture, which will be exported as video
streams.

This ensures that the audio stream is always the first.

libavformat/ape.c

index b3fca23..76ad549 100644 (file)
@@ -312,12 +312,6 @@ static int ape_read_header(AVFormatContext * s)
 
     ape_dumpinfo(s, ape);
 
-    /* try to read APE tags */
-    if (pb->seekable) {
-        ff_ape_parse_tag(s);
-        avio_seek(pb, 0, SEEK_SET);
-    }
-
     av_log(s, AV_LOG_DEBUG, "Decoding file - v%d.%02d, compression level %"PRIu16"\n",
            ape->fileversion / 1000, (ape->fileversion % 1000) / 10,
            ape->compressiontype);
@@ -354,6 +348,12 @@ static int ape_read_header(AVFormatContext * s)
         pts += ape->blocksperframe / MAC_SUBFRAME_SIZE;
     }
 
+    /* try to read APE tags */
+    if (pb->seekable) {
+        ff_ape_parse_tag(s);
+        avio_seek(pb, 0, SEEK_SET);
+    }
+
     return 0;
 }