Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7890b554d51a09386c131c48731f097268cf04cc
      
https://github.com/WebKit/WebKit/commit/7890b554d51a09386c131c48731f097268cf04cc
  Author: Jean-Yves Avenard <[email protected]>
  Date:   2025-11-21 (Fri, 21 Nov 2025)

  Changed paths:
    M Source/WebCore/Modules/mediasource/MediaSource.cpp
    M Source/WebCore/platform/graphics/PlatformTimeRanges.cpp
    M Source/WebCore/platform/graphics/PlatformTimeRanges.h
    M Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.h
    M Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm

  Log Message:
  -----------
  MediaPlayerPrivateWebM should wait for data being buffered/demuxed before 
setting readyState to `HAVE_ENOUGH_DATA`
https://bugs.webkit.org/show_bug.cgi?id=302839
rdar://165106177

Reviewed by Eric Carlson.

The WebM player used to set its readyState to HaveEnoughData immediately
after having the first decoded frame.
Wait until we have 3s of buffered data like we do with MSE.
We will set the readyState to HaveCurrentData only when only a single frame
has been presented and the previous readyState was HaveMetadata.

* Source/WebCore/Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::isBuffered const): We move this method into 
PlatformTimeRanges as `containWithEpsilon`
* Source/WebCore/platform/graphics/PlatformTimeRanges.cpp:
(WebCore::PlatformTimeRanges::containWithEpsilon const):
* Source/WebCore/platform/graphics/PlatformTimeRanges.h:
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.h:
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm:
(WebCore::MediaPlayerPrivateWebM::completeSeek):
(WebCore::MediaPlayerPrivateWebM::setBufferedRanges):
(WebCore::MediaPlayerPrivateWebM::setHasAvailableVideoFrame):
(WebCore::MediaPlayerPrivateWebM::setDuration):
(WebCore::MediaPlayerPrivateWebM::setReadyState):
(WebCore::MediaPlayerPrivateWebM::didParseInitializationData):
(WebCore::MediaPlayerPrivateWebM::monitorReadyState):

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



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

Reply via email to