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

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 tests 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
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);
}
//------------------------------------------------------------------------------

Powered by Google App Engine
This is Rietveld 408576698