[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).
-Andy
________________________________________________________________________
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