[NUT-devel] Re: r19110 - trunk/DOCS/tech/nut.txt

Rich Felker dalias at aerifal.cx
Tue Jul 18 10:28:08 CEST 2006


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




More information about the NUT-devel mailing list