The current scheme for setting parameters and specifying the

behavior of the audio processing module is quite complex and hard to
implement in a threadsafe and efficient manner. Therefore a new
scheme for setting the parameters in the audio processing module is
introduced in this CL.

The idea is to roll this scheme out gradually and as a first functionality
in the audio processing module where this is applied the level controller
was chosen. This CL includes the replacement of the Config-based
level controller scheme with the new scheme.

TBR=henrik.lundin@webrtc.org, solenberg@webrtc.org,
BUG=webrtc:5298

Review-Url: https://codereview.webrtc.org/2338493002
Cr-Commit-Position: refs/heads/master@{#14190}
This commit is contained in:
peah
2016-09-12 16:47:25 -07:00
committed by Commit bot
parent b2540bb99f
commit 88ac853e14
17 changed files with 167 additions and 76 deletions

View File

@ -23,8 +23,8 @@ namespace webrtc {
class MockInitialize : public AudioProcessingImpl {
public:
explicit MockInitialize(const Config& config) : AudioProcessingImpl(config) {
}
explicit MockInitialize(const webrtc::Config& config)
: AudioProcessingImpl(config) {}
MOCK_METHOD0(InitializeLocked, int());
int RealInitializeLocked() NO_THREAD_SAFETY_ANALYSIS {
@ -33,7 +33,7 @@ class MockInitialize : public AudioProcessingImpl {
};
TEST(AudioProcessingImplTest, AudioParameterChangeTriggersInit) {
Config config;
webrtc::Config config;
MockInitialize mock(config);
ON_CALL(mock, InitializeLocked())
.WillByDefault(Invoke(&mock, &MockInitialize::RealInitializeLocked));