Chromium Code Reviews| Index: media/blink/webmediaplayer_impl.cc |
| diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc |
| index cd6091ddd3ccfcfc26d03a634d700428c75ac598..95f8f2ac84ce06f429ec3874e264a42acbbf8901 100644 |
| --- a/media/blink/webmediaplayer_impl.cc |
| +++ b/media/blink/webmediaplayer_impl.cc |
| @@ -265,14 +265,23 @@ WebMediaPlayerImpl::WebMediaPlayerImpl( |
| // TODO(xhwang): When we use an external Renderer, many methods won't work, |
| // e.g. GetCurrentFrameFromCompositor(). See http://crbug.com/434861 |
| + if (params.audio_renderer_sink().get()) { |
|
DaleCurtis
2016/11/30 22:10:38
No need for .get().
|
| + media::OutputDeviceStatus device_status = |
| + params.audio_renderer_sink()->GetOutputDeviceInfo().device_status(); |
| + UMA_HISTOGRAM_ENUMERATION("Media.WebMediaPlayer.SinkStatus", device_status, |
| + OUTPUT_DEVICE_STATUS_MAX + 1); |
| + |
| + if (device_status == OUTPUT_DEVICE_STATUS_OK) { |
| + audio_source_provider_ = |
| + new WebAudioSourceProviderImpl(params.audio_renderer_sink()); |
| + return; |
| + } |
| + MEDIA_LOG(ERROR, media_log_) |
| + << "Output device error, falling back to null sink"; |
| + } |
| // Use the null sink if no valid sink was provided. |
| - audio_source_provider_ = new WebAudioSourceProviderImpl( |
| - params.audio_renderer_sink().get() && |
| - params.audio_renderer_sink() |
| - ->GetOutputDeviceInfo() |
| - .device_status() == OUTPUT_DEVICE_STATUS_OK |
| - ? params.audio_renderer_sink() |
| - : new NullAudioSink(media_task_runner_)); |
| + audio_source_provider_ = |
| + new WebAudioSourceProviderImpl(new NullAudioSink(media_task_runner_)); |
| } |
| WebMediaPlayerImpl::~WebMediaPlayerImpl() { |