Use default task queue factory in fuzzers

Bug: webrtc:10284
Change-Id: I31a7fe08f1ff3c4842ba657586a158bf632501d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145217
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28549}
This commit is contained in:
Danil Chapovalov 2019-07-11 13:58:14 +02:00 committed by Commit Bot
parent 44cec0b5bd
commit 32b183432d
4 changed files with 6 additions and 14 deletions

View file

@ -501,6 +501,7 @@ webrtc_fuzzer_test("audio_processing_fuzzer") {
":audio_processing_fuzzer_helper", ":audio_processing_fuzzer_helper",
"../../api:scoped_refptr", "../../api:scoped_refptr",
"../../api/audio:aec3_factory", "../../api/audio:aec3_factory",
"../../api/task_queue:default_task_queue_factory",
"../../modules/audio_processing", "../../modules/audio_processing",
"../../modules/audio_processing:api", "../../modules/audio_processing:api",
"../../modules/audio_processing:audio_buffer", "../../modules/audio_processing:audio_buffer",
@ -509,7 +510,6 @@ webrtc_fuzzer_test("audio_processing_fuzzer") {
"../../modules/audio_processing/aec_dump:aec_dump_impl", "../../modules/audio_processing/aec_dump:aec_dump_impl",
"../../rtc_base:rtc_base_approved", "../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_task_queue", "../../rtc_base:rtc_task_queue",
"../../rtc_base:rtc_task_queue_stdlib",
"../../rtc_base:safe_minmax", "../../rtc_base:safe_minmax",
"../../system_wrappers:field_trial", "../../system_wrappers:field_trial",
"//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/memory",

View file

@ -13,12 +13,12 @@
#include "absl/memory/memory.h" #include "absl/memory/memory.h"
#include "api/audio/echo_canceller3_factory.h" #include "api/audio/echo_canceller3_factory.h"
#include "api/task_queue/default_task_queue_factory.h"
#include "modules/audio_processing/aec_dump/aec_dump_factory.h" #include "modules/audio_processing/aec_dump/aec_dump_factory.h"
#include "modules/audio_processing/include/audio_processing.h" #include "modules/audio_processing/include/audio_processing.h"
#include "rtc_base/arraysize.h" #include "rtc_base/arraysize.h"
#include "rtc_base/numerics/safe_minmax.h" #include "rtc_base/numerics/safe_minmax.h"
#include "rtc_base/task_queue.h" #include "rtc_base/task_queue.h"
#include "rtc_base/task_queue_stdlib.h"
#include "system_wrappers/include/field_trial.h" #include "system_wrappers/include/field_trial.h"
#include "test/fuzzers/audio_processing_fuzzer_helper.h" #include "test/fuzzers/audio_processing_fuzzer_helper.h"
#include "test/fuzzers/fuzz_data_helper.h" #include "test/fuzzers/fuzz_data_helper.h"
@ -151,14 +151,8 @@ std::unique_ptr<AudioProcessing> CreateApm(test::FuzzDataHelper* fuzz_data,
} }
TaskQueueFactory* GetTaskQueueFactory() { TaskQueueFactory* GetTaskQueueFactory() {
// Chromium hijacked DefaultTaskQueueFactory with own implementation, but
// unable to use it without base::test::ScopedTaskEnvironment. Actual used
// task queue implementation shouldn't matter for the purpose of this fuzzer,
// so use stdlib implementation: that one is multiplatform.
// When bugs.webrtc.org/10284 is resolved and chromium stops hijacking
// DefaultTaskQueueFactory, Stdlib can be replaced with default one.
static TaskQueueFactory* const factory = static TaskQueueFactory* const factory =
CreateTaskQueueStdlibFactory().release(); CreateDefaultTaskQueueFactory().release();
return factory; return factory;
} }

View file

@ -15,6 +15,7 @@ rtc_source_set("rtp_replayer") {
"rtp_replayer.h", "rtp_replayer.h",
] ]
deps = [ deps = [
"../../../api/task_queue:default_task_queue_factory",
"../../../api/test/video:function_video_factory", "../../../api/test/video:function_video_factory",
"../../../api/video_codecs:video_codecs_api", "../../../api/video_codecs:video_codecs_api",
"../../../call", "../../../call",
@ -26,7 +27,6 @@ rtc_source_set("rtp_replayer") {
"../../../rtc_base:checks", "../../../rtc_base:checks",
"../../../rtc_base:rtc_base_approved", "../../../rtc_base:rtc_base_approved",
"../../../rtc_base:rtc_json", "../../../rtc_base:rtc_json",
"../../../rtc_base:rtc_task_queue_stdlib",
"../../../system_wrappers", "../../../system_wrappers",
"../../../test:call_config_utils", "../../../test:call_config_utils",
"../../../test:encoder_settings", "../../../test:encoder_settings",

View file

@ -15,9 +15,9 @@
#include <utility> #include <utility>
#include "absl/memory/memory.h" #include "absl/memory/memory.h"
#include "api/task_queue/default_task_queue_factory.h"
#include "modules/rtp_rtcp/include/rtp_header_parser.h" #include "modules/rtp_rtcp/include/rtp_header_parser.h"
#include "rtc_base/strings/json.h" #include "rtc_base/strings/json.h"
#include "rtc_base/task_queue_stdlib.h"
#include "system_wrappers/include/clock.h" #include "system_wrappers/include/clock.h"
#include "system_wrappers/include/sleep.h" #include "system_wrappers/include/sleep.h"
#include "test/call_config_utils.h" #include "test/call_config_utils.h"
@ -52,10 +52,8 @@ void RtpReplayer::Replay(
// Setup the video streams based on the configuration. // Setup the video streams based on the configuration.
webrtc::RtcEventLogNullImpl event_log; webrtc::RtcEventLogNullImpl event_log;
// TODO(bugs.webrtc.org/10284): Replace with DefaultTaskQueueFactory when
// chromium stops hijacking it.
std::unique_ptr<TaskQueueFactory> task_queue_factory = std::unique_ptr<TaskQueueFactory> task_queue_factory =
CreateTaskQueueStdlibFactory(); CreateDefaultTaskQueueFactory();
Call::Config call_config(&event_log); Call::Config call_config(&event_log);
call_config.task_queue_factory = task_queue_factory.get(); call_config.task_queue_factory = task_queue_factory.get();
std::unique_ptr<Call> call(Call::Create(call_config)); std::unique_ptr<Call> call(Call::Create(call_config));