
 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 
  1. click on the installer 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 least 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 DirectShow-aware player and open a file from the new CD. It should play
     (DivX Networks' DivX Player is NOT DS-aware, and thus doesn't work with this filter)
  6. to remove the filter, use the windows Add/Remove Programs feature

  formats tested: AVI, OGG, MP3, MPEG-1/2 (VCD & SVCD too), MOV (QuickTime 3 only), RM(*), MP4(**)

  formats known NOT to work: ASF, WMV, WMA, MOV (QuickTime 4/5)

  SVCD playback may be a bit skippy since the bitrate is usually high, and we didn't add buffering yet.

  (*)  RM (RealMedia) files work using the Mode2Real driver written by Wonderbread
  (**) MP4 files work if you install 3ivx D4, which comes with a good DirectShow MP4 parser


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

