I have encountered a strange behavior when using alsa utils arecord, aplay, and ac3dec in combination with the snd_cmipci driver for CMI87x8 bases soundcards on ubuntu 11.04.
When I use:
>arecord -Dspdif -traw -fdat -r48000 -c2 | ffmpeg -f spdif -acodec copy -i - -f s16le - | ac3dec
everything is working fine on 2 channels, but when I use
>arecord -Dspdif -traw -fdat -r48000 -c2 | ffmpeg -f spdif -acodec copy -i - -f s16le - | ac3dec -c6
on 6 channel surround I always getting:
>Using PCM device 'plug:surround51'
>snd_pcm_open: Device or resource busy
I think this has something to do with the strange 2nd DAC/ADC usage of the driver, even a bug in the driver?
The hardware does duplex capture at SPDIF-IN and playback on 6 Channles OUT simultaneously. I have verified on Windows XP.
BTW, how can I set the alsa driver in debug mode? ("option snd debug=2" did not work in the alsa-base.conf, resulting in totally missing alsa)
And how can I force module loading/reloading snd_cmipci on demand for driver tweaking purpose? (insmod, rmmod simply not working)