diff --git a/test/fuzzers/audio_processing_configs_fuzzer.cc b/test/fuzzers/audio_processing_configs_fuzzer.cc index 52951819f5..4900c0f865 100644 --- a/test/fuzzers/audio_processing_configs_fuzzer.cc +++ b/test/fuzzers/audio_processing_configs_fuzzer.cc @@ -90,7 +90,9 @@ std::unique_ptr CreateApm(test::FuzzDataHelper* fuzz_data, fuzz_data->ReadByteArray(kSizeOfConfigSegment - fuzz_data->BytesRead())); // Filter out incompatible settings that lead to CHECK failures. - if (use_aecm && use_aec) { + if ((use_aecm && use_aec) || // These settings cause CHECK failure. + (use_aecm && aec3 && use_ns) // These settings trigger webrtc:9489. + ) { return nullptr; } diff --git a/test/fuzzers/audio_processing_fuzzer_helper.cc b/test/fuzzers/audio_processing_fuzzer_helper.cc index 0fa1bad775..a1e25b5266 100644 --- a/test/fuzzers/audio_processing_fuzzer_helper.cc +++ b/test/fuzzers/audio_processing_fuzzer_helper.cc @@ -80,7 +80,7 @@ void FuzzAudioProcessing(test::FuzzDataHelper* fuzz_data, const auto output_rate = static_cast(fuzz_data->SelectOneOf(rate_kinds)); - const bool num_channels = fuzz_data->ReadOrDefaultValue(true) ? 2 : 1; + const int num_channels = fuzz_data->ReadOrDefaultValue(true) ? 2 : 1; const uint8_t stream_delay = fuzz_data->ReadOrDefaultValue(0); // API call needed for AEC-2 and AEC-m to run. @@ -121,6 +121,7 @@ void FuzzAudioProcessing(test::FuzzDataHelper* fuzz_data, // codeways. static_cast(apm->GetStatistics()); static_cast(apm->GetStatistics(true)); + static_cast(apm->UpdateHistogramsOnCallEnd()); RTC_DCHECK_NE(apm_return_code, AudioProcessing::kBadDataLengthError); }