| Index: content/renderer/media/webmediaplayer_ms.cc
|
| diff --git a/content/renderer/media/webmediaplayer_ms.cc b/content/renderer/media/webmediaplayer_ms.cc
|
| index b035cdc44dce5bd7224985b2df9bfad3fc6a7675..33421659b8c9e519ed456a8a580ea74a4b6fad72 100644
|
| --- a/content/renderer/media/webmediaplayer_ms.cc
|
| +++ b/content/renderer/media/webmediaplayer_ms.cc
|
| @@ -64,7 +64,9 @@ WebMediaPlayerMS::WebMediaPlayerMS(
|
| gpu_factories_(gpu_factories),
|
| compositor_task_runner_(compositor_task_runner),
|
| initial_audio_output_device_id_(sink_id.utf8()),
|
| - initial_security_origin_(security_origin) {
|
| + initial_security_origin_(security_origin.isNull()
|
| + ? url::Origin()
|
| + : url::Origin(security_origin)) {
|
| DVLOG(1) << __FUNCTION__;
|
| DCHECK(client);
|
| media_log_->AddEvent(
|
| @@ -75,7 +77,7 @@ WebMediaPlayerMS::~WebMediaPlayerMS() {
|
| DVLOG(1) << __FUNCTION__;
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| - if (compositor_)
|
| + if (compositor_ && !compositor_task_runner_->BelongsToCurrentThread())
|
| compositor_task_runner_->DeleteSoon(FROM_HERE, compositor_.release());
|
|
|
| get_client()->setWebLayer(nullptr);
|
| @@ -119,9 +121,12 @@ void WebMediaPlayerMS::load(LoadType load_type,
|
| gpu_factories_);
|
|
|
| RenderFrame* const frame = RenderFrame::FromWebFrame(frame_);
|
| - audio_renderer_ = renderer_factory_->GetAudioRenderer(
|
| - url, frame->GetRoutingID(), initial_audio_output_device_id_,
|
| - initial_security_origin_);
|
| +
|
| + if (frame) {
|
| + audio_renderer_ = renderer_factory_->GetAudioRenderer(
|
| + url, frame->GetRoutingID(), initial_audio_output_device_id_,
|
| + initial_security_origin_);
|
| + }
|
|
|
| if (!video_frame_provider_ && !audio_renderer_) {
|
| SetNetworkState(WebMediaPlayer::NetworkStateNetworkError);
|
| @@ -479,4 +484,5 @@ void WebMediaPlayerMS::ResetCanvasCache() {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| video_renderer_.ResetCache();
|
| }
|
| +
|
| } // namespace content
|
|
|