Hi all.

I'm updating some very old mp3 decoding code in our DJ product, and  
I'm analysing all the mp3's our users have sent to us that currently  
cause trouble.

I was hoping that someone could tell me (or point me to the code)  
that creates lots of frames at the end of an MP3 that have the string  
"LAME3.93" and, mostly, 0x55's in the rest of the frame.

The file I'm looking at now has about 5000 normal frames, then 78 of  
these odd LAME frames.

The first LAME frame looks like:

FF FB B2 04 F5 00 09 43 7A B0 86 73 60 01 2C EF 56 10 CD EC 00 00 00  
01 A4 1C
00 00 00 00 00 34 83 80 00 00 FF FF FF F9 A3 A4 19 43 59 BA 2D 99 50  
09 8D A3
02 9B 8C 60 E4 12 18 3C 26 66 4D 66 56 D0 0A BE 37 AD D3 0F 3A 35 55  
6C BF 7F
F9 6F 1D 5D C7 53 35 70 FF FF FF FF FF FF FF F3 39 10 32 E7 33 70 33  
32 37 40
20 79 8E 1F 9B 54 C9 A0 C0 1B 6A 41 A7 B5 05 02 CC 58 D4 DB 2B 7F FF  
FF FF FF
FF FF FF 2C B1 B9 5A D4 A6 AF 3B F9 44 55 4C 41 4D 45 33 2E 39 33 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55

At 144 bytes into the frame I see (in ASCII) the following:

LAME3.93UUUUUUUUUUUUUUUUUUUUUUUUUUU

and there are "U"s till the end of frame.

The remaining 77 frames look like

FF FB B2 04 FF 8F F0 00 00 69 00 00 00 00 00 00 0D 20 00 00 00 00 00  
01 A4 00
00 00 00 00 00 34 80 00 00 00 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 4C 41 4D 45 33 2E 39 33 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55  
55 55 55
55 55 55

More 0x55s than the first frame, and the "LAME3.93" string is at byte  
116 instead of 144.

I think the LAME tags are coming at  "(next frame start) - (next  
frame's main_data pointer)" for each frame. Is this some sort of  
error indicator in the bitstream that LAME is putting in? I'm lost here.

Can anyone help me understand A) where this is coming from, and B)  
what the best way to detect this is, and thus skip the frames in our  
decoder?

Cheers,
Edouard.
_______________________________________________
mp3encoder mailing list
mp3encoder@minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/mp3encoder

Reply via email to