[alsa-devel] Closing the pcm streams
Hello,
I am working on a system that a DSP provides the audio algorithms and in case where the DSP crashes, I would like to shutdown nicely any opened PCM streams. The DSP has an RPC protocol to the external world. I use a small watchdog on ARM to monitor the "health" of the DSP. When the DSP goes down, I reset it. However, I would like to close down smoothly the PCM streams and inform the user that there was an error while playing. Is there any way to inform the ALSA kernel framework in the kernel that a specific PCM stream gone bad? Where is the best point to reset ALSA kernel framework?
Thank you Andy
On Thu, Feb 18, 2016 at 06:46:04PM +0000, Andy Ng wrote:
Hello,
I am working on a system that a DSP provides the audio algorithms and in case where the DSP crashes, I would like to shutdown nicely any opened PCM streams. The DSP has an RPC protocol to the external world. I use a small watchdog on ARM to monitor the "health" of the DSP. When the DSP goes down, I reset it. However, I would like to close down smoothly the PCM streams and inform the user that there was an error while playing. Is there any way to inform the ALSA kernel framework in the kernel that a specific PCM stream gone bad? Where is the best point to reset ALSA kernel framework?
In your driver...
You can call snd_pcm_stop() on all the streams and then return an error on commands, usermode may close and restart again
participants (2)
-
Andy Ng
-
Vinod Koul