Chromium Code Reviews| Index: media/blink/webmediaplayer_impl.cc |
| diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc |
| index e5d8753edfd74d85943784112eba8da26f218d6d..0fdfef23a10abfeb1ebdc3a5ee6846c666020fdd 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_); |
| @@ -1452,6 +1453,9 @@ void WebMediaPlayerImpl::SetSuspendState(bool is_suspended) { |
| if (IsNetworkStateError(network_state_)) |
| return; |
| + if (can_suspend_state_ == CanSuspendState::NO) |
| + 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 |
| @@ -1469,9 +1473,6 @@ void WebMediaPlayerImpl::SetSuspendState(bool is_suspended) { |
| can_suspend_state_ = CanSuspendState::YES; |
| #endif |
| - if (can_suspend_state_ == CanSuspendState::NO) |
|
sandersd (OOO until July 31)
2016/05/12 17:48:11
Still need this here due to line 1468.
halliwell
2016/05/12 18:11:59
Doh, yes. Done.
|
| - return; |
| - |
| if (is_suspended) { |
| pipeline_controller_.Suspend(); |
| } else { |