GNOME Bugzilla – Bug 739748
Writing Ogg files with ID3v2 comments does not work
Last modified: 2014-11-07 08:44:08 UTC
This might have worked at some point, but is now broken. The code to check for, and skip over, ID3v2 tags in ogg_tag.c does not propagate the input stream position (after skipping over the tag) to the Ogg reading code in vcedit.c. When writing the file, which requires reading the original Ogg stream, the ID3v2 tag is not skipped over, and the read operation (and therefore the tag writing) fails. Checking for an ID3v2 tag should probably be moved completely to vcedit.c, maybe with some rules for (as an example) reading the tag, but only if there are no Vorbis comments present. It would also make sense to remove the ID3v2 tag when writing (which may have been the intention of the pre-GFile Ogg tagging code).
Fixed on master as 03418dd249116b985e114023622fccdc426d904a. The bug was caused by a change to use GFile when reading Ogg tags, which caused any error from ogg_sync_pageout(), including one where more data should be read from the stream, to be a hard failure, when it should have continued.