OSDN Git Service

avformat/mp3: skip junk at the beginning of mp3 files
authorwm4 <nfxjfg@googlemail.com>
Wed, 27 May 2015 12:48:10 +0000 (14:48 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 27 May 2015 13:50:04 +0000 (15:50 +0200)
commit2b3e9bbfb529e6bde238aeb511b55ebe461664c8
tree4e7cfa774904b1cd7cdba91a5326db1ef69c3496
parent2ae03968147b891be23ddb7c7851f1a52bfea24b
avformat/mp3: skip junk at the beginning of mp3 files

Apparently it can happen that a mp3 file has junk data between id3 tag
and actual mp3 data. Skip this to avoid outputting nonsense timestamps.
(Two packets had the same timestamps, because the mp3 parser failed to
compute a frame duration.)

In this case, the junk consisted of 1044 bytes of zero, which
incidentally is the same size as normal mp3 frames in this stream. I
suspect the mp3 was edited with some tool which wiped the Xing/LAME
headers. Data near the end of the file suggests it was encoded with
"LAME3.97", but the normal Xing/LAME headers are missing. So this could
be "normal". mpg123 also attempts to skip at least 64KB of junk data by
scanning for headers.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/mp3dec.c