<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1561" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I am wondering what the reasoning was behind
the size stored in ID3v2.4 tags not including the size of the footer (if
present). </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I've been looking through the source code for some
utilities for MP3 files and some other audio file types. Many of these
utilities use a simple method for skipping over the ID3v2 tag if it is
there. They read the first 10 bytes of the file, do some simple checking
(look for 'ID3', check that version bytes are less than $FF and in some cases
check that size bytes are syncsafe, i.e. < $80) and if it looks like a tag,
convert the size and skip that many bytes ahead (+ 10 bytes for header).
Most of these utilities would be broken if the tag has a footer. They
don't do any specific version checking or checking of the flags byte.
</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>If the size stored in ID3v2.4 tags included the
footer size (if it is present), it would make these tags much more backwards
compatible. (I know it is a pretty easy change to add checking
for the footer flag but wouldn't it have been better to make it
compatible with older apps that don't really need to read the tag, just
skip it?) Were there reasons that came up during development
why it was done the way it is? If so, I'd appreciate if someone could
share them with me. Or if there is somewhere I can read about this (like
some archive of the mailing list) I would appreciate someone pointing me in the
right direction.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Thanks.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Jim Martin</FONT></DIV>
<DIV><FONT face=Verdana color=#808080 size=1><FONT face=Arial color=#000000
size=2></FONT> </DIV></FONT></BODY></HTML>