Interface for packet feedback availability in SSCC

This CL adds a function to the SendSideCongestionController interface
for reporting per packet feedback availability.

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: Ifcb6837bb80c5fcfc1f12f4f93ec38cc2903118f
Reviewed-on: https://webrtc-review.googlesource.com/63205
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22565}
This commit is contained in:
Sebastian Jansson 2018-03-21 12:47:10 +01:00 committed by Commit Bot
parent 70899e012f
commit 1d430f727d
5 changed files with 10 additions and 0 deletions

View File

@ -96,6 +96,8 @@ class SendSideCongestionController
TransportFeedbackObserver* GetTransportFeedbackObserver() override;
RTC_DEPRECATED virtual RateLimiter* GetRetransmissionRateLimiter();
void SetPerPacketFeedbackAvailable(bool available) override;
void EnablePeriodicAlrProbing(bool enable) override;
void OnSentPacket(const rtc::SentPacket& sent_packet) override;

View File

@ -60,6 +60,7 @@ class SendSideCongestionControllerInterface : public CallStatsObserver,
virtual RtcpBandwidthObserver* GetBandwidthObserver() = 0;
virtual bool AvailableBandwidth(uint32_t* bandwidth) const = 0;
virtual TransportFeedbackObserver* GetTransportFeedbackObserver() = 0;
virtual void SetPerPacketFeedbackAvailable(bool available) = 0;
virtual void EnablePeriodicAlrProbing(bool enable) = 0;
virtual void OnSentPacket(const rtc::SentPacket& sent_packet) = 0;
virtual void SetPacingFactor(float pacing_factor) = 0;

View File

@ -100,6 +100,7 @@ class SendSideCongestionController
TransportFeedbackObserver* GetTransportFeedbackObserver() override;
void SetPerPacketFeedbackAvailable(bool available) override;
void EnablePeriodicAlrProbing(bool enable) override;
void OnSentPacket(const rtc::SentPacket& sent_packet) override;

View File

@ -460,6 +460,9 @@ RtcpBandwidthObserver* SendSideCongestionController::GetBandwidthObserver() {
return this;
}
void SendSideCongestionController::SetPerPacketFeedbackAvailable(
bool available) {}
void SendSideCongestionController::EnablePeriodicAlrProbing(bool enable) {
task_queue_->PostTask([this, enable]() {
RTC_DCHECK_RUN_ON(task_queue_ptr_);

View File

@ -251,6 +251,9 @@ RateLimiter* SendSideCongestionController::GetRetransmissionRateLimiter() {
return retransmission_rate_limiter_.get();
}
void SendSideCongestionController::SetPerPacketFeedbackAvailable(
bool available) {}
void SendSideCongestionController::EnablePeriodicAlrProbing(bool enable) {
probe_controller_->EnablePeriodicAlrProbing(enable);
}