Monty Montgomery
2009-Jun-25  17:10 UTC
[ogg-dev] Fixing ogg vorbis corruption caused by bad metadata
Vorbose -v reports the following for the beginning of the file:
INFO   page: Capture pattern OggS, format version 0
             Flags: first page of logical stream
             Granule position: 0x0000000000000000
             Stream serialno : 0x490f5cff
             Sequence number : 0
             Checksum        : 0xee9c02b9
             Total segments  : 1
             Total packets   : 1 completed
                              ( 30)
info header: Vorbis identification header parsed:
             Stream version     : 0
             Output channels    : 2
             Output sample rate : 44100 Hz
             Bitrate targets    : unset/224000/unset
             Block sizes        : 256/2048 samples
WARN stream: 53638 bytes of garbage before page 1
info stream: All identification header pages parsed.
             1 logical stream muxed in this link.
INFO   page: Capture pattern OggS, format version 0
             Flags: packet continued from previous page
             Granule position: 0x0000000000000000
             Stream serialno : 0x490f5cff
             Sequence number : 13
             Checksum        : 0xab096acc
             Total segments  : 6
             Total packets   : 1 completed (1 cont)
                              (255, 255, 255, 255, 255, 113)
In short, this file's Ogg encapsulation is corrupt.  There's no chance
of this being a vorbis_comment_add_tag() bug as that would be corrupt
data inside valid Ogg.  The Ogg structure itself is invalid here.
Monty
Adam Rosi-Kessel
2009-Jun-25  17:54 UTC
[ogg-dev] Fixing ogg vorbis corruption caused by bad metadata
Monty Montgomery wrote, on 6/25/2009 1:10 PM:> Vorbose -v reports the following for the beginning of the file: > > INFO page: Capture pattern OggS, format version 0 > Flags: first page of logical stream > > Granule position: 0x0000000000000000 > Stream serialno : 0x490f5cff > Sequence number : 0 > Checksum : 0xee9c02b9 > Total segments : 1 > Total packets : 1 completed > ( 30) > > info header: Vorbis identification header parsed: > Stream version : 0 > Output channels : 2 > Output sample rate : 44100 Hz > Bitrate targets : unset/224000/unset > Block sizes : 256/2048 samples > > WARN stream: 53638 bytes of garbage before page 1 > > info stream: All identification header pages parsed. > 1 logical stream muxed in this link. > > INFO page: Capture pattern OggS, format version 0 > Flags: packet continued from previous page > > Granule position: 0x0000000000000000 > Stream serialno : 0x490f5cff > Sequence number : 13 > Checksum : 0xab096acc > Total segments : 6 > Total packets : 1 completed (1 cont) > (255, 255, 255, 255, 255, 113) > > In short, this file's Ogg encapsulation is corrupt. There's no chance > of this being a vorbis_comment_add_tag() bug as that would be corrupt > data inside valid Ogg. The Ogg structure itself is invalid here.Is there any way to understand exactly how it is invalid? I can replicate this corruption simply by adding large album art to any ogg file with the latest release of MediaMonkey. Adam
Monty Montgomery
2009-Jun-25  18:16 UTC
[ogg-dev] Fixing ogg vorbis corruption caused by bad metadata
> Is there any way to understand exactly how it is invalid? I can replicate > this corruption simply by adding large album art to any ogg file with the > latest release of MediaMonkey.The second page is corrupt. The basic structure looks correct, first guess would be bad checksum. I'll look more closely in just a bit. This might explain why some players might accept it--- if they're ignoring checksumming and error detection. Monty
Possibly Parallel Threads
- Fixing ogg vorbis corruption caused by bad metadata
 - Fixing ogg vorbis corruption caused by bad metadata
 - Fixing ogg vorbis corruption caused by bad metadata
 - Fixing ogg vorbis corruption caused by bad metadata
 - Fixing ogg vorbis corruption caused by bad metadata