EndToEndTest.ReceivesAndRetransmitsNack now handles reordering.

Since packets can be received out of order NACKs could be triggered before any
packet was actually dropped. This cause the test to never drop packets which in
turn caused the block of code which set the |observation_complete_| event to
never execute.

BUG=webrtc:2845

Review-Url: https://codereview.webrtc.org/2613443002
Cr-Commit-Position: refs/heads/master@{#15990}
This commit is contained in:
philipel 2017-01-10 05:19:19 -08:00 committed by Commit bot
parent 11273f1e00
commit 8054c7ecf8

View File

@ -471,13 +471,14 @@ TEST_P(EndToEndTest, ReceivesAndRetransmitsNack) {
if (dropped_packets_.find(header.sequenceNumber) !=
dropped_packets_.end()) {
retransmitted_packets_.insert(header.sequenceNumber);
if (nacks_left_ <= 0 &&
retransmitted_packets_.size() == dropped_packets_.size()) {
observation_complete_.Set();
}
return SEND_PACKET;
}
if (nacks_left_ <= 0 &&
retransmitted_packets_.size() == dropped_packets_.size()) {
observation_complete_.Set();
}
++sent_rtp_packets_;
// Enough NACKs received, stop dropping packets.