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