| commit | b8ccb20171a04e37331e651d1a209449bcb9e4a7 | [log] [tgz] |
|---|---|---|
| author | Xiangjun Zhang <[email protected]> | Mon Jul 24 21:44:21 2017 |
| committer | Commit Bot <[email protected]> | Mon Jul 24 21:44:21 2017 |
| tree | 68d10d5d45a40449145a9683be100264825ef8cc | |
| parent | 5cf904450ddb7fba8448914af8ff4c4800481723 [diff] |
Bug Fix: Notify media element remoting ended when player is destroyed. When WebMediaPlayer is destroyed while remoting, it should notify the HTMLMediaElement that remoting was ended and the remoting UI should be hidden. Bug: 747632 Change-Id: Ie1e8189403e496c187a55c860f3e54b6bd1d9ab7 Reviewed-on: https://chromium-review.googlesource.com/581950 Commit-Queue: Xiangjun Zhang <[email protected]> Reviewed-by: Yuri Wiitala <[email protected]> Cr-Commit-Position: refs/heads/master@{#489084}
diff --git a/media/remoting/renderer_controller.cc b/media/remoting/renderer_controller.cc index 50b1f1f2..f9a79e5 100644 --- a/media/remoting/renderer_controller.cc +++ b/media/remoting/renderer_controller.cc
@@ -26,6 +26,10 @@ RendererController::~RendererController() { DCHECK(thread_checker_.CalledOnValidThread()); + if (remote_rendering_started_) { + DCHECK(client_); + client_->SwitchRenderer(false); + } metrics_recorder_.WillStopSession(MEDIA_ELEMENT_DESTROYED); session_->RemoveClient(this); }
diff --git a/media/remoting/renderer_controller_unittest.cc b/media/remoting/renderer_controller_unittest.cc index 3166273c..1ebfc0a 100644 --- a/media/remoting/renderer_controller_unittest.cc +++ b/media/remoting/renderer_controller_unittest.cc
@@ -57,7 +57,7 @@ // MediaObserverClient implementation. void SwitchRenderer(bool disable_pipeline_auto_suspend) override { - is_rendering_remotely_ = controller_->remote_rendering_started(); + is_rendering_remotely_ = disable_pipeline_auto_suspend; disable_pipeline_suspend_ = disable_pipeline_auto_suspend; }