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

Unified Diff: modules/rtp_rtcp/source/ulpfec_receiver_impl.cc

Issue 3012243002: Change ForwardErrorCorrection class to accept one received packet at a time. (Closed)
Patch Set: Rebased. Created 3 years, 3 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
« no previous file with comments | « modules/rtp_rtcp/source/ulpfec_receiver_impl.h ('k') | modules/rtp_rtcp/test/testFec/test_fec.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: modules/rtp_rtcp/source/ulpfec_receiver_impl.cc
diff --git a/modules/rtp_rtcp/source/ulpfec_receiver_impl.cc b/modules/rtp_rtcp/source/ulpfec_receiver_impl.cc
index a35393d73252b32c32f815765a254d34a4d8a8da..4292f3ca625b984798811316bb04781189e892c0 100644
--- a/modules/rtp_rtcp/source/ulpfec_receiver_impl.cc
+++ b/modules/rtp_rtcp/source/ulpfec_receiver_impl.cc
@@ -216,23 +216,22 @@ int32_t UlpfecReceiverImpl::AddReceivedRedPacket(
return 0;
}
+// TODO(nisse): Drop always-zero return value.
int32_t UlpfecReceiverImpl::ProcessReceivedFec() {
crit_sect_.Enter();
- if (!received_packets_.empty()) {
+ for (const auto& received_packet : received_packets_) {
// Send received media packet to VCM.
- if (!received_packets_.front()->is_fec) {
- ForwardErrorCorrection::Packet* packet = received_packets_.front()->pkt;
+ if (!received_packet->is_fec) {
+ ForwardErrorCorrection::Packet* packet = received_packet->pkt;
crit_sect_.Leave();
recovered_packet_callback_->OnRecoveredPacket(packet->data,
packet->length);
crit_sect_.Enter();
}
- if (fec_->DecodeFec(&received_packets_, &recovered_packets_) != 0) {
- crit_sect_.Leave();
- return -1;
- }
- RTC_DCHECK(received_packets_.empty());
+ fec_->DecodeFec(*received_packet, &recovered_packets_);
}
+ received_packets_.clear();
+
// Send any recovered media packets to VCM.
for (const auto& recovered_packet : recovered_packets_) {
if (recovered_packet->returned) {
« no previous file with comments | « modules/rtp_rtcp/source/ulpfec_receiver_impl.h ('k') | modules/rtp_rtcp/test/testFec/test_fec.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698