ac3play 0.1
This is a user space tool to play AC-3 encoded frames on an external decoder/amplifier through the S/PDIF interface. AC-3 encoded bitstreams typically originate from DVD movie discs. ac3play is written for the Advanced Linux Sound Architecture (ALSA). It was tested on a Trident 4DWave NX based card. A DTT2500 was hooked up to the S/PDIF interface. It should work with most any external AC-3 decoder. Other soundcards may work, please check the ALSA site for S/PDIF out capable cards that are supported.
usage
ac3play has only been tested with streams ripped by the extract_ac3 tool that's part of ac3dec package found at: http://gusnet.cx/aaron/codecs/ac3dec.php It will also work with the Livid oms/dvd_play as a replacement for ac3dec in the /tmp/audio FIFO hack. For VOB files it goes something like this:
extract_ac3 DolbyDigitalRain.vob|ac3play -
or for a dumped ac3 stream to disk:
extract_ac3 5th_element.ac3
bugs
There are a couple of known bugs. It will not handle byte swabbed files but only output from extract_ac3 for now. It's pretty much limited to Trident 4DWave NX cards now since that's the only card that fully supports programming the S/PDIF from userspace in ALSA (AFAIK)
todo
- Cleanup ALSA init code
- Use libac3 from ac3dec 0.6.1
- Optimize parsing
- CRC checking
- Bounds checking to prevent silly crashes
- Add a -c #,# option for ALSA (highest priority!)
- Convert to code to both alsaplayer and oms plugins
useful links
http://www.alsa-project.org/~andy/
http://linuxvideo.org/
ftp://ftp.alsa-project.org/pub/manuals/dolby/
contact
Send your questions/etc to andy@alsa-project.org
