webrtc/modules/audio_processing/echo_control_mobile_unittest.cc
Sam Zackrisson c22f551842 Remove locks from AECM and move it into private_submodules_
This drops the locks and annotations in EchoControlMobileImpl,
now that the interface is no longer externally accessible.

Additionally, SetEchoPath and GetEchoPath (with surrounding code) is
removed. They are unused.

Bug: webrtc:9929
Change-Id: Ibc6751754614ed39836f6ee6835d7b53dedd828c
Reviewed-on: https://webrtc-review.googlesource.com/c/109025
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25504}
2018-11-05 16:25:09 +00:00

52 lines
1.7 KiB
C++

/*
* Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include <array>
#include <vector>
#include "modules/audio_processing/echo_control_mobile_impl.h"
#include "modules/audio_processing/include/audio_processing.h"
#include "rtc_base/criticalsection.h"
#include "test/gtest.h"
namespace webrtc {
TEST(EchoControlMobileTest, InterfaceConfiguration) {
EchoControlMobileImpl aecm;
aecm.Initialize(AudioProcessing::kSampleRate16kHz, 2, 2);
// Turn AECM on
EXPECT_EQ(0, aecm.Enable(true));
EXPECT_TRUE(aecm.is_enabled());
// Toggle routing modes
std::array<EchoControlMobileImpl::RoutingMode, 5> routing_modes = {
EchoControlMobileImpl::kQuietEarpieceOrHeadset,
EchoControlMobileImpl::kEarpiece,
EchoControlMobileImpl::kLoudEarpiece,
EchoControlMobileImpl::kSpeakerphone,
EchoControlMobileImpl::kLoudSpeakerphone,
};
for (auto mode : routing_modes) {
EXPECT_EQ(0, aecm.set_routing_mode(mode));
EXPECT_EQ(mode, aecm.routing_mode());
}
// Turn comfort noise off/on
EXPECT_EQ(0, aecm.enable_comfort_noise(false));
EXPECT_FALSE(aecm.is_comfort_noise_enabled());
EXPECT_EQ(0, aecm.enable_comfort_noise(true));
EXPECT_TRUE(aecm.is_comfort_noise_enabled());
// Turn AECM off
EXPECT_EQ(0, aecm.Enable(false));
EXPECT_FALSE(aecm.is_enabled());
}
} // namespace webrtc