Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0ea009b4f3b9503c4485ea1349ea8613c1b1804a
https://github.com/WebKit/WebKit/commit/0ea009b4f3b9503c4485ea1349ea8613c1b1804a
Author: Youenn Fablet <[email protected]>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M
Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererCocoa.cpp
Log Message:
-----------
Audio issues observed when joining Cisco Meeting Server meetings using Safari
rdar://175260977
https://bugs.webkit.org/show_bug.cgi?id=312281
Reviewed by Jean-Yves Avenard.
As shown in the logs from bugs.webkit.org/attachment.cgi?id=478546 comment 8,
IncomingAudioMediaStreamTrackRendererUnit::removeSource/addSource is frequently
called in some Webex scenarios.
These calls can potentially stop and start the corresponding audio unit, which
can disrupt audio rendering.
This flow mainly happens when changing the speaker, in which case disrupting
the audio rendering is acceptable.
However, it can also happen when the stream attached to the HTMLMediaElement
has tracks added or removed.
This happens in MediaPlayerPrivateMediaStreamAVFObjC::updateTracks.
This is useful for new tracks but unnecessary for already configured tracks.
To prevent this unnecessary work, we add a check in
AudioMediaStreamTrackRendererCocoa::setAudioOutputDevice
to return early if the new device ID is already the one in use.
Manually tested.
*
Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererCocoa.cpp:
(WebCore::AudioMediaStreamTrackRendererCocoa::setAudioOutputDevice):
Canonical link: https://commits.webkit.org/313415@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications