[webkit-changes] [WebKit/WebKit] 384fb5: Playback stops although the progress bar moves
Jean-Yves Avenard
noreply at github.com
Tue Dec 6 02:23:54 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 384fb5b098b89ed16edca08da12f59edd924a952
https://github.com/WebKit/WebKit/commit/384fb5b098b89ed16edca08da12f59edd924a952
Author: Jean-Yves Avenard <jya at apple.com>
Date: 2022-12-06 (Tue, 06 Dec 2022)
Changed paths:
M LayoutTests/http/tests/media/video-play-stall-expected.txt
M LayoutTests/http/tests/media/video-play-stall.html
M Source/WebCore/html/HTMLMediaElement.cpp
M Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp
M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
Log Message:
-----------
Playback stops although the progress bar moves
https://bugs.webkit.org/show_bug.cgi?id=248585
rdar://102846199
Reviewed by Eric Carlson.
When playback has stalled due to insufficient data being buffered, the effective rate
should be 0 as time is no longer progressing.
While the GPU process would indicate that the rate has changed once the player has
stalled, the effective rate reported would remain the same causing the current time
position to continue moving as it's estimated based on the effective rate.
Fly-By fix: set the new rate in HTMLMediaElement if previously the requested rate
is different.
* LayoutTests/http/tests/media/video-play-stall.html: Update test to ensure currentTime doesn't progress
(WebCore::HTMLMediaElement::updatePlaybackRate):
* Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::updateStates):
* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::effectiveRate const):
Canonical link: https://commits.webkit.org/257403@main
More information about the webkit-changes
mailing list