Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1fee803ca0a7abd3f0090c35471e2fcdbdb173c7
      
https://github.com/WebKit/WebKit/commit/1fee803ca0a7abd3f0090c35471e2fcdbdb173c7
  Author: Philippe Normand <ph...@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
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to