Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 53463ea1c60fe6de4120dab418a8bafa5e6471dd
      
https://github.com/WebKit/WebKit/commit/53463ea1c60fe6de4120dab418a8bafa5e6471dd
  Author: Jean-Yves Avenard <j...@apple.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M LayoutTests/platform/mac-wk2/TestExpectations
    M Source/WebCore/Modules/mediasource/MediaSource.cpp
    M Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp

  Log Message:
  -----------
  REGRESSION (274442@main): [ MacOS wk2 ] 
media/media-source/media-source-seek-complete.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=269814
rdar://123338097

Reviewed by Jer Noble.

If a `currentTimeChanged` message between the GPUP and WP was mid-flight when a 
new seek operation was
started it would have set the current time to a stale value, so the time would 
appear to go backward
and the seek would never complete.

Prior 274442@main it *usually* didn't matter as the HTMLMediaElement cached the 
seeked time and would
partially hide the time going backward. Following this change however, the 
MediaPlayerPrivate became
the time reference, and so issues with the time being wrong became more 
problematic.
This issue could explain a series of intermittent failures we have seen ever 
since the MediaPlayer
was moved to the GPUP, including several changes made to prevent the time from 
ever going backward.

The explanation above likely explains on why we needed such workaround in the 
first place.

Also, before 274442@main if a seek was pending, it would have always returned 
the seek time when
querying MediaSource::currentTime; we changed it to return 0 whenever the 
MediaSource was closed.
We return to the original behaviour.

* LayoutTests/platform/mac-wk2/TestExpectations:
* Source/WebCore/Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::currentTime const):
* Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::playbackStateChanged): Add log.
(WebKit::MediaPlayerPrivateRemote::currentTimeChanged): return early if 
currently seeking. Add log

Canonical link: https://commits.webkit.org/275231@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

Reply via email to