Add unittests for APM with submodule creation disabled
This introduces a function AudioProcessingImpl::SetCreateOptionalSubmodulesForTesting to simulate the exclusion of build-optional submodules, and tests of the currently only excludable submodule. Bug: webrtc:11292 Change-Id: If492606205c9fdc669a6dce3a8989a434aeeed1f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173746 Commit-Queue: Sam Zackrisson <saza@webrtc.org> Reviewed-by: Per Åhgren <peah@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31138}
This commit is contained in:

committed by
Commit Bot

parent
62a0d647d9
commit
b37e59d198
@ -27,7 +27,7 @@
|
||||
#include "modules/audio_processing/common.h"
|
||||
#include "modules/audio_processing/include/audio_frame_view.h"
|
||||
#include "modules/audio_processing/logging/apm_data_dumper.h"
|
||||
#include "modules/audio_processing/transient/transient_suppressor_creator.h"
|
||||
#include "modules/audio_processing/optionally_built_submodule_creators.h"
|
||||
#include "rtc_base/atomic_ops.h"
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/constructor_magic.h"
|
||||
@ -640,6 +640,12 @@ void AudioProcessingImpl::ApplyConfig(const AudioProcessing::Config& config) {
|
||||
// TODO(webrtc:5298): Remove.
|
||||
void AudioProcessingImpl::SetExtraOptions(const webrtc::Config& config) {}
|
||||
|
||||
void AudioProcessingImpl::OverrideSubmoduleCreationForTesting(
|
||||
const ApmSubmoduleCreationOverrides& overrides) {
|
||||
rtc::CritScope cs(&crit_capture_);
|
||||
submodule_creation_overrides_ = overrides;
|
||||
}
|
||||
|
||||
int AudioProcessingImpl::proc_sample_rate_hz() const {
|
||||
// Used as callback from submodules, hence locking is not allowed.
|
||||
return capture_nonlocked_.capture_processing_format.sample_rate_hz();
|
||||
@ -1588,7 +1594,8 @@ void AudioProcessingImpl::InitializeTransientSuppressor() {
|
||||
if (config_.transient_suppression.enabled) {
|
||||
// Attempt to create a transient suppressor, if one is not already created.
|
||||
if (!submodules_.transient_suppressor) {
|
||||
submodules_.transient_suppressor = CreateTransientSuppressor();
|
||||
submodules_.transient_suppressor =
|
||||
CreateTransientSuppressor(submodule_creation_overrides_);
|
||||
}
|
||||
if (submodules_.transient_suppressor) {
|
||||
submodules_.transient_suppressor->Initialize(
|
||||
|
Reference in New Issue
Block a user