From 50b9eca34c98e09acffd132195c7341516e37f45 Mon Sep 17 00:00:00 2001 From: Jeff Becker Date: Thu, 28 Jul 2016 09:50:19 -0400 Subject: [PATCH] check for bogus times in packets --- Streaming.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Streaming.cpp b/Streaming.cpp index 3806d97d..316a3031 100644 --- a/Streaming.cpp +++ b/Streaming.cpp @@ -268,7 +268,12 @@ namespace stream } } auto sentPacket = *it; - uint64_t rtt = ts - sentPacket->sendTime; + uint64_t rtt = ts - sentPacket->sendTime; + if(ts < sentPacket->sendTime) + { + LogPrint(eLogError, "Streaming: Packet ", seqn, "sent from the future, sendTime=", sentPacket->sendTime); + rtt = 0; + } m_RTT = (m_RTT*seqn + rtt)/(seqn + 1); m_RTO = m_RTT*1.5; // TODO: implement it better LogPrint (eLogDebug, "Streaming: Packet ", seqn, " acknowledged rtt=", rtt);