Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(354)

Issue 2368773002: MSE: Recognize "unknown duration" in ISOBMFF mvhd version 0, duration max uint32 case (Closed)

Created:
4 years, 3 months ago by wolenetz
Modified:
4 years, 2 months ago
Reviewers:
xhwang
CC:
chromium-reviews, feature-media-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

MSE: 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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+35 lines, -3 lines) Patch
M media/formats/mp4/box_definitions.h View 1 chunk +1 line, -0 lines 0 comments Download
M media/formats/mp4/box_definitions.cc View 2 chunks +4 lines, -2 lines 0 comments Download
M media/formats/mp4/mp4_stream_parser.cc View 1 2 chunks +15 lines, -1 line 0 comments Download
M media/formats/mp4/mp4_stream_parser_unittest.cc View 1 chunk +11 lines, -0 lines 0 comments Download
M media/test/data/README View 1 1 chunk +4 lines, -0 lines 0 comments Download
A media/test/data/bear-1280x720-av_frag-initsegment-mvhd_version_0-mvhd_duration_bits_all_set.mp4 View Binary file 0 comments Download

Messages

Total messages: 24 (14 generated)
wolenetz
Please take a look. Thanks!
4 years, 3 months ago (2016-09-24 02:06:09 UTC) #4
xhwang
LGTM % nits https://codereview.chromium.org/2368773002/diff/1/media/formats/mp4/mp4_stream_parser.cc File media/formats/mp4/mp4_stream_parser.cc (right): https://codereview.chromium.org/2368773002/diff/1/media/formats/mp4/mp4_stream_parser.cc#newcode429 media/formats/mp4/mp4_stream_parser.cc:429: std::numeric_limits<uint64_t>::max()))) { Could you please add ...
4 years, 3 months ago (2016-09-24 06:01:19 UTC) #8
wolenetz
Thanks for review. https://codereview.chromium.org/2368773002/diff/1/media/formats/mp4/mp4_stream_parser.cc File media/formats/mp4/mp4_stream_parser.cc (right): https://codereview.chromium.org/2368773002/diff/1/media/formats/mp4/mp4_stream_parser.cc#newcode429 media/formats/mp4/mp4_stream_parser.cc:429: std::numeric_limits<uint64_t>::max()))) { On 2016/09/24 06:01:19, xhwang ...
4 years, 2 months ago (2016-09-26 19:35:24 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2368773002/20001
4 years, 2 months ago (2016-09-26 19:38:18 UTC) #12
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/302995)
4 years, 2 months ago (2016-09-26 21:42:16 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2368773002/20001
4 years, 2 months ago (2016-09-26 23:54:59 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/148676)
4 years, 2 months ago (2016-09-27 03:07:32 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2368773002/20001
4 years, 2 months ago (2016-09-27 18:40:48 UTC) #20
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 2 months ago (2016-09-27 19:18:09 UTC) #22
commit-bot: I haz the power
4 years, 2 months ago (2016-09-27 19:20:33 UTC) #24
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/74582e201d84a1c30258239798f6ad4fcde923e8
Cr-Commit-Position: refs/heads/master@{#421291}

Powered by Google App Engine
This is Rietveld 408576698