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