diff --git a/test/frame_generator_capturer.cc b/test/frame_generator_capturer.cc index aa3f944e13..d086b60891 100644 --- a/test/frame_generator_capturer.cc +++ b/test/frame_generator_capturer.cc @@ -78,6 +78,18 @@ FrameGeneratorCapturer* FrameGeneratorCapturer::CreateSlideGenerator( return capturer.release(); } +FrameGeneratorCapturer* FrameGeneratorCapturer::Create( + std::unique_ptr frame_generator, + int target_fps, + Clock* clock) { + auto capturer = absl::make_unique( + clock, std::move(frame_generator), target_fps); + if (!capturer->Init()) + return nullptr; + + return capturer.release(); +} + FrameGeneratorCapturer::FrameGeneratorCapturer( Clock* clock, std::unique_ptr frame_generator, diff --git a/test/frame_generator_capturer.h b/test/frame_generator_capturer.h index 4e156545f0..15fee68f72 100644 --- a/test/frame_generator_capturer.h +++ b/test/frame_generator_capturer.h @@ -59,6 +59,11 @@ class FrameGeneratorCapturer : public TestVideoCapturer { int frame_repeat_count, int target_fps, Clock* clock); + static FrameGeneratorCapturer* Create( + std::unique_ptr frame_generator, + int target_fps, + Clock* clock); + virtual ~FrameGeneratorCapturer(); void Start();