media: VideoRenderImpl: display last available frame
commitf509661231fbb02b6ed35a772622a3d87c26a565
authorlionel.g.landwerlin <lionel.g.landwerlin@intel.com>
Wed, 25 Mar 2015 00:09:59 +0000 (24 17:09 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 25 Mar 2015 00:10:34 +0000 (25 00:10 +0000)
tree2bf37ccba82da3d1f689a8554054f185a35ca095
parent5f0cd3385cbd2bbd7114651ed296188fe6a0603d
media: VideoRenderImpl: display last available frame

With a few webgl aquarium demo windows open and a 1080p video playing
at the same time, you can notice the video dropping a lot frames. From
time to time being stuck on a same frame for a second or more.

This is due to the VideoRendererImpl dropping frames. It takes too
much time for the compositor to paint its content, keeping the GPU
busy and delaying decoded video frames too long. Decoded frames arrive
too late and are never presented and we stick to an old frame.

This changes the behavior of VideoRendererImpl to a best effort
strategy where we might start displaying images past their display
time, but at least we're not stuck on a same image for too long.

BUG=chrome-os-partner:37786
TEST=run the test as explained on the bug

Review URL: https://codereview.chromium.org/1005303004

Cr-Commit-Position: refs/heads/master@{#322100}
media/renderers/video_renderer_impl.cc
media/renderers/video_renderer_impl_unittest.cc