Chromium Code Reviews| Index: media/blink/video_frame_compositor.cc |
| diff --git a/media/blink/video_frame_compositor.cc b/media/blink/video_frame_compositor.cc |
| index 017bedc9ae9fc0b29b18e12c300790a24ca54f3b..c9cce634f81bfff10a56d23d1e3b5dc3ed0788dd 100644 |
| --- a/media/blink/video_frame_compositor.cc |
| +++ b/media/blink/video_frame_compositor.cc |
| @@ -189,9 +189,12 @@ base::TimeDelta VideoFrameCompositor::GetCurrentFrameTimestamp() const { |
| return current_frame_->timestamp(); |
| } |
| -void VideoFrameCompositor::SetForegroundTime(base::TimeTicks when) { |
| +void VideoFrameCompositor::SetForegroundTime( |
| + base::TimeTicks when, |
| + BackgroundVideoOptimization optimization) { |
|
DaleCurtis
2017/01/18 23:39:01
This is polluting VFC with knowledge about Backgro
whywhat
2017/01/19 02:33:58
Hm, ok. Will upload a follow up with this.
whywhat
2017/01/19 03:23:12
Done. Looks neat to me :)
|
| DCHECK(compositor_task_runner_->BelongsToCurrentThread()); |
| foreground_time_ = when; |
| + background_video_optimization_ = base::make_optional(optimization); |
| } |
| bool VideoFrameCompositor::ProcessNewFrame( |
| @@ -210,12 +213,21 @@ bool VideoFrameCompositor::ProcessNewFrame( |
| current_frame_ = frame; |
| - if (!foreground_time_.is_null()) { |
| + if (!foreground_time_.is_null() && background_video_optimization_) { |
| base::TimeDelta time_to_first_frame = |
| base::TimeTicks::Now() - foreground_time_; |
| - UMA_HISTOGRAM_TIMES("Media.Video.TimeFromForegroundToFirstFrame", |
| - time_to_first_frame); |
| + if (background_video_optimization_.value() == |
| + BackgroundVideoOptimization::Paused) { |
| + UMA_HISTOGRAM_TIMES("Media.Video.TimeFromForegroundToFirstFrame.Paused", |
| + time_to_first_frame); |
| + } else if (background_video_optimization_.value() == |
| + BackgroundVideoOptimization::DisabledTrack) { |
| + UMA_HISTOGRAM_TIMES( |
| + "Media.Video.TimeFromForegroundToFirstFrame.DisableTrack", |
| + time_to_first_frame); |
| + } |
| foreground_time_ = base::TimeTicks(); |
| + background_video_optimization_.reset(); |
| } |
| return true; |