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.

BUG=webrtc:5298

Review-Url: https://codereview.webrtc.org/2292863002
Cr-Commit-Position: refs/heads/master@{#14171}
This commit is contained in:
peah
2016-09-09 14:15:57 -07:00
committed by Commit bot
parent e753641ef1
commit c8bbe3fe9a
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));