Added option to specify a maximum file size when recording an AEC dump.

For applications with a strict filesize limit for debug files,
I added an option to specify a maximum filesize for AEC dumps. An
existing unit test is extended to check that the feature works as
advertised.

BUG=webrtc:4741
TBR=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1413483003

Cr-Commit-Position: refs/heads/master@{#11081}
This commit is contained in:
ivoc
2015-12-18 03:53:37 -08:00
committed by Commit bot
parent 095ae15d6b
commit ae2c5ad12a
22 changed files with 136 additions and 60 deletions

View File

@ -408,13 +408,17 @@ class AudioProcessing {
// 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;
// Same as above but uses an existing PlatformFile handle. Takes ownership
// of |handle| and closes it at StopDebugRecording().