Chromium Code Reviews| Index: webrtc/modules/audio_processing/include/audio_processing.h |
| diff --git a/webrtc/modules/audio_processing/include/audio_processing.h b/webrtc/modules/audio_processing/include/audio_processing.h |
| index a1cd398b022f225adc233f7ddaa6abcb66ccd985..9232936ebd8312555f73bb41e5b063ce2bf591c5 100644 |
| --- a/webrtc/modules/audio_processing/include/audio_processing.h |
| +++ b/webrtc/modules/audio_processing/include/audio_processing.h |
| @@ -29,6 +29,7 @@ namespace webrtc { |
| struct AecCore; |
| +class AecDump; |
| class AudioFrame; |
| class NonlinearBeamformer; |
| @@ -447,6 +448,20 @@ class AudioProcessing { |
| virtual void set_delay_offset_ms(int offset) = 0; |
| virtual int delay_offset_ms() const = 0; |
| + // Attaches provided webrtc::AecDump for recording debugging |
| + // information. Log file and maximum file size logic is supposed to |
| + // be handled by implementing instance of AecDump. Calling this |
| + // method when another AecDump is attached resets the active AecDump |
| + // with a new one. This causes the d-tor of the earlier AecDump to |
| + // be called. The d-tor call may block until all pending logging |
|
peah-webrtc
2017/05/15 05:32:51
The blocking part is not good at all. If a new aec
aleloi
2017/05/15 13:20:52
After offline discussions d-tor still blocks, but
|
| + // tasks are completed. |
| + virtual void AttachAecDump(std::unique_ptr<AecDump> aec_dump) = 0; |
| + |
| + // If no AecDump is attached, this has no effect. If an AecDump is |
| + // attached, it's destructor is called. The d-tor may block until |
| + // all pending logging tasks are completed. |
| + virtual void DetachAecDump() = 0; |
| + |
| // Starts recording debugging information to a file specified by |filename|, |
| // a NULL-terminated string. If there is an ongoing recording, the old file |
| // will be closed, and recording will continue in the newly specified file. |