stb_vorbis fails to handle ogg's containing skeleton metadata #676
Comments
|
Is there a reason we should support Ogg Skeleton at all? I mean, to be clear, stb_vorbis implements the specification on this page: https://xiph.org/vorbis/doc/ None of those documents (as far as I can recall) make any mention of Ogg Skeleton. |
|
Given it's a valid Ogg Vorbis file format and stb_vorbis is a compliant parser/decoder, I think the first order is to not fail when fed these streams. |
The issue is Vorbis held in an container Ogg - so it's ultimately "Ogg" that stb_vorbis parses. Technical documentation on the Ogg container is available for the following areas:
|
stb_vorbis doesn't support ogg vorbis files containing a Floor0 encoding. So no, stb_vorbis doesn't parse all ogg vorbis files anyway. (There's a list of things that aren't supported at the top of the file.) I'll accept a pull request that fixes this, but I don't think it's worth my effort to add support for unimportant extensions that Xiph adds to Ogg over the years. People can just avoid putting Ogg Skeleton metadata into their files. (Unless someone wants to tell me why it's beneficial.) |
|
as #678 has been merged I think this can be closed? |
The library fails to open vorbis stream that contain ogg skeleton metadata (reference: https://xiph.org/ogg/doc/skeleton.html).
Specifically because the following check fails (as do all subsequent checks):
Example vorbis files with and without skeleton metadata are attached, which comply with the specification.
To reproduce it, encode a wav file with
oggenc -k audio.wavor use the latest version(s) of OggDrop and toggle skeleton stream as shown:I think the best approach would be include enough code just to sanely skip over it:
The text was updated successfully, but these errors were encountered: