[webkit-changes] [WebKit/WebKit] 952a08: [GStreamer][WebRTC] Improved support for incoming ...

Philippe Normand noreply at github.com
Mon Jan 27 07:04:34 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 952a0889f8b3f2d81c698dad21ffa655b95913e5
      https://github.com/WebKit/WebKit/commit/952a0889f8b3f2d81c698dad21ffa655b95913e5
  Author: Philippe Normand <philn at igalia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M LayoutTests/platform/glib/TestExpectations
    M LayoutTests/platform/glib/fast/mediastream/RTCPeerConnection-inspect-offer-expected.txt
    M LayoutTests/platform/ios/TestExpectations
    M LayoutTests/platform/wpe/TestExpectations
    A LayoutTests/webrtc/getDisplayMedia-pc-expected.txt
    A LayoutTests/webrtc/getDisplayMedia-pc.html
    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/GStreamerRtpTransceiverBackend.h
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerRTPPacketizer.cpp
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.cpp
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.h

  Log Message:
  -----------
  [GStreamer][WebRTC] Improved support for incoming PeerConnection with at least one inactive transceiver
https://bugs.webkit.org/show_bug.cgi?id=285433

Reviewed by Xabier Rodriguez-Calvar.

Do not account for inactive transceivers when handling incoming tracks. Our peerconnection backend
is also now able to detect unused transceivers and re-use them instead of creating a new one when
requested from addTrack().

Test: webrtc/getDisplayMedia-pc.html

* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/glib/fast/mediastream/RTCPeerConnection-inspect-offer-expected.txt:
* LayoutTests/platform/ios/TestExpectations:
* LayoutTests/webrtc/getDisplayMedia-pc-expected.txt: Added.
* LayoutTests/webrtc/getDisplayMedia-pc.html: Added.
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
(WebCore::toGStreamerMediaEndpointTransceiverState):
(WebCore::transceiverStatesFromWebRTCBin):
(WebCore::GStreamerMediaEndpoint::linkOutgoingSources):
(WebCore::GStreamerMediaEndpoint::doSetLocalDescription):
(WebCore::GStreamerMediaEndpoint::doSetRemoteDescription):
(WebCore::GStreamerMediaEndpoint::recycleTransceiverForSenderTrack):
(WebCore::GStreamerMediaEndpoint::connectIncomingTrack):
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.h:
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.cpp:
(WebCore::GStreamerPeerConnectionBackend::addTrack):
(WebCore::GStreamerPeerConnectionBackend::findExistingSender): Deleted.
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.h:
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpTransceiverBackend.h:
* Source/WebCore/platform/mediastream/gstreamer/GStreamerRTPPacketizer.cpp:
(WebCore::GStreamerRTPPacketizer::applyEncodingParameters const):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.cpp:
(WebCore::RealtimeOutgoingMediaSourceGStreamer::start):
(WebCore::RealtimeOutgoingMediaSourceGStreamer::stopOutgoingSource):
(WebCore::RealtimeOutgoingMediaSourceGStreamer::configure):
(WebCore::RealtimeOutgoingMediaSourceGStreamer::type const):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.h:

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



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


More information about the webkit-changes mailing list