Help - Search - Members - Calendar
Full Version: Corrupted Ogg Vorbis files
Hydrogenaudio Forums > Lossy Audio Compression > Ogg Vorbis > Ogg Vorbis - Tech
iGold
I have one album in Ogg Vorbis I've got from network. Some times ago it played well but now most of tools crash on this files. I don't know was it corrupted from the beginning or some tagging corrupted files, but what I have now:

ogginfo 02.ogg:
CODE
Processing file "02.ogg"...

New logical stream (#1, serial: 565e567f): type vorbis
Vorbis headers parsed for stream 1, information follows...
Version: 0
Vendor: Xiphophorus libVorbis I 20011231 (1.0 rc3)
Channels: 2
Rate: 44100

Nominal bitrate: 85,000000 kb/s
Upper bitrate not set
Lower bitrate not set
Vorbis stream 1:
        Total data length: 3291367 bytes
        Playback length: 5m:20.365s
        Average bitrate: 82,190243 kb/s
Logical stream 1 ended
Warning: illegally placed page(s) for logical stream 1
This indicates a corrupt ogg file: Page found for stream after EOS flag.
Warning: sequence number gap in stream 1. Got page 931 when expecting page 775. Indicates missing data.

File length is 3296539 bytes, almost just as stream length. I think no (or very small amount of) audio data is lost but who knows...

Now I'm trying to play/decode this file in linux with vorbis-tools 1.1.1:

ogg123 02.ogg:
CODE

Audio Device:   Advanced Linux Sound Architecture (ALSA) output

zsh: segmentation fault  ogg123 02.ogg

oggdec 02.ogg:
CODE
OggDec 1.0.1
Decoding "02.ogg" to "02.wav"
        [  0.0%]zsh: segmentation fault  oggdec 02.ogg


Any hints how to fix such files?
HotshotGG
QUOTE
Any hints how to fix such files?


"Warning: sequence number gap in stream 1. Got page 931 when expecting page 775. Indicates missing data." This error in the data comes up often due to logical pages missing within physical bitstream. The only way you can fix it is to try using vcut.exe or another similiar application to splice or truncate the stream. There is no way of salvaging it due to the the way the Vorbis header is designed to deal with codebooks. AN EOS flag is an "end of stream" flag for future reference. I find this problem interesting, because in the future I think Ogg bitstream container should contain some sort of checksum algorithm. I was always under the impression that it did, but I guess that's something different hmm. You try removing the comment tags, I am not sure how much it would help though. biggrin.gif
iGold
I tried to remove all comments from files - error was the same.
I also tried to vcut files with different number of seconds (also found interesting thing - you may set cutpoint beyond end of file and you'll get first file the same as original and second about 5 Kb w/o audio data) - ogginfo not printed error anymore but ogg123 and oggdec crashing the same way as before. Even if I make .ogg file 1 second long this tools (and also Gnome's Nautilus' "Properties" about a file) crashing on it.

OK, after some experiments I found where is the problem. It's my gcc 3.3 compiled Lancer version (20051121) of libvorbis. This is latest version which gives correctly encoded vorbis file, all others (later this one) give bitrate not equal to generic aoTuV 4.51 when compiled by gcc. After rebuild libvorbis only with aoTuV 4.51 patch applied these .ogg files begin to play and decoding correctly.

Just tried to decode one of these .ogg files by latest Lancer oggDropXPd (version for SSE and SSE2) on Celeron 2 GHz CPU (with SSE and SSE2 support). oggDropXPd crashed also.

A cut from a problem .ogg uploaded in this post.
HotshotGG
QUOTE
OK, after some experiments I found where is the problem. It's my gcc 3.3 compiled Lancer version (20051121) of libvorbis. This is latest version which gives correctly encoded vorbis file, all others (later this one) give bitrate not equal to generic aoTuV 4.51 when compiled by gcc. After rebuild libvorbis only with aoTuV 4.51 patch applied these .ogg files begin to play and decoding correctly.

Just tried to decode one of these .ogg files by latest Lancer oggDropXPd (version for SSE and SSE2) on Celeron 2 GHz CPU (with SSE and SSE2 support). oggDropXPd crashed also.

A cut from a problem .ogg uploaded in this post.


Let me check it out. I don't play around with the Lancer optimized encoders too much. 4.51 did correct a small bugfix though.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.