diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
commit | 40a355a42d4a9444dc753c04c6608dade2f06a23 (patch) | |
tree | 871fc667d2de662f171103ce5ec067014ef85e61 /third_party/libwebrtc/api/test/create_time_controller.cc | |
parent | Adding upstream version 124.0.1. (diff) | |
download | firefox-40a355a42d4a9444dc753c04c6608dade2f06a23.tar.xz firefox-40a355a42d4a9444dc753c04c6608dade2f06a23.zip |
Adding upstream version 125.0.1.upstream/125.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/libwebrtc/api/test/create_time_controller.cc')
-rw-r--r-- | third_party/libwebrtc/api/test/create_time_controller.cc | 43 |
1 files changed, 32 insertions, 11 deletions
diff --git a/third_party/libwebrtc/api/test/create_time_controller.cc b/third_party/libwebrtc/api/test/create_time_controller.cc index 2c356cb887..7523e05208 100644 --- a/third_party/libwebrtc/api/test/create_time_controller.cc +++ b/third_party/libwebrtc/api/test/create_time_controller.cc @@ -11,10 +11,18 @@ #include "api/test/create_time_controller.h" #include <memory> +#include <utility> +#include "absl/base/nullability.h" +#include "api/enable_media_with_defaults.h" +#include "api/environment/environment.h" +#include "api/peer_connection_interface.h" #include "call/call.h" #include "call/rtp_transport_config.h" #include "call/rtp_transport_controller_send_factory_interface.h" +#include "pc/media_factory.h" +#include "rtc_base/checks.h" +#include "system_wrappers/include/clock.h" #include "test/time_controller/external_time_controller.h" #include "test/time_controller/simulated_time_controller.h" @@ -30,24 +38,37 @@ std::unique_ptr<TimeController> CreateSimulatedTimeController() { Timestamp::Seconds(10000)); } -std::unique_ptr<CallFactoryInterface> CreateTimeControllerBasedCallFactory( - TimeController* time_controller) { - class TimeControllerBasedCallFactory : public CallFactoryInterface { +void EnableMediaWithDefaultsAndTimeController( + TimeController& time_controller, + PeerConnectionFactoryDependencies& deps) { + class TimeControllerBasedFactory : public MediaFactory { public: - explicit TimeControllerBasedCallFactory(TimeController* time_controller) - : time_controller_(time_controller) {} - std::unique_ptr<Call> CreateCall(const CallConfig& config) override { - RtpTransportConfig transportConfig = config.ExtractTransportConfig(); + TimeControllerBasedFactory( + absl::Nonnull<Clock*> clock, + absl::Nonnull<std::unique_ptr<MediaFactory>> media_factory) + : clock_(clock), media_factory_(std::move(media_factory)) {} - return Call::Create(config, time_controller_->GetClock(), + std::unique_ptr<Call> CreateCall(const CallConfig& config) override { + return Call::Create(config, clock_, config.rtp_transport_controller_send_factory->Create( - transportConfig, time_controller_->GetClock())); + config.ExtractTransportConfig(), clock_)); + } + + std::unique_ptr<cricket::MediaEngineInterface> CreateMediaEngine( + const Environment& env, + PeerConnectionFactoryDependencies& dependencies) override { + return media_factory_->CreateMediaEngine(env, dependencies); } private: - TimeController* time_controller_; + absl::Nonnull<Clock*> clock_; + absl::Nonnull<std::unique_ptr<MediaFactory>> media_factory_; }; - return std::make_unique<TimeControllerBasedCallFactory>(time_controller); + + EnableMediaWithDefaults(deps); + RTC_CHECK(deps.media_factory); + deps.media_factory = std::make_unique<TimeControllerBasedFactory>( + time_controller.GetClock(), std::move(deps.media_factory)); } } // namespace webrtc |