[webkit-changes] [WebKit/WebKit] 7d2a7b: [MSE] media element will error appending the same ...

Jean-Yves Avenard noreply at github.com
Thu Mar 28 21:49:52 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7d2a7b505c37c4bdb7863691dd45ac113d3265fc
      https://github.com/WebKit/WebKit/commit/7d2a7b505c37c4bdb7863691dd45ac113d3265fc
  Author: Jean-Yves Avenard <jya at apple.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M LayoutTests/http/tests/webcodecs/h264-reordering.html
    M LayoutTests/media/media-source/content/test-fragmented-manifest.json
    M LayoutTests/media/media-source/content/test-fragmented.mp4
    A LayoutTests/media/media-source/media-managedmse-append-expected.txt
    A LayoutTests/media/media-source/media-managedmse-append.html
    M LayoutTests/media/media-source/media-managedmse-resume-after-stall-expected.txt
    M LayoutTests/media/media-source/media-managedmse-resume-after-stall.html
    M LayoutTests/media/media-source/media-managedmse-stall-endofstream-expected.txt
    M LayoutTests/media/media-source/media-managedmse-stall-endofstream.html
    M LayoutTests/media/media-source/media-source-trackid-change-expected.txt
    M LayoutTests/media/media-source/media-source-trackid-change.html
    M LayoutTests/platform/mac-wk1/TestExpectations
    M Source/WebCore/Modules/mediasource/ManagedMediaSource.cpp

  Log Message:
  -----------
  [MSE] media element will error appending the same media segment twice
https://bugs.webkit.org/show_bug.cgi?id=271685
rdar://125386530

Reviewed by Youenn Fablet and Eric Carlson.

The test file test-fragmented.mp4 was actually invalid and had its tfhd's
base-data-offset-present flag set to true, which is against the spec as per
https://www.w3.org/TR/mse-byte-stream-format-isobmff/#movie-fragment-relative-addressing.
This prevented the media segment from being added out of order (or twice).
Re-mux the file with the MP4Box utility from the GPAC suite (`MP4Box -flat -dash 1000 -profile onDemand`)

Add test that expands on webkit.org/b/270618.
Updates existing tests due to slight changes of frames timing.

* LayoutTests/http/tests/webcodecs/h264-reordering.html: Amend offsets to new mp4.
* LayoutTests/media/media-source/content/test-fragmented-manifest.json:
* LayoutTests/media/media-source/content/test-fragmented.mp4:
* LayoutTests/media/media-source/media-managedmse-append-expected.txt: Added.
* LayoutTests/media/media-source/media-managedmse-append.html: Added.
* LayoutTests/media/media-source/content/test-fragmented-manifest.json:
* LayoutTests/media/media-source/media-managedmse-resume-after-stall-expected.txt:
* LayoutTests/media/media-source/media-managedmse-resume-after-stall.html: video and audio track do not exactly end at 3s (audio is slightly behind).
Adjust test to reflect the new buffered range.
* LayoutTests/media/media-source/media-managedmse-stall-endofstream-expected.txt:
* LayoutTests/media/media-source/media-managedmse-stall-endofstream.html:
* LayoutTests/media/media-source/media-source-trackid-change-expected.txt:
* LayoutTests/media/media-source/media-source-trackid-change.html: update test to adjust offsets into binary mp4 file. Add comments referring to what those offsets are.
* Source/WebCore/Modules/mediasource/ManagedMediaSource.cpp:
(WebCore::ManagedMediaSource::monitorSourceBuffers): simplify code a bit.

Canonical link: https://commits.webkit.org/276821@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list