welcome: please sign in

Revision 1 as of 2007-09-19 14:44:12

Clear message
location: iTunes

iTunes

iTunes is clearly the most used id3 implementation.

It can write 2.2, 2.3 and 2.4. The support in general is good.

It does use some custom frames for things, even when there are standard frames for them.

The major problem with the implementations is that the 2.4 support gets the frame length wrong when writing frames > 127 bytes. It treats the frame lengths as not sync-safe integers (as 2.3 did) rather than sync-safe integers (as 2.4 specifies). This makes supporting it problematic. You can usually correct to read a frame that iTunes has written by looking for the next frame signature and trying it as a non sync-safe integer if you don't find it. BUT it means that iTunes can only handle one large frame added to the file and it MUST be at the end of the tag. What happens is that iTunes will read the size as much larger than it really is and get all of the frame plus some more. But if it is at the end of the tag, it is harmless. Images are correctly displayed since they have size information in them and the trailing "junk" is just dropped.

Nonetheless, it is a pain.

Copyright © 1998-2024 by their respective owners