Index: media/cast/transport/rtp_sender/rtp_sender.cc |
diff --git a/media/cast/transport/rtp_sender/rtp_sender.cc b/media/cast/transport/rtp_sender/rtp_sender.cc |
index b937396869b9b2b8f79041647020205695cbbeaf..359ccf3ba0ab369f457eba2d27db3af664d21d87 100644 |
--- a/media/cast/transport/rtp_sender/rtp_sender.cc |
+++ b/media/cast/transport/rtp_sender/rtp_sender.cc |
@@ -74,7 +74,8 @@ void RtpSender::SendFrame(const EncodedFrame& frame) { |
} |
void RtpSender::ResendPackets( |
- const MissingFramesAndPacketsMap& missing_frames_and_packets) { |
+ const MissingFramesAndPacketsMap& missing_frames_and_packets, |
+ bool cancel_rtx_if_not_in_list) { |
DCHECK(storage_); |
// Iterate over all frames in the list. |
for (MissingFramesAndPacketsMap::const_iterator it = |
@@ -98,7 +99,8 @@ void RtpSender::ResendPackets( |
// If the resend request doesn't include this packet then cancel |
// re-transmission already in queue. |
- if (!missing_packet_set.empty() && |
+ if (cancel_rtx_if_not_in_list && |
+ !missing_packet_set.empty() && |
missing_packet_set.find(packet_id) == missing_packet_set.end()) { |
transport_->CancelSendingPacket(it->first); |
} else { |