Chromium Code Reviews| 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. |