Field trial to disable the transient suppressor
This change adds the field trial "WebRTC-TransientSuppressorForcedOff" that can be used to disable the transient suppressor (removal of keyboard typing sounds). The field trial can be enabled by users via command-line or via experimentation. Bug: chromium:1186705 Change-Id: I7272df6a20fbbee24a7ba0904502c76bd775d275 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219282 Reviewed-by: Per Åhgren <peah@webrtc.org> Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34038}
This commit is contained in:
parent
a77e16ca2c
commit
a399c823bb
@ -271,7 +271,8 @@ AudioProcessingImpl::AudioProcessingImpl(
|
|||||||
!field_trial::IsEnabled(
|
!field_trial::IsEnabled(
|
||||||
"WebRTC-ApmExperimentalMultiChannelCaptureKillSwitch"),
|
"WebRTC-ApmExperimentalMultiChannelCaptureKillSwitch"),
|
||||||
EnforceSplitBandHpf(),
|
EnforceSplitBandHpf(),
|
||||||
MinimizeProcessingForUnusedOutput()),
|
MinimizeProcessingForUnusedOutput(),
|
||||||
|
field_trial::IsEnabled("WebRTC-TransientSuppressorForcedOff")),
|
||||||
capture_(),
|
capture_(),
|
||||||
capture_nonlocked_() {
|
capture_nonlocked_() {
|
||||||
RTC_LOG(LS_INFO) << "Injected APM submodules:"
|
RTC_LOG(LS_INFO) << "Injected APM submodules:"
|
||||||
@ -1732,7 +1733,8 @@ bool AudioProcessingImpl::UpdateActiveSubmoduleStates() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void AudioProcessingImpl::InitializeTransientSuppressor() {
|
void AudioProcessingImpl::InitializeTransientSuppressor() {
|
||||||
if (config_.transient_suppression.enabled) {
|
if (config_.transient_suppression.enabled &&
|
||||||
|
!constants_.transient_suppressor_forced_off) {
|
||||||
// Attempt to create a transient suppressor, if one is not already created.
|
// Attempt to create a transient suppressor, if one is not already created.
|
||||||
if (!submodules_.transient_suppressor) {
|
if (!submodules_.transient_suppressor) {
|
||||||
submodules_.transient_suppressor =
|
submodules_.transient_suppressor =
|
||||||
|
|||||||
@ -422,16 +422,19 @@ class AudioProcessingImpl : public AudioProcessing {
|
|||||||
ApmConstants(bool multi_channel_render_support,
|
ApmConstants(bool multi_channel_render_support,
|
||||||
bool multi_channel_capture_support,
|
bool multi_channel_capture_support,
|
||||||
bool enforce_split_band_hpf,
|
bool enforce_split_band_hpf,
|
||||||
bool minimize_processing_for_unused_output)
|
bool minimize_processing_for_unused_output,
|
||||||
|
bool transient_suppressor_forced_off)
|
||||||
: multi_channel_render_support(multi_channel_render_support),
|
: multi_channel_render_support(multi_channel_render_support),
|
||||||
multi_channel_capture_support(multi_channel_capture_support),
|
multi_channel_capture_support(multi_channel_capture_support),
|
||||||
enforce_split_band_hpf(enforce_split_band_hpf),
|
enforce_split_band_hpf(enforce_split_band_hpf),
|
||||||
minimize_processing_for_unused_output(
|
minimize_processing_for_unused_output(
|
||||||
minimize_processing_for_unused_output) {}
|
minimize_processing_for_unused_output),
|
||||||
|
transient_suppressor_forced_off(transient_suppressor_forced_off) {}
|
||||||
bool multi_channel_render_support;
|
bool multi_channel_render_support;
|
||||||
bool multi_channel_capture_support;
|
bool multi_channel_capture_support;
|
||||||
bool enforce_split_band_hpf;
|
bool enforce_split_band_hpf;
|
||||||
bool minimize_processing_for_unused_output;
|
bool minimize_processing_for_unused_output;
|
||||||
|
bool transient_suppressor_forced_off;
|
||||||
} constants_;
|
} constants_;
|
||||||
|
|
||||||
struct ApmCaptureState {
|
struct ApmCaptureState {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user