OLD | NEW |
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 Loading... |
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 Loading... |
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_ |
OLD | NEW |