[webkit-changes] [WebKit/WebKit] d5fefc: [Cocoa] Add support for per-media-element soundSta...
Jer Noble
noreply at github.com
Thu Feb 27 15:41:30 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d5fefcb58fd6bb56937ac2e0717526a491d6c12b
https://github.com/WebKit/WebKit/commit/d5fefcb58fd6bb56937ac2e0717526a491d6c12b
Author: Jer Noble <jer.noble at apple.com>
Date: 2025-02-27 (Thu, 27 Feb 2025)
Changed paths:
M Source/WebCore/PAL/pal/spi/cocoa/AudioToolboxCoreSPI.h
M Source/WebCore/html/HTMLMediaElement.cpp
M Source/WebCore/html/HTMLMediaElement.h
M Source/WebCore/platform/audio/cocoa/SpatialAudioExperienceHelper.h
M Source/WebCore/platform/audio/cocoa/SpatialAudioExperienceHelper.mm
M Source/WebCore/platform/graphics/MediaPlayer.cpp
M Source/WebCore/platform/graphics/MediaPlayer.h
M Source/WebCore/platform/graphics/MediaPlayerEnums.h
M Source/WebCore/platform/graphics/MediaPlayerPrivate.h
M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm
M Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm
M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp
M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h
M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.messages.in
M Source/WebKit/GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm
M Source/WebKit/Scripts/webkit/messages.py
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp
M Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h
Log Message:
-----------
[Cocoa] Add support for per-media-element soundStageSize
rdar://145660143
https://bugs.webkit.org/show_bug.cgi?id=288601
Reviewed by Andy Estes.
Previously, when web content entered fullscreen modes, the increased soundStageSize
would propagate down to the AVAudioSession, where that size was applied to all audio
generated by every web page. With CASpatialAudioExperience, the soundStageSize can
be applied granularly per audio-generating object.
Drive-by fix: address a review comment made against 291033 at main and set NS_ASSUME_NONNULL
in AudioToolboxCoreSPI.h.
* Source/WebCore/PAL/pal/spi/cocoa/AudioToolboxCoreSPI.h:
* Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setSoundStageSize):
* Source/WebCore/html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::soundStageSize const):
* Source/WebCore/platform/audio/cocoa/SpatialAudioExperienceHelper.h:
* Source/WebCore/platform/audio/cocoa/SpatialAudioExperienceHelper.mm:
(WebCore::toCASoundStageSize):
(WebCore::createSpatialAudioExperienceWithOptions):
(WebCore::createExperienceWithOptions): Deleted.
* Source/WebCore/platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::soundStageSize const):
(WebCore::MediaPlayer::soundStageSizeDidChange):
* Source/WebCore/platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerSoundStageSize const):
* Source/WebCore/platform/graphics/MediaPlayerEnums.h:
* Source/WebCore/platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::soundStageSizeDidChange):
* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateSpatialTrackingLabel):
* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateSpatialTrackingLabel):
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm:
(WebCore::MediaPlayerPrivateWebM::updateSpatialTrackingLabel):
* Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::mediaPlayerSoundStageSize const):
(WebKit::RemoteMediaPlayerProxy::setSoundStageSize):
* Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h:
* Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
* Source/WebKit/GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerOnNewVideoFrameMetadata):
(WebKit::RemoteMediaPlayerProxy::nativeImageForCurrentTime):
(WebKit::RemoteMediaPlayerProxy::colorSpace):
* Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::soundStageSizeDidChange):
* Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
Canonical link: https://commits.webkit.org/291268@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list