[webkit-changes] [WebKit/WebKit] f8df16: [Cocoa] MediaCapabilities spatial rendering checks...
Eric Carlson
noreply at github.com
Mon Dec 4 13:09:17 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f8df1646f208282f5b000bf105beebd2e536a798
https://github.com/WebKit/WebKit/commit/f8df1646f208282f5b000bf105beebd2e536a798
Author: Eric Carlson <eric.carlson at apple.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M Source/WebCore/PAL/pal/cf/AudioToolboxSoftLink.cpp
M Source/WebCore/PAL/pal/cf/AudioToolboxSoftLink.h
M Source/WebCore/PAL/pal/cf/CoreMediaSoftLink.h
M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h
M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm
M Source/WebCore/PAL/pal/spi/cocoa/AudioToolboxSPI.h
M Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp
M Source/WebCore/platform/audio/PlatformMediaSessionManager.h
M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.h
M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm
M Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.h
M Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.mm
M Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.h
M Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm
M Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp
M Source/WebKit/GPUProcess/media/ios/RemoteMediaSessionHelperProxy.cpp
M Source/WebKit/GPUProcess/media/ios/RemoteMediaSessionHelperProxy.h
M Source/WebKit/Shared/mac/MediaFormatReader/CoreMediaWrapped.cpp
M Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.cpp
M Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.h
M Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.messages.in
Log Message:
-----------
[Cocoa] MediaCapabilities spatial rendering checks fail on capable HW with built-in sound output
https://bugs.webkit.org/show_bug.cgi?id=265614
rdar://114214068
Reviewed by Jer Noble.
On macOS, use SPI got get spatial audio preferences to see if spatial audio playback is
supported. On iOS, switch from using the shared audio presentation output context to
AVAudioSession, which makes it possible to see if the currently audio route has a port
that supports spatial playback.
* Source/WebCore/PAL/pal/cf/AudioToolboxSoftLink.cpp:
* Source/WebCore/PAL/pal/cf/AudioToolboxSoftLink.h:
* Source/WebCore/PAL/pal/cf/CoreMediaSoftLink.h:
* Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h:
* Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm:
* Source/WebCore/PAL/pal/spi/cocoa/AudioToolboxSPI.h:
* Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::setSupportsSpatialAudioPlayback):
(WebCore::PlatformMediaSessionManager::supportsSpatialAudioPlaybackForConfiguration):
* Source/WebCore/platform/audio/PlatformMediaSessionManager.h:
(WebCore::PlatformMediaSessionManager::supportsSpatialAudioPlayback):
* Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.h:
* Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::MediaSessionManagerCocoa::MediaSessionManagerCocoa):
(WebCore::MediaSessionManagerCocoa::updateSessionState):
(WebCore::MediaSessionManagerCocoa::supportsSpatialAudioPlaybackForConfiguration):
* Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.h:
* Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.mm:
(MediaSessionHelper::activeAudioRouteSupportsSpatialPlaybackDidChange):
(MediaSessionHelper::updateActiveAudioRouteSupportsSpatialPlayback):
(MediaSessionHelper::setActiveAudioRouteSupportsSpatialPlayback):
(-[WebMediaSessionHelper initWithCallback:]):
(-[WebMediaSessionHelper spatialPlaybackCapabilitiesChanged:]):
* Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.h:
* Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::activeAudioRouteSupportsSpatialPlaybackDidChange):
(WebCore::MediaSessionManagerCocoa::supportsSpatialAudioPlaybackForConfiguration):
* Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp:
(WebCore::computeMediaCapabilitiesInfo):
* Source/WebKit/GPUProcess/media/ios/RemoteMediaSessionHelperProxy.cpp:
(WebKit::RemoteMediaSessionHelperProxy::activeAudioRouteSupportsSpatialPlaybackDidChange):
* Source/WebKit/GPUProcess/media/ios/RemoteMediaSessionHelperProxy.h:
* Source/WebKit/Shared/mac/MediaFormatReader/CoreMediaWrapped.cpp:
(WebKit::wrapperVTable):
* Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.cpp:
(WebKit::RemoteMediaSessionHelper::activeAudioRouteSupportsSpatialPlaybackDidChange):
* Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.h:
* Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.messages.in:
Canonical link: https://commits.webkit.org/271504@main
More information about the webkit-changes
mailing list