[vorbis-dev] New Directshow filters preview...
ogg at illiminable.com
Sun Mar 21 10:40:38 PST 2004
I have been developing some directshow filters for ogg, and vorbis and speex... currently i have an ogg demux filter and a speex/vorbis decoding filter. In this pre-release only vorbis is operational... but the speex decoder is pretty much done... i jsut need to tweak the demux filter so that it can negotiate a speex connection with the other filter. Just though some people might find them useful even in their early state.
There are some limitations to this release.
1) No more than 2 channel audio is supported.
2) Chained multiplexing is not supported.
3) Only a single logical stream can be contained. (The demuxer has a few hard-coded things in it for now)
4) No seeking... i have the code, i just haven't put it in yet... i thought getting it working without first for vorbis and speex is easier.
5) No position information... ie no progress bar... again... the code is here just waiting to be integrated.
6) Proabbly other stuff i can't think of.
The first 3 are not a problem for 95% of vorbis files around. And the last few are a minor inconveinience. I just thought i'd give people a taster until i complete a more feature comlpete release.
Also it is pretty light on error checking... if you try and get it to play speex with an .ogg extension it will likely just crash... invalid formatted vorbis files will likely just crash unceremoniously too. It also has a few bugs too... they don't affect playback.. but when you close media player you will hear the windows error sound :)
Here are the binary packages...
Hopefully i didn't stuff up the packages.. they were a bit of a rush job :) Let me know of any problems (outside the few i already mentioned above)
The version that ends in _small doesn't contain the windows installers... if you have XP or you are sure you have the latest windows installers ainstalled already get the _small package otherwise the other one.
Unzip it to a temp directory and run setup. Once you install it... media player will be able to play vorbis... the first time you may want to associate .ogg with media player by doing "open with"... also for now... windows doesn't consider .ogg to be a media file (and anyway it would have no way to tell if it should put .ogg in the audio group or the video group), so on any dialog boxes in media player remember to "show all files"... but later releases i'll add the registry keys for that too.
Also if you have any other ogg directshow filters installed (ie Tobias) uninstall them first... my file association is only weak because i didn't want to add a squillion registry entries in this version. Also, they are all debug builds... so they are filled with symbols etc and are a lot larger and slower than the release builds. I just haven't ahd a chance to create a new config set for each of the projects yet.
All the usual disclaimers.
You can uninstall my filters by going to "Add/Remove programs" and clicking remove on the oggcodecs application.
For now only binary releases, but source will eventually be made available... but for now... it's buggy and messy and almost gauranteed to have breaking changes made to it over the next few weeks, so you wouldn't want to use it yet anyway. These are not based on the tobias filters, or any other existing filters.
Also part of the package when i release source is my implementation of the ogg encapsulation standard (ie what libogg does) natively written in C++. The dmux filter uses this and not libogg. My first attempt at the demux filter used liboggz wrapped around libogg... but it was very painful trying to integrate it with directshow. Having a native C++ implementation rather than just a wrapper was far easier for me to work with... and this attempt the filter code was less than half of the size of the first. It will also i hope be useful for others developing on windows where C++ is far more prevalent than C, and those who just can't stand C (ie me!)
I'm also working on a theora filter... so in the not too distant future it should support the three core xiph codecs.
Just a quick thankyou to Conrad Parker for libfishsound (http://www.annodex.net/software/index.html) (which my vorbis/speex decoder uses)..., which made the decode process very easy... data goes in... data comes out !! And also Andre Pang for all those marathon debugging sessions on the first incarnation !
Proper attributions and copyrights are in the package.
Enjoy... more updates will be forthcoming... when i get some time i'll hack up a bit of a web page, so it will be easier to find updates.
<p>--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Vorbis-dev