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

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

Issue 2611333003: [Video] Disable bg optimization if avg keyframe distance is >10s (Closed)
Patch Set: Changed the name and set a minimum number of samples Created 3 years, 11 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
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 2096 matching lines...) Expand 10 before | Expand all | Expand 10 after
2107 return false; 2107 return false;
2108 #else // defined(OS_ANDROID) 2108 #else // defined(OS_ANDROID)
2109 if (!IsBackgroundVideoTrackOptimizationEnabled()) 2109 if (!IsBackgroundVideoTrackOptimizationEnabled())
2110 return false; 2110 return false;
2111 #endif // defined(OS_ANDROID) 2111 #endif // defined(OS_ANDROID)
2112 2112
2113 return hasVideo() && !hasAudio(); 2113 return hasVideo() && !hasAudio();
2114 } 2114 }
2115 2115
2116 bool WebMediaPlayerImpl::ShouldDisableVideoWhenHidden() const { 2116 bool WebMediaPlayerImpl::ShouldDisableVideoWhenHidden() const {
2117 DCHECK(main_task_runner_->BelongsToCurrentThread());
2117 DCHECK(IsHidden()); 2118 DCHECK(IsHidden());
2119
2120 PipelineStatistics stats = pipeline_.GetStatistics();
2118 return IsBackgroundVideoTrackOptimizationEnabled() && hasVideo() && 2121 return IsBackgroundVideoTrackOptimizationEnabled() && hasVideo() &&
DaleCurtis 2017/01/10 21:11:40 Early return before grabbing statistics if the res
whywhat 2017/01/10 21:51:54 Done.
2119 hasAudio() && !IsStreaming(); 2122 hasAudio() && !IsStreaming() &&
2123 stats.video_keyframe_distance_average_ms <
2124 max_keyframe_distance_for_fast_decode_.InMilliseconds();
2120 } 2125 }
2121 2126
2122 void WebMediaPlayerImpl::EnableVideoTrackIfNeeded() { 2127 void WebMediaPlayerImpl::EnableVideoTrackIfNeeded() {
2123 DCHECK(!IsHidden()); 2128 DCHECK(!IsHidden());
2124 2129
2125 // Don't change video track while the pipeline is resuming or seeking. 2130 // Don't change video track while the pipeline is resuming or seeking.
2126 if (is_pipeline_resuming_ || seeking_) 2131 if (is_pipeline_resuming_ || seeking_)
2127 return; 2132 return;
2128 2133
2129 if (video_track_disabled_) { 2134 if (video_track_disabled_) {
(...skipping 12 matching lines...) Expand all
2142 if (is_pipeline_resuming_ || seeking_) 2147 if (is_pipeline_resuming_ || seeking_)
2143 return; 2148 return;
2144 2149
2145 if (!video_track_disabled_ && ShouldDisableVideoWhenHidden()) { 2150 if (!video_track_disabled_ && ShouldDisableVideoWhenHidden()) {
2146 video_track_disabled_ = true; 2151 video_track_disabled_ = true;
2147 selectedVideoTrackChanged(nullptr); 2152 selectedVideoTrackChanged(nullptr);
2148 } 2153 }
2149 } 2154 }
2150 2155
2151 } // namespace media 2156 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698