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

Unified Diff: content/renderer/renderer_webkitplatformsupport_impl.cc

Issue 9655018: Make AudioParameters a class instead of a struct (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix copyright years Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/pepper/pepper_plugin_delegate_impl.cc ('k') | content/test/DEPS » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/renderer_webkitplatformsupport_impl.cc
diff --git a/content/renderer/renderer_webkitplatformsupport_impl.cc b/content/renderer/renderer_webkitplatformsupport_impl.cc
index 3c674fdb8e14b5c5b556af596631dac3409a0cda..3ae64a6e319700f5e9d18a64491f726622cfd3bc 100644
--- a/content/renderer/renderer_webkitplatformsupport_impl.cc
+++ b/content/renderer/renderer_webkitplatformsupport_impl.cc
@@ -610,14 +610,53 @@ 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
+ // 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_4_0;
+ break;
+ case 5:
+ layout = CHANNEL_LAYOUT_5_0;
+ break;
+ case 6:
+ layout = CHANNEL_LAYOUT_5_1;
+ break;
+ case 7:
+ layout = CHANNEL_LAYOUT_7_0;
+ break;
+ case 8:
+ layout = CHANNEL_LAYOUT_7_1;
+ break;
+ default:
+ layout = CHANNEL_LAYOUT_STEREO;
+ }
+
+ AudioParameters params(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ layout,
+ static_cast<int>(sampleRate),
+ 16,
+ bufferSize);
+
+ return new RendererWebAudioDeviceImpl(params, callback);
}
//------------------------------------------------------------------------------
« no previous file with comments | « content/renderer/pepper/pepper_plugin_delegate_impl.cc ('k') | content/test/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698