Chromium Code Reviews| 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..be64506762d8743b4ae2beab0569d10b8f29ca9b 100644 |
| --- a/media/renderers/video_renderer_impl.cc |
| +++ b/media/renderers/video_renderer_impl.cc |
| @@ -210,6 +210,10 @@ scoped_refptr<VideoFrame> VideoRendererImpl::Render( |
| if (!background_rendering && !was_background_rendering_) |
| frames_dropped_ += frames_dropped; |
| UpdateStats_Locked(); |
| + |
| + if (was_background_rendering_ && !background_rendering) |
| + shown_timestamp_ = tick_clock_->NowTicks(); |
|
DaleCurtis
2016/12/03 01:26:34
Does this actually capture what you want? When vid
whywhat
2016/12/06 22:01:12
That seems to be the right place to detect when th
DaleCurtis
2016/12/06 23:26:58
This isn't called until playback starts. It's okay
whywhat
2016/12/08 00:23:17
Hm, seems like we'd be better off using the time_c
DaleCurtis
2016/12/08 19:04:46
I don't follow your suggestion? Are you suggesting
|
| + |
| was_background_rendering_ = background_rendering; |
| // Always post this task, it will acquire new frames if necessary and since it |
| @@ -422,6 +426,12 @@ void VideoRendererImpl::FrameReady(VideoFrameStream::Status status, |
| first_frame->natural_size()); |
| sink_->PaintSingleFrame(first_frame); |
| painted_first_frame_ = true; |
| + |
| + if (!shown_timestamp_.is_null()) { |
| + UMA_HISTOGRAM_MEDIUM_TIMES("Media.Video.TimeFromShownToFirstFrame", |
| + tick_clock_->NowTicks() - shown_timestamp_); |
| + shown_timestamp_ = base::TimeTicks(); |
| + } |
| } |
| } |