Encode log events periodically instead of for every event.

Updated unit test to take output_period and random seed as parameters.
Updated the peerconnection interface to allow passing in an output_period.

This is in preparation of some upcoming CLs that will change the format
to store batches of delta-encoded values.


Bug: webrtc:8111
Change-Id: Id5d9844dfad8d8edad346cd7cbebc7eadaaa5416
Reviewed-on: https://webrtc-review.googlesource.com/22600
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20736}
This commit is contained in:
Bjorn Terelius
2017-11-17 16:31:58 +01:00
committed by Commit Bot
parent b3d7cac235
commit b154c27e72
9 changed files with 245 additions and 93 deletions

View File

@ -828,10 +828,19 @@ class PeerConnectionInterface : public rtc::RefCountInterface {
// Start RtcEventLog using an existing output-sink. Takes ownership of
// |output| and passes it on to Call, which will take the ownership. If the
// operation fails the output will be closed and deallocated.
// TODO(eladalon): Deprecate and remove this.
virtual bool StartRtcEventLog(std::unique_ptr<RtcEventLogOutput> output) {
return false;
}
// Start RtcEventLog using an existing output-sink. Takes ownership of
// |output| and passes it on to Call, which will take the ownership. If the
// operation fails the output will be closed and deallocated.
virtual bool StartRtcEventLog(std::unique_ptr<RtcEventLogOutput> output,
int64_t output_period_ms) {
return false;
}
// Stops logging the RtcEventLog.
// TODO(ivoc): Make this pure virtual when Chrome is updated.
virtual void StopRtcEventLog() {}