<!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>I'm not sure about that.  I know that appended 
tags MUST have a footer but there is nothing that says a prepended tag can't 
have a footer.  (At least nothing that I know of.  Am I wrong about 
that?)</FONT></DIV>
<BLOCKQUOTE 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=andy@andy-k.co.uk href="mailto:andy@andy-k.co.uk">Andy</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=id3v2@id3.org 
  href="mailto:id3v2@id3.org">id3v2@id3.org</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Tuesday, November 14, 2006 3:46 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [ID3 Dev] Why is footer not 
  included in total size?</DIV>
  <DIV><BR></DIV>I am pretty sure that footers are only to be written to a file 
  when the tag is appended, not pre-pended.<BR><BR><BR>
  <DIV><SPAN class=gmail_quote>On 14/11/06, <B class=gmail_sendername>Jim</B> 
  <<A href="mailto:jmartin92@comcast.net"> jmartin92@comcast.net</A>> 
  wrote:</SPAN>
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
    <DIV 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></FONT> </DIV></DIV></BLOCKQUOTE></DIV><BR><BR 
  clear=all><BR>-- <BR>Andy. </BLOCKQUOTE></BODY></HTML>