<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
So you say that there are only three situations as far as we talk about
ID3v2.4 ? :<br>
<ol>
  <li>no frame was affected by unsynchronisation (all sync bits are <u>not
set</u>)</li>
  <li>only few frames were affected (only bits of affected frames are <u>set</u>,
header sync bit is <u>not set</u>)</li>
  <li>all frames were affected (header sync bit and sync bits of all
frames are <u>set</u>)<br>
  </li>
</ol>
<br>
<br>
Jud White wrote:
<blockquote cite="midF21ACA79F673464FB65C13BA560BDEF0.MAI@cdtag.com"
 type="cite">
  <pre wrap="">I would say no, it's not valid based on the following:

a - Unsynchronisation

     Bit 7 in the 'ID3v2 flags' indicates whether or not
     unsynchronisation is applied on all frames (see section 6.1 for
     details); a set bit indicates usage.

and, from the quote below:

"This bit MUST be set if the frame was altered by the unsynchronisation"

For writing I would use both if all frames were subject to unsynchronisation.  My guess is that others readers are more likely to respect to unsync bit in the tag header than the frame header, so I would do all or nothing.  Just a guess based on the likeliness that most 2.4 implementations stemmed from 2.3.

For reading I would take an extra cautious approach when reading unsync'd tags since sometimes they're really unsync'd and sometimes they're not.  For APIC this is easy - validate the image, if it's bad, try reading the frame normally.

Jud

----- Original Message -----
From: Michal Vician [<a class="moz-txt-link-freetext" href="mailto:id3v2@audiott.com">mailto:id3v2@audiott.com</a>]
To: <a class="moz-txt-link-abbreviated" href="mailto:id3v2@id3.org">id3v2@id3.org</a>
Sent: Fri, 12 Jan 2007 20:12:26 +0100
Subject: [ID3 Dev] ID3v2.4 Unsynchronisation

Hi again,

I have a question concerning the unsynchronisation of ID3v2.4 tag.
In the specification is stated the following:

   To indicate usage of the unsynchronisation, the unsynchronisation
   flag in the frame header should be set. This bit MUST be set if the
   frame was altered by the unsynchronisation and SHOULD NOT be set if
   unaltered. If all frames in the tag are unsynchronised the
   unsynchronisation flag in the tag header SHOULD be set. It MUST NOT
   be set if the tag has a frame which is not unsynchronised.

OK, I understand. This means, that if whole tag is unsynchronized, the 
header "unsynchronization flag" is set and also "unsynchronization 
flags" of all frames are set. But, I am not sure if the situation can 
happen that header "unsynchronization flag" is set and 
"unsynchronization flags" of all frames are NOT SET. Is such situation 
valid in ID3v2.4?

Regards,
Miso</pre>
</blockquote>
</body>
</html>