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

Unified Diff: webrtc/voice_engine/transport_feedback_packet_loss_tracker.cc

Issue 2754373002: TransportFeedbackPacketLossTracker to receive std::vector<PacketFeedback> in place of the entire fe… (Closed)
Patch Set: . Created 3 years, 9 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/voice_engine/transport_feedback_packet_loss_tracker.cc
diff --git a/webrtc/voice_engine/transport_feedback_packet_loss_tracker.cc b/webrtc/voice_engine/transport_feedback_packet_loss_tracker.cc
index 637794398e2fe8edffc1a9c2e3bdbd34bd970df5..6cdeec2f1ff50405273255267ecc31865ffd1870 100644
--- a/webrtc/voice_engine/transport_feedback_packet_loss_tracker.cc
+++ b/webrtc/voice_engine/transport_feedback_packet_loss_tracker.cc
@@ -15,6 +15,7 @@
#include "webrtc/base/checks.h"
#include "webrtc/base/mod_ops.h"
+#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
#include "webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
namespace {
@@ -97,23 +98,17 @@ void TransportFeedbackPacketLossTracker::OnPacketAdded(uint16_t seq_num,
}
}
-void TransportFeedbackPacketLossTracker::OnReceivedTransportFeedback(
- const rtcp::TransportFeedback& feedback) {
- const auto& status_vector = feedback.GetStatusVector();
- const uint16_t base_seq_num = feedback.GetBaseSequence();
-
- uint16_t seq_num = base_seq_num;
- for (size_t i = 0; i < status_vector.size(); ++i, ++seq_num) {
- const auto& it = packet_status_window_.find(seq_num);
+void TransportFeedbackPacketLossTracker::OnNewTransportFeedbackVector(
+ const std::vector<PacketFeedback>& packet_feedback_vector) {
+ for (const PacketFeedback& packet : packet_feedback_vector) {
+ const auto& it = packet_status_window_.find(packet.sequence_number);
// Packets which aren't at least marked as unacked either do not belong to
// this media stream, or have been shifted out of window.
if (it == packet_status_window_.end())
continue;
- const bool lost =
- status_vector[i] ==
- webrtc::rtcp::TransportFeedback::StatusSymbol::kNotReceived;
+ const bool lost = packet.arrival_time_ms == PacketFeedback::kNotReceived;
const PacketStatus packet_status =
lost ? PacketStatus::Lost : PacketStatus::Received;

Powered by Google App Engine
This is Rietveld 408576698