[Vorbis-dev] Cover art
mathiaskunter at yahoo.de
Wed Apr 1 12:57:08 PDT 2009
> Is the possibility of linking the art provided by the FLAC structure
Yes, it is.
> We could either:
> a. Insert a '\0' before the encoded data (at the start of the comment)
> to preserve this hiding behaviour. Readers expecting the data could
> skip past this byte. It may result in mangling by poorly designed
> comment editors.
> b. Modify the Xiph tools that display comments to hide these tags
> unless told otherwise.
Yes, keep the FLAC block. However, I just thought that there might really be a problem with that leading null byte (as it was reported for WinAmp). Existing taggers which read the vorbis comments will receive an empty string then for the BINARY_COVERART. Since most tagging programs also allow to modify unknown tag fields, they would also write back all fields to the file. This means that the seemingly empty string is written back to the BINARY_COVERART field - and would therefore delete the existing cover art.
So it would be possible that every program which allows full editing of ogg vorbis tag fields deletes the existing cover art when writing back to the file! I would therefore say that it's better to simply write the base64-encoded string as it is to the comment field.
Old software would display the cover art as string then, but it wouldn't break it (unless the user edits the base64 string manually).
New software would display the cover art as picture, without providing the possibility to edit the base64 string.
What do you think?
If there is a new official specification and ogg vorbis library which reads and writes the cover art correctly, I think it should be no problem for most developers to update to this new library in order to support cover art correctly for their programs.
> Do you propose to include the block header with the internal length,
> or just the picture block?
I'm not sure what you mean here. The length of the BINARY_COVERART comment within the ogg comment header must be the length of the base64-encoded string anyway. After decoding this base64 string into a byte array, this array should be parsed like the FLAC specification suggests.
> If you're going to use the flac metadata format, I'd suggest being
> explicit about that in the tag name, with FLAC_PICTURE or
> FLAC_METADATA_BLOCK, etc. instead of a generic COVERART tag.
Well, might be so. There just should be somebody who actually makes a new tagging standard for cover art within ogg vorbis official; I don't know who has the authority to do this (update the RFC, online specification etc.)
More information about the Vorbis-dev