| 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,
|
| + int session_id,
|
| + const std::string& device_id,
|
| + const url::Origin& security_origin) {
|
| + AudioMessageFilter* const filter = AudioMessageFilter::Get();
|
| + 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;
|
| +}
|
| +
|
| // 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))
|
|
|