tta: read ape tags last
authorPaul B Mahol <onemda@gmail.com>
Sun, 16 Jun 2013 18:46:35 +0000 (18:46 +0000)
committerPaul B Mahol <onemda@gmail.com>
Sun, 16 Jun 2013 18:56:56 +0000 (18:56 +0000)
Otherwise, cover art will create video stream with index 0.
Fixes #2677.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavformat/tta.c

index dec86c0..bbb6a22 100644 (file)
@@ -60,11 +60,6 @@ static int tta_read_header(AVFormatContext *s)
     uint32_t nb_samples, crc;
 
     ff_id3v1_read(s);
-    if (s->pb->seekable) {
-        int64_t pos = avio_tell(s->pb);
-        ff_ape_parse_tag(s);
-        avio_seek(s->pb, pos, SEEK_SET);
-    }
 
     start_offset = avio_tell(s->pb);
     ffio_init_checksum(s->pb, tta_check_crc, UINT32_MAX);
@@ -143,6 +138,12 @@ static int tta_read_header(AVFormatContext *s)
     st->codec->sample_rate = samplerate;
     st->codec->bits_per_coded_sample = bps;
 
+    if (s->pb->seekable) {
+        int64_t pos = avio_tell(s->pb);
+        ff_ape_parse_tag(s);
+        avio_seek(s->pb, pos, SEEK_SET);
+    }
+
     return 0;
 }