Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtcp_receiver.h

Issue 1763823003: rtt calculation handles time go backwards (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/modules/rtp_rtcp/rtp_rtcp.gypi ('k') | webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 70
71 // get rtt 71 // get rtt
72 int32_t RTT(uint32_t remoteSSRC, 72 int32_t RTT(uint32_t remoteSSRC,
73 int64_t* RTT, 73 int64_t* RTT,
74 int64_t* avgRTT, 74 int64_t* avgRTT,
75 int64_t* minRTT, 75 int64_t* minRTT,
76 int64_t* maxRTT) const; 76 int64_t* maxRTT) const;
77 77
78 int32_t SenderInfoReceived(RTCPSenderInfo* senderInfo) const; 78 int32_t SenderInfoReceived(RTCPSenderInfo* senderInfo) const;
79 79
80 void SetRtcpXrRrtrStatus(bool enable);
80 bool GetAndResetXrRrRtt(int64_t* rtt_ms); 81 bool GetAndResetXrRrRtt(int64_t* rtt_ms);
81 82
82 // get statistics 83 // get statistics
83 int32_t StatisticsReceived( 84 int32_t StatisticsReceived(
84 std::vector<RTCPReportBlock>* receiveBlocks) const; 85 std::vector<RTCPReportBlock>* receiveBlocks) const;
85 86
86 // Returns true if we haven't received an RTCP RR for several RTCP 87 // Returns true if we haven't received an RTCP RR for several RTCP
87 // intervals, but only triggers true once. 88 // intervals, but only triggers true once.
88 bool RtcpRrTimeout(int64_t rtcp_interval_ms); 89 bool RtcpRrTimeout(int64_t rtcp_interval_ms);
89 90
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 // when did we receive the last send report 286 // when did we receive the last send report
286 uint32_t _lastReceivedSRNTPsecs; 287 uint32_t _lastReceivedSRNTPsecs;
287 uint32_t _lastReceivedSRNTPfrac; 288 uint32_t _lastReceivedSRNTPfrac;
288 289
289 // Received XR receive time report. 290 // Received XR receive time report.
290 RtcpReceiveTimeInfo _remoteXRReceiveTimeInfo; 291 RtcpReceiveTimeInfo _remoteXRReceiveTimeInfo;
291 // Time when the report was received. 292 // Time when the report was received.
292 uint32_t _lastReceivedXRNTPsecs; 293 uint32_t _lastReceivedXRNTPsecs;
293 uint32_t _lastReceivedXRNTPfrac; 294 uint32_t _lastReceivedXRNTPfrac;
294 // Estimated rtt, zero when there is no valid estimate. 295 // Estimated rtt, zero when there is no valid estimate.
296 bool xr_rrtr_status_ GUARDED_BY(_criticalSectionRTCPReceiver);
295 int64_t xr_rr_rtt_ms_; 297 int64_t xr_rr_rtt_ms_;
296 298
297 // Received report blocks. 299 // Received report blocks.
298 ReportBlockMap _receivedReportBlockMap 300 ReportBlockMap _receivedReportBlockMap
299 GUARDED_BY(_criticalSectionRTCPReceiver); 301 GUARDED_BY(_criticalSectionRTCPReceiver);
300 ReceivedInfoMap _receivedInfoMap; 302 ReceivedInfoMap _receivedInfoMap;
301 std::map<uint32_t, RTCPUtility::RTCPCnameInformation*> _receivedCnameMap; 303 std::map<uint32_t, RTCPUtility::RTCPCnameInformation*> _receivedCnameMap;
302 304
303 // The last time we received an RTCP RR. 305 // The last time we received an RTCP RR.
304 int64_t _lastReceivedRrMs; 306 int64_t _lastReceivedRrMs;
305 307
306 // The time we last received an RTCP RR telling we have successfully 308 // The time we last received an RTCP RR telling we have successfully
307 // delivered RTP packet to the remote side. 309 // delivered RTP packet to the remote side.
308 int64_t _lastIncreasedSequenceNumberMs; 310 int64_t _lastIncreasedSequenceNumberMs;
309 311
310 RtcpStatisticsCallback* stats_callback_ GUARDED_BY(_criticalSectionFeedbacks); 312 RtcpStatisticsCallback* stats_callback_ GUARDED_BY(_criticalSectionFeedbacks);
311 313
312 RtcpPacketTypeCounterObserver* const packet_type_counter_observer_; 314 RtcpPacketTypeCounterObserver* const packet_type_counter_observer_;
313 RtcpPacketTypeCounter packet_type_counter_; 315 RtcpPacketTypeCounter packet_type_counter_;
314 316
315 RTCPUtility::NackStats nack_stats_; 317 RTCPUtility::NackStats nack_stats_;
316 318
317 size_t num_skipped_packets_; 319 size_t num_skipped_packets_;
318 int64_t last_skipped_packets_warning_; 320 int64_t last_skipped_packets_warning_;
319 }; 321 };
320 } // namespace webrtc 322 } // namespace webrtc
321 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_H_ 323 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_H_
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/rtp_rtcp.gypi ('k') | webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698