[pulseaudio-discuss] [PATCH] alsa: reset watermark to initial values on resume

David Henningsson david.henningsson at canonical.com
Sun Oct 9 01:53:25 PDT 2011


On 10/08/2011 11:27 AM, Arun Raghavan wrote:
> On Fri, 2011-10-07 at 18:12 -0500, Pierre-Louis Bossart wrote:
>> Watermark level and latency values are not restored when
>> resuming, the values used prior to suspending are reused.
>> This leads to side effects when underruns happen and buffer
>> sizes are updated, PulseAudio can never meet lower latency
>> requirements.
>>
>> Solution: keep track of watermark and latency values on sink or
>> source creation, and reapply them on resume to start with
>> a clean slate.
>
> One possible concern here -- if the default values are too low for a
> system, every suspend-unsuspend cycle will force readjustment,
> potentially causing artefacts.
>
> I'd argue that it's better to adjust the defaults on such a system,
> though, and broadly take the optimistic view that any major
> readjustments are unlikely to be required permanently.
>
> This is in my tree now -- just pointing out one side effect in case
> anyone else has similar concerns.

For the reason pointed out above, I think this is in general a bad idea.

Or put in another way - what is it that causes the underrun and 
watermark to increase in the first place? Shouldn't we try to fix *that* 
instead?

But if we can't fix that something, what is it that says that it has 
gone away because we suspend/resume the stream? Can there be better 
methods to determine the "something" has stopped, e g if we have 
fulfilled our watermark with a big margin for a specific amount of time?

-- 
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic


More information about the pulseaudio-discuss mailing list