Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f270bdb7b34c8245165f90be0c1dc8f864993ded
      
https://github.com/WebKit/WebKit/commit/f270bdb7b34c8245165f90be0c1dc8f864993ded
  Author: Xabier Rodriguez-Calvar <[email protected]>
  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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to