Chromium Code Reviews| Index: content/renderer/media/audio_device_factory.cc |
| diff --git a/content/renderer/media/audio_device_factory.cc b/content/renderer/media/audio_device_factory.cc |
| index e2118fea834f453690dbf80d7c0c1394b53eb861..ea4b3abb79a5cc284b5ff6b156ca6f772f31660c 100644 |
| --- a/content/renderer/media/audio_device_factory.cc |
| +++ b/content/renderer/media/audio_device_factory.cc |
| @@ -21,6 +21,18 @@ AudioDeviceFactory* AudioDeviceFactory::factory_ = NULL; |
| namespace { |
| +media::AudioOutputDevice* NewOutputDevice(int render_frame_id, |
|
Guido Urdaneta
2016/03/21 11:09:20
This should be scoped_refptr
|
| + int session_id, |
| + const std::string& device_id, |
| + const url::Origin& security_origin) { |
| + AudioMessageFilter* const filter = AudioMessageFilter::Get(); |
| + media::AudioOutputDevice* device = new media::AudioOutputDevice( |
|
Guido Urdaneta
2016/03/21 11:09:20
This one too.
o1ka
2016/03/21 11:50:31
Yes, exactly, I've already found this :)
Guido Urdaneta
2016/03/21 13:01:45
Yes. After out talk, I just wanted to make sure yo
|
| + filter->CreateAudioOutputIPC(render_frame_id), filter->io_task_runner(), |
| + session_id, device_id, security_origin); |
| + device->RequestDeviceAuthorization(); |
| + return device; |
| +} |
| + |
| // This is where we decide which audio will go to mixers and which one to |
| // AudioOutpuDevice directly. |
| bool IsMixable(AudioDeviceFactory::SourceType source_type) { |
| @@ -32,7 +44,7 @@ bool IsMixable(AudioDeviceFactory::SourceType source_type) { |
| return false; |
| } |
| -scoped_refptr<media::RestartableAudioRendererSink> NewMixableSink( |
| +scoped_refptr<media::SwitchableAudioRendererSink> NewMixableSink( |
| int render_frame_id, |
| const std::string& device_id, |
| const url::Origin& security_origin) { |
| @@ -47,31 +59,27 @@ scoped_refptr<media::AudioRendererSink> NewUnmixableSink( |
| int session_id, |
| const std::string& device_id, |
| const url::Origin& security_origin) { |
| - return AudioDeviceFactory::NewOutputDevice(render_frame_id, session_id, |
| - device_id, security_origin); |
| + return NewOutputDevice(render_frame_id, session_id, device_id, |
| + security_origin); |
| } |
| } // namespace |
| -// static |
| -scoped_refptr<media::AudioOutputDevice> AudioDeviceFactory::NewOutputDevice( |
| +scoped_refptr<media::AudioRendererSink> |
| +AudioDeviceFactory::NewAudioRendererMixerSink( |
| int render_frame_id, |
| int session_id, |
| const std::string& device_id, |
| const url::Origin& security_origin) { |
| if (factory_) { |
| - media::AudioOutputDevice* const device = factory_->CreateOutputDevice( |
| - render_frame_id, session_id, device_id, security_origin); |
| - if (device) |
| - return device; |
| + media::AudioRendererSink* const sink = |
| + factory_->CreateAudioRendererMixerSink(render_frame_id, session_id, |
| + device_id, security_origin); |
| + if (sink) |
| + return sink; |
| } |
| - |
| - AudioMessageFilter* const filter = AudioMessageFilter::Get(); |
| - scoped_refptr<media::AudioOutputDevice> device = new media::AudioOutputDevice( |
| - filter->CreateAudioOutputIPC(render_frame_id), filter->io_task_runner(), |
| - session_id, device_id, security_origin); |
| - device->RequestDeviceAuthorization(); |
| - return device; |
| + return NewOutputDevice(render_frame_id, session_id, device_id, |
| + security_origin); |
| } |
| // static |
| @@ -96,20 +104,20 @@ AudioDeviceFactory::NewAudioRendererSink(SourceType source_type, |
| } |
| // static |
| -scoped_refptr<media::RestartableAudioRendererSink> |
| -AudioDeviceFactory::NewRestartableAudioRendererSink( |
| +scoped_refptr<media::SwitchableAudioRendererSink> |
| +AudioDeviceFactory::NewSwitchableAudioRendererSink( |
| SourceType source_type, |
| int render_frame_id, |
| int session_id, |
| const std::string& device_id, |
| const url::Origin& security_origin) { |
| if (factory_) { |
| - media::RestartableAudioRendererSink* const device = |
| - factory_->CreateRestartableAudioRendererSink( |
| - source_type, render_frame_id, session_id, device_id, |
| - security_origin); |
| - if (device) |
| - return device; |
| + media::SwitchableAudioRendererSink* const sink = |
| + factory_->CreateSwitchableAudioRendererSink(source_type, |
| + render_frame_id, session_id, |
| + device_id, security_origin); |
| + if (sink) |
| + return sink; |
| } |
| if (IsMixable(source_type)) |