Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1796e2f138aba9c879d20e49e6458ae7e3fef898
      
https://github.com/WebKit/WebKit/commit/1796e2f138aba9c879d20e49e6458ae7e3fef898
  Author: Youenn Fablet <[email protected]>
  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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to