Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Unified Diff: media/remoting/remoting_renderer_controller.cc

Issue 2587613002: Media Remoting: Switch to remoting only when media is playing. (Closed)
Patch Set: Addressed comments. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/remoting/remoting_renderer_controller.cc
diff --git a/media/remoting/remoting_renderer_controller.cc b/media/remoting/remoting_renderer_controller.cc
index 40506d8251839278c751f63123a2e2ee45a1cd8f..c58c17a5b3678cfab28ca256cd09a9e49c36f9a8 100644
--- a/media/remoting/remoting_renderer_controller.cc
+++ b/media/remoting/remoting_renderer_controller.cc
@@ -204,6 +204,19 @@ bool RemotingRendererController::IsAudioCodecSupported() {
}
}
+void RemotingRendererController::OnPlaying() {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ is_paused_ = false;
+ UpdateAndMaybeSwitch();
+}
+
+void RemotingRendererController::OnPaused() {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ is_paused_ = true;
+}
+
bool RemotingRendererController::ShouldBeRemoting() {
DCHECK(thread_checker_.CalledOnValidThread());
@@ -265,6 +278,13 @@ void RemotingRendererController::UpdateAndMaybeSwitch() {
if (remote_rendering_started_ == should_be_remoting)
return;
+ // Only switch to remoting when media is playing. Since the renderer is
+ // created when video starts loading/playing, receiver will display a black
+ // screen before video starts playing if switching to remoting when paused.
+ // Keep mirroring the video in this case is good for the user experience.
+ if (should_be_remoting && is_paused_)
+ return;
+
// Switch between local renderer and remoting renderer.
remote_rendering_started_ = should_be_remoting;
« no previous file with comments | « media/remoting/remoting_renderer_controller.h ('k') | media/remoting/remoting_renderer_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698