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

Side by Side Diff: media/blink/webmediaplayer_impl.cc

Issue 2818013002: [Media] Add a feature flag to pause bg video only players. (Closed)
Patch Set: Created 3 years, 8 months 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 unified diff | Download patch
« no previous file with comments | « media/base/media_switches.cc ('k') | media/blink/webmediaplayer_impl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/blink/webmediaplayer_impl.h" 5 #include "media/blink/webmediaplayer_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <limits> 9 #include <limits>
10 #include <string> 10 #include <string>
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 } 123 }
124 124
125 bool IsResumeBackgroundVideosEnabled() { 125 bool IsResumeBackgroundVideosEnabled() {
126 return base::FeatureList::IsEnabled(kResumeBackgroundVideo); 126 return base::FeatureList::IsEnabled(kResumeBackgroundVideo);
127 } 127 }
128 128
129 bool IsBackgroundVideoTrackOptimizationEnabled() { 129 bool IsBackgroundVideoTrackOptimizationEnabled() {
130 return base::FeatureList::IsEnabled(kBackgroundVideoTrackOptimization); 130 return base::FeatureList::IsEnabled(kBackgroundVideoTrackOptimization);
131 } 131 }
132 132
133 bool IsBackgroundVideoPauseOptimizationEnabled() {
134 return base::FeatureList::IsEnabled(kBackgroundVideoPauseOptimization);
135 }
136
133 bool IsNetworkStateError(blink::WebMediaPlayer::NetworkState state) { 137 bool IsNetworkStateError(blink::WebMediaPlayer::NetworkState state) {
134 bool result = state == blink::WebMediaPlayer::kNetworkStateFormatError || 138 bool result = state == blink::WebMediaPlayer::kNetworkStateFormatError ||
135 state == blink::WebMediaPlayer::kNetworkStateNetworkError || 139 state == blink::WebMediaPlayer::kNetworkStateNetworkError ||
136 state == blink::WebMediaPlayer::kNetworkStateDecodeError; 140 state == blink::WebMediaPlayer::kNetworkStateDecodeError;
137 DCHECK_EQ(state > blink::WebMediaPlayer::kNetworkStateLoaded, result); 141 DCHECK_EQ(state > blink::WebMediaPlayer::kNetworkStateLoaded, result);
138 return result; 142 return result;
139 } 143 }
140 144
141 gfx::Size GetRotatedVideoSize(VideoRotation rotation, gfx::Size natural_size) { 145 gfx::Size GetRotatedVideoSize(VideoRotation rotation, gfx::Size natural_size) {
142 if (rotation == VIDEO_ROTATION_90 || rotation == VIDEO_ROTATION_270) 146 if (rotation == VIDEO_ROTATION_90 || rotation == VIDEO_ROTATION_270)
(...skipping 2051 matching lines...) Expand 10 before | Expand all | Expand 10 after
2194 if (IsRemote()) 2198 if (IsRemote())
2195 return false; 2199 return false;
2196 #endif 2200 #endif
2197 2201
2198 return !HasAudio() || (IsResumeBackgroundVideosEnabled() && 2202 return !HasAudio() || (IsResumeBackgroundVideosEnabled() &&
2199 video_locked_when_paused_when_hidden_); 2203 video_locked_when_paused_when_hidden_);
2200 } 2204 }
2201 2205
2202 // Otherwise only pause if the optimization is on and it's a video-only 2206 // Otherwise only pause if the optimization is on and it's a video-only
2203 // optimization candidate. 2207 // optimization candidate.
2204 return IsBackgroundVideoTrackOptimizationEnabled() && !HasAudio() && 2208 return IsBackgroundVideoPauseOptimizationEnabled() && !HasAudio() &&
2205 IsBackgroundOptimizationCandidate(); 2209 IsBackgroundOptimizationCandidate();
2206 } 2210 }
2207 2211
2208 bool WebMediaPlayerImpl::ShouldDisableVideoWhenHidden() const { 2212 bool WebMediaPlayerImpl::ShouldDisableVideoWhenHidden() const {
2209 // This optimization is behind the flag on all platforms. 2213 // This optimization is behind the flag on all platforms.
2210 if (!IsBackgroundVideoTrackOptimizationEnabled()) 2214 if (!IsBackgroundVideoTrackOptimizationEnabled())
2211 return false; 2215 return false;
2212 2216
2213 // Disable video track only for players with audio that match the criteria for 2217 // Disable video track only for players with audio that match the criteria for
2214 // being optimized. 2218 // being optimized.
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
2347 2351
2348 void WebMediaPlayerImpl::RecordUnderflowDuration(base::TimeDelta duration) { 2352 void WebMediaPlayerImpl::RecordUnderflowDuration(base::TimeDelta duration) {
2349 DCHECK(data_source_ || chunk_demuxer_); 2353 DCHECK(data_source_ || chunk_demuxer_);
2350 if (data_source_) 2354 if (data_source_)
2351 UMA_HISTOGRAM_TIMES("Media.UnderflowDuration", duration); 2355 UMA_HISTOGRAM_TIMES("Media.UnderflowDuration", duration);
2352 else 2356 else
2353 UMA_HISTOGRAM_TIMES("Media.UnderflowDuration.MSE", duration); 2357 UMA_HISTOGRAM_TIMES("Media.UnderflowDuration.MSE", duration);
2354 } 2358 }
2355 2359
2356 } // namespace media 2360 } // namespace media
OLDNEW
« no previous file with comments | « media/base/media_switches.cc ('k') | media/blink/webmediaplayer_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698