Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0dc9f7d98abd0412a0c01e62c5de0119ec1720b3
      
https://github.com/WebKit/WebKit/commit/0dc9f7d98abd0412a0c01e62c5de0119ec1720b3
  Author: Philippe Normand <ph...@igalia.com>
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
    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/platform/mediastream/gstreamer/GStreamerIncomingTrackProcessor.cpp
    M 
Source/WebCore/platform/mediastream/gstreamer/GStreamerIncomingTrackProcessor.h
    M 
Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp

  Log Message:
  -----------
  [GStreamer][WebRTC] Incoming track handling fixes
https://bugs.webkit.org/show_bug.cgi?id=270225

Reviewed by Xabier Rodriguez-Calvar.

The IncomingTrackProcessors are now created upfront, based on the transceivers. 
Creating them within
the pad-added signal handler was too late, potentially leading to issues where  
the track events
might be emitted too early, for an incoming MediaStream containing a video and 
audio track, when the
audio RTP stream is slightly delayed the video track event would be fired too 
early, leading to
unexpected behaviour on JS side.

We also now relay latency queries from the webkitmediastreamsrc to the WebRTC 
pipeline, fixing audio
loss issues in case the audio track is delayed compared to the video track.

* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
(WebCore::GStreamerMediaEndpoint::getStats):
(WebCore::GStreamerMediaEndpoint::connectIncomingTrack):
(WebCore::GStreamerMediaEndpoint::connectPad):
(WebCore::GStreamerMediaEndpoint::collectTransceivers):
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.h:
* 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.cpp:
(WebCore::GStreamerPeerConnectionBackend::doStop):
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.h:
* 
Source/WebCore/platform/mediastream/gstreamer/GStreamerIncomingTrackProcessor.cpp:
(WebCore::GStreamerIncomingTrackProcessor::GStreamerIncomingTrackProcessor):
(WebCore::GStreamerIncomingTrackProcessor::configure):
* 
Source/WebCore/platform/mediastream/gstreamer/GStreamerIncomingTrackProcessor.h:
(WebCore::GStreamerIncomingTrackProcessor::create):
(WebCore::GStreamerIncomingTrackProcessor::bin const):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:

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



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

Reply via email to