Propagate TaskQueueFactory to AudioDeviceBuffer
keep using GlobalTaskQueueFactory in android/ios bindings.
Switch to DefaultTaskQueueFactory in tests.
Bug: webrtc:10284
Change-Id: I034c70542be5eeb830be86527830d51204fb2855
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130223
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27380}
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index 42db281..4cd3783 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -232,6 +232,7 @@
deps = [
":audio_device",
+ "../api/task_queue:global_task_queue_factory",
"../modules/audio_device:audio_device_api",
"../modules/audio_device:audio_device_generic",
"../rtc_base:checks",
@@ -271,6 +272,7 @@
":audio_session_observer",
":base_objc",
"../api:array_view",
+ "../api/task_queue:global_task_queue_factory",
"../modules/audio_device:audio_device_api",
"../modules/audio_device:audio_device_buffer",
"../modules/audio_device:audio_device_generic",
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index 9dd3089..530f8bd 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -1124,6 +1124,7 @@
":base_jni",
":generated_audio_device_module_base_jni",
":native_api_jni",
+ "../../api/task_queue:global_task_queue_factory",
"../../modules/audio_device:audio_device_api",
"../../modules/audio_device:audio_device_buffer",
"../../rtc_base:checks",
diff --git a/sdk/android/src/jni/audio_device/audio_device_module.cc b/sdk/android/src/jni/audio_device/audio_device_module.cc
index 437012f..4e69dd5 100644
--- a/sdk/android/src/jni/audio_device/audio_device_module.cc
+++ b/sdk/android/src/jni/audio_device/audio_device_module.cc
@@ -13,6 +13,7 @@
#include <utility>
#include "absl/memory/memory.h"
+#include "api/task_queue/global_task_queue_factory.h"
#include "modules/audio_device/audio_device_buffer.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
@@ -88,7 +89,8 @@
int32_t Init() override {
RTC_LOG(INFO) << __FUNCTION__;
RTC_DCHECK(thread_checker_.CalledOnValidThread());
- audio_device_buffer_ = absl::make_unique<AudioDeviceBuffer>();
+ audio_device_buffer_ =
+ absl::make_unique<AudioDeviceBuffer>(&GlobalTaskQueueFactory());
AttachAudioBuffer();
if (initialized_) {
return 0;
diff --git a/sdk/objc/native/src/audio/audio_device_module_ios.mm b/sdk/objc/native/src/audio/audio_device_module_ios.mm
index ff9da47..b001dea 100644
--- a/sdk/objc/native/src/audio/audio_device_module_ios.mm
+++ b/sdk/objc/native/src/audio/audio_device_module_ios.mm
@@ -10,6 +10,7 @@
#include "audio_device_module_ios.h"
+#include "api/task_queue/global_task_queue_factory.h"
#include "modules/audio_device/audio_device_config.h"
#include "modules/audio_device/audio_device_generic.h"
#include "rtc_base/checks.h"
@@ -69,7 +70,7 @@
if (initialized_)
return 0;
- audio_device_buffer_.reset(new webrtc::AudioDeviceBuffer());
+ audio_device_buffer_.reset(new webrtc::AudioDeviceBuffer(&GlobalTaskQueueFactory()));
audio_device_.reset(new ios_adm::AudioDeviceIOS());
RTC_CHECK(audio_device_);