Remove DCHECK on duplicate packets in RemoteEstimatorProxy.
R=sprang@webrtc.org Review URL: https://codereview.webrtc.org/1738763002 . Cr-Commit-Position: refs/heads/master@{#11760}
This commit is contained in:
parent
bf66ae6d80
commit
91c5b5650c
@ -106,7 +106,9 @@ void RemoteEstimatorProxy::OnPacketArrival(uint16_t sequence_number,
|
||||
window_start_seq_ = seq;
|
||||
}
|
||||
|
||||
RTC_DCHECK(packet_arrival_times_.end() == packet_arrival_times_.find(seq));
|
||||
// We are only interested in the first time a packet is received.
|
||||
if (packet_arrival_times_.find(seq) != packet_arrival_times_.end())
|
||||
return;
|
||||
|
||||
packet_arrival_times_[seq] = arrival_time;
|
||||
}
|
||||
|
||||
@ -82,6 +82,31 @@ TEST_F(RemoteEstimatorProxyTest, SendsSinglePacketFeedback) {
|
||||
Process();
|
||||
}
|
||||
|
||||
TEST_F(RemoteEstimatorProxyTest, DuplicatedPackets) {
|
||||
IncomingPacket(kBaseSeq, kBaseTimeMs);
|
||||
IncomingPacket(kBaseSeq, kBaseTimeMs + 1000);
|
||||
|
||||
EXPECT_CALL(router_, SendFeedback(_))
|
||||
.Times(1)
|
||||
.WillOnce(Invoke([this](rtcp::TransportFeedback* packet) {
|
||||
packet->Build();
|
||||
EXPECT_EQ(kBaseSeq, packet->GetBaseSequence());
|
||||
EXPECT_EQ(kMediaSsrc, packet->GetMediaSourceSsrc());
|
||||
|
||||
std::vector<rtcp::TransportFeedback::StatusSymbol> status_vec =
|
||||
packet->GetStatusVector();
|
||||
EXPECT_EQ(1u, status_vec.size());
|
||||
EXPECT_EQ(rtcp::TransportFeedback::StatusSymbol::kReceivedSmallDelta,
|
||||
status_vec[0]);
|
||||
std::vector<int64_t> delta_vec = packet->GetReceiveDeltasUs();
|
||||
EXPECT_EQ(1u, delta_vec.size());
|
||||
EXPECT_EQ(kBaseTimeMs, (packet->GetBaseTimeUs() + delta_vec[0]) / 1000);
|
||||
return true;
|
||||
}));
|
||||
|
||||
Process();
|
||||
}
|
||||
|
||||
TEST_F(RemoteEstimatorProxyTest, SendsFeedbackWithVaryingDeltas) {
|
||||
IncomingPacket(kBaseSeq, kBaseTimeMs);
|
||||
IncomingPacket(kBaseSeq + 1, kBaseTimeMs + kMaxSmallDeltaMs);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user