Index: webrtc/modules/congestion_controller/delay_based_bwe.cc |
diff --git a/webrtc/modules/congestion_controller/delay_based_bwe.cc b/webrtc/modules/congestion_controller/delay_based_bwe.cc |
index 77fda5a2059f5678c6a749c52c26020a272e480a..43bf5924230fcc8dff9cf5c499f99836c3d597c5 100644 |
--- a/webrtc/modules/congestion_controller/delay_based_bwe.cc |
+++ b/webrtc/modules/congestion_controller/delay_based_bwe.cc |
@@ -253,7 +253,7 @@ DelayBasedBwe::DelayBasedBwe(RtcEventLog* event_log, Clock* clock) |
} |
DelayBasedBwe::Result DelayBasedBwe::IncomingPacketFeedbackVector( |
- const std::vector<PacketInfo>& packet_feedback_vector) { |
+ const std::vector<PacketFeedback>& packet_feedback_vector) { |
RTC_DCHECK(network_thread_.CalledOnValidThread()); |
if (!uma_recorded_) { |
RTC_HISTOGRAM_ENUMERATION(kBweTypeHistogram, |
@@ -263,11 +263,11 @@ DelayBasedBwe::Result DelayBasedBwe::IncomingPacketFeedbackVector( |
} |
Result aggregated_result; |
bool delayed_feedback = true; |
- for (const auto& packet_info : packet_feedback_vector) { |
- if (packet_info.send_time_ms < 0) |
+ for (const auto& packet_feedback : packet_feedback_vector) { |
+ if (packet_feedback.send_time_ms < 0) |
continue; |
delayed_feedback = false; |
- Result result = IncomingPacketInfo(packet_info); |
+ Result result = IncomingPacketFeedback(packet_feedback); |
if (result.updated) |
aggregated_result = result; |
} |
@@ -301,11 +301,12 @@ DelayBasedBwe::Result DelayBasedBwe::OnLongFeedbackDelay( |
return result; |
} |
-DelayBasedBwe::Result DelayBasedBwe::IncomingPacketInfo( |
- const PacketInfo& info) { |
+DelayBasedBwe::Result DelayBasedBwe::IncomingPacketFeedback( |
+ const PacketFeedback& packet_feedback) { |
int64_t now_ms = clock_->TimeInMilliseconds(); |
- receiver_incoming_bitrate_.Update(info.arrival_time_ms, info.payload_size); |
+ receiver_incoming_bitrate_.Update(packet_feedback.arrival_time_ms, |
+ packet_feedback.payload_size); |
Result result; |
// Reset if the stream has timed out. |
if (last_seen_packet_ms_ == -1 || |
@@ -324,7 +325,8 @@ DelayBasedBwe::Result DelayBasedBwe::IncomingPacketInfo( |
uint32_t send_time_24bits = |
static_cast<uint32_t>( |
- ((static_cast<uint64_t>(info.send_time_ms) << kAbsSendTimeFraction) + |
+ ((static_cast<uint64_t>(packet_feedback.send_time_ms) |
+ << kAbsSendTimeFraction) + |
500) / |
1000) & |
0x00FFFFFF; |
@@ -335,33 +337,37 @@ DelayBasedBwe::Result DelayBasedBwe::IncomingPacketInfo( |
uint32_t ts_delta = 0; |
int64_t t_delta = 0; |
int size_delta = 0; |
- if (inter_arrival_->ComputeDeltas(timestamp, info.arrival_time_ms, now_ms, |
- info.payload_size, &ts_delta, &t_delta, |
- &size_delta)) { |
+ if (inter_arrival_->ComputeDeltas(timestamp, packet_feedback.arrival_time_ms, |
+ now_ms, packet_feedback.payload_size, |
+ &ts_delta, &t_delta, &size_delta)) { |
double ts_delta_ms = (1000.0 * ts_delta) / (1 << kInterArrivalShift); |
if (in_trendline_experiment_) { |
- trendline_estimator_->Update(t_delta, ts_delta_ms, info.arrival_time_ms); |
+ trendline_estimator_->Update(t_delta, ts_delta_ms, |
+ packet_feedback.arrival_time_ms); |
detector_.Detect(trendline_estimator_->trendline_slope(), ts_delta_ms, |
trendline_estimator_->num_of_deltas(), |
- info.arrival_time_ms); |
+ packet_feedback.arrival_time_ms); |
} else if (in_median_slope_experiment_) { |
median_slope_estimator_->Update(t_delta, ts_delta_ms, |
- info.arrival_time_ms); |
+ packet_feedback.arrival_time_ms); |
detector_.Detect(median_slope_estimator_->trendline_slope(), ts_delta_ms, |
median_slope_estimator_->num_of_deltas(), |
- info.arrival_time_ms); |
+ packet_feedback.arrival_time_ms); |
} else { |
kalman_estimator_->Update(t_delta, ts_delta_ms, size_delta, |
- detector_.State(), info.arrival_time_ms); |
+ detector_.State(), |
+ packet_feedback.arrival_time_ms); |
detector_.Detect(kalman_estimator_->offset(), ts_delta_ms, |
kalman_estimator_->num_of_deltas(), |
- info.arrival_time_ms); |
+ packet_feedback.arrival_time_ms); |
} |
} |
int probing_bps = 0; |
- if (info.pacing_info.probe_cluster_id != PacedPacketInfo::kNotAProbe) { |
- probing_bps = probe_bitrate_estimator_.HandleProbeAndEstimateBitrate(info); |
+ if (packet_feedback.pacing_info.probe_cluster_id != |
+ PacedPacketInfo::kNotAProbe) { |
+ probing_bps = |
+ probe_bitrate_estimator_.HandleProbeAndEstimateBitrate(packet_feedback); |
} |
rtc::Optional<uint32_t> acked_bitrate_bps = |
receiver_incoming_bitrate_.bitrate_bps(); |
@@ -370,23 +376,23 @@ DelayBasedBwe::Result DelayBasedBwe::IncomingPacketInfo( |
if (acked_bitrate_bps && |
rate_control_.TimeToReduceFurther(now_ms, *acked_bitrate_bps)) { |
result.updated = |
- UpdateEstimate(info.arrival_time_ms, now_ms, acked_bitrate_bps, |
- &result.target_bitrate_bps); |
+ UpdateEstimate(packet_feedback.arrival_time_ms, now_ms, |
+ acked_bitrate_bps, &result.target_bitrate_bps); |
} |
} else if (probing_bps > 0) { |
// No overuse, but probing measured a bitrate. |
- rate_control_.SetEstimate(probing_bps, info.arrival_time_ms); |
+ rate_control_.SetEstimate(probing_bps, packet_feedback.arrival_time_ms); |
result.probe = true; |
result.updated = |
- UpdateEstimate(info.arrival_time_ms, now_ms, acked_bitrate_bps, |
- &result.target_bitrate_bps); |
+ UpdateEstimate(packet_feedback.arrival_time_ms, now_ms, |
+ acked_bitrate_bps, &result.target_bitrate_bps); |
} |
if (!result.updated && |
(last_update_ms_ == -1 || |
now_ms - last_update_ms_ > rate_control_.GetFeedbackInterval())) { |
result.updated = |
- UpdateEstimate(info.arrival_time_ms, now_ms, acked_bitrate_bps, |
- &result.target_bitrate_bps); |
+ UpdateEstimate(packet_feedback.arrival_time_ms, now_ms, |
+ acked_bitrate_bps, &result.target_bitrate_bps); |
} |
if (result.updated) { |
last_update_ms_ = now_ms; |