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

Reply via email to