[webkit-changes] [WebKit/WebKit] f270bd: [MSE][GStreamer] Pause after seek is not working

Xabier Rodríguez noreply at github.com
Thu Feb 15 05:57:25 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f270bdb7b34c8245165f90be0c1dc8f864993ded
      https://github.com/WebKit/WebKit/commit/f270bdb7b34c8245165f90be0c1dc8f864993ded
  Author: Xabier Rodriguez-Calvar <calvaris at igalia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [MSE][GStreamer] Pause after seek is not working
https://bugs.webkit.org/show_bug.cgi?id=263317

Reviewed by Philippe Normand.

So far we are just asking the pipeline if we were paused or not but that does not work when the pipeline is
transitioning or seeking. That creates desynchronization between the media element and the player. We now consider the
pipeline in the final state while it is transitioning, as it can handle other requests while at it.

We also need to force ready state change when the pipeline finishes the state change to paused or playing because the
player will report state changes sooner.

This changes won't apply to MediaStream because the dynamics of prerolling are much different.

Fly by style change in isPipelineSeeking.

* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::isPipelineSeeking const):
(WebCore::MediaPlayerPrivateGStreamer::paused const):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):

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




More information about the webkit-changes mailing list