alsa-project/alsa-lib issue #92 was opened from RonaldAJ:
Using the dsnoop plugin sets the mode to non-blocking in alsa-lib/src/pcm/pcm_dsnoop.c:
ret = snd_pcm_open_slave(&spcm, root, sconf, stream, mode | SND_PCM_NONBLOCK | SND_PCM_APPEND, NULL); Judging from the code the same applies for dmix, dshare.
It took me a considerable amount of time to figure this out using the source code. So it would be nice if this behaviour where documented.
Personally I would prefer the code to throw an error message, when using blocking mode with these plugins. But I don't know how that ties in with the overall design.
Issue URL : https://github.com/alsa-project/alsa-lib/issues/92 Repository URL: https://github.com/alsa-project/alsa-lib