New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 640800 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Aug 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

VideoRendererImpl: reorder frame deletion and VideoFrameStream::Reset()

Project Member Reported by w...@chromium.org, Aug 24 2016

Issue description

VideoRendererImpl::Flush deletes video frames before calling Reset() on the decoder. For VDAs this means they receive up to ~4 ReusePictureBuffer() calls right before a Reset(), causing them to do unnecessary work.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4889f1867a957f6dd401ce885e6c56ff864b1a4c

commit 4889f1867a957f6dd401ce885e6c56ff864b1a4c
Author: watk <watk@chromium.org>
Date: Thu Aug 25 03:15:53 2016

Invalidate VideoRendererImpl's weak ptrs before resetting the decoder

Previously VideoRendererImpl waited for the VideoFrameStream::Reset() to
complete before invalidating its frame callback weak pointers, which
meant that it could receive frames that it didn't want between Flush()
and OnVideoFrameStreamResetDone(). For simplicity, now the weak pointers
are invalidated at the same time that Reset() is called, so it's
guaranteed that no frames will be received after Flush().

Also included in this change is reordering the deletion of the video
frame queue and resetting of the VideoFrameStream to save VDAs doing
wasted work.

BUG= 640800 

Review-Url: https://codereview.chromium.org/2273033003
Cr-Commit-Position: refs/heads/master@{#414285}

[modify] https://crrev.com/4889f1867a957f6dd401ce885e6c56ff864b1a4c/media/renderers/video_renderer_impl.cc

Comment 2 by w...@chromium.org, Aug 29 2016

Status: Fixed (was: Started)

Sign in to add a comment