DescriptionReleaseOutputBuffer to surface back and front buffers where possible.
Takes the original patch from liberato@ and extends it to release the
earliest frame to the back buffer as well as releasing to the front buffer
when there is only a single outstanding frame for display.
This proves enough to solve the slow n7v2 issue as well as keep decoding
up to speed when scrolling the video off the page on an motox, see
http://crbug.com/603768 for some more details on the off screen issue.
This patch unifies all calls from the deferred strategy for releasing
output buffers into a single AVDACodecImage::ReleaseOutputBuffer() call
with a couple modes to support all the cases we use:
- skip render: ReleaseOutputBuffer(, false);
- release only: ReleaseOutputBuffer(, true); FrameListener.Wait();
- release+update: same as "release only" but also UpdateTexImage().
BUG=601066
TEST=manual testing on n7v2 and moto x.
Committed: https://crrev.com/1ee5b842e11f679b21a38f156fb7d4688ff8665a
Cr-Commit-Position: refs/heads/master@{#389350}
Patch Set 1 #Patch Set 2 : Boop. #Patch Set 3 : Cleaner! #Patch Set 4 : Cleanerer. #
Total comments: 15
Patch Set 5 : Comments. #Patch Set 6 : Cleanup. #
Total comments: 8
Patch Set 7 : Comments. #Patch Set 8 : Rebase. #Messages
Total messages: 24 (9 generated)
|