[webkit-changes] [WebKit/WebKit] 101d30: [WebM] Seek may not complete under some circumstan...

Jean-Yves Avenard noreply at github.com
Mon Jan 27 05:08:51 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 101d308a4d77cc8e364b5c94d2ea3474f1d66059
      https://github.com/WebKit/WebKit/commit/101d308a4d77cc8e364b5c94d2ea3474f1d66059
  Author: Jean-Yves Avenard <jya at apple.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    A LayoutTests/media/content/test-vp8-singlekeyframe.webm
    A LayoutTests/media/media-source/media-source-webm-seek-singlekeyframe-expected.txt
    A LayoutTests/media/media-source/media-source-webm-seek-singlekeyframe.html
    A LayoutTests/media/video-webm-seek-singlekeyframe-expected.txt
    A LayoutTests/media/video-webm-seek-singlekeyframe.html
    M LayoutTests/platform/ios/TestExpectations
    M LayoutTests/platform/mac-wk1/TestExpectations
    M Source/WebCore/platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm

  Log Message:
  -----------
  [WebM] Seek may not complete under some circumstances.
https://bugs.webkit.org/show_bug.cgi?id=286342
rdar://143372794

Reviewed by Youenn Fablet.

When a CMSampleBuffer contains multiple frames, we only considered a keyframe
if all frames it contained were a keyframe.
The WebM demuxer may pack multiple frames together if they have the same
presentation time so that they can all be added to a TrackBuffer's map.
In the case where the CMSampleBuffer contains a keyframe and other type of frames
we wouldn't be able to seek in the file as a consequence.
So instead, whenever we have a CMSampleBuffer made of multiple samples
we only check if the first frame is sync instead of them all.

This issue was discovered while trying to identify why some webm MediaRecorder
tests were timing out. Such files can be produced by the MediaRecorder.

Test added.

* LayoutTests/media/content/test-vp8-singlekeyframe.webm: Added.
* LayoutTests/media/media-source/media-source-webm-seek-singlekeyframe-expected.txt: Added.
* LayoutTests/media/media-source/media-source-webm-seek-singlekeyframe.html: Added.
* LayoutTests/media/video-webm-seek-singlekeyframe-expected.txt: Added.
* LayoutTests/media/video-webm-seek-singlekeyframe.html: Added.
* LayoutTests/platform/ios/TestExpectations:
* LayoutTests/platform/mac-wk1/TestExpectations:
* Source/WebCore/platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::isCMSampleBufferRandomAccess):

Canonical link: https://commits.webkit.org/289422@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