Hi there,

I am currently using two computers which have a crappy intl8x0 audio chipset, and these chipset cannot be used by two different apps in the same time. For example, if an audio app is using the soundcard, trying to launch xmms ( with alsa output plugin) gives an error message which says something like "check that no other app is blocking the device". But if I launch alsaplayer (alsa output plugin) instead of xmms, the app doesn't complain: it 'just' blocks on the snd_pcm_open call.
Basically, after having looked at the source, is seems like this difference is coming from the flag in snd_pcm_open: if SND_PCM_NONBLOCK is used, opening an already opened device failed, if SND_PCM_ASYNC is used, the app just blocks, until the other app releases the device.

Is there a (simple) way to use the blocking call and detecting if the device is already opened ?

   Thank you,


This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE.
Alsa-devel mailing list

Reply via email to