Merge BitrateControllerImpl::RtcpBandwidthObserverImpl into BitrateControllerImpl

This allows to protect ssrc_to_last_received_extended_high_seq_num_ member and
make calls to OnReceivedRtcpReceiverReport thread-safe without introducing new critical section.

Bug: webrtc:7735
Change-Id: Iee23bb780d07b0f906f1f8eeddde2b74cc0a2b89
Reviewed-on: https://chromium-review.googlesource.com/518130
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18540}
diff --git a/webrtc/modules/bitrate_controller/bitrate_controller_impl.h b/webrtc/modules/bitrate_controller/bitrate_controller_impl.h
index 1a53e5d..ff27153 100644
--- a/webrtc/modules/bitrate_controller/bitrate_controller_impl.h
+++ b/webrtc/modules/bitrate_controller/bitrate_controller_impl.h
@@ -18,6 +18,7 @@
 #include "webrtc/modules/bitrate_controller/include/bitrate_controller.h"
 
 #include <list>
+#include <map>
 #include <utility>
 #include <vector>
 
@@ -70,12 +71,12 @@
   class RtcpBandwidthObserverImpl;
 
   // Called by BitrateObserver's direct from the RTCP module.
-  void OnReceiverEstimatedBitrate(uint32_t bitrate);
+  // Implements RtcpBandwidthObserver.
+  void OnReceivedEstimatedBitrate(uint32_t bitrate) override;
 
-  void OnReceivedRtcpReceiverReport(uint8_t fraction_loss,
+  void OnReceivedRtcpReceiverReport(const ReportBlockList& report_blocks,
                                     int64_t rtt,
-                                    int number_of_packets,
-                                    int64_t now_ms);
+                                    int64_t now_ms) override;
 
   // Deprecated
   void MaybeTriggerOnNetworkChanged();
@@ -91,6 +92,8 @@
   RtcEventLog* const event_log_;
 
   rtc::CriticalSection critsect_;
+  std::map<uint32_t, uint32_t> ssrc_to_last_received_extended_high_seq_num_
+      GUARDED_BY(critsect_);
   SendSideBandwidthEstimation bandwidth_estimation_ GUARDED_BY(critsect_);
   uint32_t reserved_bitrate_bps_ GUARDED_BY(critsect_);