AW: [ID3 Dev] Purpose of Unsynchronization flag on ID3v24 tag header ?
Paul Taylor
paul_t100 at fastmail.fm
Fri Apr 6 07:40:14 PDT 2007
Mathias Kunter wrote:
> If the TAG header unsync bit is set this means that ALL frames within this tag have
> been unsynced, and that ALL frames MUST contain the unsync bit set in the
> FRAME header flags therefore (as defined by the specs). In my current ID3 implementation
> I de-unsync a frame if either the TAG flag is set or if the FRAME flag is set for
> the particular frame.
>
> Note that if a frame has been unsynced this doesn't mean that this frame actually got
> modified. (Well, the specs say that the flag SHOULD only be set if the frame became
> actually modified because of a false sync, but you can't rely on that).
>
This is what I was trying to get at. Is a frame unsynchronized IF it
doesnt contain FF FE patterns or ONLY IF it has actually been
unsynchronized meaning that FF 00
will become FF 00 00 even if there were no FF FE Patterns in the
existing data. You seem to be saying you follow the first case, but
point out the spec says the second case.
> So if the frame header flag is set it is guaranteed that this frame (or all frames, if the
> tag header flag is set) contain no false sync signal in it. It does NOT mean that the
> frame content actually became modified, as mentioned before. From the decoder
> point of view, this doesn't matter anyway. Just de-unsync the frame by replacing all
> $FF $00 byte sequences with $FF bytes.
>
From the decoder point of view it DOES MATTER because if you had a
frame with a $FF $00 combination and you didnt unsynchronize the frame
because there was no $FF $FE combinations
and then a decoder tried to de-unsync the frame it would remove the 00,
and your data will be modified
> Cheers.
> Mathias
>
Paul
---------------------------------------------------------------------
To unsubscribe, e-mail: id3v2-unsubscribe at id3.org
For additional commands, e-mail: id3v2-help at id3.org
More information about the ID3v2
mailing list