| Index: media/renderers/video_renderer_impl.cc
|
| diff --git a/media/renderers/video_renderer_impl.cc b/media/renderers/video_renderer_impl.cc
|
| index 0ad19e4348d702bade9856c1b37682469d307d1d..9f57f130d07694aff694e2d997268a1f9cba47ec 100644
|
| --- a/media/renderers/video_renderer_impl.cc
|
| +++ b/media/renderers/video_renderer_impl.cc
|
| @@ -246,11 +246,13 @@ void VideoRendererImpl::ThreadMain() {
|
|
|
| // Remain idle until we've reached our target paint window.
|
| if (now < target_paint_timestamp) {
|
| - UpdateStatsAndWait_Locked(kIdleTimeDelta);
|
| + UpdateStatsAndWait_Locked(
|
| + std::min(target_paint_timestamp - now, kIdleTimeDelta));
|
| continue;
|
| }
|
|
|
| - if (now > latest_paint_timestamp && drop_frames_) {
|
| + if (ready_frames_.size() > 1 && now > latest_paint_timestamp &&
|
| + drop_frames_) {
|
| DropNextReadyFrame_Locked();
|
| continue;
|
| }
|
|
|