From 94d4bd648873580bf9d096ad1bb7ff20ebc3c74f Mon Sep 17 00:00:00 2001 From: Marco Castelluccio Date: Fri, 4 Oct 2019 04:51:37 +0000 Subject: [PATCH] Bug 1538433 [wpt PR 15991] - MSE: Fix mediasource-changetype-play to work with MseBufferByPts, a=testonly Automatic update from web-platform-tests MSE: Fix mediasource-changetype-play to work with MseBufferByPts This web-platform-test exercises changeType as it splice-overlaps pairs of audio or video media streams at varying offsets in the presentation timeline. Splice-overlapping an out-of-order decode stream (such as the test AVC MP4 media) at arbitrary times can, per spec, drop significant decode dependencies from a partially-overlapped GOP such that a buffered range gap could result. This change is more careful about where it performs splice-overlaps when the overlapped media is out-of-order-decode, adjusting the splice point to be at or very near to the next overlapped keyframe. This prevents removing out-of-order non-keyframes and their dependents from the overlapped media such that no buffered range gap nor playback stall should result. Note that Chromium is sensitive to such out-of-order buffering overlaps with the new, compliant, MseBufferByPts behavior. Fixing https://github.com/w3c/media-source/issues/160 could greatly simplify this problem by allowing apps to explicitly control how the user agent behaves at these small gaps. BUG=807793 Change-Id: I020e244c230756eaa1804f81b58a577124a6a28b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1428601 Commit-Queue: Matthew Wolenetz Reviewed-by: Dan Sanders Cr-Commit-Position: refs/heads/master{#643473} -- wpt-commits: 27ad6759d421b95b4572f20cabaeb750b3eb9799 wpt-pr: 15991 UltraBlame original commit: fc846bf83bfdae75b97fec2fb139b4b88dc9be7f --- .../mediasource-changetype-play.html | 33 +- .../mediasource-changetype-util.js | 330 +++++++++++------- 2 files changed, 213 insertions(+), 150 deletions(-) diff --git a/testing/web-platform/tests/media-source/mediasource-changetype-play.html b/testing/web-platform/tests/media-source/mediasource-changetype-play.html index c42d8a402a017..8748c22409c52 100644 --- a/testing/web-platform/tests/media-source/mediasource-changetype-play.html +++ b/testing/web-platform/tests/media-source/mediasource-changetype-play.html @@ -13,27 +13,26 @@