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