MSE: Use video (AVC) keyframeness when it differs from MP4's
Due to prevalence of MSE support in other browsers for legacy incorrectly muxed content where AVC keyframeness is incorrectly marked in the MP4 container, this change expands the previous chrome://media-internals logging when such mismatch is detected, to trust the keyframe-ness of the AVC coded frame for buffering and decoding. Otherwise, such streams, especially those with frames incorrectly marked as keyframes in the MP4, would be buffered as out-of-order GOPS rather than out-of-order nonkeyframes, corrupting the buffering and decode sequence on playback in the new, compliant, MseBufferByPts logic. Seek preroll from actual AVC nonkeyframes in legacy MseBufferByDts logic should also be fixed by this change. BUG=879734,844799,229412,760264 Change-Id: I90f53ec333e1aeeeaf39e96e176438cb13b4a195 Reviewed-on: https://chromium-review.googlesource.com/1205640 Commit-Queue: Matthew Wolenetz <wolenetz@chromium.org> Reviewed-by:Dale Curtis <dalecurtis@chromium.org> Reviewed-by:
Dan Sanders <sandersd@chromium.org> Cr-Commit-Position: refs/heads/master@{#589009}
Showing
Please register or sign in to comment