[ID3 Dev] How do I deal with this problem COMM frame
Ben Bennett
fiji at ayup.limey.net
Tue Apr 3 05:54:12 PDT 2007
On Tue, Apr 03, 2007 at 06:34:54AM +0100, Paul Taylor wrote:
> Its V24, what are their different ways of writing frame sizes ?
Welcome to syncsafe size hell.
Basically, in 2.4 the frame sizes are written as syncsafe integers,
whereas in 2.3 they were normal integers.
http://id3.org/id3v2.4.0-structure has the full details (see section 4
for the frame header info, and section 6.2 for the unsync integer info).
The short version is:
If the size is 1000, then that is 0x03e8 (hex) which is:
00000000 00000000 00000011 10111000
But syncsafe numbers are basically spread out so they never put
values in the high bit of a byte (e.g. X0000000). So the above
becomes:
00000000 00000000 00000110 10111000
^-- added
Which is the number 0x06e8 which is 1768 (decimal).
The hell part arises because some software (iTunes) does not implement
the spec correctly and reads and writes regular integers rather than
unsyncronized ones when dealing with 2.4. :-(
-ben
---------------------------------------------------------------------
To unsubscribe, e-mail: id3v2-unsubscribe at id3.org
For additional commands, e-mail: id3v2-help at id3.org
More information about the ID3v2
mailing list