Use Default instead of GlobalTaskQueueFactory to create AudioDeviceBuffer for ios
Bug: webrtc:10284
Change-Id: Ibeaf3c79335abe9ac32522156b8e20a6e2266c49
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144034
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28427}
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index f255e7b..ffa4db2 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -272,7 +272,8 @@
":audio_session_observer",
":base_objc",
"../api:array_view",
- "../api/task_queue:global_task_queue_factory",
+ "../api/task_queue",
+ "../api/task_queue:default_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/objc/native/src/audio/audio_device_module_ios.h b/sdk/objc/native/src/audio/audio_device_module_ios.h
index 3170313..6e28c32 100644
--- a/sdk/objc/native/src/audio/audio_device_module_ios.h
+++ b/sdk/objc/native/src/audio/audio_device_module_ios.h
@@ -15,6 +15,7 @@
#include "audio_device_ios.h"
+#include "api/task_queue/task_queue_factory.h"
#include "modules/audio_device/audio_device_buffer.h"
#include "modules/audio_device/include/audio_device.h"
#include "rtc_base/checks.h"
@@ -130,6 +131,7 @@
#endif // WEBRTC_IOS
private:
bool initialized_ = false;
+ const std::unique_ptr<TaskQueueFactory> task_queue_factory_;
std::unique_ptr<AudioDeviceIOS> audio_device_;
std::unique_ptr<AudioDeviceBuffer> audio_device_buffer_;
};
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 b001dea..e82a4e7 100644
--- a/sdk/objc/native/src/audio/audio_device_module_ios.mm
+++ b/sdk/objc/native/src/audio/audio_device_module_ios.mm
@@ -10,7 +10,7 @@
#include "audio_device_module_ios.h"
-#include "api/task_queue/global_task_queue_factory.h"
+#include "api/task_queue/default_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"
@@ -40,10 +40,11 @@
namespace webrtc {
namespace ios_adm {
- AudioDeviceModuleIOS::AudioDeviceModuleIOS() {
- RTC_LOG(INFO) << "current platform is IOS";
- RTC_LOG(INFO) << "iPhone Audio APIs will be utilized.";
- }
+AudioDeviceModuleIOS::AudioDeviceModuleIOS()
+ : task_queue_factory_(CreateDefaultTaskQueueFactory()) {
+ RTC_LOG(INFO) << "current platform is IOS";
+ RTC_LOG(INFO) << "iPhone Audio APIs will be utilized.";
+}
int32_t AudioDeviceModuleIOS::AttachAudioBuffer() {
RTC_LOG(INFO) << __FUNCTION__;
@@ -70,7 +71,7 @@
if (initialized_)
return 0;
- audio_device_buffer_.reset(new webrtc::AudioDeviceBuffer(&GlobalTaskQueueFactory()));
+ audio_device_buffer_.reset(new webrtc::AudioDeviceBuffer(task_queue_factory_.get()));
audio_device_.reset(new ios_adm::AudioDeviceIOS());
RTC_CHECK(audio_device_);