Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(447)

Unified Diff: webrtc/modules/congestion_controller/transport_feedback_adapter.cc

Issue 2633923003: Add rtcp::TransportFeedback::GetReceivedPackets() (Closed)
Patch Set: . Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/congestion_controller/transport_feedback_adapter.cc
diff --git a/webrtc/modules/congestion_controller/transport_feedback_adapter.cc b/webrtc/modules/congestion_controller/transport_feedback_adapter.cc
index 7ffbe8d2da0f783b75cac8b5721b8dbfc76da258..645634957a186427e4bb04e862b1869661c1a344 100644
--- a/webrtc/modules/congestion_controller/transport_feedback_adapter.cc
+++ b/webrtc/modules/congestion_controller/transport_feedback_adapter.cc
@@ -111,33 +111,24 @@ std::vector<PacketInfo> TransportFeedbackAdapter::GetPacketFeedbackVector(
}
last_timestamp_us_ = timestamp_us;
- uint16_t sequence_number = feedback.GetBaseSequence();
- std::vector<int64_t> delta_vec = feedback.GetReceiveDeltasUs();
- auto delta_it = delta_vec.begin();
std::vector<PacketInfo> packet_feedback_vector;
- packet_feedback_vector.reserve(delta_vec.size());
-
+ packet_feedback_vector.reserve(feedback.GetReceivedPackets().size());
{
rtc::CritScope cs(&lock_);
size_t failed_lookups = 0;
int64_t offset_us = 0;
- for (auto symbol : feedback.GetStatusVector()) {
- if (symbol != rtcp::TransportFeedback::StatusSymbol::kNotReceived) {
- RTC_DCHECK(delta_it != delta_vec.end());
- offset_us += *(delta_it++);
- int64_t timestamp_ms = current_offset_ms_ + (offset_us / 1000);
- PacketInfo info(timestamp_ms, sequence_number);
- if (send_time_history_.GetInfo(&info, true) && info.send_time_ms >= 0) {
- packet_feedback_vector.push_back(info);
- } else {
- ++failed_lookups;
- }
+ for (const auto& packet : feedback.GetReceivedPackets()) {
+ offset_us += packet.delta_us();
+ int64_t timestamp_ms = current_offset_ms_ + (offset_us / 1000);
+ PacketInfo info(timestamp_ms, packet.sequence_number());
+ if (send_time_history_.GetInfo(&info, true) && info.send_time_ms >= 0) {
+ packet_feedback_vector.push_back(info);
+ } else {
+ ++failed_lookups;
}
- ++sequence_number;
}
std::sort(packet_feedback_vector.begin(), packet_feedback_vector.end(),
PacketInfoComparator());
- RTC_DCHECK(delta_it == delta_vec.end());
if (failed_lookups > 0) {
LOG(LS_WARNING) << "Failed to lookup send time for " << failed_lookups
<< " packet" << (failed_lookups > 1 ? "s" : "")

Powered by Google App Engine
This is Rietveld 408576698