[webkit-changes] [WebKit/WebKit] 1d29e0: [ WK2 ] http/wpt/webcodecs/videoFrame-video-elemen...

Ben noreply at github.com
Fri Sep 22 15:55:09 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1d29e0e09edc9c9c9ad9ff2ae571be1e738d3ea5
      https://github.com/WebKit/WebKit/commit/1d29e0e09edc9c9c9ad9ff2ae571be1e738d3ea5
  Author: Ben Schwartz <ben_schwartz at apple.com>
  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




More information about the webkit-changes mailing list