[vorbis-dev] New version vorb_enc.dll

Andy Key scsiprog at hotmail.com
Mon Jun 26 09:13:04 PDT 2000

>while I like the idea of one interface for all those great audio
>encoders, am I the only one who thinks that the BladeEnc interface is
>pushed beyond its limits? Just look at lame_enc, and compare that with
>all the options lame offers - there are a lot of them missing.

Actually, looking at the source to the original BladeEnc dll wrapper, it 
appears to have been just a quick hack to make something work -- it can only 
return one encoder stream handle at a time, etc.  Lame_enc.dll, while a bit 
better, suffers the same problem.

>Wouldn't it be a good time to come up with something like a "Common
>Encoder Interface", where BladeEnc, Lame, Vorbis and perhaps FAAC
>would fit in better?

I've thought about this from time to time as well.  Instead of passing a 
structure to a DLL interface, it would be better to call a generic function 
to get an encoder stream handle, and then call a "SetOption" function to 
actually set the available options.  Something like:
  hEnc = GetEncoderHandle( ENC_LAME );
  SetIntOption( hEnc, ENC_OPT_CBITRATE, 192 );
  SetIntOption( hEnc, ENC_OPT_VBITRATE, 256 );
  SetIntOption( hEnc, ENC_OPT_ENABLEVBR, 1 );
  SetAsciiOption( hEnc, ENC_OPT_ARTIST, "Goo and the Goo Band" );
... and so on.  Another possibility is to define a COM interface, but that's 
unfortunately pretty Windows-centric.  This method has the advantage that 
it's not tied to any one operating system (like COM).

Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/

More information about the Vorbis-dev mailing list