Chromium Code Reviews| Index: media/blink/webaudiosourceprovider_impl.cc |
| diff --git a/media/blink/webaudiosourceprovider_impl.cc b/media/blink/webaudiosourceprovider_impl.cc |
| index d43a16fb5b1b927eab078c7fb7f952b02aafe3b6..ecc548f848782666a49e9b31f6c369c7581efe43 100644 |
| --- a/media/blink/webaudiosourceprovider_impl.cc |
| +++ b/media/blink/webaudiosourceprovider_impl.cc |
| @@ -87,7 +87,7 @@ class WebAudioSourceProviderImpl::TeeFilter |
| }; |
| WebAudioSourceProviderImpl::WebAudioSourceProviderImpl( |
| - const scoped_refptr<RestartableAudioRendererSink>& sink) |
| + const scoped_refptr<SwitchableAudioRendererSink>& sink) |
| : volume_(1.0), |
| state_(kStopped), |
| client_(nullptr), |
| @@ -204,6 +204,17 @@ OutputDevice* WebAudioSourceProviderImpl::GetOutputDevice() { |
| return sink_->GetOutputDevice(); |
| } |
| +void WebAudioSourceProviderImpl::SwitchOutputDevice( |
| + const std::string& device_id, |
| + const url::Origin& security_origin, |
| + const SwitchOutputDeviceCB& callback) { |
| + base::AutoLock auto_lock(sink_lock_); |
| + if (sink_) |
|
Guido Urdaneta
2016/03/17 17:38:24
Shouldn't this one also have the "!client" check t
o1ka
2016/03/18 10:45:40
Agree. Done.
|
| + sink_->SwitchOutputDevice(device_id, security_origin, callback); |
| + else |
| + callback.Run(media::OUTPUT_DEVICE_STATUS_ERROR_INTERNAL); |
| +} |
| + |
| void WebAudioSourceProviderImpl::Initialize(const AudioParameters& params, |
| RenderCallback* renderer) { |
| base::AutoLock auto_lock(sink_lock_); |