webrtc/api/audio/create_audio_device_module.cc
Danil Chapovalov 753b02bc45 Introduce CreateAudioDeviceModule function
This factory take Environment instead of a task queue factory
and thus can provide field trials to AudioDeviceModule at construction
in addition to the task queue factory

Additionally, the new factory function keep declaration and definition of the factory function in the same build rule and thus avoid subtle linking errors

Bug: webrtc:413413572
Change-Id: I2e9dd342e85dfd07347dbbb615a07265b5774024
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/388880
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#44487}
2025-04-30 05:30:01 -07:00

28 lines
914 B
C++

/*
* Copyright (c) 2025 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include "api/audio/create_audio_device_module.h"
#include "absl/base/nullability.h"
#include "api/audio/audio_device.h"
#include "api/environment/environment.h"
#include "api/scoped_refptr.h"
#include "modules/audio_device/audio_device_impl.h"
namespace webrtc {
absl_nullable scoped_refptr<AudioDeviceModule> CreateAudioDeviceModule(
const Environment& env,
AudioDeviceModule::AudioLayer audio_layer) {
return AudioDeviceModuleImpl::Create(env, audio_layer);
}
} // namespace webrtc