Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cf5066c746424e11e238567eafb5f1a6919a959a
      
https://github.com/WebKit/WebKit/commit/cf5066c746424e11e238567eafb5f1a6919a959a
  Author: Philippe Normand <[email protected]>
  Date:   2026-06-01 (Mon, 01 Jun 2026)

  Changed paths:
    M LayoutTests/platform/glib/TestExpectations
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.h
    M 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.cpp
    M 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.h
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpSenderBackend.cpp
    M 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.cpp
    M 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.h

  Log Message:
  -----------
  [GStreamer][WebRTC] webrtc/getDisplayMedia-pc-resolution.html almost 
consistently times out
https://bugs.webkit.org/show_bug.cgi?id=315917

Reviewed by Xabier Rodriguez-Calvar.

The timeout was happening in the penultimate sub-test that calls replaceTrack 
before generating an
offer. In that situation the outgoing media track bin isn't fully linked and 
doesn't have a
transceiver yet. The transceiver codec-preferences were not updated so the 
attempt to link outgoing
sources in the end-point after creating the offer left an unlinked outgoing 
media track bin, because
the msid SDP attribute wasn't matched properly.

The proposed fix is to iterate over the webrtcbin transceivers after the 
replaceTrack call and
update a-msid attributes on their codec-preferences caps when appropriate.

* LayoutTests/platform/glib/TestExpectations:
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
(WebCore::GStreamerMediaEndpoint::linkOutgoingSources):
(WebCore::GStreamerMediaEndpoint::trackWasReplaced):
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.h:
* 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.cpp:
(WebCore::GStreamerPeerConnectionBackend::trackWasReplaced):
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.h:
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpSenderBackend.cpp:
(WebCore::GStreamerRtpSenderBackend::replaceTrack):
* 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.cpp:
(WebCore::RealtimeOutgoingMediaSourceGStreamer::replaceTrack):
* 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.h:

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



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

Reply via email to