| Index: media/renderers/video_renderer_impl.cc
|
| diff --git a/media/renderers/video_renderer_impl.cc b/media/renderers/video_renderer_impl.cc
|
| index 2c13377bd0519218571104f9a3559dbc8932ca14..2a762fc24afd727fd18ae3be4c0e408ba9c25386 100644
|
| --- a/media/renderers/video_renderer_impl.cc
|
| +++ b/media/renderers/video_renderer_impl.cc
|
| @@ -129,6 +129,7 @@ void VideoRendererImpl::StartPlayingFrom(base::TimeDelta timestamp) {
|
| state_ = kPlaying;
|
| start_timestamp_ = timestamp;
|
| painted_first_frame_ = false;
|
| + start_rendering_time_ = tick_clock_->NowTicks();
|
| AttemptRead_Locked();
|
| }
|
|
|
| @@ -210,6 +211,7 @@ scoped_refptr<VideoFrame> VideoRendererImpl::Render(
|
| if (!background_rendering && !was_background_rendering_)
|
| frames_dropped_ += frames_dropped;
|
| UpdateStats_Locked();
|
| +
|
| was_background_rendering_ = background_rendering;
|
|
|
| // Always post this task, it will acquire new frames if necessary and since it
|
| @@ -422,6 +424,13 @@ void VideoRendererImpl::FrameReady(VideoFrameStream::Status status,
|
| first_frame->natural_size());
|
| sink_->PaintSingleFrame(first_frame);
|
| painted_first_frame_ = true;
|
| +
|
| + if (!start_rendering_time_.is_null()) {
|
| + UMA_HISTOGRAM_MEDIUM_TIMES(
|
| + "Media.Video.FirstRenderTime",
|
| + tick_clock_->NowTicks() - start_rendering_time_);
|
| + start_rendering_time_ = base::TimeTicks();
|
| + }
|
| }
|
| }
|
|
|
|
|