[ID3 Dev] Apple iTunes complicance issues

Ben Bennett fiji at ayup.limey.net
Mon Feb 12 16:58:34 PST 2007


On Mon, Feb 12, 2007 at 03:41:47PM -0800, Ernest Prabhakar wrote:
> On Feb 12, 2007, at 12:08 PM, Mitchell S. Honnert wrote:
> >I have a quick follow-up question.  What is your criteria for "real- 
> >world interoperability consequences"?
> 
> Thanks for your query, and I can appreciate your concern.  The sort  
> of data I'm looking for is "When I obtain an MP3 track from this  
> legal download site, it contains this information which is *not*  
> usable from iTunes."

You can see the syncsafe size problem any time anyone has a frame 128
bytes long or greater.  This is most obvious with cover images.

I am not sure that any "legal download sites" are shipping mp3s with
cover art in a 2.4 tag, so requiring that is a bit disingenuous.
However, being unable to parse a tag correctly if there is a 128 byte
frame is a pretty serious bug.  Try using one of the other mp3
programs that supports id3 v2.4 (e.g. Amarok, I am not sure what
windows or mac alternatives are) and either adding a picture to it, or
typing in more than 128 characters into a text frame.  If you look at
that file in iTunes it will misread it, and will not be able to read
any subsequent frame.  If you do the inverse (create the tag with
iTunes) and try to read it in the other program it will be similarly
broken.

Note that iTunes may appear to handle it correctly if the frame is at
the end of the tag, since it thinks the frame is longer than it really
is it will read until the end of the tag and stop.

For that reason, if you must have frames >= 128 bytes in a tag, it is
best to put them at the end of the file to work around iTunes'
braindamage.

Note, I am not sure how iTunes can actually fix this.  Given that they
have been writing horribly broken frames, they have to be able to read
them or people will scream.  I think the only hope is for us to rev
2.4.0 to 2.4.1, but keep the spec essentially the same but really
LOUDLY note this mandatory change.  That way everyone can trust a
2.4.1 tag will not have sync errors in the frames, and it will give
iTunes a safe recovery path.  (And yes... I know you can apply
heuristics to catch the error most of the time, but that is gross).

			    -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