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_);