Index: webrtc/modules/bitrate_controller/bitrate_controller_impl.h |
diff --git a/webrtc/modules/bitrate_controller/bitrate_controller_impl.h b/webrtc/modules/bitrate_controller/bitrate_controller_impl.h |
index 14e8fd795a1dcfcbc41329dc1d35344f77f490de..26a72dc4191dcc50ad810e00cd1fd11009890858 100644 |
--- a/webrtc/modules/bitrate_controller/bitrate_controller_impl.h |
+++ b/webrtc/modules/bitrate_controller/bitrate_controller_impl.h |
@@ -28,7 +28,9 @@ namespace webrtc { |
class BitrateControllerImpl : public BitrateController { |
public: |
- BitrateControllerImpl(Clock* clock, BitrateObserver* observer); |
+ BitrateControllerImpl(Clock* clock, |
+ BitrateObserver* observer, |
+ PacedSender* pacer); |
virtual ~BitrateControllerImpl() {} |
bool AvailableBandwidth(uint32_t* bandwidth) const override; |
@@ -64,14 +66,18 @@ class BitrateControllerImpl : public BitrateController { |
bool GetNetworkParameters(uint32_t* bitrate, |
uint8_t* fraction_loss, |
int64_t* rtt); |
+ // Updates |send_queue_full_| to |is_full| and returns true if this caused |
+ // |send_queue_full_| to be changed. |
+ bool UpdateSendQueueStatus(bool is_full); |
void OnNetworkChanged(uint32_t bitrate, |
uint8_t fraction_loss, // 0 - 255. |
int64_t rtt) EXCLUSIVE_LOCKS_REQUIRED(critsect_); |
// Used by process thread. |
- Clock* clock_; |
- BitrateObserver* observer_; |
+ Clock* const clock_; |
+ BitrateObserver* const observer_; |
+ PacedSender* const pacer_; |
int64_t last_bitrate_update_ms_; |
rtc::CriticalSection critsect_; |
@@ -82,6 +88,7 @@ class BitrateControllerImpl : public BitrateController { |
uint8_t last_fraction_loss_ GUARDED_BY(critsect_); |
int64_t last_rtt_ms_ GUARDED_BY(critsect_); |
uint32_t last_reserved_bitrate_bps_ GUARDED_BY(critsect_); |
+ bool send_queue_full_ GUARDED_BY(critsect_); |
RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(BitrateControllerImpl); |
}; |