diff options
Diffstat (limited to 'chromium/media/remoting/renderer_controller.cc')
-rw-r--r-- | chromium/media/remoting/renderer_controller.cc | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/chromium/media/remoting/renderer_controller.cc b/chromium/media/remoting/renderer_controller.cc index 2f72a512534..8b15ff383f5 100644 --- a/chromium/media/remoting/renderer_controller.cc +++ b/chromium/media/remoting/renderer_controller.cc @@ -1,10 +1,11 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "media/remoting/renderer_controller.h" #include "base/bind.h" +#include "base/containers/contains.h" #include "base/logging.h" #include "base/time/default_tick_clock.h" #include "base/time/tick_clock.h" @@ -95,6 +96,7 @@ MediaObserverClient::ReasonToSwitchToLocal GetSwitchReason( return MediaObserverClient::ReasonToSwitchToLocal::PIPELINE_ERROR; case ROUTE_TERMINATED: case MEDIA_ELEMENT_DESTROYED: + case MEDIA_ELEMENT_FROZEN: case START_RACE: case SERVICE_GONE: return MediaObserverClient::ReasonToSwitchToLocal::ROUTE_TERMINATED; @@ -370,6 +372,14 @@ void RendererController::OnPaused() { CancelDelayedStart(); } +void RendererController::OnFrozen() { + DCHECK(thread_checker_.CalledOnValidThread()); + DCHECK(is_paused_); + + // If the element is frozen we want to stop remoting. + UpdateAndMaybeSwitch(UNKNOWN_START_TRIGGER, MEDIA_ELEMENT_FROZEN); +} + RemotingCompatibility RendererController::GetVideoCompatibility() const { DCHECK(thread_checker_.CalledOnValidThread()); DCHECK(has_video()); @@ -616,23 +626,17 @@ void RendererController::SetClient(MediaObserverClient* client) { bool RendererController::HasVideoCapability( mojom::RemotingSinkVideoCapability capability) const { - return std::find(std::begin(sink_metadata_.video_capabilities), - std::end(sink_metadata_.video_capabilities), - capability) != std::end(sink_metadata_.video_capabilities); + return base::Contains(sink_metadata_.video_capabilities, capability); } bool RendererController::HasAudioCapability( mojom::RemotingSinkAudioCapability capability) const { - return std::find(std::begin(sink_metadata_.audio_capabilities), - std::end(sink_metadata_.audio_capabilities), - capability) != std::end(sink_metadata_.audio_capabilities); + return base::Contains(sink_metadata_.audio_capabilities, capability); } bool RendererController::HasFeatureCapability( RemotingSinkFeature capability) const { - return std::find(std::begin(sink_metadata_.features), - std::end(sink_metadata_.features), - capability) != std::end(sink_metadata_.features); + return base::Contains(sink_metadata_.features, capability); } bool RendererController::SinkSupportsRemoting() const { |