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

View file

@ -13,12 +13,12 @@
#include "absl/memory/memory.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/include/audio_processing.h"
#include "rtc_base/arraysize.h"
#include "rtc_base/numerics/safe_minmax.h"
#include "rtc_base/task_queue.h"
#include "rtc_base/task_queue_stdlib.h"
#include "system_wrappers/include/field_trial.h"
#include "test/fuzzers/audio_processing_fuzzer_helper.h"
#include "test/fuzzers/fuzz_data_helper.h"
@ -151,14 +151,8 @@ std::unique_ptr<AudioProcessing> CreateApm(test::FuzzDataHelper* fuzz_data,
}
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 =
CreateTaskQueueStdlibFactory().release();
CreateDefaultTaskQueueFactory().release();
return factory;
}

View file

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

View file

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