Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 875ade367c7e1aac927afd76a29bc9abb53ea19d
https://github.com/WebKit/WebKit/commit/875ade367c7e1aac927afd76a29bc9abb53ea19d
Author: Andy Estes <[email protected]>
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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes