Adam Rosi-Kessel
2009-Jun-20 19:17 UTC
[ogg-dev] Fixing ogg vorbis corruption caused by bad metadata
Adam Rosi-Kessel wrote, on 6/19/2009 3:56 PM:> Conrad Parker wrote, on 6/18/2009 3:15 PM: >> Hopefully at some point the vorbis data in the file becomes valid. >> Perhaps we just need to know the original encoding settings to create >> a new file with valid codebooks and splice them together: oggz-dump -r >> should be ok for that, just take the first 3 packets of the new file, >> and packets 17 onwards (or 100 onwards) of the original file ... > > I've been able to replicate the corruption reliably now. It appears to > be caused by the metadata tagger trying to embed too-large album art. I > have a "before and after" ogg that should only be different by the > metadata album art tagging. I tried swapping in the "before" header into > the "after" file, but still couldn't play the fixed "after" file. > > I've put hex dumps here: > > http://adam.rosi-kessel.org/bugs/liboggz/484/original.hexdump.bz2 > http://adam.rosi-kessel.org/bugs/liboggz/484/corrupted.hexdump.bz2 > > Does this shed any light on exactly what the corruption is and/or how to > fix it?How about another approach -- is there a tool that will verify the page checksums? oggz-validate doesn't seem to do this. If the page checksums are okay, then doesn't that suggest the streams are also recoverable? Adam
Conrad Parker
2009-Jun-21 02:24 UTC
[ogg-dev] Fixing ogg vorbis corruption caused by bad metadata
2009/6/21 Adam Rosi-Kessel <adam at rosi-kessel.org>> > How about another approach -- is there a tool that will verify the page > checksums? oggz-validate doesn't seem to do this. If the page checksums > are okay, then doesn't that suggest the streams are also recoverable?If the page checksums are bad then the page will get rejected by libogg, and oggz-validate won't even see it (or its packets). "hogg dumpraw" will at least show the page CRC and segment table, before verifying the CRC, which could be useful. Conrad.
Adam Rosi-Kessel
2009-Jun-21 13:29 UTC
[ogg-dev] Fixing ogg vorbis corruption caused by bad metadata
Conrad Parker wrote, on 6/20/2009 10:24 PM:>> How about another approach -- is there a tool that will verify the page >> checksums? oggz-validate doesn't seem to do this. If the page checksums >> are okay, then doesn't that suggest the streams are also recoverable? > If the page checksums are bad then the page will get rejected by > libogg, and oggz-validate won't even see it (or its packets). "hogg > dumpraw" will at least show the page CRC and segment table, before > verifying the CRC, which could be useful.Does it actually check the CRC, or is there some way for me to do so? I see the output from hogg dumpraw, but am not sure how to interpret it. In other news, the MediaMonkey developers believe this is a bug in a (possibly) older version of vorbis_comment_add_tag(): http://www.ventismedia.com/mantis/view.php?id=5809 Does this seem right and/or shed any light on how to undo the damage? Adam