mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-12 21:30:45 +01:00
Reporting feedback availability to congestion controller.
This CL adds reporting of per packet feedback availability from Call via RtpTransportControllerSend to SendSideCongestionController. This is part of a series of CLs tracking the transport feedback status of the streams known to BitrateAllocator and reporting the status to the congestion controller. Bug: webrtc:8415 Change-Id: I20b3dbb4a027c46476bc2d2bc875374bff05609a Reviewed-on: https://webrtc-review.googlesource.com/63220 Commit-Queue: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22566}
This commit is contained in:
parent
1d430f727d
commit
12130bb135
5 changed files with 7 additions and 0 deletions
|
@ -1117,6 +1117,7 @@ void Call::OnAllocationLimitsChanged(uint32_t min_send_bitrate_bps,
|
|||
bool has_packet_feedback) {
|
||||
transport_send_->SetAllocatedSendBitrateLimits(
|
||||
min_send_bitrate_bps, max_padding_bitrate_bps, total_bitrate_bps);
|
||||
transport_send_->SetPerPacketFeedbackAvailable(has_packet_feedback);
|
||||
rtc::CritScope lock(&bitrate_crit_);
|
||||
min_allocated_send_bitrate_bps_ = min_send_bitrate_bps;
|
||||
configured_max_padding_bitrate_bps_ = max_padding_bitrate_bps;
|
||||
|
|
|
@ -203,6 +203,9 @@ int64_t RtpTransportControllerSend::GetPacerQueuingDelayMs() const {
|
|||
int64_t RtpTransportControllerSend::GetFirstPacketTimeMs() const {
|
||||
return pacer_.FirstSentPacketTimeMs();
|
||||
}
|
||||
void RtpTransportControllerSend::SetPerPacketFeedbackAvailable(bool available) {
|
||||
send_side_cc_->SetPerPacketFeedbackAvailable(available);
|
||||
}
|
||||
void RtpTransportControllerSend::EnablePeriodicAlrProbing(bool enable) {
|
||||
send_side_cc_->EnablePeriodicAlrProbing(enable);
|
||||
}
|
||||
|
|
|
@ -73,6 +73,7 @@ class RtpTransportControllerSend final
|
|||
RtcpBandwidthObserver* GetBandwidthObserver() override;
|
||||
int64_t GetPacerQueuingDelayMs() const override;
|
||||
int64_t GetFirstPacketTimeMs() const override;
|
||||
void SetPerPacketFeedbackAvailable(bool available) override;
|
||||
void EnablePeriodicAlrProbing(bool enable) override;
|
||||
void OnSentPacket(const rtc::SentPacket& sent_packet) override;
|
||||
|
||||
|
|
|
@ -101,6 +101,7 @@ class RtpTransportControllerSendInterface {
|
|||
virtual int64_t GetFirstPacketTimeMs() const = 0;
|
||||
virtual void EnablePeriodicAlrProbing(bool enable) = 0;
|
||||
virtual void OnSentPacket(const rtc::SentPacket& sent_packet) = 0;
|
||||
virtual void SetPerPacketFeedbackAvailable(bool available) = 0;
|
||||
|
||||
virtual void SetSdpBitrateParameters(
|
||||
const BitrateConstraints& constraints) = 0;
|
||||
|
|
|
@ -45,6 +45,7 @@ class MockRtpTransportControllerSend
|
|||
MOCK_METHOD0(GetBandwidthObserver, RtcpBandwidthObserver*());
|
||||
MOCK_CONST_METHOD0(GetPacerQueuingDelayMs, int64_t());
|
||||
MOCK_CONST_METHOD0(GetFirstPacketTimeMs, int64_t());
|
||||
MOCK_METHOD1(SetPerPacketFeedbackAvailable, void(bool));
|
||||
MOCK_METHOD1(EnablePeriodicAlrProbing, void(bool));
|
||||
MOCK_METHOD1(OnSentPacket, void(const rtc::SentPacket&));
|
||||
MOCK_METHOD1(SetSdpBitrateParameters, void(const BitrateConstraints&));
|
||||
|
|
Loading…
Reference in a new issue