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