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

Unified Diff: content/renderer/renderer_blink_platform_impl.cc

Issue 2708933005: Fix WebAudio support for discrete channel layouts. (Closed)
Patch Set: 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
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 ed61cd8eea512033476ff67fa45198fe395d2e9b..6c4823db43cfd6506fb27afb724f18a958e2f9f8 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;
DaleCurtis 2017/02/21 22:22:44 New code will return SURROUND here: Old: Front L,
- break;
- case 4:
- layout = media::CHANNEL_LAYOUT_4_0;
DaleCurtis 2017/02/21 22:22:44 New code will return QUAD here: Old: Front L, Fro
- 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;
DaleCurtis 2017/02/21 22:22:44 New code will return 6.1 here: Old: Front L, Fron
- 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;
+ int session_id;
if (input_device_id.isNull() ||
!base::StringToInt(input_device_id.utf8(), &session_id)) {
DaleCurtis 2017/02/21 22:22:44 Note: This method may write to |session_id| even w
- 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));
}

Powered by Google App Engine
This is Rietveld 408576698