diff --git a/call/call.cc b/call/call.cc index 3cd9864d1a..d19fb4b2c9 100644 --- a/call/call.cc +++ b/call/call.cc @@ -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; diff --git a/call/rtp_transport_controller_send.cc b/call/rtp_transport_controller_send.cc index a4453205b8..d471ea4b1f 100644 --- a/call/rtp_transport_controller_send.cc +++ b/call/rtp_transport_controller_send.cc @@ -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); } diff --git a/call/rtp_transport_controller_send.h b/call/rtp_transport_controller_send.h index c9a87eddeb..eff1e1603a 100644 --- a/call/rtp_transport_controller_send.h +++ b/call/rtp_transport_controller_send.h @@ -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; diff --git a/call/rtp_transport_controller_send_interface.h b/call/rtp_transport_controller_send_interface.h index 50f80d5e42..7458b3790c 100644 --- a/call/rtp_transport_controller_send_interface.h +++ b/call/rtp_transport_controller_send_interface.h @@ -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; diff --git a/call/test/mock_rtp_transport_controller_send.h b/call/test/mock_rtp_transport_controller_send.h index 65aa0680cb..1878f1d09f 100644 --- a/call/test/mock_rtp_transport_controller_send.h +++ b/call/test/mock_rtp_transport_controller_send.h @@ -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&));