DescriptionMSE: Recognize "unknown duration" in ISOBMFF mvhd version 0, duration max uint32 case
Previously, an "unknown duration" signalled by a mvhd duration
field was only understood to be unknown if it were 0, or a
64-bit (version 1 mvhd) special value of all bits set. This change adds
the same special value handling for a 32-bit (version 0 mvhd).
This change corrects detection of unknown mp4 MSE durations in some
cases. Unknown duration is web-app-visible and changes MSE behavior.
Also, it's used as a signal to enable our experimental low-delay
video rendering path.
I used a hex editor create the new test media file from
bear-1280x720-av_frag.mp4: truncated the file to just the initialization
segment (~1.5k, compared to full original file ~750k), and modified
the mvhd duration field values to be all bits set instead of 0.
The new unit test fails (due the the max-uint32 value being interpreted
as a real duration) before the rest of the code changes were included
into this CL.
TEST=MP4StreamParserTest.UnknownDuration_V0_AllBitsSet
BUG=649882
R=xhwang@chromium.org
Committed: https://crrev.com/74582e201d84a1c30258239798f6ad4fcde923e8
Cr-Commit-Position: refs/heads/master@{#421291}
Patch Set 1 #
Total comments: 4
Patch Set 2 : Address review comments #
Messages
Total messages: 24 (14 generated)
|