<!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.1515" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hii.</FONT></DIV>
<DIV><FONT face=Arial size=2>I am Michele from Italy.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I'm developing a little mp3 player (  
c# /.NET ) able to read ID3 tag (ver 2.x).</FONT></DIV>
<DIV><FONT face=Arial size=2>I'm not going to use <A 
href="http://home.fuse.net/honnert/hundred/?UltraID3Lib"><FONT 
color=#dd6600>UltraID3Lib</FONT></A><FONT size=3>  <FONT 
size=2>because</FONT> </FONT><FONT size=2>i'm trying developing my own 
library.</FONT></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>The trouble i have is about 'synchsafe 
integer'.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>On <A 
href="http://www.id3.org">www.id3.org</A> web site I've found:</FONT></DIV>
<DIV>
<P class=t>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.</P>
<P class=t><FONT face=Arial size=2>and </FONT></P>
<P class=t>ID3v2 
size             4 * 
%0xxxxxxx</P><FONT face=Arial size=2></FONT></DIV>
<DIV><FONT face=Arial size=2>My routine to evaluate synchsafe integer seems to 
work correctly....</FONT></DIV>
<DIV><FONT face=Arial size=2>Application read correctly all frames 
supported ( GEOB and APIC too...)</FONT></DIV>
<DIV><FONT face=Arial size=2>but in some files i've found a frame (Always a 
PRIV) sized more than $7F in last size byte. (eg $8A).</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>this is an example I've found:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial><FONT size=2><STRONG>ID3v2   Header 
Unsynchronisation 
flag           : 
0;</STRONG></FONT></FONT></DIV>
<DIV><FONT face=Arial size=2><STRONG>ID3v2   Header Extended header 
flag             : 
0;</STRONG></FONT></DIV>
<DIV>
<DIV><FONT face=Arial><FONT size=2><STRONG>ID3v2   Header Experimental 
indicator flag    : 0;</STRONG></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><STRONG>ID3v2   Header Footer 
present 
flag                 
: 0;</STRONG></FONT></FONT></DIV>
<DIV><STRONG><FONT face=Arial size=2></FONT></STRONG> </DIV>
<DIV><STRONG><FONT face=Arial size=2></FONT></STRONG> </DIV></DIV>
<DIV><STRONG><FONT face=Arial size=2></FONT></STRONG> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><STRONG>PRIV <FONT color=#ff0000 
size=4>.... </FONT>..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...</STRONG></FONT></DIV>
<DIV><FONT face=Arial size=2>|----- 10 
-----|----------------------------------------------------------------------------------------- 138 
------------------------------------------------------------------------------------------------| </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT><FONT face=Arial size=2></FONT><FONT 
face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Value of <FONT color=#ff0000 
size=4><STRONG>....</STRONG></FONT> is <STRONG>$00 00 00 <FONT 
color=#ff0000>8A</FONT></STRONG>  </FONT></DIV>
<DIV><FONT face=Arial size=2>        
                
            <STRONG><FONT 
color=#ff0000>%10001010</FONT></STRONG></FONT></DIV>
<DIV><STRONG><FONT face=Arial color=#ff0000 size=2></FONT></STRONG> </DIV>
<DIV><FONT face=Arial size=2>using synchsafe integer my routine doesn't returns 
138 but 266, so application skips next frames...</FONT></DIV>
<DIV><FONT face=Arial size=2>if I convert frame size using standard procedure it 
works....</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>So how i can prevent it?</FONT></DIV>
<DIV><FONT face=Arial size=2>Can you help me?</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>Thanks and excuse me for my english...</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Michele Pisacreta.</FONT></DIV></BODY></HTML>