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 13899d5e5feec54a1f9d2b95a606a452d736d184..6b5a5c7fc3c0a16d31e1275d0704755d444f2d30 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, |
+ // 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. |