|
|
Created:
4 years, 4 months ago by watk Modified:
4 years, 4 months ago Reviewers:
DaleCurtis CC:
chromium-reviews, feature-media-reviews_chromium.org, posciak+watch_chromium.org Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionInvalidate 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
Committed: https://crrev.com/4889f1867a957f6dd401ce885e6c56ff864b1a4c
Cr-Commit-Position: refs/heads/master@{#414285}
Patch Set 1 #
Messages
Total messages: 18 (9 generated)
watk@chromium.org changed reviewers: + dalecurtis@chromium.org
Description was changed from ========== Invalidate VideoRendererImpls weak ptrs before reseting 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. ========== to ========== Invalidate VideoRendererImpls 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. ==========
Description was changed from ========== Invalidate VideoRendererImpls 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. ========== to ========== 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. ==========
lgtm; if it really does improve things we might see seek times improve, so it may be worth attaching this to a bug for merging later.
(See seek times improve in telemetry that is)
Description was changed from ========== 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. ========== to ========== 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 ==========
On 2016/08/24 22:33:38, DaleCurtis wrote: > (See seek times improve in telemetry that is) Thanks, made a bug anyway. I didn't see seek times change in a local telemetry run even though AVDA::ReusePictureBuffer definitely does MaybeRenderEarly and DoIOTask(). Maybe we don't have that many outstanding frames with AVDA so the impact isn't 4x ReusePictureBuffer but only 1 or 2.
The CQ bit was checked by watk@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: chromeos_daisy_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_daisy_...) linux_chromium_clobber_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by watk@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== 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 ========== to ========== 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 ==========
Message was sent while issue was closed.
Committed patchset #1 (id:1)
Message was sent while issue was closed.
Description was changed from ========== 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 ========== to ========== 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 Committed: https://crrev.com/4889f1867a957f6dd401ce885e6c56ff864b1a4c Cr-Commit-Position: refs/heads/master@{#414285} ==========
Message was sent while issue was closed.
Patchset 1 (id:??) landed as https://crrev.com/4889f1867a957f6dd401ce885e6c56ff864b1a4c Cr-Commit-Position: refs/heads/master@{#414285} |