ape: Allow demuxing of files with metadata tags.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
pull/2/head
Carl Eugen Hoyos 14 years ago committed by Anton Khirnov
parent b9eb2136af
commit ab088f7d28
  1. 6
      libavformat/ape.c

@ -159,8 +159,8 @@ static int ape_read_header(AVFormatContext * s, AVFormatParameters * ap)
int total_blocks; int total_blocks;
int64_t pts; int64_t pts;
/* TODO: Skip any leading junk such as id3v2 tags */ /* Skip any leading junk such as id3v2 tags */
ape->junklength = 0; ape->junklength = avio_tell(pb);
tag = avio_rl32(pb); tag = avio_rl32(pb);
if (tag != MKTAG('M', 'A', 'C', ' ')) if (tag != MKTAG('M', 'A', 'C', ' '))
@ -276,7 +276,7 @@ static int ape_read_header(AVFormatContext * s, AVFormatParameters * ap)
ape->frames[0].nblocks = ape->blocksperframe; ape->frames[0].nblocks = ape->blocksperframe;
ape->frames[0].skip = 0; ape->frames[0].skip = 0;
for (i = 1; i < ape->totalframes; i++) { for (i = 1; i < ape->totalframes; i++) {
ape->frames[i].pos = ape->seektable[i]; //ape->frames[i-1].pos + ape->blocksperframe; ape->frames[i].pos = ape->seektable[i] + ape->junklength;
ape->frames[i].nblocks = ape->blocksperframe; ape->frames[i].nblocks = ape->blocksperframe;
ape->frames[i - 1].size = ape->frames[i].pos - ape->frames[i - 1].pos; ape->frames[i - 1].size = ape->frames[i].pos - ape->frames[i - 1].pos;
ape->frames[i].skip = (ape->frames[i].pos - ape->frames[0].pos) & 3; ape->frames[i].skip = (ape->frames[i].pos - ape->frames[0].pos) & 3;

Loading…
Cancel
Save