[alsa-devel] Playing silence instead of pausing during underrun

Jaroslav Kysela perex at perex.cz
Thu Sep 4 17:28:38 CEST 2008

On Thu, 4 Sep 2008, Timur Tabi wrote:

> If I understand it correctly, when ALSA detects an underrun during 
> playback, it throttles the driver by sending pause and resume commands.
> It turns out that our hardware doesn't really like this.  We're looking 
> at various solutions, but one proposal would be to keep the hardware 
> running during a pause, but just have it play silence instead.  That is, 
> ALSA keeps feeding silence data during an underrun recovery.
> Is there an easy way to do this in ALSA?  Is there another driver that 
> does this?

Note that not all hardware supports pause, so just remove 
SNDRV_PCM_INFO_PAUSE and all pause related code in the trigger callback 
and let user space to do the full reinitialization.


Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.

More information about the Alsa-devel mailing list