Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ec2913e079230d38595455a183367ed339e14592
      
https://github.com/WebKit/WebKit/commit/ec2913e079230d38595455a183367ed339e14592
  Author: Per Arne Vollan <[email protected]>
  Date:   2023-03-15 (Wed, 15 Mar 2023)

  Changed paths:
    M LayoutTests/platform/ios/TestExpectations
    M Source/WebCore/platform/graphics/avfoundation/SampleBufferDisplayLayer.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm
    M 
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm
    M Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp
    M Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h
    M Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.messages.in
    M Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp
    M Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h

  Log Message:
  -----------
  MediaPlayerPrivateMediaStreamAVFObjC needs to stop double-hosting layers
https://bugs.webkit.org/show_bug.cgi?id=253761
rdar://106576224

Reviewed by Youenn Fablet and Brent Fulgham.

MediaPlayerPrivateMediaStreamAVFObjC needs to stop double-hosting layers to 
allow for CARenderServer blocking.
This patch overrides layerHostingContextID() for 
MediaPlayerPrivateMediaStreamAVFObjC, which will use the
hosting context ID from SampleBufferDisplayLayer. SampleBufferDisplayLayer 
receives this context ID from the
GPU process. Additionally, setVideoInlineSizeFenced() is overridden to set the 
size of the
SampleBufferDisplayLayer. When EWS was processing this patch, I saw timeouts of 
the test
fast/mediastream/getUserMedia-to-canvas-2.html on iOS simulator. I have not 
been able to reproduce this
locally. I marked the test as flaky, and filed 
https://bugs.webkit.org/show_bug.cgi?id=253959 to investigate
this further.

LayoutTests/platform/ios/TestExpectations:
* Source/WebCore/platform/graphics/avfoundation/SampleBufferDisplayLayer.h:
(WebCore::SampleBufferDisplayLayer::hostingContextID const):
* Source/WebCore/platform/graphics/avfoundation/SampleBufferDisplayLayer.h:
* 
Source/WebCore/platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.h:
* 
Source/WebCore/platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:
(WebCore::LocalSampleBufferDisplayLayer::updateBoundsAndPosition):
* 
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
* 
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hostingContextID const):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVideoInlineSizeFenced):
* Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
(WebKit::RemoteSampleBufferDisplayLayer::updateBoundsAndPosition):
* Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h:
* Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.messages.in:
* Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:
(WebKit::SampleBufferDisplayLayer::updateBoundsAndPosition):
* Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h:

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


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

Reply via email to