Chromium Code Reviews| Index: content/renderer/renderer_webkitplatformsupport_impl.cc |
| diff --git a/content/renderer/renderer_webkitplatformsupport_impl.cc b/content/renderer/renderer_webkitplatformsupport_impl.cc |
| index 1c5fc6fd1b3878441e361e9c01f719e86ff607d8..1b2db3c94078f2e1afc82eb54b1e6f9bd71359ce 100644 |
| --- a/content/renderer/renderer_webkitplatformsupport_impl.cc |
| +++ b/content/renderer/renderer_webkitplatformsupport_impl.cc |
| @@ -589,14 +589,51 @@ size_t RendererWebKitPlatformSupportImpl::audioHardwareBufferSize() { |
| WebAudioDevice* |
| RendererWebKitPlatformSupportImpl::createAudioDevice( |
| - size_t buffer_size, |
| - unsigned channels, |
| - double sample_rate, |
| + size_t bufferSize, |
| + unsigned numberOfChannels, |
| + double sampleRate, |
| WebAudioDevice::RenderCallback* callback) { |
| - return new RendererWebAudioDeviceImpl(buffer_size, |
| - channels, |
| - sample_rate, |
| - callback); |
| + ChannelLayout layout = CHANNEL_LAYOUT_UNSUPPORTED; |
| + |
| + // The |numberOfChannels| does not exactly identify the channel layout of the |
| + // device. The switch statement below assigns a best guess to the channel |
| + // layout based on number of channels. |
| + // TODO(crogers): WebKit should give the channel layout instead of the hard |
|
vrk (LEFT CHROMIUM)
2012/03/09 20:59:32
crogers: Note this TODO I assigned to you! What do
|
| + // channel count. |
| + switch (numberOfChannels) { |
| + case 1: |
| + layout = CHANNEL_LAYOUT_MONO; |
| + break; |
| + case 2: |
| + layout = CHANNEL_LAYOUT_STEREO; |
| + break; |
| + case 3: |
| + layout = CHANNEL_LAYOUT_2_1; |
| + break; |
| + case 4: |
| + layout = CHANNEL_LAYOUT_4POINT0; |
|
tommi (sloooow) - chröme
2012/03/10 10:11:32
nit: what about using the underscore in all the va
vrk (LEFT CHROMIUM)
2012/03/16 18:30:41
SGTM. Looks like we were doing that to be consiste
|
| + break; |
| + case 5: |
| + layout = CHANNEL_LAYOUT_5POINT0; |
| + break; |
| + case 6: |
| + layout = CHANNEL_LAYOUT_5POINT1; |
| + break; |
| + case 7: |
| + layout = CHANNEL_LAYOUT_7POINT0; |
| + break; |
| + case 8: |
| + layout = CHANNEL_LAYOUT_7POINT1; |
| + break; |
| + } |
|
scherkus (not reviewing)
2012/03/09 21:48:59
we need a default case here -- perhaps stereo?
vrk (LEFT CHROMIUM)
2012/03/16 18:30:41
Done.
|
| + |
| + AudioParameters params(AudioParameters::AUDIO_PCM_LOW_LATENCY, |
| + layout, |
| + static_cast<int>(sampleRate), |
| + 16, |
| + bufferSize); |
| + |
| + return new RendererWebAudioDeviceImpl(params, callback); |
| } |
| //------------------------------------------------------------------------------ |