Help - Search - Members - Calendar
Full Version: weird bom in id3v24
Hydrogenaudio Forums > Lossy Audio Compression > MP3 > MP3 - Tech
stigc
I got this id3v24 tagged mp3 which I'm not sure is valid, though mp3tag and foobar reads it fine.

The problem is appears in an UTF-16 frame with Data length indicator (See http://www.id3.org/id3v2.4.0-structure -> 4.1. Frame header flags)

A good example is the TALB frame starting at position 39. At position 48 it is indicated that the frame has Data length indicator (i guess this is the next 4 bytes). After these 4 bytes another 4 bytes appears

01 FF 00 FE

I read the 01 as UTF-16 encoding, but what about FF 00 FE?

Is it a corrupted BOM?

http://stigc.dk/02%20-%20Baby%20Can%20I%20Hold%20You.mp3
Peter
Looks like valid ID3v2 unsynchronization to me.
stigc
OK I see it also got the Unsynchronization flag. Does the 4 bytes (01 FF 00 FE) belong to this flag? What does they mean?
Sebastian Mares
FF FE means UTF-16 Little Endian. The reason why there is an 00 between them is unsynchronization. If a player is not capabile of identifying and skipping ID3v2 tags, it could interpret the FF FE BOM as synchronization word for an MPEG frame which also starts with FF F?. To avoid this, unsynchronization is used.
stigc
thanks i see it now. From the specification:

6.1. The unsynchronisation scheme

Whenever a false synchronisation is found within the tag, one zeroed
byte is inserted after the first false synchronisation byte. The
format of synchronisations that should be altered by ID3 encoders is
as follows:



Does this only alter the BOM or is it also possible that the actually UTF-16 data could be altered?
Sebastian Mares
Everything in that specific frame - including the data / text, AFAIK.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.