| Index: webrtc/modules/audio_processing/audio_processing_impl.h
|
| diff --git a/webrtc/modules/audio_processing/audio_processing_impl.h b/webrtc/modules/audio_processing/audio_processing_impl.h
|
| index 01b640fcfc0f36332790765fd530f267690cfc9a..9db3c4968a763d901f95f50b2d5f965cd4c4fc3a 100644
|
| --- a/webrtc/modules/audio_processing/audio_processing_impl.h
|
| +++ b/webrtc/modules/audio_processing/audio_processing_impl.h
|
| @@ -22,23 +22,13 @@
|
| #include "webrtc/base/ignore_wundef.h"
|
| #include "webrtc/base/swap_queue.h"
|
| #include "webrtc/base/thread_annotations.h"
|
| +#include "webrtc/modules/audio_processing/aec_dumper/aec_dumper.h"
|
| #include "webrtc/modules/audio_processing/audio_buffer.h"
|
| #include "webrtc/modules/audio_processing/include/audio_processing.h"
|
| #include "webrtc/modules/audio_processing/render_queue_item_verifier.h"
|
| #include "webrtc/modules/audio_processing/rms_level.h"
|
| #include "webrtc/system_wrappers/include/file_wrapper.h"
|
|
|
| -#ifdef WEBRTC_AUDIOPROC_DEBUG_DUMP
|
| -// Files generated at build-time by the protobuf compiler.
|
| -RTC_PUSH_IGNORING_WUNDEF()
|
| -#ifdef WEBRTC_ANDROID_PLATFORM_BUILD
|
| -#include "external/webrtc/webrtc/modules/audio_processing/debug.pb.h"
|
| -#else
|
| -#include "webrtc/modules/audio_processing/debug.pb.h"
|
| -#endif
|
| -RTC_POP_IGNORING_WUNDEF()
|
| -#endif // WEBRTC_AUDIOPROC_DEBUG_DUMP
|
| -
|
| namespace webrtc {
|
|
|
| class AgcManagerDirect;
|
| @@ -67,10 +57,14 @@ class AudioProcessingImpl : public AudioProcessing {
|
| void SetExtraOptions(const webrtc::Config& config) override;
|
| void UpdateHistogramsOnCallEnd() override;
|
| 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;
|
| + int64_t max_log_size_bytes,
|
| + rtc::TaskQueue* worker_queue) override;
|
| + int StartDebugRecording(FILE* handle,
|
| + int64_t max_log_size_bytes,
|
| + rtc::TaskQueue* worker_queue) override;
|
| + int StartDebugRecording(FILE* handle, rtc::TaskQueue* worker_queue) override;
|
| + int StartDebugRecordingForPlatformFile(rtc::PlatformFile handle,
|
| + rtc::TaskQueue* worker_queue) override;
|
| int StopDebugRecording() override;
|
|
|
| // Capture-side exclusive methods possibly running APM in a
|
| @@ -275,29 +269,10 @@ class AudioProcessingImpl : public AudioProcessing {
|
| EXCLUSIVE_LOCKS_REQUIRED(crit_render_);
|
| int ProcessRenderStreamLocked() EXCLUSIVE_LOCKS_REQUIRED(crit_render_);
|
|
|
| -// Debug dump methods that are internal and called without locks.
|
| -// TODO(peah): Make thread safe.
|
| -#ifdef WEBRTC_AUDIOPROC_DEBUG_DUMP
|
| - // TODO(andrew): make this more graceful. Ideally we would split this stuff
|
| - // out into a separate class with an "enabled" and "disabled" implementation.
|
| - static int WriteMessageToDebugFile(FileWrapper* debug_file,
|
| - int64_t* filesize_limit_bytes,
|
| - rtc::CriticalSection* crit_debug,
|
| - ApmDebugDumpThreadState* debug_state);
|
| - int WriteInitMessage() EXCLUSIVE_LOCKS_REQUIRED(crit_render_, crit_capture_);
|
| -
|
| - // Writes Config message. If not |forced|, only writes the current config if
|
| - // it is different from the last saved one; if |forced|, writes the config
|
| - // regardless of the last saved.
|
| - int WriteConfigMessage(bool forced) EXCLUSIVE_LOCKS_REQUIRED(crit_capture_)
|
| - EXCLUSIVE_LOCKS_REQUIRED(crit_capture_);
|
| -
|
| - // Critical section.
|
| - rtc::CriticalSection crit_debug_;
|
| + int WriteConfigMessage(bool forced) EXCLUSIVE_LOCKS_REQUIRED(crit_capture_);
|
|
|
| - // Debug dump state.
|
| - ApmDebugDumpState debug_dump_;
|
| -#endif
|
| + // TODO(aleloi) doc.
|
| + std::unique_ptr<AecDumper> aec_dumper_;
|
|
|
| // Critical sections.
|
| rtc::CriticalSection crit_render_ ACQUIRED_BEFORE(crit_capture_);
|
|
|