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

Unified Diff: media/blink/webmediaplayer_impl.cc

Issue 2487373003: Disable background video track behind a feature flag (Closed)
Patch Set: Added the feature flag to histograms.xml Created 4 years, 1 month 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/blink/webmediaplayer_impl.cc
diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc
index b6c00f295fc68ba4429e93aac084db788f0b8af3..9b7507d539eb837714774884d7e57a92d1fd7b7f 100644
--- a/media/blink/webmediaplayer_impl.cc
+++ b/media/blink/webmediaplayer_impl.cc
@@ -649,7 +649,10 @@ void WebMediaPlayerImpl::selectedVideoTrackChanged(
std::ostringstream logstr;
std::vector<MediaTrack::Id> selectedVideoMediaTrackId;
- if (selectedTrackId) {
+ bool canAddVideoTrack =
+ !base::FeatureList::IsEnabled(kBackgroundVideoTrackOptimization) ||
+ !IsHidden();
+ if (selectedTrackId && canAddVideoTrack) {
selectedVideoMediaTrackId.push_back(selectedTrackId->utf8().data());
logstr << selectedVideoMediaTrackId[0];
}
@@ -1307,6 +1310,9 @@ void WebMediaPlayerImpl::OnVideoOpacityChange(bool opaque) {
void WebMediaPlayerImpl::OnHidden() {
DCHECK(main_task_runner_->BelongsToCurrentThread());
+
+ client_->hidden();
+
if (watch_time_reporter_)
watch_time_reporter_->OnHidden();
@@ -1322,6 +1328,8 @@ void WebMediaPlayerImpl::OnShown() {
if (watch_time_reporter_)
watch_time_reporter_->OnShown();
+ client_->shown();
+
must_suspend_ = false;
background_pause_timer_.Stop();
@@ -1690,8 +1698,7 @@ void WebMediaPlayerImpl::UpdatePlayState() {
#endif
bool is_suspended = pipeline_controller_.IsSuspended();
- bool is_backgrounded =
- IsBackgroundedSuspendEnabled() && delegate_ && delegate_->IsHidden();
+ bool is_backgrounded = IsBackgroundedSuspendEnabled() && IsHidden();
PlayState state = UpdatePlayState_ComputePlayState(is_remote, is_suspended,
is_backgrounded);
SetDelegateState(state.delegate_state);
@@ -1949,10 +1956,16 @@ void WebMediaPlayerImpl::CreateWatchTimeReporter() {
pipeline_metadata_.natural_size,
base::Bind(&GetCurrentTimeInternal, this)));
watch_time_reporter_->OnVolumeChange(volume_);
- if (delegate_ && delegate_->IsHidden())
+ if (IsHidden())
watch_time_reporter_->OnHidden();
else
watch_time_reporter_->OnShown();
}
+bool WebMediaPlayerImpl::IsHidden() const {
+ DCHECK(main_task_runner_->BelongsToCurrentThread());
+
+ return delegate_ && delegate_->IsHidden();
+}
+
} // namespace media

Powered by Google App Engine
This is Rietveld 408576698