[alsa-devel] Can I stop sound from driver as system error ?
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Tue Dec 15 03:47:43 CET 2015
Hi Takashi
> > I wonder can I stop sound from driver side (not from user-land)
> > as system error during playback or capture ?
> > How to do it if we can ?
>
> Stop PCM substreams with SNDRV_PCM_STATE_XRUN. In detail, see
> implementation of snd_pcm_stop_xrun() available in 3.19 or
> later. Then, userspace applications cannot continue to read/write PCM
> frames via ALSA uapi.
>
> When using alsa-lib, then, userspace applications receive -EPIPE as
> return value of calling PCM APIs. The applications can stop their
> operation for PCM character devices, or can also recover the XRUN
> state of PCM substream by calling snd_pcm_prepare(). In this case,
> struct snd_pcm_ops.prepare() is called again in driver side.
>
> I think tinyalsa works almost the same.
Thank you for detail explanation !
I will try/investigate it
Best regards
---
Kuninori Morimoto
More information about the Alsa-devel
mailing list