RIFF/CDXA Source filter ----------------------- This is a DirectShow Source filter for parsing RIFF/CDXA file and playing it on the fly (from a Mode2 CD) (Original code from M$ DX8.1 SDK sample: samples\multimedia\dshow\filters\asynch) Modified to RIFF/CDXA parsing by Avi Halachmi (avihpit@yahoo.com) DShow stuff by DeXT (de_xt@hotmail.com) last modified: 03-JUN-2002 version: test6b functionality: - allow any direct show based media player to play mode 2 form 2 files right from the CD (i.e. VCD, SVCD and files burned using mode2cdmaker tool [aka "DeXT's tool"]) --------------- WARNING WARNING WARNING --------------------- this is alpha software. this means that if you start storing files using mode2cdmaker now, THE BURNED FILES MAY NOT BE COMPATIBLE WITH FUTURE VERSIONS OF THIS STORAGE FORMAT. THE FORMAT IS NOT FINALIZED YET. (and error correction hasn't been added yet) although it's possible to use these filters to read 800M files directly from the cd and play them, you should NOT by any means start archiving your files using this format. these filters are only here for testing of playback, co-existance with other filters, smoothness of playback etc. the reason you should not start archiving your clips using mode2cdmaker is that there's no error correction. this means that if your cd is scratched, and important (=headers/indexes) parts of the file are lost, you will NOT be able to play your file. mode2cdmaker stores the files as standard m2f2 files on iso 9660 filesystem. this mode offers no error correction. what is lost is lost. the final target is to add some error correction facilities, and then use the tool to make an image. the filter would also be modified to use these error correction facilities when errors are detected. atm though, THERE IS NO ERROR CORRECTION AND YOUR FILE MIGHT NEVER PLAY AGAIN IF THE CD HAS SCRATCHES WHERE IT MATTERS. be warned. ------------------------------------------------------------- Usage: 0. uninstall any previous version, if you had one installed (although it seems to working also without this stage). 1. click on the install.bat file to register the xcdsrc.ax filter (shown as 'RIFF/CDXA Source') 2 for VCD/SVCD playback only, skip to stage 5 3. create a RIFF/CDXA cd image using mode2cdmaker that contains at lease one media file. The tool can be obtained from the following sites: http://webs.ono.com/de_xt (official site) http://www.wsu.edu/~benp/mcfcd.htm (under the name 'Dext's Mode2 CD Maker') http://www.doom9.org (Download/Support utils/Show me more) 4. burn the image (or use daemon tools to mount it) 5. run your favorite player and open a file from the new CD. it should play. 6. to remove this filter, use uninstall.bat formats tested: AVI, OGG, MP3, MPEG-1/2 (VCD & SVCD too), MOV (QuickTime 3 only) formats known NOT to work: ASF, WMV, WMA, MOV (QuickTime 4/5), RM(*), MP4(*) SVCD playback may be a bit skippy since the bitrate is usually high, and we didn't add buffering yet. (*) these formats MIGHT work in future or with special software support Credits: Many thanks to all the people who have helped us and made our life easier. Specially to Ingo, some parts of the filter code are inspired on his work on the MediaXW project. Big thanks go to the MCF team who was the 1st to define a spec for 800M files on a cd (MCF-CD project) Changelog: ---------- test6b: - fixed install script to work on Win9x/Me test6: - VCD and SVCD playback support added - filter rewrite (for portability and future support for error protection) - improved media detection - file name changed from asyncflt.ax to xcdsrc.ax - registry system modified to override ms VIDEO CD Source (which doesn't read s/vcd correctly, and may introduce conflicts. the uninstall script put back the original registry values) test5: - added automatic media detection - internal cleanup test4: - added custom builds for AVI/OGG content - enhanced filter multithreading compliance test3: - the filter no longer will load the entire file into memory test2b: - fixed registry compatibility problem with VCD/SVCD test2: - added RIFF/CDXA media type - set custom GUID for filter test1: - first release, based on M$ Async File Source sample filter - added RIFF/CDXA parsing code