| Index: content/renderer/media/audio_renderer_mixer_manager.cc
|
| diff --git a/content/renderer/media/audio_renderer_mixer_manager.cc b/content/renderer/media/audio_renderer_mixer_manager.cc
|
| index 97d0e153fc7e9e63aafdec3c5e2576de677504d4..fbbfbcaefbe0dc6833caea6d543a7d87e2b855b7 100644
|
| --- a/content/renderer/media/audio_renderer_mixer_manager.cc
|
| +++ b/content/renderer/media/audio_renderer_mixer_manager.cc
|
| @@ -49,8 +49,9 @@ media::AudioRendererMixer* AudioRendererMixerManager::GetMixer(
|
| const std::string& device_id,
|
| const url::Origin& security_origin,
|
| media::OutputDeviceStatus* device_status) {
|
| - // Effects are not passed through to output creation, so ensure none are set.
|
| - DCHECK_EQ(params.effects(), media::AudioParameters::NO_EFFECTS);
|
| + // Only the focusable effect is passed through, so ensure no others are set.
|
| + DCHECK(params.effects() == media::AudioParameters::NO_EFFECTS ||
|
| + params.effects() == media::AudioParameters::FOCUSABLE);
|
|
|
| const MixerKey key(source_render_frame_id, params, device_id,
|
| security_origin);
|
| @@ -108,6 +109,10 @@ media::AudioRendererMixer* AudioRendererMixerManager::GetMixer(
|
| media::AudioParameters::AUDIO_PCM_LOW_LATENCY, params.channel_layout(),
|
| sample_rate, 16, buffer_size);
|
|
|
| + // Pass through the focusable effect to the output device.
|
| + if (params.effects() == media::AudioParameters::FOCUSABLE)
|
| + output_params.set_effects(media::AudioParameters::FOCUSABLE);
|
| +
|
| // If we've created invalid output parameters, simply pass on the input
|
| // params and let the browser side handle automatic fallback.
|
| if (!output_params.IsValid())
|
|
|