<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = 
"urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:st1 = 
"urn:schemas-microsoft-com:office:smarttags"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1515" name=GENERATOR><!--[if !mso]>
<STYLE>v\:* {
        BEHAVIOR: url(#default#VML)
}
o\:* {
        BEHAVIOR: url(#default#VML)
}
w\:* {
        BEHAVIOR: url(#default#VML)
}
.shape {
        BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]--><o:SmartTagType name="country-region" 
namespaceuri="urn:schemas-microsoft-com:office:smarttags"></o:SmartTagType><o:SmartTagType 
name="place" 
namespaceuri="urn:schemas-microsoft-com:office:smarttags"></o:SmartTagType><!--[if !mso]>
<STYLE>
st1\:*{behavior:url(#default#ieooui) }
</STYLE>
<![endif]-->
<STYLE>
<!--
 /* Font Definitions */
 @font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
p.t, li.t, div.t
        {mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</STYLE>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]--></HEAD>
<BODY lang=EN-US vLink=blue link=blue bgColor=white>
<DIV>
<DIV><FONT face=Arial size=2>Thanks for your feedback.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>It's a 2.3 tag.</FONT></DIV>
<DIV><FONT face=Arial size=2>So the synchsafe mode can't be 
applied...</FONT></DIV>
<DIV><FONT face=Arial size=2>wow!</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I' m trying to avoid parsing every byte of tag 
header seeking frame ID matches ...</FONT></DIV>
<DIV><FONT face=Arial size=2>So I thing I'll use both method to 
evaluate each frame size than check the right value...</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV></DIV>
<BLOCKQUOTE dir=ltr 
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=rmanson@gracenote.com href="mailto:rmanson@gracenote.com">Robert 
  Manson</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> Friday, August 04, 2006 10:46 
  PM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> RE: [ID3 Dev] Help request</DIV>
  <DIV><BR></DIV>
  <DIV class=Section1>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Is this a 2.2, 2.3 or 
  2.4 tag?<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><BR>ID3 v2.4 is the 
  only standard that uses synchsafe frame sizes – although iTunes breaks with 
  the standard and uses un-syncsafe frame sizes.<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
  <DIV>
  <DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><FONT 
  face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">
  <HR tabIndex=-1 align=center width="100%" SIZE=2>
  </SPAN></FONT></DIV>
  <P class=MsoNormal><B><FONT face=Tahoma size=2><SPAN 
  style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">From:</SPAN></FONT></B><FONT 
  face=Tahoma size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"> 
  Pisacreta Michele [mailto:info@pisacretamichele.it] <BR><B><SPAN 
  style="FONT-WEIGHT: bold">Sent:</SPAN></B> Friday, August 04, 2006 1:30 
  PM<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> <A 
  href="mailto:id3v2@id3.org">id3v2@id3.org</A><BR><B><SPAN 
  style="FONT-WEIGHT: bold">Subject:</SPAN></B> [ID3 Dev] Help 
  request</SPAN></FONT><o:p></o:p></P></DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"><o:p> </o:p></SPAN></FONT></P>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Hii.</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I am Michele from 
  <st1:country-region w:st="on"><st1:place 
  w:st="on">Italy</st1:place></st1:country-region>.</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I'm developing a little mp3 player 
  (  c# /.NET ) able to read ID3 tag (ver 
  2.x).</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I'm not going to use <A 
  href="http://home.fuse.net/honnert/hundred/?UltraID3Lib"><FONT 
  color=#dd6600><SPAN 
  style="COLOR: #dd6600">UltraID3Lib</SPAN></FONT></A></SPAN></FONT><FONT 
  face=Arial><SPAN style="FONT-FAMILY: Arial">  </SPAN></FONT><FONT 
  face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">because</SPAN></FONT><FONT 
  face=Arial><SPAN style="FONT-FAMILY: Arial"> </SPAN></FONT><FONT face=Arial 
  size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">i'm trying developing 
  my own library.</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">The trouble i have is about 
  'synchsafe integer'.</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">On <A 
  href="http://www.id3.org">www.id3.org</A> web site I've 
  found:</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=t><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt">An ID3v2 tag can be detected with the following 
  pattern:<BR>$49 44 33 yy yy xx zz zz zz zz<BR>Where yy is less than $FF, xx is 
  the 'flags' byte and zz is less than $80.<o:p></o:p></SPAN></FONT></P>
  <P class=t><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">and </SPAN></FONT><o:p></o:p></P>
  <P class=t><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt">ID3v2 
  size             4 
  * %0xxxxxxx<o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">My routine to evaluate synchsafe 
  integer seems to work correctly....</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Application read correctly all 
  frames supported ( GEOB and APIC 
  too...)</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">but in some files i've found a 
  frame (Always a PRIV) sized more than $7F in last size byte. (eg 
  $8A).</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">this is an example I've 
  found:</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><STRONG><B><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">ID3v2   Header 
  Unsynchronisation 
  flag           : 
  0;</SPAN></FONT></B></STRONG><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><STRONG><B><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">ID3v2   Header Extended 
  header 
  flag             : 
  0;</SPAN></FONT></B></STRONG><o:p></o:p></P></DIV>
  <DIV>
  <DIV>
  <P class=MsoNormal><STRONG><B><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">ID3v2   Header 
  Experimental indicator flag    : 
  0;</SPAN></FONT></B></STRONG><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><STRONG><B><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">ID3v2   Header Footer 
  present 
  flag                 
  : 0;</SPAN></FONT></B></STRONG><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><STRONG><B><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">PRIV 
  </SPAN></FONT></B></STRONG><STRONG><B><FONT face=Arial color=red size=4><SPAN 
  style="FONT-SIZE: 13.5pt; COLOR: red; FONT-FAMILY: Arial">.... 
  </SPAN></FONT></B></STRONG><STRONG><B><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">..WM/UniqueFileIdentifier.A.M.G.a._.i.d.=.R. 
  . . . .1.1.4.6.0.;.A.M.G.p._.i.d.=.P. . . . . .4.7.3.9.;.A.M.G.t._.i.d.=.T. . 
  .2.7.7.7.7.5.7...</SPAN></FONT></B></STRONG><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">|----- 10 
  -----|----------------------------------------------------------------------------------------- 138 
  ------------------------------------------------------------------------------------------------| </SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Value of 
  </SPAN></FONT><STRONG><B><FONT face=Arial color=red size=4><SPAN 
  style="FONT-SIZE: 13.5pt; COLOR: red; FONT-FAMILY: Arial">....</SPAN></FONT></B></STRONG><FONT 
  face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> is 
  <STRONG><B><FONT face=Arial><SPAN style="FONT-FAMILY: Arial">$00 00 00 <FONT 
  color=red><SPAN 
  style="COLOR: red">8A</SPAN></FONT></SPAN></FONT></B></STRONG>  
  </SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">    
                  
                  
  <STRONG><B><FONT face=Arial color=red><SPAN 
  style="COLOR: red; FONT-FAMILY: Arial">%10001010</SPAN></FONT></B></STRONG></SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">using synchsafe integer my routine 
  doesn't returns 138 but 266, so application skips next 
  frames...</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">if I convert frame size using 
  standard procedure it works....</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">So how i can prevent 
  it?</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Can you help 
  me?</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Thanks and excuse me for my 
  english...</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Michele 
  Pisacreta.</SPAN></FONT><o:p></o:p></P></DIV></DIV></BLOCKQUOTE></BODY></HTML>