Tristan Miller
2017-Jul-27  19:18 UTC
[Vorbis] Fixing Ogg Vorbis files with incorrectly framed headers
Greetings.
Possibly as the result of buggy tagging software, several hundred of my
Ogg Vorbis files exhibit the following warning when examined by ogginfo:
WARNING: Vorbis stream 1 does not have headers correctly framed.
Terminal header page contains additional packets or has non-zero
granulepos
Nonetheless, most media players can play these files without any
problem.  A notable exception is any player using the recently released
GStreamer 1.12.1 (see
<https://bugzilla.gnome.org/show_bug.cgi?id=784530>).  In fact, even
though my files were corrupted several years ago, I hadn't noticed
this until a few weeks ago when I upgraded GStreamer to the latest
version.
Can anyone advise me how I can fix my files short of re-encoding them?
I already tried using vorbiscomment to extract and then re-apply the
tags to the file.  In this case ogginfo no longer issues any warning
about the file, but GStreamer applications still refuse to play it, as
the following example demonstrates.  A sample corrupted file can be
obtained at <https://bugzilla.gnome.org/attachment.cgi?id=354903>.
$ ogginfo somefile.ogg
Processing file "somefile.ogg"...
New logical stream (#1, serial: 34778229): type vorbis
WARNING: Vorbis stream 1 does not have headers correctly framed.
Terminal header page contains additional packets or has non-zero
granulepos Vorbis headers parsed for stream 1, information follows...
Version: 0 Vendor: Xiph.Org libVorbis I 20040629 (1.1.0)
Channels: 2
Rate: 44100
[…]
$ gst-play-1.0 somefile.ogg
Press 'k' to see a list of keyboard shortcuts.
Now playing /tmp/somefile.ogg
ERROR Could not decode stream. for file:///tmp/somefile.ogg
ERROR debug information: gstvorbisdec.c(352):
vorbis_handle_header_packet
():
/GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstVorbisDec:vorbisdec0:
couldn't read header packet (-132) Reached end of play list.
$ vorbiscomment --list  --raw --escapes somefile.ogg >somefile.txt
$ vorbiscomment --write --raw --escapes somefile.ogg <somefile.txt
$ ogginfo somefile.ogg || echo "File has warnings"
$ gst-play-1.0 somefile.ogg
Press 'k' to see a list of keyboard shortcuts.
Now playing /tmp/somefile.ogg
ERROR Could not decode stream. for file:///tmp/somefile.ogg
ERROR debug information: gstvorbisdec.c(352):
vorbis_handle_header_packet
():
/GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstVorbisDec:vorbisdec0:
couldn't read header packet (-132) Reached end of play list.
Regards,
Tristan
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
                  Tristan Miller
Free Software developer, ferret herder, logologist
             https://logological.org/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL:
<http://lists.xiph.org/pipermail/vorbis/attachments/20170727/eb112f02/attachment.sig>
Tristan Miller
2017-Aug-20  11:19 UTC
[Vorbis] Fixing Ogg Vorbis files with incorrectly framed headers
Greetings. On Thu, 27 Jul 2017 21:18:42 +0200, Tristan Miller <psychonaut at nothingisreal.com> wrote:> Possibly as the result of buggy tagging software, several hundred of > my Ogg Vorbis files exhibit the following warning when examined by > ogginfo: > > WARNING: Vorbis stream 1 does not have headers correctly framed. > Terminal header page contains additional packets or has non-zero > granulepos > > Nonetheless, most media players can play these files without any > problem. A notable exception is any player using the recently > released GStreamer 1.12.1 (see > <https://bugzilla.gnome.org/show_bug.cgi?id=784530>). In fact, even > though my files were corrupted several years ago, I hadn't noticed > this until a few weeks ago when I upgraded GStreamer to the latest > version. > > Can anyone advise me how I can fix my files short of re-encoding them?I believe I've discovered how the files can be repaired without re-encoding them: $ ffmpeg -i corruptfile.ogg -acodec copy fixedfile.ogg Regards, Tristan -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Tristan Miller Free Software developer, ferret herder, logologist https://logological.org/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: <http://lists.xiph.org/pipermail/vorbis/attachments/20170820/550fb639/attachment.sig>