Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 97ebd29ad20339f333d3bf60bd40c889e381a586
      
https://github.com/WebKit/WebKit/commit/97ebd29ad20339f333d3bf60bd40c889e381a586
  Author: Youenn Fablet <[email protected]>
  Date:   2025-10-28 (Tue, 28 Oct 2025)

  Changed paths:
    A LayoutTests/webrtc/remote-track-label-quirks-expected.txt
    A LayoutTests/webrtc/remote-track-label-quirks.html
    M Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
    M Source/WebCore/page/Quirks.cpp
    M Source/WebCore/page/Quirks.h
    M Source/WebCore/page/QuirksData.h
    M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp
    M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h
    M 
Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingAudioSourceGStreamer.cpp
    M 
Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingVideoSourceGStreamer.cpp

  Log Message:
  -----------
  Add a quirk to make unique remote MediaStreamTrack labels
rdar://161192008
https://bugs.webkit.org/show_bug.cgi?id=301533

Reviewed by Philippe Normand.

Google Chrome uses the track ID for remote track labels, while the spec is 
asking to use either `remote audio` or `remote video`.
Facebook is listening to WebRTC track events for new tracks, so as to send 
updates to different parts of the DB video call code base.
To send those updates, it generates a state as a JS object and compares it with 
the previous state.

If they are different, some processing is happening. If they are the same, no 
processing happens as a an optimization.
To check whether the state has changed, track labels are used.
In Chrome, track labels would change based on track ids, but not in Safari.
This would prevent some updates to happen and create flakky behaviours.

To workaround this limitation, we introduce a quirk that concatenates the spec 
label with the track ID.
We enable this quirk for Facebook and messenger web sites.

We also update GStream incoming audio/video sources so that they provide the 
correct label as per spec.

Manually tested and adding quirk specific test.

Canonical link: https://commits.webkit.org/302231@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to