Chromium Code Reviews| Index: content/shell/renderer/layout_test/layout_test_content_renderer_client.cc |
| diff --git a/content/shell/renderer/layout_test/layout_test_content_renderer_client.cc b/content/shell/renderer/layout_test/layout_test_content_renderer_client.cc |
| index 163a7415b668fbde8e687b746139672b7daec63f..2968807cf9bdd2cf86ecdfa8fb0b8a1ea8737d97 100644 |
| --- a/content/shell/renderer/layout_test/layout_test_content_renderer_client.cc |
| +++ b/content/shell/renderer/layout_test/layout_test_content_renderer_client.cc |
| @@ -32,6 +32,7 @@ |
| #include "content/test/mock_webclipboard_impl.h" |
| #include "gin/modules/module_registry.h" |
| #include "media/media_features.h" |
| +#include "third_party/WebKit/public/platform/WebAudioLatencyHint.h" |
| #include "third_party/WebKit/public/platform/WebMediaStreamCenter.h" |
| #include "third_party/WebKit/public/web/WebFrameWidget.h" |
| #include "third_party/WebKit/public/web/WebKit.h" |
| @@ -194,10 +195,33 @@ LayoutTestContentRendererClient::OverrideCreateMIDIAccessor( |
| return interfaces->CreateMIDIAccessor(client); |
| } |
| -WebAudioDevice* LayoutTestContentRendererClient::OverrideCreateAudioDevice() { |
| +WebAudioDevice* LayoutTestContentRendererClient::OverrideCreateAudioDevice( |
| + const blink::WebAudioLatencyHint& latency_hint) { |
| + const double hw_buffer_size = 128; |
| + const double hw_sample_rate = 44100; |
|
Raymond Toy
2017/03/14 15:19:39
Where do these numbers come from? And why these p
Andrew MacPherson
2017/03/15 15:08:17
These are completely arbitrary, my understanding i
|
| + double buffer_size = 0; |
| + switch (latency_hint.category()) { |
| + case blink::WebAudioLatencyHint::kCategoryInteractive: |
| + buffer_size = hw_buffer_size; |
| + break; |
| + case blink::WebAudioLatencyHint::kCategoryBalanced: |
| + buffer_size = hw_buffer_size * 2; |
| + break; |
| + case blink::WebAudioLatencyHint::kCategoryPlayback: |
| + buffer_size = hw_buffer_size * 4; |
| + break; |
| + case blink::WebAudioLatencyHint::kCategoryExact: |
| + buffer_size = std::max(hw_buffer_size, |
| + std::min(latency_hint.seconds() * hw_sample_rate, |
| + hw_buffer_size * 4)); |
| + break; |
| + default: |
| + NOTREACHED(); |
| + break; |
| + } |
| test_runner::WebTestInterfaces* interfaces = |
| LayoutTestRenderThreadObserver::GetInstance()->test_interfaces(); |
| - return interfaces->CreateAudioDevice(44100, 128); |
| + return interfaces->CreateAudioDevice(hw_sample_rate, buffer_size); |
| } |
| WebClipboard* LayoutTestContentRendererClient::OverrideWebClipboard() { |