[alsa-devel] emu10k1 ALSA/jack problem
Takashi Iwai
tiwai at suse.de
Tue Aug 14 19:06:37 CEST 2007
At Fri, 10 Aug 2007 12:10:45 +0100,
jamesmstone at gmail.com wrote:
>
> Dear All,
>
> I am currently working on an audio program (aldrin) which uses
> libbzub driver
> http://trac.zeitherrschaft.org/zzub/browser/trunk/src/libzzub/driver.cpp
> for accessing the sound card. Libzzub, in turn uses rtaudio
> version 3.03, which is part of the libzzub source tree.
>
> The problem arises when I am running a jack server using my
> sblive, but specifying the default interface (hw:0).
>
> On startup, a vast number of xruns are generated (>200) and jack
> either falls over, or the computer almost completely locks up.
>
> This appears to be caused by rtaudio probing the alsa devices
> whilst jack is running. Interestingly, if I specify a sub-device
> (hw:0,3), or the integrated sound card (intel), no xruns are
> generated.
>
> I am wondering if this problem is arising because of a bug in the
> emu10k1 driver, or a problem with the way rtaudio probes alsa
> devices, or because it is a bad idea to probe alsa devices while
> they are being used by jack???
It's hard to tell. In some cases, it's rahter a hardware setup
(e.g. assining another PCI slot helps) and in some cases it's a
software problem.
It's possible that concurrent access to hw:0,0 may hold long locks.
Speciying hw:0,3 means that you're using another PCM device (the
multi-channel PCM), so the lock is likely specific to the PCM stream.
One difference between HD-audio and emu10k1 here is that emu10k1 has
multiple (sub)streams while HD-audio has a single stream. Thus,
opening the same device will result in a blocking on HD-audio while
emu10k1 gives the next available substream.
Takashi
More information about the Alsa-devel
mailing list