summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/api/test/create_time_controller.cc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/api/test/create_time_controller.cc')
-rw-r--r--third_party/libwebrtc/api/test/create_time_controller.cc43
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