Reland "Added option to specify a maximum file size when recording an AEC dump.", commit ae2c5ad12afc8cc29fe9c59dea432b697b871a87.
The revert of the original CL was commit 36d4c545007129446e551c45c17b25377dce89a4.
Original review: https://codereview.webrtc.org/1413483003/
The original CL changes a function on audio_processing.h that is used by Chrome, this CL adds back the old function.
NOTRY=true
TBR=glaznev@webrtc.org, henrik.lundin@webrtc.org, solenberg@google.com, henrikg@webrtc.org, perkj@webrtc.org
BUG=webrtc:4741
Review URL: https://codereview.webrtc.org/1541633002
Cr-Commit-Position: refs/heads/master@{#11093}
diff --git a/webrtc/modules/audio_processing/include/audio_processing.h b/webrtc/modules/audio_processing/include/audio_processing.h
index 5fcc4d4..c96f23a 100644
--- a/webrtc/modules/audio_processing/include/audio_processing.h
+++ b/webrtc/modules/audio_processing/include/audio_processing.h
@@ -408,13 +408,22 @@
// 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.
- // An already existing file will be overwritten without warning.
+ // An already existing file will be overwritten without warning. A maximum
+ // file size (in bytes) for the log can be specified. The logging is stopped
+ // once the limit has been reached. If max_log_size_bytes is set to a value
+ // <= 0, no limit will be used.
static const size_t kMaxFilenameSize = 1024;
- virtual int StartDebugRecording(const char filename[kMaxFilenameSize]) = 0;
+ virtual int StartDebugRecording(const char filename[kMaxFilenameSize],
+ int64_t max_log_size_bytes) = 0;
// Same as above but uses an existing file handle. Takes ownership
// of |handle| and closes it at StopDebugRecording().
- virtual int StartDebugRecording(FILE* handle) = 0;
+ virtual int StartDebugRecording(FILE* handle, int64_t max_log_size_bytes) = 0;
+
+ // TODO(ivoc): Remove this function after Chromium switches to the one above.
+ virtual int StartDebugRecording(FILE* handle) {
+ return StartDebugRecording(handle, -1);
+ }
// Same as above but uses an existing PlatformFile handle. Takes ownership
// of |handle| and closes it at StopDebugRecording().