Remove APM-internal usage of EchoControlMobile

This is a sibling CL to a similar one for EchoCancellation:
https://webrtc-review.googlesource.com/c/src/+/97603

 - EchoControlMobileImpl will no longer inherit EchoControlMobile.
 - Removes usage of AudioProcessing::echo_control_mobile() inside most of
   the audio processing module and unit tests.

The CL breaks audioproc_f backwards compatibility: It can no longer
use all recorded settings (comfort noise, routing mode), but prints an
error message when unsupported settings are encountered.

Tested: audioproc_f with .wav and aecdump inputs.
Bug: webrtc:9535
Change-Id: I63c3c81bcaf44021315978e1a0f3e42173b988ce
Reviewed-on: https://webrtc-review.googlesource.com/101621
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24888}
This commit is contained in:
Sam Zackrisson
2018-09-28 12:40:47 +02:00
committed by Commit Bot
parent d9664b8249
commit 2fbb83b16b
15 changed files with 360 additions and 372 deletions

View File

@ -20,17 +20,17 @@
namespace webrtc {
namespace {
int16_t MapSetting(EchoControlMobile::RoutingMode mode) {
int16_t MapSetting(EchoControlMobileImpl::RoutingMode mode) {
switch (mode) {
case EchoControlMobile::kQuietEarpieceOrHeadset:
case EchoControlMobileImpl::kQuietEarpieceOrHeadset:
return 0;
case EchoControlMobile::kEarpiece:
case EchoControlMobileImpl::kEarpiece:
return 1;
case EchoControlMobile::kLoudEarpiece:
case EchoControlMobileImpl::kLoudEarpiece:
return 2;
case EchoControlMobile::kSpeakerphone:
case EchoControlMobileImpl::kSpeakerphone:
return 3;
case EchoControlMobile::kLoudSpeakerphone:
case EchoControlMobileImpl::kLoudSpeakerphone:
return 4;
}
RTC_NOTREACHED();
@ -55,7 +55,7 @@ AudioProcessing::Error MapError(int err) {
}
} // namespace
size_t EchoControlMobile::echo_path_size_bytes() {
size_t EchoControlMobileImpl::echo_path_size_bytes() {
return WebRtcAecm_echo_path_size_bytes();
}
@ -268,7 +268,7 @@ int EchoControlMobileImpl::set_routing_mode(RoutingMode mode) {
return Configure();
}
EchoControlMobile::RoutingMode EchoControlMobileImpl::routing_mode() const {
EchoControlMobileImpl::RoutingMode EchoControlMobileImpl::routing_mode() const {
rtc::CritScope cs(crit_capture_);
return routing_mode_;
}