[webkit-changes] [WebKit/WebKit] f9c441: Introduce plumbing for a policy flag that introduc...
Wenson Hsieh
noreply at github.com
Fri Feb 17 16:10:27 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f9c441099509da64d9be105a21d01c9bbcf8cee2
https://github.com/WebKit/WebKit/commit/f9c441099509da64d9be105a21d01c9bbcf8cee2
Author: Wenson Hsieh <wenson_hsieh at apple.com>
Date: 2023-02-17 (Fri, 17 Feb 2023)
Changed paths:
M Source/WebCore/Modules/webaudio/AudioBuffer.cpp
M Source/WebCore/Modules/webaudio/AudioBuffer.h
M Source/WebCore/Modules/webaudio/AudioNode.cpp
M Source/WebCore/Modules/webaudio/AudioNode.h
M Source/WebCore/Modules/webaudio/BaseAudioContext.cpp
M Source/WebCore/Modules/webaudio/BaseAudioContext.h
A Source/WebCore/Modules/webaudio/NoiseInjectionPolicy.h
M Source/WebCore/Modules/webaudio/OfflineAudioContext.cpp
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
Log Message:
-----------
Introduce plumbing for a policy flag that introduces noise when using some web audio APIs
https://bugs.webkit.org/show_bug.cgi?id=252498
Reviewed by Chris Dumez.
Introduce a new enum flag, `NoiseInjectionPolicy`, and plumb it through some web audio codepaths.
See below for more details. No test yet, since there is no change in behavior.
* Source/WebCore/Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::releaseMemory):
(WebCore::AudioBuffer::copyTo const):
Add a simple boolean `m_needsAdditionalNoise` flag to `AudioBuffer`. This will be turned on by
either audio nodes or the audio context itself, with the intent that `AudioBuffer` will reset it to
`false` once noise has been applied.
* Source/WebCore/Modules/webaudio/AudioBuffer.h:
(WebCore::AudioBuffer::setNeedsAdditionalNoise):
* Source/WebCore/Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::noiseInjectionPolicy const):
Expose a helper method on `AudioNode` that returns the context's policy flag.
* Source/WebCore/Modules/webaudio/AudioNode.h:
* Source/WebCore/Modules/webaudio/BaseAudioContext.cpp:
(WebCore::noiseInjectionPolicy):
(WebCore::BaseAudioContext::BaseAudioContext):
* Source/WebCore/Modules/webaudio/BaseAudioContext.h:
(WebCore::BaseAudioContext::noiseInjectionPolicy const):
Consult the `Document` here upon initialization, to determine whether or not noise injection is
needed. This noise injection policy is then propagated to any nodes attached to the context.
* Source/WebCore/Modules/webaudio/NoiseInjectionPolicy.h: Added.
* Source/WebCore/Modules/webaudio/OfflineAudioContext.cpp:
(WebCore::OfflineAudioContext::OfflineAudioContext):
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/260478@main
More information about the webkit-changes
mailing list