Adds injectable trials from peerconnection down to transport controller. This will be immediately useful to guarantee consistent state across components referencing the pacer, but will be a net benefit overall imo. Bug: webrtc:10809 Change-Id: I49630696f757a832ccf2e4c8597193bf087ce53b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159885 Reviewed-by: Stefan Holmer <stefan@webrtc.org> Commit-Queue: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29859}
diff --git a/api/BUILD.gn b/api/BUILD.gn index 8bb4f24..6847a12 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn
@@ -188,6 +188,7 @@ "transport:datagram_transport_interface", "transport:enums", "transport:network_control", + "transport:webrtc_key_value_config", "transport/media:audio_interfaces", "transport/media:media_transport_interface", "transport/media:video_interfaces",
diff --git a/api/peer_connection_interface.h b/api/peer_connection_interface.h index f2ef336..5047eef 100644 --- a/api/peer_connection_interface.h +++ b/api/peer_connection_interface.h
@@ -104,6 +104,7 @@ #include "api/transport/enums.h" #include "api/transport/media/media_transport_interface.h" #include "api/transport/network_control.h" +#include "api/transport/webrtc_key_value_config.h" #include "api/turn_customizer.h" #include "media/base/media_config.h" #include "media/base/media_engine.h" @@ -1329,6 +1330,7 @@ std::unique_ptr<NetworkControllerFactoryInterface> network_controller_factory; std::unique_ptr<MediaTransportFactory> media_transport_factory; std::unique_ptr<NetEqFactory> neteq_factory; + std::unique_ptr<WebRtcKeyValueConfig> trials; }; // PeerConnectionFactoryInterface is the factory interface used for creating
diff --git a/api/transport/BUILD.gn b/api/transport/BUILD.gn index 3710aa5..d9260c5 100644 --- a/api/transport/BUILD.gn +++ b/api/transport/BUILD.gn
@@ -54,6 +54,7 @@ "webrtc_key_value_config.h", ] deps = [ + "../../rtc_base/system:rtc_export", "//third_party/abseil-cpp/absl/strings", ] }
diff --git a/api/transport/webrtc_key_value_config.h b/api/transport/webrtc_key_value_config.h index 0522629..5666a82 100644 --- a/api/transport/webrtc_key_value_config.h +++ b/api/transport/webrtc_key_value_config.h
@@ -13,6 +13,7 @@ #include <string> #include "absl/strings/string_view.h" +#include "rtc_base/system/rtc_export.h" namespace webrtc { @@ -21,7 +22,7 @@ // particular key value mapping will be preserved over time and no announcements // will be made if they are changed. It's up to the library user to ensure that // the behavior does not break. -class WebRtcKeyValueConfig { +class RTC_EXPORT WebRtcKeyValueConfig { public: virtual ~WebRtcKeyValueConfig() = default; // The configured value for the given key. Defaults to an empty string.