summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorjbauman <jbauman@chromium.org>2015-08-14 19:58:08 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-15 02:59:00 +0000
commit0e9c64c2f69e105042297f39a299a897c2d15459 (patch)
tree339bedc9f9b9031a8310df464da3d4458ecedbef /media
parent49e40cc11f68ffe6ede21f0c3e1db0239d456a7a (diff)
downloadchromium_src-0e9c64c2f69e105042297f39a299a897c2d15459.zip
chromium_src-0e9c64c2f69e105042297f39a299a897c2d15459.tar.gz
chromium_src-0e9c64c2f69e105042297f39a299a897c2d15459.tar.bz2
Call VideoFrameProviderImpl::DidReceiveFrame when background render completes.
VideoFrameCompositor::OnRendererStateUpdate(true) may run and do a background render after BeginFrame but before the compositor frame is actually drawn. It needs to do DidReceiveFrame so that the layer's update_rect contains the entire video, because UpdateCurrentFrame won't be called and won't modify the update rect until the next BeginFrame. BUG=515887 Review URL: https://codereview.chromium.org/1299523002 Cr-Commit-Position: refs/heads/master@{#343553}
Diffstat (limited to 'media')
-rw-r--r--media/blink/video_frame_compositor.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/media/blink/video_frame_compositor.cc b/media/blink/video_frame_compositor.cc
index 1821b4b..87d7971 100644
--- a/media/blink/video_frame_compositor.cc
+++ b/media/blink/video_frame_compositor.cc
@@ -217,7 +217,9 @@ void VideoFrameCompositor::BackgroundRender() {
DCHECK(compositor_task_runner_->BelongsToCurrentThread());
const base::TimeTicks now = tick_clock_->NowTicks();
last_background_render_ = now;
- CallRender(now, now + last_interval_, true);
+ bool new_frame = CallRender(now, now + last_interval_, true);
+ if (new_frame && client_)
+ client_->DidReceiveFrame();
}
bool VideoFrameCompositor::CallRender(base::TimeTicks deadline_min,