From 73a28ee066d62c238e8c669ab781bdf289b720ee Mon Sep 17 00:00:00 2001 From: peah Date: Wed, 12 Oct 2016 03:01:49 -0700 Subject: [PATCH] The AudioProcessing class is used as an interface to the functionality in the audio processing module. Therefore, it should be a pure interface. This CL ensures that is the case. BUG=webrtc:6515 Review-Url: https://codereview.webrtc.org/2406193002 Cr-Commit-Position: refs/heads/master@{#14608} --- webrtc/media/engine/fakewebrtcvoiceengine.h | 2 ++ webrtc/modules/audio_processing/audio_processing_impl.cc | 4 ++++ webrtc/modules/audio_processing/audio_processing_impl.h | 2 +- webrtc/modules/audio_processing/include/audio_processing.cc | 4 ---- webrtc/modules/audio_processing/include/audio_processing.h | 6 ++---- .../audio_processing/include/mock_audio_processing.h | 4 ++++ 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/webrtc/media/engine/fakewebrtcvoiceengine.h b/webrtc/media/engine/fakewebrtcvoiceengine.h index 0526b3995e..e0e71fb800 100644 --- a/webrtc/media/engine/fakewebrtcvoiceengine.h +++ b/webrtc/media/engine/fakewebrtcvoiceengine.h @@ -116,6 +116,8 @@ class FakeAudioProcessing : public webrtc::AudioProcessing { WEBRTC_STUB(StartDebugRecording, (const char filename[kMaxFilenameSize], int64_t max_size_bytes)); WEBRTC_STUB(StartDebugRecording, (FILE * handle, int64_t max_size_bytes)); + WEBRTC_STUB(StartDebugRecording, (FILE * handle)); + WEBRTC_STUB(StartDebugRecordingForPlatformFile, (rtc::PlatformFile handle)); WEBRTC_STUB(StopDebugRecording, ()); WEBRTC_VOID_STUB(UpdateHistogramsOnCallEnd, ()); webrtc::EchoCancellation* echo_cancellation() const override { return NULL; } diff --git a/webrtc/modules/audio_processing/audio_processing_impl.cc b/webrtc/modules/audio_processing/audio_processing_impl.cc index 85f159716c..c892b7886c 100644 --- a/webrtc/modules/audio_processing/audio_processing_impl.cc +++ b/webrtc/modules/audio_processing/audio_processing_impl.cc @@ -1251,6 +1251,10 @@ int AudioProcessingImpl::StartDebugRecording(FILE* handle, #endif // WEBRTC_AUDIOPROC_DEBUG_DUMP } +int AudioProcessingImpl::StartDebugRecording(FILE* handle) { + return StartDebugRecording(handle, -1); +} + int AudioProcessingImpl::StartDebugRecordingForPlatformFile( rtc::PlatformFile handle) { // Run in a single-threaded manner. diff --git a/webrtc/modules/audio_processing/audio_processing_impl.h b/webrtc/modules/audio_processing/audio_processing_impl.h index be0e9518c3..21bc588198 100644 --- a/webrtc/modules/audio_processing/audio_processing_impl.h +++ b/webrtc/modules/audio_processing/audio_processing_impl.h @@ -65,7 +65,7 @@ class AudioProcessingImpl : public AudioProcessing { int StartDebugRecording(const char filename[kMaxFilenameSize], int64_t max_log_size_bytes) override; int StartDebugRecording(FILE* handle, int64_t max_log_size_bytes) override; - + int StartDebugRecording(FILE* handle) override; int StartDebugRecordingForPlatformFile(rtc::PlatformFile handle) override; int StopDebugRecording() override; diff --git a/webrtc/modules/audio_processing/include/audio_processing.cc b/webrtc/modules/audio_processing/include/audio_processing.cc index 37d4a4bc92..43b2c271fc 100644 --- a/webrtc/modules/audio_processing/include/audio_processing.cc +++ b/webrtc/modules/audio_processing/include/audio_processing.cc @@ -31,9 +31,5 @@ Beamforming::Beamforming(bool enabled, Beamforming::~Beamforming() {} -int AudioProcessing::StartDebugRecordingForPlatformFile( - rtc::PlatformFile handle) { - return -1; -} } // namespace webrtc diff --git a/webrtc/modules/audio_processing/include/audio_processing.h b/webrtc/modules/audio_processing/include/audio_processing.h index b5d2aa22c0..0fdbfd2d75 100644 --- a/webrtc/modules/audio_processing/include/audio_processing.h +++ b/webrtc/modules/audio_processing/include/audio_processing.h @@ -454,14 +454,12 @@ class AudioProcessing { virtual int StartDebugRecording(FILE* handle, int64_t max_log_size_bytes) = 0; // TODO(ivoc): Remove this function after Chrome stops using it. - int StartDebugRecording(FILE* handle) { - return StartDebugRecording(handle, -1); - } + virtual int StartDebugRecording(FILE* handle) = 0; // Same as above but uses an existing PlatformFile handle. Takes ownership // of |handle| and closes it at StopDebugRecording(). // TODO(xians): Make this interface pure virtual. - virtual int StartDebugRecordingForPlatformFile(rtc::PlatformFile handle); + virtual int StartDebugRecordingForPlatformFile(rtc::PlatformFile handle) = 0; // Stops recording debugging information, and closes the file. Recording // cannot be resumed in the same file (without overwriting it). diff --git a/webrtc/modules/audio_processing/include/mock_audio_processing.h b/webrtc/modules/audio_processing/include/mock_audio_processing.h index 8bb9e08ead..998153deaa 100644 --- a/webrtc/modules/audio_processing/include/mock_audio_processing.h +++ b/webrtc/modules/audio_processing/include/mock_audio_processing.h @@ -259,6 +259,10 @@ class MockAudioProcessing : public AudioProcessing { int64_t max_log_size_bytes)); MOCK_METHOD2(StartDebugRecording, int(FILE* handle, int64_t max_log_size_bytes)); + MOCK_METHOD1(StartDebugRecording, + int (FILE* handle)); + MOCK_METHOD1(StartDebugRecording, + int(rtc::PlatformFile handle)); MOCK_METHOD0(StopDebugRecording, int()); MOCK_METHOD0(UpdateHistogramsOnCallEnd, void());