[FFmpeg-devel] [PATCH] MP3: ID3V2 corrupted => bad offset
Måns Rullgård
mans
Fri Dec 5 15:37:03 CET 2008
Michael Niedermayer wrote:
> On Fri, Dec 05, 2008 at 02:18:03PM -0000, M?ns Rullg?rd wrote:
>>
>> Yvan Labadie wrote:
>> > Hi,
>> >
>> > According to the ID3v2 standard, frame sizes are stored using 32bit
>> > SynchSafe Integer format
>> > (http://www.id3.org/id3v2.4.0-structure?highlight=%28SynchSafe%29).
>> > That's why libavformat/mp3.c uses id3v2_get_size() function.
>> > But I discovered that a lot of mp3 (about a fourth of my mp3s!) use
>> > classic 32bit unsigned integer!!!
>> > So with these mp3s ID3v2 parse fails and then
>> > AVFormatContext->data_offset is invalid!
>>
>> ID3v2.3 and earlier used a plain integer. The "sync safe" encoding was
>> introduced in v2.4.
>
> that explains it, assuming all the failing files are < 2.4
> a proper solution would then be to fix <2.4 support
That said, I wouldn't be very surprised if there are files out there
with any kind of errors. We're talking about mp3 files afters all...
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-devel
mailing list