diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn index f255e7bf28..ffa4db26e4 100644 --- a/sdk/BUILD.gn +++ b/sdk/BUILD.gn @@ -272,7 +272,8 @@ if (is_ios || is_mac) { ":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 317031348e..6e28c32dd4 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 @@ class AudioDeviceModuleIOS : public AudioDeviceModule { #endif // WEBRTC_IOS private: bool initialized_ = false; + const std::unique_ptr task_queue_factory_; std::unique_ptr audio_device_; std::unique_ptr 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 b001deac09..e82a4e7c20 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 @@ namespace ios_adm { 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_);