| Index: webrtc/modules/audio_processing/test/aec_dump_based_simulator.cc
|
| diff --git a/webrtc/modules/audio_processing/test/aec_dump_based_simulator.cc b/webrtc/modules/audio_processing/test/aec_dump_based_simulator.cc
|
| index 9e7aad0420b79347f25d96f95747ab990206a8c7..b579f3a8a588ff91d894cbbbc780ce054f6f8743 100644
|
| --- a/webrtc/modules/audio_processing/test/aec_dump_based_simulator.cc
|
| +++ b/webrtc/modules/audio_processing/test/aec_dump_based_simulator.cc
|
| @@ -159,15 +159,19 @@ void AecDumpBasedSimulator::PrepareProcessStreamCall(
|
|
|
| // TODO(peah): Add support for controlling the analog level via the
|
| // command-line.
|
| - RTC_CHECK(msg.has_level()); // Level is always logged in AEC dumps.
|
| - // When the analog gain is simulated, use the gain suggested by AGC instead of
|
| - // that stored in the AEC dump.
|
| - RTC_CHECK_EQ(AudioProcessing::kNoError,
|
| - ap_->gain_control()->set_stream_analog_level(
|
| - settings_.simulate_mic_gain ?
|
| - last_specified_microphone_level_ : msg.level()));
|
| - // TODO(aleloi): If settings_.simulate_mic_gain, set undo level to
|
| - // |msg.level()| via FakeRecordingDevice::NotifyAudioDeviceLevel().
|
| +
|
| + // Level is always logged in AEC dumps.
|
| + RTC_CHECK(msg.has_level());
|
| + // When the analog gain is simulated, use the gain suggested by AGC
|
| + // instead of that stored in the AEC dump.
|
| + RTC_CHECK_EQ(
|
| + AudioProcessing::kNoError,
|
| + ap_->gain_control()->set_stream_analog_level(
|
| + settings_.simulate_mic_gain ? fake_recording_device_->analog_level()
|
| + : msg.level()));
|
| + if (settings_.simulate_mic_gain) {
|
| + fake_recording_device_->NotifyAudioDeviceLevel(msg.level());
|
| + }
|
| }
|
|
|
| void AecDumpBasedSimulator::VerifyProcessStreamBitExactness(
|
| @@ -567,16 +571,12 @@ void AecDumpBasedSimulator::HandleMessage(
|
| const webrtc::audioproc::Stream& msg) {
|
| PrepareProcessStreamCall(msg);
|
| ProcessStream(interface_used_ == InterfaceType::kFixedInterface);
|
| +
|
| + // Call stream analog level even if !simulate_mic_gain to ensure
|
| + // that any side-effects are triggered.
|
| + const int level = ap_->gain_control()->stream_analog_level();
|
| if (settings_.simulate_mic_gain) {
|
| - // Store analog level for the next analyzed frame.
|
| - last_specified_microphone_level_ =
|
| - ap_->gain_control()->stream_analog_level();
|
| - // TODO(aleloi): Set the returned value into a FakeRecordingDevice instance
|
| - // via FakeRecordingDevice::set_analog_level() instead of using
|
| - // last_specified_microphone_level_.
|
| - } else {
|
| - // Call stream analog level to ensure that any side-effects are triggered.
|
| - (void)ap_->gain_control()->stream_analog_level();
|
| + fake_recording_device_->set_analog_level(level);
|
| }
|
| VerifyProcessStreamBitExactness(msg);
|
| }
|
|
|