[webkit-changes] [WebKit/WebKit] 907131: [ iOS ] fast/mediastream/MediaStream-video-element...

youennf noreply at github.com
Fri May 12 07:49:10 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 907131a79e54384f312826d3bc8969d03f14d7e8
      https://github.com/WebKit/WebKit/commit/907131a79e54384f312826d3bc8969d03f14d7e8
  Author: Youenn Fablet <youennf at gmail.com>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-expected.html
    M LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled.html
    M LayoutTests/fast/mediastream/getUserMedia-rvfc-expected.txt
    M LayoutTests/fast/mediastream/getUserMedia-rvfc.html
    M LayoutTests/platform/ios/TestExpectations
    M Source/WebCore/platform/graphics/avfoundation/SampleBufferDisplayLayer.h
    M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h
    M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm
    M Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp
    M Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h

  Log Message:
  -----------
  [ iOS ] fast/mediastream/MediaStream-video-element-video-tracks-disabled.html is a flaky ImageOnlyFailure
https://bugs.webkit.org/show_bug.cgi?id=256602
rdar://109163885

Reviewed by Eric Carlson.

This fails sometimes on iOS and macOS if the track is disabled before getting the first frame on the video element.
To prevent this, we are making sure to have video playing before muting the track.
We also modernize a bit the test.

The resizing of the video element is also sometimes taking some time, for that reason, we clip the video element to improve stability.
Additional work should be done to understand why the resizing is taking sometimes more than a second.

The reactiveness of making the video element black is also not very fast.
We do an optimization to remove sending frames to GPUProcess when the track is not enabled.
This reduces CPU usage and makes the transition to black faster.

* LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-expected.html:
* LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled.html:
* LayoutTests/fast/mediastream/getUserMedia-rvfc-expected.txt:
* LayoutTests/fast/mediastream/getUserMedia-rvfc.html:
* LayoutTests/platform/ios/TestExpectations:
* Source/WebCore/platform/graphics/avfoundation/SampleBufferDisplayLayer.h:
(WebCore::SampleBufferDisplayLayer::enqueueBlackFrameFrom):
* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoFrame):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::checkSelectedVideoTrack):
* Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:
(WebKit::SampleBufferDisplayLayer::enqueueBlackFrameFrom):
* Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h:

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




More information about the webkit-changes mailing list