[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