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

Reply via email to