Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3539c8a950f66fbe6bd7e37a9d90bd9d98f03386
https://github.com/WebKit/WebKit/commit/3539c8a950f66fbe6bd7e37a9d90bd9d98f03386
Author: Philippe Normand <[email protected]>
Date: 2024-11-08 (Fri, 08 Nov 2024)
Changed paths:
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp
M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
M Source/WebCore/platform/mediarecorder/MediaRecorderPrivateGStreamer.cpp
M
Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp
M
Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCaptureSource.h
M Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.h
M
Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerMockDevice.cpp
M
Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp
M
Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h
Log Message:
-----------
[GStreamer][WebRTC] Latency improvements
https://bugs.webkit.org/show_bug.cgi?id=282756
Reviewed by Xabier Rodriguez-Calvar.
When sharing data between pipelines it is recommended to use a shared base time
of 0 and -1 start
time on each pipeline. If appsrc is used its handle-segment-change property
should be enabled as
well. Then latency queries need to be plumbed as well, this was partly done
already for incoming
sources, but wasn't done yet for capture sources.
With this patch the end-to-end latency on the pc1 demo went from ~10 frames to
3 (or 4 frames).
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
(WebCore::GStreamerMediaEndpoint::initializePipeline):
* Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::connectSimpleBusMessageCallback):
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
* Source/WebCore/platform/mediarecorder/MediaRecorderPrivateGStreamer.cpp:
(WebCore::MediaRecorderPrivateBackend::preparePipeline):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp:
(WebCore::GStreamerAudioCaptureSource::queryLatency):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCaptureSource.h:
* Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.cpp:
(WebCore::GStreamerCapturer::setupPipeline):
(WebCore::GStreamerCapturer::queryLatency):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.h:
* Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
* Source/WebCore/platform/mediastream/gstreamer/GStreamerMockDevice.cpp:
(webkitMockDeviceCreateElement):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:
(WebCore::GStreamerVideoCaptureSource::queryLatency):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h:
Canonical link: https://commits.webkit.org/286323@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