APM move: Configure and use APM in Audio Service
ProcessedLocalAudioSource is changed to either create a MediaStreamAudioProcessor or an AudioServiceAudioProcessorProxy depending on whether the WebRtcApmInAudioService flag is set. AudioServiceAudioProcessorProxy proxies GetStats and AECDump calls to the remote audio processor. Although the JavaScript getStats call is asynchronous, we currently collect stats synchronously inside Chrome. Ideally, this would be changed. For now, the proxy overcomes this mismatch by polling the remote audio processor for stats at regular intervals. It uses a heuristic to determine the rate at which the user is calling getStats and tries to match that, within some reasonable limits. 878764 has been filed to fix this. For AECDumps, we already get a file-handle from the browser, so it can just be sent along to the audio service. So the audio service does not need to be able to create files for this to work. For an outline of the project this CL is part of, see: https://docs.google.com/document/d/1u4POff_ts_1LE3WDLA_wDDFnUswdlsuHL5DsiTE0a3U/edit?usp=sharing It's accessible to everyone @chromium.org. No-try since the test timing out is unrelated. No-Try: true Bug: 851959, 878764, 879133, 879243, 879296 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I7473c068aa691d69f6ba90dce2550534c9cb3d8a Reviewed-on: https://chromium-review.googlesource.com/1169471 Commit-Queue: Max Morin <maxmorin@chromium.org> Reviewed-by:Robert Sesek <rsesek@chromium.org> Reviewed-by:
Kinuko Yasuda <kinuko@chromium.org> Reviewed-by:
Olga Sharonova <olka@chromium.org> Reviewed-by:
Max Morin <maxmorin@chromium.org> Cr-Commit-Position: refs/heads/master@{#587796}
Showing
Please register or sign in to comment