aboutsummaryrefslogtreecommitdiff
path: root/modules/congestion_controller/include/receive_side_congestion_controller.h
diff options
context:
space:
mode:
Diffstat (limited to 'modules/congestion_controller/include/receive_side_congestion_controller.h')
-rw-r--r--modules/congestion_controller/include/receive_side_congestion_controller.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/modules/congestion_controller/include/receive_side_congestion_controller.h b/modules/congestion_controller/include/receive_side_congestion_controller.h
index 034f2e9517..84661c05b7 100644
--- a/modules/congestion_controller/include/receive_side_congestion_controller.h
+++ b/modules/congestion_controller/include/receive_side_congestion_controller.h
@@ -16,7 +16,10 @@
#include "api/transport/field_trial_based_config.h"
#include "api/transport/network_control.h"
+#include "api/units/data_rate.h"
+#include "modules/congestion_controller/remb_throttler.h"
#include "modules/include/module.h"
+#include "modules/pacing/packet_router.h"
#include "modules/remote_bitrate_estimator/remote_estimator_proxy.h"
#include "rtc_base/synchronization/mutex.h"
@@ -32,10 +35,10 @@ class RemoteBitrateObserver;
class ReceiveSideCongestionController : public CallStatsObserver,
public Module {
public:
- ReceiveSideCongestionController(Clock* clock, PacketRouter* packet_router);
ReceiveSideCongestionController(
Clock* clock,
- PacketRouter* packet_router,
+ RemoteEstimatorProxy::TransportFeedbackSender feedback_sender,
+ RembThrottler::RembSender remb_sender,
NetworkStateEstimator* network_state_estimator);
~ReceiveSideCongestionController() override {}
@@ -56,6 +59,10 @@ class ReceiveSideCongestionController : public CallStatsObserver,
// This is send bitrate, used to control the rate of feedback messages.
void OnBitrateChanged(int bitrate_bps);
+ // Ensures the remote party is notified of the receive bitrate no larger than
+ // |bitrate| using RTCP REMB.
+ void SetMaxDesiredReceiveBitrate(DataRate bitrate);
+
// Implements Module.
int64_t TimeUntilNextProcess() override;
void Process() override;
@@ -103,6 +110,7 @@ class ReceiveSideCongestionController : public CallStatsObserver,
};
const FieldTrialBasedConfig field_trial_config_;
+ RembThrottler remb_throttler_;
WrappingBitrateEstimator remote_bitrate_estimator_;
RemoteEstimatorProxy remote_estimator_proxy_;
};