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

Unified Diff: content/renderer/renderer_blink_platform_impl.cc

Issue 2708933005: Fix WebAudio support for discrete channel layouts. (Closed)
Patch Set: Zero session_id. Created 3 years, 10 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/media/renderer_webaudiodevice_impl_unittest.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/renderer_blink_platform_impl.cc
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
index 40c87d70eaa7e9546e1a4086eb374b45e0d0e2f6..ed2baee580ba97a0df5060fba89dee53cf9b1130 100644
--- a/content/renderer/renderer_blink_platform_impl.cc
+++ b/content/renderer/renderer_blink_platform_impl.cc
@@ -675,49 +675,18 @@ WebAudioDevice* RendererBlinkPlatformImpl::createAudioDevice(
// The |channels| 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.
- media::ChannelLayout layout = media::CHANNEL_LAYOUT_UNSUPPORTED;
- switch (channels) {
- case 1:
- layout = media::CHANNEL_LAYOUT_MONO;
- break;
- case 2:
- layout = media::CHANNEL_LAYOUT_STEREO;
- break;
- case 3:
- layout = media::CHANNEL_LAYOUT_2_1;
- break;
- case 4:
- layout = media::CHANNEL_LAYOUT_4_0;
- break;
- case 5:
- layout = media::CHANNEL_LAYOUT_5_0;
- break;
- case 6:
- layout = media::CHANNEL_LAYOUT_5_1;
- break;
- case 7:
- layout = media::CHANNEL_LAYOUT_7_0;
- break;
- case 8:
- layout = media::CHANNEL_LAYOUT_7_1;
- break;
- default:
- // TODO need to also pass 'channels' into RendererWebAudioDeviceImpl for
- // CHANNEL_LAYOUT_DISCRETE
- NOTREACHED();
- }
+ media::ChannelLayout layout = media::GuessChannelLayout(channels);
+ if (layout == media::CHANNEL_LAYOUT_UNSUPPORTED)
+ layout = media::CHANNEL_LAYOUT_DISCRETE;
int session_id = 0;
if (input_device_id.isNull() ||
!base::StringToInt(input_device_id.utf8(), &session_id)) {
- if (input_channels > 0)
- DLOG(WARNING) << "createAudioDevice(): request for audio input ignored";
-
- input_channels = 0;
+ session_id = 0;
}
return RendererWebAudioDeviceImpl::Create(
- layout, latency_hint, callback, session_id,
+ layout, channels, latency_hint, callback, session_id,
static_cast<url::Origin>(security_origin));
}
« no previous file with comments | « content/renderer/media/renderer_webaudiodevice_impl_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698