Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d1cf1ce59abb8c7e1a1f64efdeb4f50d8c9f83ce
      
https://github.com/WebKit/WebKit/commit/d1cf1ce59abb8c7e1a1f64efdeb4f50d8c9f83ce
  Author: Eric Carlson <[email protected]>
  Date:   2026-03-10 (Tue, 10 Mar 2026)

  Changed paths:
    A LayoutTests/http/tests/media/hls/hls-limit-play-rate-expected.txt
    A LayoutTests/http/tests/media/hls/hls-limit-play-rate.html
    M LayoutTests/platform/mac/TestExpectations
    M Source/WebCore/html/HTMLMediaElement.cpp
    M Source/WebCore/page/Quirks.cpp
    M Source/WebCore/page/Quirks.h
    M Source/WebCore/page/QuirksData.h

  Log Message:
  -----------
  [Cocoa]  Limit playback rate of spotify.com HLS streams to avoid stutter
https://bugs.webkit.org/show_bug.cgi?id=309378
rdar://171119015

Reviewed by Andy Estes.

When the playback rate of an HLS stream is greater than 2.0, it enters 
iframe-only mode.
If a stream does not have an iframe-only variant, it speeds up playback by 
pausing, seeking,
playing, causing the audio to "stutter".

Spotify HLS streams do not have iframe variants, so add a quirk to limit the 
maximum
playback rate of their HLS streams to 2.0.

Test: http/tests/media/hls/hls-limit-play-rate.html

* LayoutTests/http/tests/media/hls/hls-limit-play-rate-expected.txt: Added.
* LayoutTests/http/tests/media/hls/hls-limit-play-rate.html: Added.
* LayoutTests/platform/mac/TestExpectations: The HLS stream fails to become 
ready to play
on headless machines and times out. Not all macOS EWS have monitors or headless 
adapters,
so skip the test on macOS for now.
* Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::setPlaybackRate):
* Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::shouldLimitHLSPlaybackRate const):
(WebCore::handleSpotifyQuirks):
* Source/WebCore/page/Quirks.h:
* Source/WebCore/page/QuirksData.h:

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



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

Reply via email to