Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1d29e0e09edc9c9c9ad9ff2ae571be1e738d3ea5
      
https://github.com/WebKit/WebKit/commit/1d29e0e09edc9c9c9ad9ff2ae571be1e738d3ea5
  Author: Ben Schwartz <[email protected]>
  Date:   2023-09-22 (Fri, 22 Sep 2023)

  Changed paths:
    M LayoutTests/platform/ios/TestExpectations
    M LayoutTests/platform/mac-wk2/TestExpectations
    M 
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm

  Log Message:
  -----------
  [ WK2 ] http/wpt/webcodecs/videoFrame-video-element.html is a flaky TEXT 
failure
https://bugs.webkit.org/show_bug.cgi?id=259379
rdar://112628818

Reviewed by Eric Carlson.

GPUProcess is sending to WebProcess MediaPlayer::ReadyState::HaveCurrentData 
signal even if it has not yet received any video frame in the output queue.
This creates a race between WebProcess firing the loadeddata event and creation 
of a VideoFrame object from the media element and GPUProcess actually getting 
the underlying pixel buffer.
Before the patch, creation of the VideoFrame object would sometimes fail if the 
WebProcess wins the race.
To prevent this, if there is no pixel buffer, we wait for one.
This makes the WebProcess sync IPC wait a little bit longer in some cases.

Covered by http/wpt/webcodecs/videoFrame-video-element.html no longer being 
flaky locally.

* LayoutTests/platform/ios/TestExpectations:
* LayoutTests/platform/mac-wk2/TestExpectations:
* 
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::videoFrameForCurrentTime):

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


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

Reply via email to