Commit 76adfe4d authored by Sam Zackrisson's avatar Sam Zackrisson Committed by Commit Bot

Stop using deprecated audio processing module ptr-to-submodule API

This CL does not change any functionality.

Bug: webrtc:9878
Change-Id: I55309aea7db79d0c42d075b852bdb6b33b1d059d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1619812Reviewed-by: default avatarMax Morin <maxmorin@chromium.org>
Commit-Queue: Sam Zackrisson <saza@chromium.org>
Cr-Commit-Position: refs/heads/master@{#662110}
parent 13f42fcb
...@@ -768,19 +768,13 @@ int MediaStreamAudioProcessor::ProcessData(const float* const* process_ptrs, ...@@ -768,19 +768,13 @@ int MediaStreamAudioProcessor::ProcessData(const float* const* process_ptrs,
ap->set_stream_delay_ms(total_delay_ms); ap->set_stream_delay_ms(total_delay_ms);
DCHECK_LE(volume, WebRtcAudioDeviceImpl::kMaxVolumeLevel); DCHECK_LE(volume, WebRtcAudioDeviceImpl::kMaxVolumeLevel);
webrtc::GainControl* agc = ap->gain_control(); ap->set_stream_analog_level(volume);
int err = agc->set_stream_analog_level(volume);
DCHECK_EQ(err, 0) << "set_stream_analog_level() error: " << err;
ap->set_stream_key_pressed(key_pressed); ap->set_stream_key_pressed(key_pressed);
err = ap->ProcessStream(process_ptrs, int err = ap->ProcessStream(
process_frames, process_ptrs, process_frames, input_format_.sample_rate(),
input_format_.sample_rate(), MapLayout(input_format_.channel_layout()), output_format_.sample_rate(),
MapLayout(input_format_.channel_layout()), MapLayout(output_format_.channel_layout()), output_ptrs);
output_format_.sample_rate(),
MapLayout(output_format_.channel_layout()),
output_ptrs);
DCHECK_EQ(err, 0) << "ProcessStream() error: " << err; DCHECK_EQ(err, 0) << "ProcessStream() error: " << err;
if (typing_detector_) { if (typing_detector_) {
...@@ -799,8 +793,8 @@ int MediaStreamAudioProcessor::ProcessData(const float* const* process_ptrs, ...@@ -799,8 +793,8 @@ int MediaStreamAudioProcessor::ProcessData(const float* const* process_ptrs,
rtc::scoped_refptr<MediaStreamAudioProcessor>(this))); rtc::scoped_refptr<MediaStreamAudioProcessor>(this)));
// Return 0 if the volume hasn't been changed, and otherwise the new volume. // Return 0 if the volume hasn't been changed, and otherwise the new volume.
return (agc->stream_analog_level() == volume) ? const int recommended_volume = ap->recommended_stream_analog_level();
0 : agc->stream_analog_level(); return (recommended_volume == volume) ? 0 : recommended_volume;
} }
void MediaStreamAudioProcessor::UpdateAecStats() { void MediaStreamAudioProcessor::UpdateAecStats() {
......
...@@ -157,25 +157,20 @@ class MediaStreamAudioProcessorTest : public ::testing::Test { ...@@ -157,25 +157,20 @@ class MediaStreamAudioProcessorTest : public ::testing::Test {
const webrtc::AudioProcessing::Config config = const webrtc::AudioProcessing::Config config =
audio_processing->GetConfig(); audio_processing->GetConfig();
EXPECT_TRUE(config.echo_canceller.enabled); EXPECT_TRUE(config.echo_canceller.enabled);
EXPECT_TRUE(config.gain_controller1.enabled);
EXPECT_TRUE(config.high_pass_filter.enabled);
EXPECT_TRUE(config.noise_suppression.enabled);
EXPECT_EQ(config.noise_suppression.level, config.noise_suppression.kHigh);
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
EXPECT_TRUE(config.echo_canceller.mobile_mode); EXPECT_TRUE(config.echo_canceller.mobile_mode);
EXPECT_FALSE(config.voice_detection.enabled); EXPECT_FALSE(config.voice_detection.enabled);
EXPECT_EQ(config.gain_controller1.mode,
config.gain_controller1.kFixedDigital);
#else #else
EXPECT_FALSE(config.echo_canceller.mobile_mode); EXPECT_FALSE(config.echo_canceller.mobile_mode);
EXPECT_TRUE(config.voice_detection.enabled); EXPECT_TRUE(config.voice_detection.enabled);
#endif EXPECT_EQ(config.gain_controller1.mode,
EXPECT_TRUE(config.high_pass_filter.enabled); config.gain_controller1.kAdaptiveAnalog);
EXPECT_TRUE(audio_processing->noise_suppression()->is_enabled());
EXPECT_TRUE(audio_processing->noise_suppression()->level() ==
webrtc::NoiseSuppression::kHigh);
EXPECT_TRUE(audio_processing->gain_control()->is_enabled());
#if defined(OS_ANDROID)
EXPECT_TRUE(audio_processing->gain_control()->mode() ==
webrtc::GainControl::kFixedDigital);
#else
EXPECT_TRUE(audio_processing->gain_control()->mode() ==
webrtc::GainControl::kAdaptiveAnalog);
#endif #endif
} }
......
...@@ -240,22 +240,6 @@ void AudioProcessor::InitializeAPM() { ...@@ -240,22 +240,6 @@ void AudioProcessor::InitializeAPM() {
// Audio processing module construction. // Audio processing module construction.
audio_processing_ = base::WrapUnique(ap_builder.Create(ap_config)); audio_processing_ = base::WrapUnique(ap_builder.Create(ap_config));
// Noise suppression setup part 2.
if (settings_.noise_suppression != NoiseSuppressionType::kDisabled) {
int err = audio_processing_->noise_suppression()->set_level(
webrtc::NoiseSuppression::kHigh);
err |= audio_processing_->noise_suppression()->Enable(true);
DCHECK_EQ(err, 0);
}
// AGC setup part 2.
if (settings_.automatic_gain_control != AutomaticGainControlType::kDisabled) {
int err = audio_processing_->gain_control()->set_mode(
webrtc::GainControl::kAdaptiveAnalog);
err |= audio_processing_->gain_control()->Enable(true);
DCHECK_EQ(err, 0);
}
webrtc::AudioProcessing::Config apm_config = audio_processing_->GetConfig(); webrtc::AudioProcessing::Config apm_config = audio_processing_->GetConfig();
// Typing detection setup. // Typing detection setup.
...@@ -275,7 +259,17 @@ void AudioProcessor::InitializeAPM() { ...@@ -275,7 +259,17 @@ void AudioProcessor::InitializeAPM() {
// High-pass filter setup. // High-pass filter setup.
apm_config.high_pass_filter.enabled = settings_.high_pass_filter; apm_config.high_pass_filter.enabled = settings_.high_pass_filter;
// AGC setup part 3. // Noise suppression setup part 2.
apm_config.noise_suppression.enabled =
settings_.noise_suppression != NoiseSuppressionType::kDisabled;
apm_config.noise_suppression.level =
webrtc::AudioProcessing::Config::NoiseSuppression::kHigh;
// AGC setup part 2.
apm_config.gain_controller1.enabled =
settings_.automatic_gain_control != AutomaticGainControlType::kDisabled;
apm_config.gain_controller1.mode =
webrtc::AudioProcessing::Config::GainController1::kAdaptiveAnalog;
if (settings_.automatic_gain_control == if (settings_.automatic_gain_control ==
AutomaticGainControlType::kExperimental || AutomaticGainControlType::kExperimental ||
settings_.automatic_gain_control == settings_.automatic_gain_control ==
...@@ -324,9 +318,7 @@ void AudioProcessor::UpdateAnalogLevel(double volume) { ...@@ -324,9 +318,7 @@ void AudioProcessor::UpdateAnalogLevel(double volume) {
DCHECK_LE(volume, 1.0); DCHECK_LE(volume, 1.0);
constexpr double kWebRtcMaxVolume = 255; constexpr double kWebRtcMaxVolume = 255;
const int webrtc_volume = volume * kWebRtcMaxVolume; const int webrtc_volume = volume * kWebRtcMaxVolume;
int err = audio_processing_->set_stream_analog_level(webrtc_volume);
audio_processing_->gain_control()->set_stream_analog_level(webrtc_volume);
DCHECK_EQ(err, 0) << "set_stream_analog_level() error: " << err;
} }
void AudioProcessor::FeedDataToAPM(const AudioBus& source) { void AudioProcessor::FeedDataToAPM(const AudioBus& source) {
...@@ -360,7 +352,7 @@ base::Optional<double> AudioProcessor::GetNewVolumeFromAGC(double volume) { ...@@ -360,7 +352,7 @@ base::Optional<double> AudioProcessor::GetNewVolumeFromAGC(double volume) {
constexpr double kWebRtcMaxVolume = 255; constexpr double kWebRtcMaxVolume = 255;
const int webrtc_volume = volume * kWebRtcMaxVolume; const int webrtc_volume = volume * kWebRtcMaxVolume;
const int new_webrtc_volume = const int new_webrtc_volume =
audio_processing_->gain_control()->stream_analog_level(); audio_processing_->recommended_stream_analog_level();
return new_webrtc_volume == webrtc_volume return new_webrtc_volume == webrtc_volume
? base::nullopt ? base::nullopt
......
...@@ -133,14 +133,13 @@ class WebRtcAudioProcessorTest : public ::testing::Test { ...@@ -133,14 +133,13 @@ class WebRtcAudioProcessorTest : public ::testing::Test {
EXPECT_TRUE(ap_config.echo_canceller.enabled); EXPECT_TRUE(ap_config.echo_canceller.enabled);
EXPECT_FALSE(ap_config.echo_canceller.mobile_mode); EXPECT_FALSE(ap_config.echo_canceller.mobile_mode);
EXPECT_TRUE(ap_config.high_pass_filter.enabled); EXPECT_TRUE(ap_config.high_pass_filter.enabled);
EXPECT_TRUE(ap_config.gain_controller1.enabled);
EXPECT_EQ(ap_config.gain_controller1.mode,
ap_config.gain_controller1.kAdaptiveAnalog);
EXPECT_TRUE(ap_config.noise_suppression.enabled);
EXPECT_EQ(ap_config.noise_suppression.level,
ap_config.noise_suppression.kHigh);
EXPECT_TRUE(ap_config.voice_detection.enabled); EXPECT_TRUE(ap_config.voice_detection.enabled);
EXPECT_TRUE(audio_processing->noise_suppression()->is_enabled());
EXPECT_TRUE(audio_processing->noise_suppression()->level() ==
webrtc::NoiseSuppression::kHigh);
EXPECT_TRUE(audio_processing->gain_control()->is_enabled());
EXPECT_TRUE(audio_processing->gain_control()->mode() ==
webrtc::GainControl::kAdaptiveAnalog);
} }
AudioProcessingSettings GetEnabledAudioProcessingSettings() const { AudioProcessingSettings GetEnabledAudioProcessingSettings() const {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment