From a3ed451548a8eaeeec534f065e7c0b3f3ed717e3 Mon Sep 17 00:00:00 2001 From: Artem Titov Date: Fri, 25 Jan 2019 14:59:57 +0100 Subject: [PATCH] Add static factory method from FrameGenerator for FrameGeneratorCapturer. Add static factory method from FrameGenerator for FrameGeneratorCapturer to be able to intercept generated frames in PC e2e test framework to dump input video stream into file, if it was generated. Bug: webrtc:10138 Change-Id: Iabecfaaef804111e0b19756cd676c1749757d9c6 Reviewed-on: https://webrtc-review.googlesource.com/c/119947 Reviewed-by: Ilya Nikolaevskiy Commit-Queue: Artem Titov Cr-Commit-Position: refs/heads/master@{#26424} --- test/frame_generator_capturer.cc | 12 ++++++++++++ test/frame_generator_capturer.h | 5 +++++ 2 files changed, 17 insertions(+) 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();