Chromium Code Reviews
DescriptionMerge M54: "Break out WebAudio suspension code into new class. Add tests."
We've had enough problems with this code over the past year that it needs
to be extracted into something less burdensome on the WebAudio code. It
also needs some better testing.
This creates a new class called SilentSinkSuspender which is only used on
Android today and adds tests for it. It also changes the implementation
of suspension from directly calling into the sink to instead post tasks
to a provided task runner (render thread).
Notably, fake render callbacks are now driven on the media thread instead
of the render thread since WebAudio and Oilpan have a plethora of checks
around what is and isn't run on the main thread. This also means more than
one Render() may occur during transition. Too many of these can disrupt
the WebAudio clock, but given the 30 second timeout this should be pretty
rare in actual WebAudio usage situations.
BUG=649018, 614978
TEST=new unittests, no more deadlock upon idle timeout.
Review-Url: https://codereview.chromium.org/2365723003
Cr-Commit-Position: refs/heads/master@{#421108}
(cherry picked from commit b770266d26fc09ab8fb746562d008c5d436e4784)
Committed: https://chromium.googlesource.com/chromium/src/+/942fee339500a935be00ac81d3a71e4991aa6666
Patch Set 1 #Patch Set 2 : Fix conflicts. #
Messages
Total messages: 2 (1 generated)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||