Reland "Adds trial to use correct overhead calculation in pacer."
This reverts commit 7affd9bcbb7a778408942d8afa4fe3ce29a8fc0b. Reason for revert: The perf issue has been addressed in the reland (https://webrtc-review.googlesource.com/c/src/+/167883). Original change's description: > Revert "Adds trial to use correct overhead calculation in pacer." > > This reverts commit 71a77c4b3b314a5e3b4e6b2f12d4886cff1b60d7. > > Reason for revert: https://webrtc-review.googlesource.com/c/src/+/167524 needs to be reverted and this CL causes a merge conflict. > > Original change's description: > > Adds trial to use correct overhead calculation in pacer. > > > > Bug: webrtc:9883 > > Change-Id: I1f25a235468678bf823ee1399ba31d94acf33be9 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166534 > > Reviewed-by: Erik Språng <sprang@webrtc.org> > > Commit-Queue: Sebastian Jansson <srte@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#30399} > > TBR=sprang@webrtc.org,srte@webrtc.org > > Change-Id: I7d3efa29f70aa0363311766980acae6d88bbcaaa > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:9883 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167880 > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#30409} TBR=mbonadei@webrtc.org,sprang@webrtc.org,srte@webrtc.org Change-Id: Iafdef81d08078000dc368e001f67bee660e2f5bc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:9883 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167861 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30414}
This commit is contained in:
committed by
Commit Bot
parent
c3eb9fd49f
commit
e7bc3a3477
@ -99,7 +99,10 @@ PacingController::PacingController(Clock* clock,
|
||||
pace_audio_(IsEnabled(*field_trials_, "WebRTC-Pacer-BlockAudio")),
|
||||
small_first_probe_packet_(
|
||||
IsEnabled(*field_trials_, "WebRTC-Pacer-SmallFirstProbePacket")),
|
||||
ignore_transport_overhead_(
|
||||
!IsDisabled(*field_trials_, "WebRTC-Pacer-IgnoreTransportOverhead")),
|
||||
min_packet_limit_(kDefaultMinPacketLimit),
|
||||
transport_overhead_per_packet_(DataSize::Zero()),
|
||||
last_timestamp_(clock_->CurrentTime()),
|
||||
paused_(false),
|
||||
media_budget_(0),
|
||||
@ -230,6 +233,13 @@ void PacingController::SetIncludeOverhead() {
|
||||
packet_queue_.SetIncludeOverhead();
|
||||
}
|
||||
|
||||
void PacingController::SetTransportOverhead(DataSize overhead_per_packet) {
|
||||
if (ignore_transport_overhead_)
|
||||
return;
|
||||
transport_overhead_per_packet_ = overhead_per_packet;
|
||||
packet_queue_.SetTransportOverhead(overhead_per_packet);
|
||||
}
|
||||
|
||||
TimeDelta PacingController::ExpectedQueueTime() const {
|
||||
RTC_DCHECK_GT(pacing_bitrate_, DataRate::Zero());
|
||||
return TimeDelta::ms(
|
||||
@ -521,10 +531,13 @@ void PacingController::ProcessPackets() {
|
||||
RTC_DCHECK(rtp_packet);
|
||||
RTC_DCHECK(rtp_packet->packet_type().has_value());
|
||||
const RtpPacketToSend::Type packet_type = *rtp_packet->packet_type();
|
||||
const DataSize packet_size =
|
||||
DataSize::bytes(include_overhead_ ? rtp_packet->size()
|
||||
: rtp_packet->payload_size() +
|
||||
rtp_packet->padding_size());
|
||||
DataSize packet_size = DataSize::bytes(rtp_packet->payload_size() +
|
||||
rtp_packet->padding_size());
|
||||
|
||||
if (include_overhead_) {
|
||||
packet_size += DataSize::bytes(rtp_packet->headers_size()) +
|
||||
transport_overhead_per_packet_;
|
||||
}
|
||||
packet_sender_->SendRtpPacket(std::move(rtp_packet), pacing_info);
|
||||
|
||||
data_sent += packet_size;
|
||||
|
||||
Reference in New Issue
Block a user