Branch: refs/heads/webkitglib/2.50
  Home:   https://github.com/WebKit/WebKit
  Commit: 05649a51a6fb9bf9e4b9a7acd539d2896c6e34e8
      
https://github.com/WebKit/WebKit/commit/05649a51a6fb9bf9e4b9a7acd539d2896c6e34e8
  Author: Enrique Ocaña González <eoca...@igalia.com>
  Date:   2025-08-08 (Fri, 08 Aug 2025)

  Changed paths:
    M 
Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp

  Log Message:
  -----------
  Cherry-pick 298239@main (ff888612263c). 
https://bugs.webkit.org/show_bug.cgi?id=295289

    [MSE][GStreamer] Make fake preroll asynchronous
    https://bugs.webkit.org/show_bug.cgi?id=295289

    Reviewed by Alicia Boya Garcia.

    With the current implementation the whole seek flow as executed in a
    single main loop cycle. As a result, the JS app had no chance to spot
    that video.seeking attribute is ever set to true. Also some apps listen
    to video.onseeking and expects that video.seeking attribute to be true
    in such case. That wasn't a valid assumption.

    Also, the behaviour isn't the same in <video> elements that are
    audio-only as in <audio> elements.

    This happens on the Amlogic platform, that doesn't have asynchronous
    state changes on its audio sink. Spotify is broken there because of this
    problem.

    See:
    https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/1232
    https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/1527

    This patch calls didPreroll() also for <video> elements that are
    audio-only. Also makes that call async by putting it on the HTML media
    element task queue to make sure it is executed after dispatching
    'seeking' event to JS so the app has a chance to notice that
    HTMLmedia.seeking attribute is 'true'.

    Original author: Andrzej Surdej 
<101130014+asurdej-comc...@users.noreply.github.com>

    * 
Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
    (WebCore::MediaPlayerPrivateGStreamerMSE::doSeek): Find the actual final 
audio sink. Call didPreroll() asynchronously for any media element having only 
audio.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to