Cournapeau David <[EMAIL PROTECTED]> writes:

> 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.

This is correct.

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

You can open it in non-blocking mode and set it to blocking later, if
you want that behavior when writing data.

-- 
Måns Rullgård
[EMAIL PROTECTED]



-------------------------------------------------------
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.
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to