
On Tue, Jul 18, 2006 at 09:02:07AM +0200, Baptiste Coudurier wrote:
Hi
Oded Shimon wrote:
[...]
Ivan, vorbis doesn't expect 3 extradata according to the spec, it expect the first 3 audio packet to be the headers. I think this is insane enough that it allows us to break their spec instead of ours.
Huh. How come a container can surpasses codec specs ? IMHO that's not acceptable.
The vorbis spec conflicts with a fundamental part of the NUT spec (and any sane container spec) that absolutely cannot be broken. There is no possible way to do what the vorbis spec says because then you would not have the headers if you started playing mid-file or if you cut part of the file to make a new file. This kind of brokenness was the intent of the Xiph developers. They want every program that deals with vorbis audio to have to use their ogg container, and they want every program that deals with vorbis audio to specifically know it's vorbis and have vorbis-specific code for dealing with it rather than being able to treat it as an abstract codec. They are completely and utterly insane. However, they did succeed in making one (exactly one) good codec. As far as I'm concerned, the approach that Matroska has taken (and that we take) is completely reasonable given Xiph's unreasonableness. The alternative would be to just fork the vorbis spec entirely, stop calling it vorbis, fix the bitstream to be more efficient, etc... Rich