RemoteAudioSessionProxyManager should use the shared audio session instead of creating a private audio session.
<rdar://problem/81530450>
Created attachment 434931 [details] Patch
Created attachment 434952 [details] Patch for landing
Created attachment 434990 [details] Patch for landing
Created attachment 434992 [details] Patch for landing
Committed r280698 (240295@main): <https://commits.webkit.org/240295@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 434992 [details].
As per https://ews-build.s3-us-west-2.amazonaws.com/macOS-AppleSilicon-Big-Sur-Debug-WK2-Tests-EWS/r435060-9411/results.html, it seems we still hit an assert: Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 com.apple.JavaScriptCore 0x00000001389eedf4 WTFCrash + 20 1 com.apple.WebCore 0x0000000117cdbcb0 WTFCrashWithInfo(int, char const*, char const*, int) + 32 2 com.apple.WebCore 0x000000011bc6f04c WebCore::BaseAudioSharedUnit::startUnit() + 176 3 com.apple.WebCore 0x000000011bc6ed84 WebCore::BaseAudioSharedUnit::startProducingData() + 336 4 com.apple.WebCore 0x000000011bca2788 WebCore::CoreAudioCaptureSource::startProducingData() + 44 5 com.apple.WebCore 0x000000011bc1c418 WebCore::RealtimeMediaSource::start() + 220 6 com.apple.WebKit 0x0000000106085028 WebKit::UserMediaCaptureManagerProxy::SourceProxy::start() + 48
Looks like it is tracked by bug 228847.
It looks like the changes in https://trac.webkit.org/changeset/280698/webkit broke TestWebKitAPI.WebKit2.CrashGPUProcessWhileCapturing with ASSERTION FAILED: !isInRoutingArbitrationForToken(token) tracking in https://bugs.webkit.org/show_bug.cgi?id=229010