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