[PCLF] Add ctor for VideoQualityAnalyzerInjectionHelper with Clock
Add ctor for VideoQualityAnalyzerInjectionHelper with Clock to enable future usage of FixedFpsVideoFrameWriterAdaptor from https://webrtc-review.googlesource.com/c/src/+/268545 Bug: b/237997865 Change-Id: Id77d7377869c318af106d6c657ce6dd6599016e6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268546 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Artem Titov <titovartem@webrtc.org> Cr-Commit-Position: refs/heads/main@{#37535}
This commit is contained in:

committed by
WebRTC LUCI CQ

parent
5137ceffa7
commit
8faaa584f8
@ -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",
|
||||
]
|
||||
|
@ -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<VideoQualityAnalyzerInterface> 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<VideoQualityAnalyzerInterface> analyzer,
|
||||
EncodedImageDataInjector* injector,
|
||||
EncodedImageDataExtractor* extractor)
|
||||
: clock_(nullptr),
|
||||
analyzer_(std::move(analyzer)),
|
||||
injector_(injector),
|
||||
extractor_(extractor) {
|
||||
RTC_DCHECK(injector_);
|
||||
|
@ -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<VideoQualityAnalyzerInterface> analyzer,
|
||||
EncodedImageDataInjector* injector,
|
||||
EncodedImageDataExtractor* extractor);
|
||||
// TODO(titovartem): remove after migrating downstreams.
|
||||
VideoQualityAnalyzerInjectionHelper(
|
||||
std::unique_ptr<VideoQualityAnalyzerInterface> analyzer,
|
||||
EncodedImageDataInjector* injector,
|
||||
@ -138,6 +145,7 @@ class VideoQualityAnalyzerInjectionHelper : public StatsObserverInterface {
|
||||
std::vector<std::unique_ptr<rtc::VideoSinkInterface<VideoFrame>>>*
|
||||
PopulateSinks(const ReceiverStream& receiver_stream);
|
||||
|
||||
Clock* const clock_;
|
||||
std::unique_ptr<VideoQualityAnalyzerInterface> analyzer_;
|
||||
EncodedImageDataInjector* injector_;
|
||||
EncodedImageDataExtractor* extractor_;
|
||||
|
@ -148,7 +148,7 @@ PeerConnectionE2EQualityTest::PeerConnectionE2EQualityTest(
|
||||
}
|
||||
video_quality_analyzer_injection_helper_ =
|
||||
std::make_unique<VideoQualityAnalyzerInjectionHelper>(
|
||||
std::move(video_quality_analyzer),
|
||||
time_controller_.GetClock(), std::move(video_quality_analyzer),
|
||||
encoded_image_data_propagator_.get(),
|
||||
encoded_image_data_propagator_.get());
|
||||
|
||||
|
Reference in New Issue
Block a user