Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1791f0d769bbbad7317d9f8ac7f89b1957d9a217
      
https://github.com/WebKit/WebKit/commit/1791f0d769bbbad7317d9f8ac7f89b1957d9a217
  Author: Enrique Ocaña González <[email protected]>
  Date:   2024-02-19 (Mon, 19 Feb 2024)

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

  Log Message:
  -----------
  [MSE][GStreamer] Prevent currentTime reset on preroll when audio sink is 
non-async
https://bugs.webkit.org/show_bug.cgi?id=269587

Reviewed by Xabier Rodriguez-Calvar.

When doing an initial seek (during preroll) on an MSE content that is
audio-only on platforms whose audio sink is not asynchronous (eg: on
Broadcom Nexus devices), the manually triggered preroll introduced by
https://commits.webkit.org/268845@main causes an invalidation of the
currentTime cached position. This causes a temporary currentTime 0 value
that creates a drop to HaveMetadata in the MediaSource readyState,
causing a number of problems.

See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/1211

This patch remembers seek position as a cached value on an initial seek
during preroll when the audio sink can't perform asynchronous state
changes.

Based on a patch by Jacek Skiba <[email protected]>

* 
Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::doSeek): Cache the previous position 
(the seek position) before the manual preroll and then immediately propagate 
the readyState to the player and invalidate the cached position after the 
preroll, so the new position is the one resulting from the preroll to the seek 
target position.

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



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

Reply via email to