Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(361)

Issue 2382473002: Merge M54: "Break out WebAudio suspension code into new class. Add tests." (Closed)

Created:
4 years, 2 months ago by DaleCurtis
Modified:
4 years, 2 months ago
Reviewers:
CC:
chromium-reviews
Target Ref:
refs/pending/branch-heads/2840
Project:
chromium
Visibility:
Public.

Description

Merge 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. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+462 lines, -137 lines) Patch
M content/renderer/media/renderer_webaudiodevice_impl.h View 3 chunks +4 lines, -32 lines 0 comments Download
M content/renderer/media/renderer_webaudiodevice_impl.cc View 1 5 chunks +21 lines, -96 lines 0 comments Download
M media/base/BUILD.gn View 2 chunks +3 lines, -0 lines 0 comments Download
M media/base/fake_audio_render_callback.h View 1 chunk +4 lines, -0 lines 0 comments Download
M media/base/fake_audio_render_callback.cc View 2 chunks +17 lines, -9 lines 0 comments Download
A media/base/silent_sink_suspender.h View 1 chunk +110 lines, -0 lines 0 comments Download
A media/base/silent_sink_suspender.cc View 1 chunk +143 lines, -0 lines 0 comments Download
A media/base/silent_sink_suspender_unittest.cc View 1 chunk +160 lines, -0 lines 0 comments Download

Messages

Total messages: 2 (1 generated)
DaleCurtis
4 years, 2 months ago (2016-09-28 21:33:42 UTC) #2
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
942fee339500a935be00ac81d3a71e4991aa6666.

Powered by Google App Engine
This is Rietveld 408576698