From aec09a2d18aac00d7fccdd5246a8b053ca05586b Mon Sep 17 00:00:00 2001 From: Danil Chapovalov Date: Thu, 18 Apr 2019 14:02:11 +0200 Subject: [PATCH] Use explicit TaskQueueFactory for FrameGeneratorCapturer in FrameGeneratorCapturerVideoTrackSource This replaces the implicit usage of GlobalTaskQueueFactory with an explicitly provided DefaultTaskQueueFactory instance. Bug: webrtc:10284 Change-Id: I40cbaa16181ab4b5a3528871cb068b09fe06b599 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133574 Reviewed-by: Seth Hampson Commit-Queue: Danil Chapovalov Cr-Commit-Position: refs/heads/master@{#27695} --- pc/BUILD.gn | 2 ++ ...rame_generator_capturer_video_track_source.h | 17 +++++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/pc/BUILD.gn b/pc/BUILD.gn index ab3c52a282..4a4a7afb8a 100644 --- a/pc/BUILD.gn +++ b/pc/BUILD.gn @@ -410,6 +410,8 @@ if (rtc_include_tests) { "../api:scoped_refptr", "../api/audio:audio_mixer_api", "../api/audio_codecs:audio_codecs_api", + "../api/task_queue", + "../api/task_queue:default_task_queue_factory", "../api/video:builtin_video_bitrate_allocator_factory", "../api/video:video_frame", "../api/video_codecs:builtin_video_decoder_factory", diff --git a/pc/test/frame_generator_capturer_video_track_source.h b/pc/test/frame_generator_capturer_video_track_source.h index 3c68d1b180..06b4193bc7 100644 --- a/pc/test/frame_generator_capturer_video_track_source.h +++ b/pc/test/frame_generator_capturer_video_track_source.h @@ -14,6 +14,9 @@ #include #include +#include "absl/memory/memory.h" +#include "api/task_queue/default_task_queue_factory.h" +#include "api/task_queue/task_queue_factory.h" #include "pc/video_track_source.h" #include "test/frame_generator_capturer.h" @@ -41,10 +44,15 @@ class FrameGeneratorCapturerVideoTrackSource : public VideoTrackSource { : FrameGeneratorCapturerVideoTrackSource(Config(), clock) {} FrameGeneratorCapturerVideoTrackSource(Config config, Clock* clock) - : VideoTrackSource(false /* remote */) { - video_capturer_.reset(test::FrameGeneratorCapturer::Create( - config.width, config.height, absl::nullopt, - config.num_squares_generated, config.frames_per_second, clock)); + : VideoTrackSource(false /* remote */), + task_queue_factory_(CreateDefaultTaskQueueFactory()) { + video_capturer_ = absl::make_unique( + clock, + test::FrameGenerator::CreateSquareGenerator( + config.width, config.height, absl::nullopt, + config.num_squares_generated), + config.frames_per_second, *task_queue_factory_); + video_capturer_->Init(); } explicit FrameGeneratorCapturerVideoTrackSource( @@ -68,6 +76,7 @@ class FrameGeneratorCapturerVideoTrackSource : public VideoTrackSource { } private: + const std::unique_ptr task_queue_factory_; std::unique_ptr video_capturer_; };