rtt calculation handles time go backwards

CompactNtpIntervalToMs renamed to CompactNtpRttToMs and handle special cases:
large values consider negative/invalid and result in value of 1.
0 result consider too small and increases to 1.

BUG=590996
R=asapersson@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1763823003 .

Cr-Commit-Position: refs/heads/master@{#11928}
This commit is contained in:
Danil Chapovalov
2016-03-09 15:14:35 +01:00
parent 8886c81658
commit c1e55c7136
9 changed files with 167 additions and 36 deletions

View File

@ -77,6 +77,7 @@ public:
int32_t SenderInfoReceived(RTCPSenderInfo* senderInfo) const;
void SetRtcpXrRrtrStatus(bool enable);
bool GetAndResetXrRrRtt(int64_t* rtt_ms);
// get statistics
@ -292,6 +293,7 @@ protected:
uint32_t _lastReceivedXRNTPsecs;
uint32_t _lastReceivedXRNTPfrac;
// Estimated rtt, zero when there is no valid estimate.
bool xr_rrtr_status_ GUARDED_BY(_criticalSectionRTCPReceiver);
int64_t xr_rr_rtt_ms_;
// Received report blocks.