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 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
117 | 117 |
118 RTCPHelp::RTCPReceiveInformation* CreateReceiveInformation( | 118 RTCPHelp::RTCPReceiveInformation* CreateReceiveInformation( |
119 uint32_t remoteSSRC); | 119 uint32_t remoteSSRC); |
120 RTCPHelp::RTCPReceiveInformation* GetReceiveInformation(uint32_t remoteSSRC); | 120 RTCPHelp::RTCPReceiveInformation* GetReceiveInformation(uint32_t remoteSSRC); |
121 | 121 |
122 void UpdateReceiveInformation( | 122 void UpdateReceiveInformation( |
123 RTCPHelp::RTCPReceiveInformation& receiveInformation); | 123 RTCPHelp::RTCPReceiveInformation& receiveInformation); |
124 | 124 |
125 void HandleSenderReceiverReport( | 125 void HandleSenderReceiverReport( |
126 RTCPUtility::RTCPParserV2& rtcpParser, | 126 RTCPUtility::RTCPParserV2& rtcpParser, |
127 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 127 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
128 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
128 | 129 |
129 void HandleReportBlock( | 130 void HandleReportBlock( |
130 const RTCPUtility::RTCPPacket& rtcpPacket, | 131 const RTCPUtility::RTCPPacket& rtcpPacket, |
131 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation, | 132 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation, |
132 uint32_t remoteSSRC); | 133 uint32_t remoteSSRC) |
134 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
133 | 135 |
134 void HandleSDES(RTCPUtility::RTCPParserV2& rtcpParser, | 136 void HandleSDES(RTCPUtility::RTCPParserV2& rtcpParser, |
135 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 137 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
136 | 138 |
pbos-webrtc
2015/10/09 09:50:52
git cl format
sprang_webrtc
2015/10/09 11:18:44
Fixed. For some reason this was not caught by git
| |
137 void HandleSDESChunk(RTCPUtility::RTCPParserV2& rtcpParser); | 139 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); |
140 | |
141 void HandleSDESChunk(RTCPUtility::RTCPParserV2& rtcpParser) | |
142 | |
143 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
138 | 144 |
139 void HandleXrHeader(RTCPUtility::RTCPParserV2& parser, | 145 void HandleXrHeader(RTCPUtility::RTCPParserV2& parser, |
140 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 146 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
147 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
141 | 148 |
142 void HandleXrReceiveReferenceTime( | 149 void HandleXrReceiveReferenceTime( |
143 RTCPUtility::RTCPParserV2& parser, | 150 RTCPUtility::RTCPParserV2& parser, |
144 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 151 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
152 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
145 | 153 |
146 void HandleXrDlrrReportBlock( | 154 void HandleXrDlrrReportBlock( |
147 RTCPUtility::RTCPParserV2& parser, | 155 RTCPUtility::RTCPParserV2& parser, |
148 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 156 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
157 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
149 | 158 |
150 void HandleXrDlrrReportBlockItem( | 159 void HandleXrDlrrReportBlockItem( |
151 const RTCPUtility::RTCPPacket& packet, | 160 const RTCPUtility::RTCPPacket& packet, |
152 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 161 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
162 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
153 | 163 |
154 void HandleXRVOIPMetric( | 164 void HandleXRVOIPMetric( |
155 RTCPUtility::RTCPParserV2& rtcpParser, | 165 RTCPUtility::RTCPParserV2& rtcpParser, |
156 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 166 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
167 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
157 | 168 |
158 void HandleNACK(RTCPUtility::RTCPParserV2& rtcpParser, | 169 void HandleNACK(RTCPUtility::RTCPParserV2& rtcpParser, |
159 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 170 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
171 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
160 | 172 |
161 void HandleNACKItem(const RTCPUtility::RTCPPacket& rtcpPacket, | 173 void HandleNACKItem(const RTCPUtility::RTCPPacket& rtcpPacket, |
162 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 174 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
175 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
163 | 176 |
164 void HandleBYE(RTCPUtility::RTCPParserV2& rtcpParser); | 177 void HandleBYE(RTCPUtility::RTCPParserV2& rtcpParser) |
178 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
165 | 179 |
166 void HandlePLI(RTCPUtility::RTCPParserV2& rtcpParser, | 180 void HandlePLI(RTCPUtility::RTCPParserV2& rtcpParser, |
167 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 181 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
182 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
168 | 183 |
169 void HandleSLI(RTCPUtility::RTCPParserV2& rtcpParser, | 184 void HandleSLI(RTCPUtility::RTCPParserV2& rtcpParser, |
170 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 185 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
186 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
171 | 187 |
172 void HandleSLIItem(const RTCPUtility::RTCPPacket& rtcpPacket, | 188 void HandleSLIItem(const RTCPUtility::RTCPPacket& rtcpPacket, |
173 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 189 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
190 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
174 | 191 |
175 void HandleRPSI(RTCPUtility::RTCPParserV2& rtcpParser, | 192 void HandleRPSI(RTCPUtility::RTCPParserV2& rtcpParser, |
176 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 193 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
194 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
177 | 195 |
178 void HandlePsfbApp(RTCPUtility::RTCPParserV2& rtcpParser, | 196 void HandlePsfbApp(RTCPUtility::RTCPParserV2& rtcpParser, |
179 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 197 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
198 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
180 | 199 |
181 void HandleREMBItem(RTCPUtility::RTCPParserV2& rtcpParser, | 200 void HandleREMBItem(RTCPUtility::RTCPParserV2& rtcpParser, |
182 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 201 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
202 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
183 | 203 |
184 void HandleIJ(RTCPUtility::RTCPParserV2& rtcpParser, | 204 void HandleIJ(RTCPUtility::RTCPParserV2& rtcpParser, |
185 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 205 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
206 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
186 | 207 |
187 void HandleIJItem(const RTCPUtility::RTCPPacket& rtcpPacket, | 208 void HandleIJItem(const RTCPUtility::RTCPPacket& rtcpPacket, |
188 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 209 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
210 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
189 | 211 |
190 void HandleTMMBR(RTCPUtility::RTCPParserV2& rtcpParser, | 212 void HandleTMMBR(RTCPUtility::RTCPParserV2& rtcpParser, |
191 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 213 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
214 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
192 | 215 |
193 void HandleTMMBRItem(RTCPHelp::RTCPReceiveInformation& receiveInfo, | 216 void HandleTMMBRItem(RTCPHelp::RTCPReceiveInformation& receiveInfo, |
194 const RTCPUtility::RTCPPacket& rtcpPacket, | 217 const RTCPUtility::RTCPPacket& rtcpPacket, |
195 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation, | 218 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation, |
196 uint32_t senderSSRC); | 219 uint32_t senderSSRC) |
220 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
197 | 221 |
198 void HandleTMMBN(RTCPUtility::RTCPParserV2& rtcpParser, | 222 void HandleTMMBN(RTCPUtility::RTCPParserV2& rtcpParser, |
199 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 223 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
224 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
200 | 225 |
201 void HandleSR_REQ(RTCPUtility::RTCPParserV2& rtcpParser, | 226 void HandleSR_REQ(RTCPUtility::RTCPParserV2& rtcpParser, |
202 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 227 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
228 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
203 | 229 |
204 void HandleTMMBNItem(RTCPHelp::RTCPReceiveInformation& receiveInfo, | 230 void HandleTMMBNItem(RTCPHelp::RTCPReceiveInformation& receiveInfo, |
205 const RTCPUtility::RTCPPacket& rtcpPacket); | 231 const RTCPUtility::RTCPPacket& rtcpPacket) |
232 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
206 | 233 |
207 void HandleFIR(RTCPUtility::RTCPParserV2& rtcpParser, | 234 void HandleFIR(RTCPUtility::RTCPParserV2& rtcpParser, |
208 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 235 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
236 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
209 | 237 |
210 void HandleFIRItem(RTCPHelp::RTCPReceiveInformation* receiveInfo, | 238 void HandleFIRItem(RTCPHelp::RTCPReceiveInformation* receiveInfo, |
211 const RTCPUtility::RTCPPacket& rtcpPacket, | 239 const RTCPUtility::RTCPPacket& rtcpPacket, |
212 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 240 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
241 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
213 | 242 |
214 void HandleAPP(RTCPUtility::RTCPParserV2& rtcpParser, | 243 void HandleAPP(RTCPUtility::RTCPParserV2& rtcpParser, |
215 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 244 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
245 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
216 | 246 |
217 void HandleAPPItem(RTCPUtility::RTCPParserV2& rtcpParser, | 247 void HandleAPPItem(RTCPUtility::RTCPParserV2& rtcpParser, |
218 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); | 248 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) |
249 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
219 | 250 |
220 void HandleTransportFeedback( | 251 void HandleTransportFeedback( |
221 RTCPUtility::RTCPParserV2* rtcp_parser, | 252 RTCPUtility::RTCPParserV2* rtcp_parser, |
222 RTCPHelp::RTCPPacketInformation* rtcp_packet_information); | 253 RTCPHelp::RTCPPacketInformation* rtcp_packet_information) |
254 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | |
223 | 255 |
224 private: | 256 private: |
225 typedef std::map<uint32_t, RTCPHelp::RTCPReceiveInformation*> | 257 typedef std::map<uint32_t, RTCPHelp::RTCPReceiveInformation*> |
226 ReceivedInfoMap; | 258 ReceivedInfoMap; |
227 // RTCP report block information mapped by remote SSRC. | 259 // RTCP report block information mapped by remote SSRC. |
228 typedef std::map<uint32_t, RTCPHelp::RTCPReportBlockInformation*> | 260 typedef std::map<uint32_t, RTCPHelp::RTCPReportBlockInformation*> |
229 ReportBlockInfoMap; | 261 ReportBlockInfoMap; |
230 // RTCP report block information map mapped by source SSRC. | 262 // RTCP report block information map mapped by source SSRC. |
231 typedef std::map<uint32_t, ReportBlockInfoMap> ReportBlockMap; | 263 typedef std::map<uint32_t, ReportBlockInfoMap> ReportBlockMap; |
232 | 264 |
233 RTCPHelp::RTCPReportBlockInformation* CreateOrGetReportBlockInformation( | 265 RTCPHelp::RTCPReportBlockInformation* CreateOrGetReportBlockInformation( |
234 uint32_t remote_ssrc, uint32_t source_ssrc) | 266 uint32_t remote_ssrc, uint32_t source_ssrc) |
235 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | 267 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); |
236 RTCPHelp::RTCPReportBlockInformation* GetReportBlockInformation( | 268 RTCPHelp::RTCPReportBlockInformation* GetReportBlockInformation( |
237 uint32_t remote_ssrc, uint32_t source_ssrc) const | 269 uint32_t remote_ssrc, uint32_t source_ssrc) const |
238 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); | 270 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); |
239 | 271 |
240 Clock* const _clock; | 272 Clock* const _clock; |
241 const bool receiver_only_; | 273 const bool receiver_only_; |
242 RtcpMode _method; | 274 RtcpMode _method; |
243 int64_t _lastReceived; | 275 int64_t _lastReceived; |
244 ModuleRtpRtcpImpl& _rtpRtcp; | 276 ModuleRtpRtcpImpl& _rtpRtcp; |
245 | 277 |
246 CriticalSectionWrapper* _criticalSectionFeedbacks; | 278 CriticalSectionWrapper* _criticalSectionFeedbacks; |
247 RtcpBandwidthObserver* const _cbRtcpBandwidthObserver; | 279 RtcpBandwidthObserver* const _cbRtcpBandwidthObserver; |
248 RtcpIntraFrameObserver* const _cbRtcpIntraFrameObserver; | 280 RtcpIntraFrameObserver* const _cbRtcpIntraFrameObserver; |
249 TransportFeedbackObserver* const _cbTransportFeedbackObserver; | 281 TransportFeedbackObserver* const _cbTransportFeedbackObserver; |
250 | 282 |
251 CriticalSectionWrapper* _criticalSectionRTCPReceiver; | 283 CriticalSectionWrapper* _criticalSectionRTCPReceiver; |
252 uint32_t main_ssrc_; | 284 uint32_t main_ssrc_ GUARDED_BY(_criticalSectionRTCPReceiver); |
253 uint32_t _remoteSSRC; | 285 uint32_t _remoteSSRC GUARDED_BY(_criticalSectionRTCPReceiver); |
254 std::set<uint32_t> registered_ssrcs_; | 286 std::set<uint32_t> registered_ssrcs_ GUARDED_BY(_criticalSectionRTCPReceiver); |
255 | 287 |
256 // Received send report | 288 // Received send report |
257 RTCPSenderInfo _remoteSenderInfo; | 289 RTCPSenderInfo _remoteSenderInfo; |
258 // when did we receive the last send report | 290 // when did we receive the last send report |
259 uint32_t _lastReceivedSRNTPsecs; | 291 uint32_t _lastReceivedSRNTPsecs; |
260 uint32_t _lastReceivedSRNTPfrac; | 292 uint32_t _lastReceivedSRNTPfrac; |
261 | 293 |
262 // Received XR receive time report. | 294 // Received XR receive time report. |
263 RtcpReceiveTimeInfo _remoteXRReceiveTimeInfo; | 295 RtcpReceiveTimeInfo _remoteXRReceiveTimeInfo; |
264 // Time when the report was received. | 296 // Time when the report was received. |
(...skipping 22 matching lines...) Expand all Loading... | |
287 RtcpPacketTypeCounterObserver* const packet_type_counter_observer_; | 319 RtcpPacketTypeCounterObserver* const packet_type_counter_observer_; |
288 RtcpPacketTypeCounter packet_type_counter_; | 320 RtcpPacketTypeCounter packet_type_counter_; |
289 | 321 |
290 RTCPUtility::NackStats nack_stats_; | 322 RTCPUtility::NackStats nack_stats_; |
291 | 323 |
292 size_t num_skipped_packets_; | 324 size_t num_skipped_packets_; |
293 int64_t last_skipped_packets_warning_; | 325 int64_t last_skipped_packets_warning_; |
294 }; | 326 }; |
295 } // namespace webrtc | 327 } // namespace webrtc |
296 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_H_ | 328 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_H_ |
OLD | NEW |