At Thu, 29 Sep 2011 08:22:39 -0400, Robert Krakora wrote:
On Thu, Sep 29, 2011 at 2:36 AM, Takashi Iwai tiwai@suse.de wrote:
At Wed, 28 Sep 2011 12:29:05 -0400, Robert Krakora wrote:
Hi All,
I am using ALSA 1.0.24 with the attached asound.conf. I am attempting to share (mix) the analog output between Asterisk and aplay. However, when Asterisk is running, my application throws an error when attempting to
play
a wave file via aplay. If I stop Asterisk, aplay plays the wave file
just
fine. If I remove the asound.conf file, Asterisk and aplay are both
happy
and share the analog output just find with the default ALSA dmix implementation. However, we need this asound.conf to work for us for
other
reasons. What is wrong with it. I have even tried replacing dmix with dshare and get the same bad behavior. We are running CentOS 6.0. As a caveat, I am attempting to use dmix with analog audio. If I use it with HDMI audio, it works flawlessly (same asound.conf with tweek to specify HDMI). Thanks in advance for your help.
[root@devkrakorar snd]# su silentm -c "aplay -Dplug:dmixer /usr/share/sounds/alsa/Front_ Center.wav" ALSA lib pcm_hw.c:1293:(snd_pcm_hw_open) open '/dev/snd/pcmC0D0p' failed (-22): Invalid argument
ALSA lib pcm_dmix.c:1068:(snd_pcm_dmix_open) unable to open slave aplay: main:660: audio open error: Invalid argument [root@devkrakorar snd]#
Looks like the open of HD-audio stream failed by some reason. When you open via aplay, is the corresponding stream already opened by another? Take a look at /proc/asound/card0/pcm0p/sub0/* files.
Also, try the latest alsa-driver snapshot in ftp://ftp.suse.com/pub/people/tiwai/snapshot/
Takashi
Hi Takashi,
Thanks for the quick response. Yes, the HD-audio stream open fails because Asterisk has previously opened it. aplay cannot open it (error -22).
-22 is -EINVAL, and it's not -EBUSY or -EAGAIN. If a blocking open is the problem, it should have been -EAGAIN or such. That is, usually something conflicts with the opened stream.
Takashi