Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 747f80b0591ceda287ec87a45cb512c39e05444c
https://github.com/WebKit/WebKit/commit/747f80b0591ceda287ec87a45cb512c39e05444c
Author: Jean-Yves Avenard <[email protected]>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
A
LayoutTests/media/media-source/media-source-canplaythrough-withfuturegap-expected.txt
A
LayoutTests/media/media-source/media-source-canplaythrough-withfuturegap.html
M
LayoutTests/media/media-source/media-source-webm-append-buffer-after-abort-expected.txt
M
LayoutTests/media/media-source/media-source-webm-append-buffer-after-abort.html
M LayoutTests/media/video-test.js
M Source/WebCore/Modules/mediasource/ManagedMediaSource.cpp
M Source/WebCore/Modules/mediasource/ManagedMediaSource.h
M Source/WebCore/Modules/mediasource/MediaSource.cpp
M Source/WebCore/Modules/mediasource/MediaSource.h
M Source/WebCore/Modules/mediasource/SourceBuffer.cpp
M Source/WebCore/Modules/mediasource/SourceBuffer.h
M Source/WebCore/platform/graphics/SourceBufferPrivate.cpp
Log Message:
-----------
MSE player will have readyState oscillate between readyState
HAVE_CURRENT_DATA and HAVE_ENOUGH_DATA
https://bugs.webkit.org/show_bug.cgi?id=270050
rdar://123597692
Reviewed by Eric Carlson.
272762@main incorrectly assumed that if we had buffered data 3s in the future,
the media could always be played through, ignoring any potential gap ahead
which would
have stalled playback.
Since following 272762@main, the SourceBuffer no longer monitors its own append
rate
there's no need to have the SourceBuffer check for its own buffered range, the
MediaSource
has more information about it which accounts for different gaps between
SourceBuffer.
We use the isBuffered() function that was before only used for
ManagedMediaSource to determine
the level of buffered data ahead of currentTime and move it to MediaSource.
*
LayoutTests/media/media-source/media-source-canplaythrough-withfuturegap-expected.txt:
Added.
*
LayoutTests/media/media-source/media-source-canplaythrough-withfuturegap.html:
Added.
*
LayoutTests/media/media-source/media-source-webm-append-buffer-after-abort-expected.txt:
*
LayoutTests/media/media-source/media-source-webm-append-buffer-after-abort.html:
The test was invalid.
It assumed that canplaythrough would be fired if we only added 2s of data.
There's no specs stating as such.
Only should the MediaSource be ended would it guarantee that the readyState
moved to HAVE_ENOUGH_DATA
while being paused. Correct and amend the test.
* LayoutTests/media/video-test.js: Add testExpectedEventuallySilent. Sometimes
the order in which events are fired is
not deterministic. We don't want to log them to prevent expectations failure,
but we need to check the event is received.
(testExpectedEventually):
(testExpectedEventuallyWhileRunningBetweenTests):
* Source/WebCore/Modules/mediasource/ManagedMediaSource.cpp:
(WebCore::ManagedMediaSource::isBuffered const): Deleted.
* Source/WebCore/Modules/mediasource/ManagedMediaSource.h:
* Source/WebCore/Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::isBuffered const):
(WebCore::MediaSource::monitorSourceBuffers):
* Source/WebCore/Modules/mediasource/MediaSource.h:
* Source/WebCore/Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::canPlayThroughRange): Deleted.
* Source/WebCore/Modules/mediasource/SourceBuffer.h:
* Source/WebCore/platform/graphics/SourceBufferPrivate.cpp:
(WebCore::SourceBufferPrivate::processMediaSample):
Canonical link: https://commits.webkit.org/275348@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes