[ID3 Dev] Windows Media Frames appear to use invalid FrameSizes

Brian Mearns bmearns at coe.neu.edu
Wed Jun 8 21:09:20 PDT 2005


I'm trying to parse some id3v2 tags off an mp3, and I keep running into
problems with a PRIV frame, with no Owner identifier and private data
beginning with: "WM/UniqueFileIdentifier", and then a bunch more after it. I
can tell visually that the frame is 148 bytes, giving it a FrameSize of 138.
For some reason, whoever wrote the tag stored the whole value in the first
byte of the size, making it 10001010 ( -118 in signed dec), and thereby
breaking with the synchsafe standard. Based on the "WM" preceeding the
data--and there are several other "WM/..." PRIV frames in the file--I'm
thinking it's something Windows Media player is doing, but I'm not positive.


Has anyone else come across such a thing before, or have a good ideaof how
to handle it? I can put some hooks in my code to handle it, but I'd rather
not write it out in this broken format, so if I ever get a tag which doesn't
syncsafe any bytes in the size, I'm going to be in trouble.

Just in case I'm missing something stupid, here are the bytes in the frame
(in hex, obviously). Note the 8a in the 8th byte (1-based), the last byte of
the frame size element.

50 52 49 56 00 00 00 8a 00 00 57 4d 2f 55 6e 69 71 75 65 46 69 6c 65 49 64
65 6e 74 69 66 69 65 72 00 41 00 4d 00 47 00 61 00 5f 00 69 00 64 00 3d 00
52 00 20 00 20 00 20 00 33 00 36 00 37 00 39 00 39 00 32 00 3b 00 41 00 4d
00 47 00 70 00 5f 00 69 00 64 00 3d 00 50 00 20 00 20 00 20 00 20 00 33 00
38 00 33 00 38 00 33 00 3b 00 41 00 4d 00 47 00 74 00 5f 00 69 00 64 00 3d
00 54 00 20 00 20 00 35 00 31 00 33 00 39 00 34 00 39 00 39 00 00 



-Brian Mearns
(bmearns at coe.neu.edu)



---------------------------------------------------------------------
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