[webkit-changes] [WebKit/WebKit] 1fee80: [GStreamer][WebRTC] Basic support for network cond...
Philippe Normand
noreply at github.com
Fri Jan 10 04:49:39 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1fee803ca0a7abd3f0090c35471e2fcdbdb173c7
https://github.com/WebKit/WebKit/commit/1fee803ca0a7abd3f0090c35471e2fcdbdb173c7
Author: Philippe Normand <philn at igalia.com>
Date: 2025-01-10 (Fri, 10 Jan 2025)
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/Modules/mediastream/gstreamer/GStreamerRtpSenderBackend.cpp
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpSenderBackend.h
M Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceGStreamer.cpp
M Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceGStreamer.h
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] Basic support for network conditions simulation
https://bugs.webkit.org/show_bug.cgi?id=285434
Reviewed by Xabier Rodriguez-Calvar.
This patch adds support for 2 new environment variables, WEBKIT_WEBRTC_NETSIM_SRC_OPTIONS and
WEBKIT_WEBRTC_NETSIM_SINK_OPTIONS allowing to simulate varying network conditions on incoming and
outgoing WebRTC streams, respectively. For instance setting the value of
WEBKIT_WEBRTC_NETSIM_SRC_OPTIONS to "drop-probability=0.05" would simulate 5% packets drops for
incoming streams. The options are the ones exposed by the GStreamer netsim element.
Ideally the netsim elements should be tweakable at runtime, maybe that can be done using the future
WebRTC devtools frontend.
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
(WebCore::GStreamerMediaEndpoint::netSimOptionsFromEnvironment):
(WebCore::GStreamerMediaEndpoint::maybeInsertNetSimForElement):
(WebCore::GStreamerMediaEndpoint::initializePipeline):
(WebCore::GStreamerMediaEndpoint::createTransceiverBackends):
(WebCore::GStreamerMediaEndpoint::requestAuxiliarySender):
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.h:
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.cpp:
(WebCore::GStreamerPeerConnectionBackend::dispatchSenderBitrateRequest):
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.h:
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpSenderBackend.cpp:
(WebCore::GStreamerRtpSenderBackend::dispatchBitrateRequest):
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpSenderBackend.h:
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceGStreamer.cpp:
(WebCore::RealtimeOutgoingAudioSourceGStreamer::dispatchBitrateRequest):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceGStreamer.h:
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.h:
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp:
(WebCore::RealtimeOutgoingVideoSourceGStreamer::dispatchBitrateRequest):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.h:
Canonical link: https://commits.webkit.org/288696@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list