Hi all,
I'm having trouble getting ALSA to play multiple sound streams (multiple sounds at once). My code is running on an embedded ARM board using a AC97 sound. It will only play one without any mixing, I have to use pure ALSA as higher sound mixers are a nightmare to cross compile for ARM.
I've tested my system with aplay for example
aplay -D plughw:0,1 bang.wav
works fine. So I tried dmix with
aplay -D plug:dmix Win.wav
That gave the following error
ALSA lib pcm_direct.c:1587snd_pcm_direct_parse_open_conf) The field ipc_gid must be a valid group (create group audio)
aplay: main:550: audio open error: Invalid argument
I checked asound with
/etc # cat asound.conf
pcm.EP93XX {
type hw
card 0
device 0
mmap_emulation on
}
pcm_slave.multi2 {
pcm EP93XX
channels 2
}
pcm_slave.multi4 {
pcm EP93XX
channels 4
}
pcm_slave.multi6 {
pcm EP93XX
channels 6
}
pcm.channels2 {
type plug
slave multi2
route_policy "duplicate"
}
pcm.channels4 {
type plug
slave multi4
route_policy "duplicate"
}
pcm.channels6 {
type plug
slave multi6
route_policy "duplicate"
}
no sign of dmix, when I check my version ect I can see
/proc/asound # cat pcm version
Advanced Linux Sound Architecture Driver Version 1.0.14rc1 (Tue Jan 09 09:56:17 2007 UTC).
/proc/asound # cat default cards
0 [default ]: CS4271 - Cirrus Logic I2S Audio
Cirrus Logic I2S Audio with CS4271
Does this mean dmix will not work? Is there someway with the above setup I can play multiple sounds?
I have to use the vendor ALSA build (so can't update ALSA), I can change the .confs however. Also because I'm cross compiling things like pulseaudio SDL are very difficult to get working, so I basically need to use the above ALSA. Is there anyway I can find if dmix exists on the system?
Should add aplay -L does show dmix ?
iec958 'cards.pcm.iec958'
spdif 'cards.pcm.iec958'
modem 'cards.pcm.modem'
phoneline 'cards.pcm.phoneline'
default 'cards.pcm.default'
dmix 'cards.pcm.dmix'
dsnoop 'cards.pcm.dsnoop'
Thanks!