[alsa-devel] snd-hda-intel+dmix: Disabling power save doesn't work

Adam Nielsen a.nielsen at shikadi.net
Tue May 8 12:19:56 CEST 2012


>> This works as expected when stopping playback, but if I only *pause* playback
>> then the signal drops almost exactly one second later, no matter what
>> "powersave" is set to.  So of course then resuming playback means I lose a
>> couple of seconds of audio while the amplifier re-syncs to the SPDIF signal.
>
> Check the powersave option value when this happens.  The system such as
> power-utils script may change the parameter by itself.

Thanks for the quick reply!  I checked this and there was no change.  Before, 
during and after playback, the module options haven't changed.

>> It doesn't happen if I use hw:0,1 as the output device (the SPDIF signal keeps
>> going, even when paused) but as soon as I change the output device to dmix
>> then the signal drops whenever the audio is paused.
>
> It's weird becauase the pause function isn't implemented in dmix at
> all.  Thus it's application's own behavior how to pause the stream.
> Usually the application stops the stream like a normal stop then
> restarts from the position manually.

Upon more experimentation I have noticed that the SPDIF signal also drops out 
during silent sections of audio.  If there's a 100% quiet part of a film or 
movie I'm watching with mplayer or another program, during the silent sections 
the signal drops out and I again miss a few seconds when they start speaking 
again.

I now realise this has been happening for a long time, as I created a .wav 
file containing 60 seconds of very quiet white noise a few years ago.  I play 
this in a loop in the background whenever I want to prevent the powersave from 
kicking in in the silent parts when I'm watching a movie.

It seems that this happens regardless of the output device - hw:0,1 or dmix 
both drop out during silent sections.  I have double-checked during pausing 
though, and as before hw:0,1 keeps going during a pause while dmix drops out.

Is dmix closing its output PCM stream when all input streams are paused or 
silent?  I'm not sure what else would cause this behaviour.

Thanks again,
Adam.



More information about the Alsa-devel mailing list