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}
This commit is contained in:
committed by
Commit Bot
parent
105a10aef0
commit
1c41be6e05
@ -13,6 +13,7 @@
|
||||
#include <stddef.h>
|
||||
|
||||
#include "api/scoped_refptr.h"
|
||||
#include "api/task_queue/global_task_queue_factory.h"
|
||||
#include "modules/audio_device/audio_device_config.h" // IWYU pragma: keep
|
||||
#include "modules/audio_device/audio_device_generic.h"
|
||||
#include "rtc_base/checks.h"
|
||||
@ -71,14 +72,23 @@
|
||||
namespace webrtc {
|
||||
|
||||
rtc::scoped_refptr<AudioDeviceModule> AudioDeviceModule::Create(
|
||||
const AudioLayer audio_layer) {
|
||||
AudioLayer audio_layer) {
|
||||
RTC_LOG(INFO) << __FUNCTION__;
|
||||
return AudioDeviceModule::CreateForTest(audio_layer);
|
||||
return AudioDeviceModule::CreateForTest(audio_layer,
|
||||
&GlobalTaskQueueFactory());
|
||||
}
|
||||
|
||||
rtc::scoped_refptr<AudioDeviceModule> AudioDeviceModule::Create(
|
||||
AudioLayer audio_layer,
|
||||
TaskQueueFactory* task_queue_factory) {
|
||||
RTC_LOG(INFO) << __FUNCTION__;
|
||||
return AudioDeviceModule::CreateForTest(audio_layer, task_queue_factory);
|
||||
}
|
||||
|
||||
// static
|
||||
rtc::scoped_refptr<AudioDeviceModuleForTest> AudioDeviceModule::CreateForTest(
|
||||
const AudioLayer audio_layer) {
|
||||
AudioLayer audio_layer,
|
||||
TaskQueueFactory* task_queue_factory) {
|
||||
RTC_LOG(INFO) << __FUNCTION__;
|
||||
|
||||
// The "AudioDeviceModule::kWindowsCoreAudio2" audio layer has its own
|
||||
@ -91,7 +101,8 @@ rtc::scoped_refptr<AudioDeviceModuleForTest> AudioDeviceModule::CreateForTest(
|
||||
|
||||
// Create the generic reference counted (platform independent) implementation.
|
||||
rtc::scoped_refptr<AudioDeviceModuleImpl> audioDevice(
|
||||
new rtc::RefCountedObject<AudioDeviceModuleImpl>(audio_layer));
|
||||
new rtc::RefCountedObject<AudioDeviceModuleImpl>(audio_layer,
|
||||
task_queue_factory));
|
||||
|
||||
// Ensure that the current platform is supported.
|
||||
if (audioDevice->CheckPlatform() == -1) {
|
||||
@ -112,8 +123,10 @@ rtc::scoped_refptr<AudioDeviceModuleForTest> AudioDeviceModule::CreateForTest(
|
||||
return audioDevice;
|
||||
}
|
||||
|
||||
AudioDeviceModuleImpl::AudioDeviceModuleImpl(const AudioLayer audioLayer)
|
||||
: audio_layer_(audioLayer) {
|
||||
AudioDeviceModuleImpl::AudioDeviceModuleImpl(
|
||||
AudioLayer audio_layer,
|
||||
TaskQueueFactory* task_queue_factory)
|
||||
: audio_layer_(audio_layer), audio_device_buffer_(task_queue_factory) {
|
||||
RTC_LOG(INFO) << __FUNCTION__;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user