Revert "Revert "Encode log events periodically instead of for every event.""

This reverts commit 33c5c7f5e4f018a5103770021328fc530d451d75.

Reason for revert: Fix broken API change.

TBR=sprang@webrtc.org,solenberg@webrtc.org
TBRing because only pc/ and api/ have changed since last LGTMed version.

Original change's description:
> Revert "Encode log events periodically instead of for every event."
>
> This reverts commit b154c27e72fddb6c0d7cac69a9c68fff22154519.
>
> Reason for revert: Broke the internal project.
>
> Original change's description:
> > 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}
>
> Change-Id: I2257c46c014adb8c7c4fb28538635cabed1f2229
> Bug: webrtc:8111
> Reviewed-on: https://webrtc-review.googlesource.com/24160
> Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
> Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20738}

Bug: webrtc:8111
Change-Id: Ie69862cd52d11c1e15adeb6e2caacafe16863c80
Reviewed-on: https://webrtc-review.googlesource.com/24620
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20811}
diff --git a/pc/peerconnection.cc b/pc/peerconnection.cc
index 53c891e..e4864c9 100644
--- a/pc/peerconnection.cc
+++ b/pc/peerconnection.cc
@@ -1956,19 +1956,23 @@
                               ? RtcEventLog::kUnlimitedOutput
                               : rtc::saturated_cast<size_t>(max_size_bytes);
   return StartRtcEventLog(
-      rtc::MakeUnique<RtcEventLogOutputFile>(file, max_size));
+      rtc::MakeUnique<RtcEventLogOutputFile>(file, max_size),
+      webrtc::RtcEventLog::kImmediateOutput);
 }
 
-bool PeerConnection::StartRtcEventLog(
-    std::unique_ptr<RtcEventLogOutput> output) {
+bool PeerConnection::StartRtcEventLog(std::unique_ptr<RtcEventLogOutput> output,
+                                      int64_t output_period_ms) {
   // TODO(eladalon): In C++14, this can be done with a lambda.
   struct Functor {
-    bool operator()() { return pc->StartRtcEventLog_w(std::move(output)); }
+    bool operator()() {
+      return pc->StartRtcEventLog_w(std::move(output), output_period_ms);
+    }
     PeerConnection* const pc;
     std::unique_ptr<RtcEventLogOutput> output;
+    const int64_t output_period_ms;
   };
-  return worker_thread()->Invoke<bool>(RTC_FROM_HERE,
-                                       Functor{this, std::move(output)});
+  return worker_thread()->Invoke<bool>(
+      RTC_FROM_HERE, Functor{this, std::move(output), output_period_ms});
 }
 
 void PeerConnection::StopRtcEventLog() {
@@ -3203,11 +3207,12 @@
 }
 
 bool PeerConnection::StartRtcEventLog_w(
-    std::unique_ptr<RtcEventLogOutput> output) {
+    std::unique_ptr<RtcEventLogOutput> output,
+    int64_t output_period_ms) {
   if (!event_log_) {
     return false;
   }
-  return event_log_->StartLogging(std::move(output));
+  return event_log_->StartLogging(std::move(output), output_period_ms);
 }
 
 void PeerConnection::StopRtcEventLog_w() {