diff --git a/test/pc/e2e/BUILD.gn b/test/pc/e2e/BUILD.gn index 456687f521..e00832841e 100644 --- a/test/pc/e2e/BUILD.gn +++ b/test/pc/e2e/BUILD.gn @@ -196,6 +196,7 @@ if (!build_with_chromium) { "../../../rtc_base:criticalsection", "../../../rtc_base:stringutils", "../../../rtc_base/synchronization:mutex", + "../../../system_wrappers", "../../../test:video_test_common", "../../../test:video_test_support", ] diff --git a/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.cc b/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.cc index 81caeb3a5c..5e898e8408 100644 --- a/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.cc +++ b/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.cc @@ -17,6 +17,7 @@ #include "absl/strings/string_view.h" #include "api/array_view.h" #include "rtc_base/strings/string_builder.h" +#include "system_wrappers/include/clock.h" #include "test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.h" #include "test/pc/e2e/analyzer/video/quality_analyzing_video_encoder.h" #include "test/pc/e2e/analyzer/video/simulcast_dummy_buffer_helper.h" @@ -86,10 +87,25 @@ class AnalyzingFramePreprocessor } // namespace VideoQualityAnalyzerInjectionHelper::VideoQualityAnalyzerInjectionHelper( + Clock* clock, std::unique_ptr analyzer, EncodedImageDataInjector* injector, EncodedImageDataExtractor* extractor) - : analyzer_(std::move(analyzer)), + : clock_(clock), + analyzer_(std::move(analyzer)), + injector_(injector), + extractor_(extractor) { + RTC_DCHECK(clock_); + RTC_DCHECK(injector_); + RTC_DCHECK(extractor_); +} + +VideoQualityAnalyzerInjectionHelper::VideoQualityAnalyzerInjectionHelper( + std::unique_ptr analyzer, + EncodedImageDataInjector* injector, + EncodedImageDataExtractor* extractor) + : clock_(nullptr), + analyzer_(std::move(analyzer)), injector_(injector), extractor_(extractor) { RTC_DCHECK(injector_); diff --git a/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.h b/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.h index 102fa5df0c..6782d50a78 100644 --- a/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.h +++ b/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.h @@ -26,6 +26,7 @@ #include "api/video_codecs/video_decoder_factory.h" #include "api/video_codecs/video_encoder_factory.h" #include "rtc_base/synchronization/mutex.h" +#include "system_wrappers/include/clock.h" #include "test/pc/e2e/analyzer/video/encoded_image_data_injector.h" #include "test/test_video_capturer.h" #include "test/testsupport/video_frame_writer.h" @@ -39,6 +40,12 @@ class VideoQualityAnalyzerInjectionHelper : public StatsObserverInterface { public: using VideoConfig = PeerConnectionE2EQualityTestFixture::VideoConfig; + VideoQualityAnalyzerInjectionHelper( + Clock* clock, + std::unique_ptr analyzer, + EncodedImageDataInjector* injector, + EncodedImageDataExtractor* extractor); + // TODO(titovartem): remove after migrating downstreams. VideoQualityAnalyzerInjectionHelper( std::unique_ptr analyzer, EncodedImageDataInjector* injector, @@ -138,6 +145,7 @@ class VideoQualityAnalyzerInjectionHelper : public StatsObserverInterface { std::vector>>* PopulateSinks(const ReceiverStream& receiver_stream); + Clock* const clock_; std::unique_ptr analyzer_; EncodedImageDataInjector* injector_; EncodedImageDataExtractor* extractor_; diff --git a/test/pc/e2e/peer_connection_quality_test.cc b/test/pc/e2e/peer_connection_quality_test.cc index 25fca518aa..409430d959 100644 --- a/test/pc/e2e/peer_connection_quality_test.cc +++ b/test/pc/e2e/peer_connection_quality_test.cc @@ -148,7 +148,7 @@ PeerConnectionE2EQualityTest::PeerConnectionE2EQualityTest( } video_quality_analyzer_injection_helper_ = std::make_unique( - std::move(video_quality_analyzer), + time_controller_.GetClock(), std::move(video_quality_analyzer), encoded_image_data_propagator_.get(), encoded_image_data_propagator_.get());