[webkit-changes] [WebKit/WebKit] 1796e2: Consider using HAL output unit in case echo cancel...
youennf
noreply at github.com
Wed Jan 4 04:25:33 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1796e2f138aba9c879d20e49e6458ae7e3fef898
https://github.com/WebKit/WebKit/commit/1796e2f138aba9c879d20e49e6458ae7e3fef898
Author: Youenn Fablet <youennf at gmail.com>
Date: 2023-01-04 (Wed, 04 Jan 2023)
Changed paths:
M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp
M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.h
M Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.cpp
M Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.h
M Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm
M Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp
Log Message:
-----------
Consider using HAL output unit in case echo cancellation is disabled
https://bugs.webkit.org/show_bug.cgi?id=235643
rdar://problem/88379822
Reviewed by Eric Carlson.
We use RemoteIO aon iOS or HAL on macOS to capture microphone when echo cancellation is off.
This allows to bypass voice specific processing and gets higher fidelity recording.
On macOS, we only use HAL for recording and not rendering of audio.
For that reason we introduce isAudioCaptureUnitRenderingAudio in WebCore that is used in WebKit to play audio or not through the capture unit.
Update MockAudioSharedInternalUnit to enable echo cancellation according the boolean parameter instead of properties provided to MockAudioSharedInternalUnit.
* Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioCaptureSourceFactory::isAudioCaptureUnitRenderingAudio):
* Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.h:
* Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.cpp:
(WebCore::CoreAudioSharedInternalUnit::create):
(WebCore::CoreAudioSharedUnit::setupAudioUnit):
(WebCore::CoreAudioSharedUnit::validateOutputDevice):
* Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.h:
* Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm:
(WebCore::MockAudioSharedUnit::singleton):
(WebCore::MockAudioSharedInternalUnit::MockAudioSharedInternalUnit):
(WebCore::MockAudioSharedInternalUnit::set):
* Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp:
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::start):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::captureUnitIsStarting):
Canonical link: https://commits.webkit.org/258428@main
More information about the webkit-changes
mailing list