[webkit-changes] [WebKit/WebKit] 875ade: [iOS] Adopt -[AVCaptureSession initWithMediaEnviro...
aestes
noreply at github.com
Fri Dec 8 15:45:12 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 875ade367c7e1aac927afd76a29bc9abb53ea19d
https://github.com/WebKit/WebKit/commit/875ade367c7e1aac927afd76a29bc9abb53ea19d
Author: Andy Estes <aestes at apple.com>
Date: 2023-12-08 (Fri, 08 Dec 2023)
Changed paths:
M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp
M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h
M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm
M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp
M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h
M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in
M Source/WebKit/GPUProcess/cocoa/GPUConnectionToWebProcessCocoa.mm
M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp
M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h
M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in
M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
M Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp
M Source/WebKit/WebProcess/GPU/GPUProcessConnection.h
M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKit/WebProcess/WebPage/WebPage.messages.in
M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.h
M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp
M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h
Log Message:
-----------
[iOS] Adopt -[AVCaptureSession initWithMediaEnvironment:]
https://bugs.webkit.org/show_bug.cgi?id=266084
rdar://118949622
Reviewed by Tim Horton.
Adopted -[AVCaptureSession initWithMediaEnvironment:] when creating an AVCaptureSession in
AVVideoCaptureSource. This requires plumbing the associated media environment identifier
WebPage(Proxy).
* Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h: Added a getter/setter for
m_currentMediaEnvironment.
* Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::setupSession): Forward-declared -initWithMediaEnvironment: and
called it if AVCaptureSession responds to it and we have a non-empty media environment.
* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:
* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h:
* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in:
* Source/WebKit/GPUProcess/cocoa/GPUConnectionToWebProcessCocoa.mm:
(WebKit::GPUConnectionToWebProcess::mediaEnvironment):
(WebKit::GPUConnectionToWebProcess::setMediaEnvironment): Added a SetMediaEnvironment message that
WebPage sends to tell the GPU process the media environment for a given PageIdentifier. Stored the
media environments in a map keyed by PageIdentifier.
* Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::startProducingData):
* Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
(WebKit::UserMediaCaptureManagerProxy::ConnectionProxy::setCurrentMediaEnvironment): Sets the
current media environment prior to calling startProducingData (which will create an
AVCaptureSession).
* Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in: Included a pageIdentifier
in the StartProducingData message.
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::setMediaCapability): Sent WebPage::SetMediaEnvironment when the media
capability changes.
* Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::setMediaEnvironment):
* Source/WebKit/WebProcess/GPU/GPUProcessConnection.h:
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::setMediaEnvironment): Sent GPUConnectionToWebProcess::SetMediaEnvironment to the
GPU process.
(WebKit::WebPage::gpuProcessConnectionDidBecomeAvailable):
(WebKit::WebPage::~WebPage): Sent GPUConnectionToWebProcess::SetMediaEnvironment when the GPU
process becomes available or the WebPage is deallocated.
* Source/WebKit/WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::mediaEnvironment const): Added a getter/setter for m_mediaEnvironment.
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in: Defined WebPage::SetMediaEnvironment.
* Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.h:
* Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp:
(WebKit::RemoteRealtimeMediaSourceProxy::startProducingData):
* Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h: Plumbed a PageIdentifier through
startProducingData.
Canonical link: https://commits.webkit.org/271764@main
More information about the webkit-changes
mailing list