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_);