Hi Tony,
At 02:26 PM 12/14/2006, Tony Espy wrote:
Daniel Yek wrote:
In the underlying ALSA audio device impl, it's possible for the call to
snd_pcm_open() in ::_OpenAudio() to fail with an EBUSY error code. If
this happens, the HXAudioFormat is left unitialized, but the playback
sequence continues.
I believe you would only get EBUSY if your ALSA configuration specifies a
subdevice. If the subdevice is unavailable (used by other application,
for example, and you are using dmix), EBUSY would be returned, instead of
using the next available subdevice.
Could you check if there is such a place where a subdevice is specified
and if removing it or set it to -1 (default) resolves your problem?
We're using dmix, and we also have alsa-oss installed ( 1.0.11rc3 ). Our
version of alsa-lib is 1.0.11rc4.
Our asound.conf is setup with a duplex device for mic input, however even
after removing it, the problem still occurs.
we do have a couple of devices defined for our alsa-oss library. do these
cause sub-devices to be configured???
thanks again for all your help!
/tony
Here's my stripped down version of asound.conf:
pcm.snd_card {
type hw
card 0
For trouble-shooting purposes, put the following line anywhere -- an
independent line:
defaults.pcm.subdevice -1
Without this line, you default subdevice might not be set properly. *Maybe*
what would then happen is that subdevice gets set to 0 and EBUSY could then
happen. If subdevice is -1, EBUSY should not happen (from what I can tell,
that is.)
It is possible that you can enter this following line inside the
pcm.snd_card block above:
subdevice -1
If these don't fix the EBUSY problem, you should check out
/etc/alsa/alsa.conf for subdevice not equal to -1.
After that, check:
/etc/alsa/cards/yourAlsaDriverName.conf
Then, email [email protected] might be more helpful.
We might need to improve Helix's audio code too, especially if your EBUSY
problem isn't worked around.
Thanks.
--
Daniel Yek
}
# Allow mixing of multiple output streams to this device
pcm.dmixer {
type dmix
ipc_key 1024
slave.pcm "snd_card"
slave {
# This stuff provides some fixes for latency issues.
# buffer_size should be set for your audio chipset.
period_time 0
period_size 1024
buffer_size 32768
}
bindings {
0 0
1 1
}
}
###################
# CONVERSION PLUG #
###################
# Setting the default pcm device allows the conversion
# rate to be selected on the fly.
# duplex mode allows any alsa enabled app to read/write
# to the dmix plug (Fixes a problem with wine).
pcm.!default {
type plug
slave.pcm "dmixer"
}
########
# AOSS #
########
# OSS dsp0 device (OSS needs only output support, duplex will break some
stuff)
pcm.dsp0 {
type plug
slave.pcm "dmixer"
}
# OSS control for dsp0 (needed?...this might not be useful)
ctl.dsp0 {
type plug
slave.pcm "snd_card"
}
# OSS control for dsp0 (default old OSS is mixer0)
ctl.mixer0 {
type plug
slave.pcm "snd_card"
}
_______________________________________________
Audio-dev mailing list
[email protected]
http://lists.helixcommunity.org/mailman/listinfo/audio-dev