Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 88551187c932d1e173f270ba4df6e3f031d81e99
      
https://github.com/WebKit/WebKit/commit/88551187c932d1e173f270ba4df6e3f031d81e99
  Author: Philippe Normand <[email protected]>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpSenderBackend.cpp
    M 
Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.h
    M 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceGStreamer.cpp
    M 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceGStreamer.h
    M 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.cpp
    M 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.h
    M 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp
    M 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.h

  Log Message:
  -----------
  [GStreamer][WebRTC] Rework replaceTrack handling
https://bugs.webkit.org/show_bug.cgi?id=280120

Reviewed by Xabier Rodriguez-Calvar.

Track replacement is now handled in the GStreamer mediastream source element, 
instead of doing
convoluted caps negotiation issues-prone pipeline manipulations in outgoing 
sources. We used to have
an audiotestsrc/videotestsrc combined with input-selector there, but that could 
lead to caps
negotiation issues, for instance when replacing an audio track with a new one 
with different
capabilities (samplerate for instance).

* Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpSenderBackend.cpp:
(WebCore::GStreamerRtpSenderBackend::replaceTrack):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
(mediaStreamTrackPrivateGetTags):
(webkitMediaStreamNew):
(WebKitMediaStreamObserver::didRemoveTrack):
(webkitMediaStreamSrcAddTrack):
(webkitMediaStreamSrcReplaceTrack):
(webkitMediaStreamSrcConfigureAudioTracks):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.h:
* 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceGStreamer.cpp:
(WebCore::RealtimeOutgoingAudioSourceGStreamer::setPayloadType):
(WebCore::RealtimeOutgoingAudioSourceGStreamer::connectFallbackSource): Deleted.
(WebCore::RealtimeOutgoingAudioSourceGStreamer::unlinkOutgoingSource): Deleted.
(WebCore::RealtimeOutgoingAudioSourceGStreamer::linkOutgoingSource): Deleted.
* 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceGStreamer.h:
* 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.cpp:
(WebCore::RealtimeOutgoingMediaSourceGStreamer::RealtimeOutgoingMediaSourceGStreamer):
(WebCore::RealtimeOutgoingMediaSourceGStreamer::start):
(WebCore::RealtimeOutgoingMediaSourceGStreamer::stop):
(WebCore::RealtimeOutgoingMediaSourceGStreamer::stopOutgoingSource):
(WebCore::RealtimeOutgoingMediaSourceGStreamer::sourceMutedChanged):
(WebCore::RealtimeOutgoingMediaSourceGStreamer::sourceEnabledChanged):
(WebCore::RealtimeOutgoingMediaSourceGStreamer::initializeFromTrack):
(WebCore::RealtimeOutgoingMediaSourceGStreamer::teardown):
(WebCore::RealtimeOutgoingMediaSourceGStreamer::replaceTrack):
(WebCore::RealtimeOutgoingMediaSourceGStreamer::setSource): Deleted.
* 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.h:
(WebCore::RealtimeOutgoingMediaSourceGStreamer::track const):
(WebCore::RealtimeOutgoingMediaSourceGStreamer::source const): Deleted.
(WebCore::RealtimeOutgoingMediaSourceGStreamer::connectFallbackSource): Deleted.
(WebCore::RealtimeOutgoingMediaSourceGStreamer::unlinkOutgoingSource): Deleted.
(WebCore::RealtimeOutgoingMediaSourceGStreamer::linkOutgoingSource): Deleted.
* 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp:
(WebCore::RealtimeOutgoingVideoSourceGStreamer::setPayloadType):
(WebCore::RealtimeOutgoingVideoSourceGStreamer::connectFallbackSource): Deleted.
(WebCore::RealtimeOutgoingVideoSourceGStreamer::unlinkOutgoingSource): Deleted.
(WebCore::RealtimeOutgoingVideoSourceGStreamer::linkOutgoingSource): Deleted.
* 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to