| Index: media/blink/webmediaplayer_impl.cc
|
| diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc
|
| index 954ccbd11c7b16516491f80faa5fa772d4b6ba89..52ebb24efb30682d9830288d0767e35c7a7caf06 100644
|
| --- a/media/blink/webmediaplayer_impl.cc
|
| +++ b/media/blink/webmediaplayer_impl.cc
|
| @@ -204,7 +204,8 @@ WebMediaPlayerImpl::WebMediaPlayerImpl(
|
| renderer_factory_(std::move(renderer_factory)),
|
| surface_manager_(params.surface_manager()),
|
| suppress_destruction_errors_(false),
|
| - can_suspend_state_(CanSuspendState::UNKNOWN) {
|
| + can_suspend_state_(params.allow_idle_suspend() ? CanSuspendState::UNKNOWN
|
| + : CanSuspendState::NO) {
|
| DCHECK(!adjust_allocated_memory_cb_.is_null());
|
| DCHECK(renderer_factory_);
|
| DCHECK(client_);
|
| @@ -1458,11 +1459,12 @@ void WebMediaPlayerImpl::SetSuspendState(bool is_suspended) {
|
| if (IsNetworkStateError(network_state_))
|
| return;
|
|
|
| -#if defined(OS_MACOSX) || defined(OS_WIN)
|
| - // TODO(sandersd): Idle suspend is disabled on OSX and Windows for hardware
|
| - // decoding / opaque video frames since these frames are owned by the decoder
|
| - // in the GPU process. http://crbug.com/595716 and http://crbug.com/602708
|
| if (can_suspend_state_ == CanSuspendState::UNKNOWN) {
|
| +#if defined(OS_MACOSX) || defined(OS_WIN)
|
| + // TODO(sandersd): Idle suspend is disabled on OSX and Windows for hardware
|
| + // decoding / opaque video frames since these frames are owned by the
|
| + // decoder in the GPU process. http://crbug.com/595716 and
|
| + // http://crbug.com/602708
|
| scoped_refptr<VideoFrame> frame = GetCurrentFrameFromCompositor();
|
| if (frame) {
|
| can_suspend_state_ =
|
| @@ -1470,10 +1472,10 @@ void WebMediaPlayerImpl::SetSuspendState(bool is_suspended) {
|
| ? CanSuspendState::NO
|
| : CanSuspendState::YES;
|
| }
|
| - }
|
| #else
|
| - can_suspend_state_ = CanSuspendState::YES;
|
| + can_suspend_state_ = CanSuspendState::YES;
|
| #endif
|
| + }
|
|
|
| if (can_suspend_state_ == CanSuspendState::NO)
|
| return;
|
|
|