<html 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" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[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
namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="country-region"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="place"/>
<!--[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 bgcolor=white lang=EN-US link=blue vlink=blue>
<div class=Section1>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Is this a 2.2, 2.3 or 2.4 tag?<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><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 size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<div>
<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>
<hr size=2 width="100%" align=center tabindex=-1>
</span></font></div>
<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;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> id3v2@id3.org<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 size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
<div>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Hii.</span></font><o:p></o:p></p>
</div>
<div>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
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 size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
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 size=2 face=Arial><span style='font-size:10.0pt;
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 size=2
face=Arial><span style='font-size:10.0pt;font-family:Arial'>because</span></font><font
face=Arial><span style='font-family:Arial'> </span></font><font size=2
face=Arial><span style='font-size:10.0pt;font-family:Arial'>i'm trying
developing my own library.</span></font><o:p></o:p></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>The trouble i have is about 'synchsafe integer'.</span></font><o:p></o:p></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
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 size=3 face="Times New Roman"><span style='font-size:12.0pt'>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 size=2 face=Arial><span style='font-size:10.0pt;font-family:
Arial'>and </span></font><o:p></o:p></p>
<p class=t><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>ID3v2
size 4
* %0xxxxxxx<o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
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 size=2 face=Arial><span style='font-size:10.0pt;
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 size=2 face=Arial><span style='font-size:10.0pt;
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 size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>this is an example I've found:</span></font><o:p></o:p></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><strong><b><font size=2 face=Arial><span style='font-size:
10.0pt;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 size=2 face=Arial><span style='font-size:
10.0pt;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 size=2 face=Arial><span style='font-size:
10.0pt;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 size=2 face=Arial><span style='font-size:
10.0pt;font-family:Arial'>ID3v2 Header Footer present
flag
: 0;</span></font></b></strong><o:p></o:p></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>
</div>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><strong><b><font size=2 color=blue face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:blue'>PRIV </span></font></b></strong><strong><b><font
size=4 color=red face=Arial><span style='font-size:13.5pt;font-family:Arial;
color:red'>.... </span></font></b></strong><strong><b><font size=2 color=blue
face=Arial><span style='font-size:10.0pt;font-family:Arial;color:blue'>..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 size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>|----- 10 -----|----------------------------------------------------------------------------------------- 138
------------------------------------------------------------------------------------------------| </span></font><o:p></o:p></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Value of </span></font><strong><b><font size=4 color=red
face=Arial><span style='font-size:13.5pt;font-family:Arial;color:red'>....</span></font></b></strong><font
size=2 face=Arial><span style='font-size:10.0pt;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 size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>
<strong><b><font color=red face=Arial><span
style='font-family:Arial;color:red'>%10001010</span></font></b></strong></span></font><o:p></o:p></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
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 size=2 face=Arial><span style='font-size:10.0pt;
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 size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>So how i can prevent it?</span></font><o:p></o:p></p>
</div>
<div>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Can you help me?</span></font><o:p></o:p></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Thanks and excuse me for my english...</span></font><o:p></o:p></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Michele Pisacreta.</span></font><o:p></o:p></p>
</div>
</div>
</body>
</html>