Refactors send rate statistics in RtpSenderEgress
When FEC generation is moved to egress, we'll need to poll bitrates from there instead of the RtpVideoSender. In preparation, refactoring some getter methods. For context, see https://webrtc-review.googlesource.com/c/src/+/173708 Bug: webrtc:11340 Change-Id: Ibc27362361ee9640d9fce676fc8e1093a579344f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174202 Commit-Queue: Erik Språng <sprang@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Sebastian Jansson <srte@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31214}
This commit is contained in:
@ -290,7 +290,7 @@ RTCPSender::FeedbackState ModuleRtpRtcpImpl::GetFeedbackState() {
|
||||
state.media_bytes_sent = rtp_stats.transmitted.payload_bytes +
|
||||
rtx_stats.transmitted.payload_bytes;
|
||||
state.send_bitrate =
|
||||
rtp_sender_->packet_sender.SendBitrate().bps<uint32_t>();
|
||||
rtp_sender_->packet_sender.GetSendRates().Sum().bps<uint32_t>();
|
||||
}
|
||||
state.module = this;
|
||||
|
||||
@ -702,12 +702,17 @@ void ModuleRtpRtcpImpl::BitrateSent(uint32_t* total_rate,
|
||||
uint32_t* video_rate,
|
||||
uint32_t* fec_rate,
|
||||
uint32_t* nack_rate) const {
|
||||
*total_rate = rtp_sender_->packet_sender.SendBitrate().bps<uint32_t>();
|
||||
RtpSendRates send_rates = rtp_sender_->packet_sender.GetSendRates();
|
||||
*total_rate = send_rates.Sum().bps<uint32_t>();
|
||||
if (video_rate)
|
||||
*video_rate = 0;
|
||||
if (fec_rate)
|
||||
*fec_rate = 0;
|
||||
*nack_rate = rtp_sender_->packet_sender.NackOverheadRate().bps<uint32_t>();
|
||||
*nack_rate = send_rates[RtpPacketMediaType::kRetransmission].bps<uint32_t>();
|
||||
}
|
||||
|
||||
RtpSendRates ModuleRtpRtcpImpl::GetSendRates() const {
|
||||
return rtp_sender_->packet_sender.GetSendRates();
|
||||
}
|
||||
|
||||
void ModuleRtpRtcpImpl::OnRequestSendReport() {
|
||||
@ -803,12 +808,13 @@ const RTPSender* ModuleRtpRtcpImpl::RtpSender() const {
|
||||
|
||||
DataRate ModuleRtpRtcpImpl::SendRate() const {
|
||||
RTC_DCHECK(rtp_sender_);
|
||||
return rtp_sender_->packet_sender.SendBitrate();
|
||||
return rtp_sender_->packet_sender.GetSendRates().Sum();
|
||||
}
|
||||
|
||||
DataRate ModuleRtpRtcpImpl::NackOverheadRate() const {
|
||||
RTC_DCHECK(rtp_sender_);
|
||||
return rtp_sender_->packet_sender.NackOverheadRate();
|
||||
return rtp_sender_->packet_sender
|
||||
.GetSendRates()[RtpPacketMediaType::kRetransmission];
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
Reference in New Issue
Block a user