Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 51b16e1c0134194e7d37dffdfac022f531b5b677
      
https://github.com/WebKit/WebKit/commit/51b16e1c0134194e7d37dffdfac022f531b5b677
  Author: Xabier Rodriguez-Calvar <[email protected]>
  Date:   2023-11-15 (Wed, 15 Nov 2023)

  Changed paths:
    A LayoutTests/media/media-source/media-source-audio-switch-expected.txt
    A LayoutTests/media/media-source/media-source-audio-switch.html
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
    M 
Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp
    M 
Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp
    M 
Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.h

  Log Message:
  -----------
  [MSE][GStreamer] Fix non-seeking flushes
https://bugs.webkit.org/show_bug.cgi?id=262693

Reviewed by Philippe Normand.

This reverts https://commits.webkit.org/269358@main . Problem is that you can 
screw quality changes as they require a
non seeking flush with an updated segment.

We still need to change the segment to use the proper playback position and we 
can do it by using the player's position.

Besides, as a fly-by-fix, we are solving the problem of position going back to 
0 when the sinks can't provide a proper
position while it is prerolling. For that, we use the cached position of the 
player even if it was supposed to be
invalidated already as a best effort.

* LayoutTests/media/media-source/media-source-audio-switch-expected.txt: Added.
* LayoutTests/media/media-source/media-source-audio-switch.html: Added.
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition const):
(WebCore::MediaPlayerPrivateGStreamer::didEnd):
(WebCore::MediaPlayerPrivateGStreamer::setCachedPosition const):
(WebCore::MediaPlayerPrivateGStreamer::invalidateCachedPosition const):
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* 
Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::sourceSetup):
* Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webKitMediaSrcPlayer):
(webKitMediaSrcSetPlayer):
(webKitMediaSrcStreamFlush):
* Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.h:

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


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

Reply via email to