| 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 |
| 11 #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_H_ | 11 #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_H_ |
| 12 #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_H_ | 12 #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_H_ |
| 13 | 13 |
| 14 #include <map> | 14 #include <map> |
| 15 #include <set> | 15 #include <set> |
| 16 #include <string> |
| 16 #include <vector> | 17 #include <vector> |
| 17 | 18 |
| 18 #include "webrtc/base/criticalsection.h" | 19 #include "webrtc/base/criticalsection.h" |
| 19 #include "webrtc/base/thread_annotations.h" | 20 #include "webrtc/base/thread_annotations.h" |
| 20 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" | 21 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" |
| 21 #include "webrtc/modules/rtp_rtcp/source/rtcp_receiver_help.h" | 22 #include "webrtc/modules/rtp_rtcp/source/rtcp_receiver_help.h" |
| 22 #include "webrtc/modules/rtp_rtcp/source/rtcp_utility.h" | 23 #include "webrtc/modules/rtp_rtcp/source/rtcp_utility.h" |
| 23 #include "webrtc/typedefs.h" | 24 #include "webrtc/typedefs.h" |
| 24 | 25 |
| 25 namespace webrtc { | 26 namespace webrtc { |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 // RTCP report block information map mapped by source SSRC. | 121 // RTCP report block information map mapped by source SSRC. |
| 121 using ReportBlockMap = std::map<uint32_t, ReportBlockInfoMap>; | 122 using ReportBlockMap = std::map<uint32_t, ReportBlockInfoMap>; |
| 122 | 123 |
| 123 bool ParseCompoundPacket(const uint8_t* packet_begin, | 124 bool ParseCompoundPacket(const uint8_t* packet_begin, |
| 124 const uint8_t* packet_end, | 125 const uint8_t* packet_end, |
| 125 PacketInformation* packet_information); | 126 PacketInformation* packet_information); |
| 126 | 127 |
| 127 void TriggerCallbacksFromRTCPPacket( | 128 void TriggerCallbacksFromRTCPPacket( |
| 128 const PacketInformation& packet_information); | 129 const PacketInformation& packet_information); |
| 129 | 130 |
| 130 RTCPUtility::RTCPCnameInformation* CreateCnameInformation( | |
| 131 uint32_t remoteSSRC); | |
| 132 RTCPUtility::RTCPCnameInformation* GetCnameInformation( | |
| 133 uint32_t remoteSSRC) const; | |
| 134 | |
| 135 RTCPHelp::RTCPReceiveInformation* CreateReceiveInformation( | 131 RTCPHelp::RTCPReceiveInformation* CreateReceiveInformation( |
| 136 uint32_t remoteSSRC); | 132 uint32_t remoteSSRC); |
| 137 RTCPHelp::RTCPReceiveInformation* GetReceiveInformation(uint32_t remoteSSRC); | 133 RTCPHelp::RTCPReceiveInformation* GetReceiveInformation(uint32_t remoteSSRC); |
| 138 | 134 |
| 139 void HandleSenderReport(const rtcp::CommonHeader& rtcp_block, | 135 void HandleSenderReport(const rtcp::CommonHeader& rtcp_block, |
| 140 PacketInformation* packet_information) | 136 PacketInformation* packet_information) |
| 141 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | 137 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); |
| 142 | 138 |
| 143 void HandleReceiverReport(const rtcp::CommonHeader& rtcp_block, | 139 void HandleReceiverReport(const rtcp::CommonHeader& rtcp_block, |
| 144 PacketInformation* packet_information) | 140 PacketInformation* packet_information) |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 uint32_t _lastReceivedXRNTPsecs; | 238 uint32_t _lastReceivedXRNTPsecs; |
| 243 uint32_t _lastReceivedXRNTPfrac; | 239 uint32_t _lastReceivedXRNTPfrac; |
| 244 // Estimated rtt, zero when there is no valid estimate. | 240 // Estimated rtt, zero when there is no valid estimate. |
| 245 bool xr_rrtr_status_ GUARDED_BY(_criticalSectionRTCPReceiver); | 241 bool xr_rrtr_status_ GUARDED_BY(_criticalSectionRTCPReceiver); |
| 246 int64_t xr_rr_rtt_ms_; | 242 int64_t xr_rr_rtt_ms_; |
| 247 | 243 |
| 248 // Received report blocks. | 244 // Received report blocks. |
| 249 ReportBlockMap _receivedReportBlockMap | 245 ReportBlockMap _receivedReportBlockMap |
| 250 GUARDED_BY(_criticalSectionRTCPReceiver); | 246 GUARDED_BY(_criticalSectionRTCPReceiver); |
| 251 ReceivedInfoMap _receivedInfoMap; | 247 ReceivedInfoMap _receivedInfoMap; |
| 252 std::map<uint32_t, RTCPUtility::RTCPCnameInformation*> _receivedCnameMap; | 248 std::map<uint32_t, std::string> received_cnames_ |
| 249 GUARDED_BY(_criticalSectionRTCPReceiver); |
| 253 | 250 |
| 254 // The last time we received an RTCP RR. | 251 // The last time we received an RTCP RR. |
| 255 int64_t _lastReceivedRrMs; | 252 int64_t _lastReceivedRrMs; |
| 256 | 253 |
| 257 // The time we last received an RTCP RR telling we have successfully | 254 // The time we last received an RTCP RR telling we have successfully |
| 258 // delivered RTP packet to the remote side. | 255 // delivered RTP packet to the remote side. |
| 259 int64_t _lastIncreasedSequenceNumberMs; | 256 int64_t _lastIncreasedSequenceNumberMs; |
| 260 | 257 |
| 261 RtcpStatisticsCallback* stats_callback_ GUARDED_BY(_criticalSectionFeedbacks); | 258 RtcpStatisticsCallback* stats_callback_ GUARDED_BY(_criticalSectionFeedbacks); |
| 262 | 259 |
| 263 RtcpPacketTypeCounterObserver* const packet_type_counter_observer_; | 260 RtcpPacketTypeCounterObserver* const packet_type_counter_observer_; |
| 264 RtcpPacketTypeCounter packet_type_counter_; | 261 RtcpPacketTypeCounter packet_type_counter_; |
| 265 | 262 |
| 266 RTCPUtility::NackStats nack_stats_; | 263 RTCPUtility::NackStats nack_stats_; |
| 267 | 264 |
| 268 size_t num_skipped_packets_; | 265 size_t num_skipped_packets_; |
| 269 int64_t last_skipped_packets_warning_; | 266 int64_t last_skipped_packets_warning_; |
| 270 }; | 267 }; |
| 271 } // namespace webrtc | 268 } // namespace webrtc |
| 272 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_H_ | 269 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_H_ |
| OLD | NEW |