Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7ca419834e5cf349386849b51920d2b81d9ecb86
https://github.com/WebKit/WebKit/commit/7ca419834e5cf349386849b51920d2b81d9ecb86
Author: Youenn Fablet <[email protected]>
Date: 2023-10-12 (Thu, 12 Oct 2023)
Changed paths:
M Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.cpp
M Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.h
Log Message:
-----------
Long delay when switching audio input in Google Meet
https://bugs.webkit.org/show_bug.cgi?id=248183
rdar://102724364
Reviewed by Eric Carlson.
Creating a kAudioUnitSubType_VoiceProcessingIO is expensive as it may block the
thread for 2 seconds.
To limit this overhead, we reuse the VPIO unit in case of reconfiguration, if
any is being used.
Testing on Google Meet locally, this improves device switching both in terms of
UI (which does not freeze)
and in terms of delay of audio switching.
We only reuse VPIO unit on macOS for now.
* Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.cpp:
(WebCore::CoreAudioSharedInternalUnit::create):
(WebCore::CoreAudioSharedInternalUnit::CoreAudioSharedInternalUnit):
(WebCore::CoreAudioSharedInternalUnit::~CoreAudioSharedInternalUnit):
(WebCore::CoreAudioSharedInternalUnit::storeVPIOUnitIfNeeded):
(WebCore::CoreAudioSharedUnit::~CoreAudioSharedUnit):
(WebCore::CoreAudioSharedUnit::setStoredVPIOUnit):
(WebCore::CoreAudioSharedUnit::reconfigureAudioUnit):
* Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.h:
Canonical link: https://commits.webkit.org/269242@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes