Index: webrtc/modules/rtp_rtcp/source/flexfec_receiver.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/flexfec_receiver.cc b/webrtc/modules/rtp_rtcp/source/flexfec_receiver.cc |
index 454f32798ac8a5adcd69bd9b3966aa108c59d2dc..5564cd6556eea3a99bb73b2a15452740f6cfd22c 100644 |
--- a/webrtc/modules/rtp_rtcp/source/flexfec_receiver.cc |
+++ b/webrtc/modules/rtp_rtcp/source/flexfec_receiver.cc |
@@ -59,6 +59,8 @@ FecPacketCounter FlexfecReceiver::GetPacketCounter() const { |
return packet_counter_; |
} |
+// TODO(eladalon): Consider using packet.recovered() to avoid processing |
+// recovered packets here. |
bool FlexfecReceiver::AddReceivedPacket(const RtpPacketReceived& packet) { |
RTC_DCHECK_CALLED_SEQUENTIALLY(&sequence_checker_); |
@@ -93,6 +95,11 @@ bool FlexfecReceiver::AddReceivedPacket(const RtpPacketReceived& packet) { |
if (received_packet->ssrc != protected_media_ssrc_) { |
return false; |
} |
+ // TODO(eladalon): It seems like, because of return-statement above, |
danilchap
2017/07/24 15:37:25
received_packet is a local variable: if return abo
eladalon
2017/07/24 15:53:55
Right you are. Looks like I was confused between |
|
+ // it could be that nobody ever ends up updating |is_fec|. Specifically, |
+ // it seems like a media packet would never be set to |is_fec=false| |
+ // if there is no FlexFEC stream protecting it. |
+ // https://bugs.chromium.org/p/webrtc/issues/detail?id=7954 |
received_packet->is_fec = false; |
// Insert entire packet into erasure code. |