Chromium Code Reviews
DescriptionCache effective frame count. Make expired frame count useful.
This change affects a few cleanups and API changes in preparation for
some underflow in low delay / stalling cases to VideoRendererImpl:
- RemoveExpiredFrames() now returns the number of undisplayed frames
that have been removed instead of the count of all frames removed.
This is consistent with how we count dropped frames in Render().
- EffectiveFramesQueued() is replaced with a hacker_style() accessor
to a cached value. This method was being called ~4x as much as the
value needs to be computed and an upcoming change will expand this
to nearly ~6x w/o clunky manual caching.
- EnqueueFrame() now computes an estimate for added frame times,
allowing the effective frame count more accuracy immediately after
a frame has been added.
- Reset() now allows the entire frame queue to be dropped while
preserving next frame estimates. This allows decoders which have
a limited number of frames to recover from underflow effectively.
Otherwise the last frame can be stuck in the queue indefinitely,
preventing new frame generation while the decoder is stalled for
output space. This will be used in a followup CL.
- Re-enables a disabled cadence test on non-debug builds.
- s/== base::TimeDelta()/.is_zero()/ for zero tests.
- s/.get()// for boolean testing.
BUG=569015, 599908
TEST=updated unittests.
Committed: https://crrev.com/b1f342180355f130e968574e7271e5d17fe9c783
Cr-Commit-Position: refs/heads/master@{#387213}
Patch Set 1 #
Total comments: 6
Patch Set 2 : Clarify comment. #
Messages
Total messages: 13 (6 generated)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||