diff --git a/test/BUILD.gn b/test/BUILD.gn index 0cec8cd089..d98ff0a33d 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -205,6 +205,7 @@ rtc_library("video_test_common") { "../api:create_frame_generator", "../api:frame_generator_api", "../api:scoped_refptr", + "../api/environment", "../api/task_queue", "../api/video:video_frame", "../api/video:video_rtp_headers", diff --git a/test/peer_scenario/peer_scenario_client.cc b/test/peer_scenario/peer_scenario_client.cc index fe0c75caea..9d77624afe 100644 --- a/test/peer_scenario/peer_scenario_client.cc +++ b/test/peer_scenario/peer_scenario_client.cc @@ -16,6 +16,7 @@ #include "absl/memory/memory.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" #include "api/audio_codecs/builtin_audio_encoder_factory.h" +#include "api/environment/environment.h" #include "api/rtc_event_log/rtc_event_log_factory.h" #include "api/task_queue/default_task_queue_factory.h" #include "api/test/create_time_controller.h" @@ -177,19 +178,16 @@ class LambdaSetRemoteDescriptionObserver class FakeVideoEncoderFactory : public VideoEncoderFactory { public: - FakeVideoEncoderFactory(Clock* clock) : clock_(clock) {} std::vector GetSupportedFormats() const override { return {SdpVideoFormat::VP8()}; } - std::unique_ptr CreateVideoEncoder( - const SdpVideoFormat& format) override { + std::unique_ptr Create(const Environment& env, + const SdpVideoFormat& format) override { RTC_CHECK_EQ(format.name, "VP8"); - return std::make_unique(clock_); + return std::make_unique(&env.clock()); } - - private: - Clock* const clock_; }; + class FakeVideoDecoderFactory : public VideoDecoderFactory { public: std::vector GetSupportedFormats() const override { @@ -260,8 +258,8 @@ PeerScenarioClient::PeerScenarioClient( TestAudioDeviceModule::CreateDiscardRenderer(config.audio.sample_rate)); if (config.video.use_fake_codecs) { - pcf_deps.video_encoder_factory = std::make_unique( - net->time_controller()->GetClock()); + pcf_deps.video_encoder_factory = + std::make_unique(); pcf_deps.video_decoder_factory = std::make_unique(); } else { diff --git a/test/video_encoder_nullable_proxy_factory.h b/test/video_encoder_nullable_proxy_factory.h index da81fff343..d27afb4caf 100644 --- a/test/video_encoder_nullable_proxy_factory.h +++ b/test/video_encoder_nullable_proxy_factory.h @@ -14,6 +14,7 @@ #include #include +#include "api/environment/environment.h" #include "api/video_codecs/video_encoder.h" #include "api/video_codecs/video_encoder_factory.h" #include "test/video_encoder_proxy_factory.h" @@ -30,12 +31,12 @@ class VideoEncoderNullableProxyFactory final : public VideoEncoderProxyFactory { ~VideoEncoderNullableProxyFactory() override = default; - std::unique_ptr CreateVideoEncoder( - const SdpVideoFormat& format) override { + std::unique_ptr Create(const Environment& env, + const SdpVideoFormat& format) override { if (!encoder_) { return nullptr; } - return VideoEncoderProxyFactory::CreateVideoEncoder(format); + return VideoEncoderProxyFactory::Create(env, format); } }; diff --git a/test/video_encoder_proxy_factory.h b/test/video_encoder_proxy_factory.h index 99796c0054..6a5ff6fa39 100644 --- a/test/video_encoder_proxy_factory.h +++ b/test/video_encoder_proxy_factory.h @@ -14,6 +14,7 @@ #include #include +#include "api/environment/environment.h" #include "api/video_codecs/video_encoder.h" #include "api/video_codecs/video_encoder_factory.h" @@ -45,8 +46,8 @@ class VideoEncoderProxyFactory : public VideoEncoderFactory { return {}; } - std::unique_ptr CreateVideoEncoder( - const SdpVideoFormat& format) override { + std::unique_ptr Create(const Environment& env, + const SdpVideoFormat& format) override { ++num_simultaneous_encoder_instances_; max_num_simultaneous_encoder_instances_ = std::max(max_num_simultaneous_encoder_instances_,