[ID3 Dev] frames with 'Data length indicator' flag
Ben Bennett
fiji at ayup.limey.net
Tue Dec 5 17:00:24 PST 2006
On Wed, Dec 06, 2006 at 03:07:25AM +0300, Alexey Illarionov wrote:
> Hi,
>
> Is the following frame correct in ID2v2.4?
>
> TPE1 size flags data length S
> 0000000a 54 50 45 31 00 00 00 11 00 01 00 00 00 0d 03 53
> tratovarius
> 0000001a 74 72 61 74 6f 76 61 72 69 75 73
It looks correct to me. The data length is the "length of the data if
all flags were zeroed" so, size - 4 (the 4 bytes of the data length)
which equals the 0x0d (13 decimal) bytes of the string. And size
looks correct. There are 0x11 (17 decimal) bytes following the flags.
>
> It have 'Data length indicator' in frame format flags set. This frame
> was written by libid3tag. I have tested some programs with tags with
> such frames (winamp, windows media player, amarok, foobar, last
> tag&rename..) and i was found only two programs that read such frames
> correctly. They are foobar and amarok.
I am not surprised... I haven't found much that fully implements the
spec. Sadly.
> When i rewrite this tag in amarok, it is cut off data length with data
> length indicator. After that this frame has been read correctly with
> most of the listed programs, even by winamp.
Amarok uses taglib to read/write the tags, and that appears to be
liberal in what it accepts and then write tags that are generally
valid.
> I'm not shure about values of the 'frame size' (0x11) and 'data
> length' (0x0d). Is they correct?
They appear to be. But if you can control whether or not the data
length is written, I would try to disable it.
-ben
---------------------------------------------------------------------
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