Adds BitrateAllocation struct to OnBitrateUpdated.
This prepares for adding parameters to OnBitrateUpdated. By using a
struct, additional fields doesn't require a change in the signature and
only the obeservers that use the new fields will be affected by the
change.
Bug: webrtc:9718
Change-Id: I7dd6c9577afd77af06da5f56aea312356f80f9c0
Reviewed-on: https://webrtc-review.googlesource.com/c/107727
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25366}
diff --git a/video/video_send_stream_impl.cc b/video/video_send_stream_impl.cc
index 8454597..e6d97e9 100644
--- a/video/video_send_stream_impl.cc
+++ b/video/video_send_stream_impl.cc
@@ -611,21 +611,19 @@
return rtp_video_sender_->GetRtpPayloadStates();
}
-uint32_t VideoSendStreamImpl::OnBitrateUpdated(uint32_t bitrate_bps,
- uint8_t fraction_loss,
- int64_t rtt,
- int64_t probing_interval_ms) {
+uint32_t VideoSendStreamImpl::OnBitrateUpdated(BitrateAllocationUpdate update) {
RTC_DCHECK_RUN_ON(worker_queue_);
RTC_DCHECK(rtp_video_sender_->IsActive())
<< "VideoSendStream::Start has not been called.";
- rtp_video_sender_->OnBitrateUpdated(bitrate_bps, fraction_loss, rtt,
+ rtp_video_sender_->OnBitrateUpdated(update.bitrate_bps, update.fraction_loss,
+ update.rtt,
stats_proxy_->GetSendFrameRate());
encoder_target_rate_bps_ = rtp_video_sender_->GetPayloadBitrateBps();
encoder_target_rate_bps_ =
std::min(encoder_max_bitrate_bps_, encoder_target_rate_bps_);
video_stream_encoder_->OnBitrateUpdated(encoder_target_rate_bps_,
- fraction_loss, rtt);
+ update.fraction_loss, update.rtt);
stats_proxy_->OnSetEncoderTargetRate(encoder_target_rate_bps_);
return rtp_video_sender_->GetProtectionBitrateBps();
}