| 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 c96b83f60b316a42f8806c9869cc40d37e1d8739..b10a1129d0008e35fb160b66787efbf2c9237893 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 output_params(
|
| 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);
|
| DCHECK(output_params.IsValid());
|
|
|
| media::AudioRendererMixer* mixer =
|
|
|