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 <shampson@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27695}
This commit is contained in:
Danil Chapovalov
2019-04-18 14:02:11 +02:00
committed by Commit Bot
parent c129c359d7
commit aec09a2d18
2 changed files with 15 additions and 4 deletions

View File

@ -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",

View File

@ -14,6 +14,9 @@
#include <memory>
#include <utility>
#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<test::FrameGeneratorCapturer>(
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<TaskQueueFactory> task_queue_factory_;
std::unique_ptr<test::FrameGeneratorCapturer> video_capturer_;
};