[webkit-changes] [WebKit/WebKit] e916da: Cherry-pick 260815 at main (5bd55e4bf534). https://bu...

Xabier Rodríguez noreply at github.com
Wed Mar 15 12:56:40 PDT 2023


  Branch: refs/heads/webkitglib/2.40
  Home:   https://github.com/WebKit/WebKit
  Commit: e916da5a919ccec073b0f600f70a5dab69a8e288
      https://github.com/WebKit/WebKit/commit/e916da5a919ccec073b0f600f70a5dab69a8e288
  Author: Philippe Normand <philn at igalia.com>
  Date:   2023-03-15 (Wed, 15 Mar 2023)

  Changed paths:
    M LayoutTests/platform/glib/TestExpectations
    M LayoutTests/webrtc/video-replace-track.html
    M Source/WebCore/Modules/mediastream/RTCRtpTransceiverBackend.h
    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/Modules/mediastream/gstreamer/GStreamerRtpSenderBackend.h
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpTransceiverBackend.cpp
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpTransceiverBackend.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:
  -----------
  Cherry-pick 260815 at main (5bd55e4bf534). https://bugs.webkit.org/show_bug.cgi?id=252820

    [GStreamer][WebRTC] replaceTrack support
    https://bugs.webkit.org/show_bug.cgi?id=252820

    Reviewed by Xabier Rodriguez-Calvar.

    In the GStreamer WebRTC backend `sender.replaceTrack()` is now supported. Under the hood, the
    outgoing media source now has an input-selector just after the mediastreamsrc element. This allows
    us to toggle between a mediastreamsrc and a fake source, eg, when replacing the track with null.

    * LayoutTests/platform/glib/TestExpectations:
    * LayoutTests/webrtc/video-replace-track.html:
    * Source/WebCore/Modules/mediastream/RTCRtpTransceiverBackend.h:
    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
    (WebCore::GStreamerMediaEndpoint::setConfiguration):
    (WebCore::GStreamerMediaEndpoint::configureAndLinkSource):
    (WebCore::GStreamerMediaEndpoint::requestPad):
    (WebCore::GStreamerMediaEndpoint::addTrack):
    (WebCore::GStreamerMediaEndpoint::removeTrack):
    (WebCore::GStreamerMediaEndpoint::addTransceiver):
    (WebCore::GStreamerMediaEndpoint::createLinkedSourceForTrack):
    (WebCore::GStreamerMediaEndpoint::createDataChannel):
    (WebCore::GStreamerMediaEndpoint::onNegotiationNeeded):
    (WebCore::GStreamerMediaEndpoint::setSenderSourceFromTrack): Deleted.
    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.h:
    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.cpp:
    (WebCore::GStreamerPeerConnectionBackend::createLinkedSourceForTrack):
    (WebCore::GStreamerPeerConnectionBackend::setSenderSourceFromTrack): Deleted.
    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.h:
    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpSenderBackend.cpp:
    (WebCore::ensureDebugCategoryIsRegistered):
    (WebCore::GStreamerRtpSenderBackend::GStreamerRtpSenderBackend):
    (WebCore::m_initData):
    (WebCore::GStreamerRtpSenderBackend::startSource):
    (WebCore::GStreamerRtpSenderBackend::stopSource):
    (WebCore::GStreamerRtpSenderBackend::replaceTrack):
    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpSenderBackend.h:
    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpTransceiverBackend.cpp:
    (WebCore::GStreamerRtpTransceiverBackend::stop):
    (WebCore::GStreamerRtpTransceiverBackend::stopped const):
    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpTransceiverBackend.h:
    * Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceGStreamer.cpp:
    (WebCore::RealtimeOutgoingAudioSourceGStreamer::setPayloadType):
    (WebCore::RealtimeOutgoingAudioSourceGStreamer::codecPreferencesChanged):
    (WebCore::RealtimeOutgoingAudioSourceGStreamer::connectFallbackSource):
    (WebCore::RealtimeOutgoingAudioSourceGStreamer::unlinkOutgoingSource):
    (WebCore::RealtimeOutgoingAudioSourceGStreamer::linkOutgoingSource):
    * Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceGStreamer.h:
    * Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.cpp:
    (WebCore::RealtimeOutgoingMediaSourceGStreamer::RealtimeOutgoingMediaSourceGStreamer):
    (WebCore::RealtimeOutgoingMediaSourceGStreamer::~RealtimeOutgoingMediaSourceGStreamer):
    (WebCore::RealtimeOutgoingMediaSourceGStreamer::setSource):
    (WebCore::RealtimeOutgoingMediaSourceGStreamer::start):
    (WebCore::RealtimeOutgoingMediaSourceGStreamer::stop):
    (WebCore::RealtimeOutgoingMediaSourceGStreamer::flush):
    (WebCore::RealtimeOutgoingMediaSourceGStreamer::stopOutgoingSource):
    (WebCore::RealtimeOutgoingMediaSourceGStreamer::initializeFromTrack):
    * Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.h:
    (WebCore::RealtimeOutgoingMediaSourceGStreamer::isStopped const):
    (WebCore::RealtimeOutgoingMediaSourceGStreamer::connectFallbackSource):
    (WebCore::RealtimeOutgoingMediaSourceGStreamer::unlinkOutgoingSource):
    (WebCore::RealtimeOutgoingMediaSourceGStreamer::linkOutgoingSource):
    * Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp:
    (WebCore::RealtimeOutgoingVideoSourceGStreamer::setPayloadType):
    (WebCore::RealtimeOutgoingVideoSourceGStreamer::codecPreferencesChanged):
    (WebCore::RealtimeOutgoingVideoSourceGStreamer::connectFallbackSource):
    (WebCore::RealtimeOutgoingVideoSourceGStreamer::unlinkOutgoingSource):
    (WebCore::RealtimeOutgoingVideoSourceGStreamer::linkOutgoingSource):
    (WebCore::RealtimeOutgoingVideoSourceGStreamer::flush):
    * Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.h:

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


  Commit: 2e05d94353bde9daa6ac7d456d0c2ed1aed2529c
      https://github.com/WebKit/WebKit/commit/2e05d94353bde9daa6ac7d456d0c2ed1aed2529c
  Author: Xabier Rodriguez-Calvar <calvaris at igalia.com>
  Date:   2023-03-15 (Wed, 15 Mar 2023)

  Changed paths:
    M Source/WebCore/platform/graphics/MediaPlayer.cpp

  Log Message:
  -----------
  Cherry-pick 260793 at main (47d6f5f15fdd). https://bugs.webkit.org/show_bug.cgi?id=252838

    Always sync player error message
    https://bugs.webkit.org/show_bug.cgi?id=252838

    Reviewed by Alicia Boya Garcia.

    Patch by Eugene Mutavchi <Ievgen_Mutavchi at comcast.com>.

    * Source/WebCore/platform/graphics/MediaPlayer.cpp:
    (WebCore::MediaPlayer::networkStateChanged):

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


Compare: https://github.com/WebKit/WebKit/compare/b8e17070678f...2e05d94353bd


More information about the webkit-changes mailing list