| Index: webrtc/modules/audio_processing/test/conversational_speech/mock_wavreader_factory.cc
|
| diff --git a/webrtc/modules/audio_processing/test/conversational_speech/mock_wavreader_factory.cc b/webrtc/modules/audio_processing/test/conversational_speech/mock_wavreader_factory.cc
|
| index 1097639527b92891f36b8ab3618a3594118c8e1e..2dd21dadf1895d77e2d99394bbdd97fabd2841cc 100644
|
| --- a/webrtc/modules/audio_processing/test/conversational_speech/mock_wavreader_factory.cc
|
| +++ b/webrtc/modules/audio_processing/test/conversational_speech/mock_wavreader_factory.cc
|
| @@ -10,14 +10,60 @@
|
|
|
| #include "webrtc/modules/audio_processing/test/conversational_speech/mock_wavreader_factory.h"
|
|
|
| +#include "webrtc/base/logging.h"
|
| +#include "webrtc/base/pathutils.h"
|
| +#include "webrtc/modules/audio_processing/test/conversational_speech/mock_wavreader.h"
|
| +#include "webrtc/test/gmock.h"
|
| +
|
| namespace webrtc {
|
| namespace test {
|
| namespace conversational_speech {
|
|
|
| -MockWavReaderFactory::MockWavReaderFactory() = default;
|
| +using testing::_;
|
| +using testing::Invoke;
|
| +
|
| +MockWavReaderFactory::MockWavReaderFactory(
|
| + const Params& default_params,
|
| + const std::map<std::string, const Params>& params)
|
| + : default_params_(default_params),
|
| + audiotrack_names_params_(params) {
|
| + ON_CALL(*this, Create(_)).WillByDefault(Invoke(
|
| + this, &MockWavReaderFactory::CreateMock));
|
| +}
|
| +
|
| +MockWavReaderFactory::MockWavReaderFactory(const Params& default_params)
|
| + : MockWavReaderFactory(default_params,
|
| + std::map<std::string, const Params>{}) {}
|
|
|
| MockWavReaderFactory::~MockWavReaderFactory() = default;
|
|
|
| +std::unique_ptr<WavReaderInterface> MockWavReaderFactory::CreateMock(
|
| + const std::string& filepath) {
|
| + // Search the parameters corresponding to filepath.
|
| + const rtc::Pathname audiotrack_file_path(filepath);
|
| + const auto it = audiotrack_names_params_.find(
|
| + audiotrack_file_path.filename());
|
| +
|
| + // If not found, use default parameters.
|
| + if (it == audiotrack_names_params_.end()) {
|
| + LOG(LS_VERBOSE) << "using default parameters for " << filepath;
|
| + return std::unique_ptr<WavReaderInterface>(
|
| + new MockWavReader(default_params_.sample_rate,
|
| + default_params_.num_channels,
|
| + default_params_.num_samples));
|
| + }
|
| +
|
| + // Found, use the audiotrack-specific parameters.
|
| + LOG(LS_VERBOSE) << "using ad-hoc parameters for " << filepath;
|
| + LOG(LS_VERBOSE) << "sample_rate " << it->second.sample_rate;
|
| + LOG(LS_VERBOSE) << "num_channels " << it->second.num_channels;
|
| + LOG(LS_VERBOSE) << "num_samples " << it->second.num_samples;
|
| + return std::unique_ptr<WavReaderInterface>(
|
| + new MockWavReader(it->second.sample_rate,
|
| + it->second.num_channels,
|
| + it->second.num_samples));
|
| +}
|
| +
|
| } // namespace conversational_speech
|
| } // namespace test
|
| } // namespace webrtc
|
|
|