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
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to