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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 void SetStartTimestamp(uint32_t start_timestamp); | 91 void SetStartTimestamp(uint32_t start_timestamp); |
92 | 92 |
93 void SetLastRtpTime(uint32_t rtp_timestamp, int64_t capture_time_ms); | 93 void SetLastRtpTime(uint32_t rtp_timestamp, int64_t capture_time_ms); |
94 | 94 |
95 void SetSSRC(uint32_t ssrc); | 95 void SetSSRC(uint32_t ssrc); |
96 | 96 |
97 void SetRemoteSSRC(uint32_t ssrc); | 97 void SetRemoteSSRC(uint32_t ssrc); |
98 | 98 |
99 int32_t SetCNAME(const char* cName); | 99 int32_t SetCNAME(const char* cName); |
100 | 100 |
101 int32_t AddMixedCNAME(uint32_t SSRC, const char cName[RTCP_CNAME_SIZE]); | 101 int32_t AddMixedCNAME(uint32_t SSRC, const char* c_name); |
102 | 102 |
103 int32_t RemoveMixedCNAME(uint32_t SSRC); | 103 int32_t RemoveMixedCNAME(uint32_t SSRC); |
104 | 104 |
105 int64_t SendTimeOfSendReport(uint32_t sendReport); | 105 int64_t SendTimeOfSendReport(uint32_t sendReport); |
106 | 106 |
107 bool SendTimeOfXrRrReport(uint32_t mid_ntp, int64_t* time_ms) const; | 107 bool SendTimeOfXrRrReport(uint32_t mid_ntp, int64_t* time_ms) const; |
108 | 108 |
109 bool TimeToSendRTCPReport(bool sendKeyframeBeforeRTP = false) const; | 109 bool TimeToSendRTCPReport(bool sendKeyframeBeforeRTP = false) const; |
110 | 110 |
111 int32_t SendRTCP(const FeedbackState& feedback_state, | 111 int32_t SendRTCP(const FeedbackState& feedback_state, |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 uint64_t pictureID, | 193 uint64_t pictureID, |
194 uint8_t* rtcp_buffer, | 194 uint8_t* rtcp_buffer, |
195 int buffer_size); | 195 int buffer_size); |
196 | 196 |
197 BuildResult BuildSR(RtcpContext* context) | 197 BuildResult BuildSR(RtcpContext* context) |
198 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); | 198 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); |
199 BuildResult BuildRR(RtcpContext* context) | 199 BuildResult BuildRR(RtcpContext* context) |
200 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); | 200 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); |
201 BuildResult BuildExtendedJitterReport(RtcpContext* context) | 201 BuildResult BuildExtendedJitterReport(RtcpContext* context) |
202 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); | 202 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); |
203 BuildResult BuildSDEC(RtcpContext* context) | 203 BuildResult BuildSDES(RtcpContext* context) |
204 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); | 204 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); |
205 BuildResult BuildPLI(RtcpContext* context) | 205 BuildResult BuildPLI(RtcpContext* context) |
206 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); | 206 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); |
207 BuildResult BuildREMB(RtcpContext* context) | 207 BuildResult BuildREMB(RtcpContext* context) |
208 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); | 208 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); |
209 BuildResult BuildTMMBR(RtcpContext* context) | 209 BuildResult BuildTMMBR(RtcpContext* context) |
210 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); | 210 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); |
211 BuildResult BuildTMMBN(RtcpContext* context) | 211 BuildResult BuildTMMBN(RtcpContext* context) |
212 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); | 212 EXCLUSIVE_LOCKS_REQUIRED(critical_section_rtcp_sender_); |
213 BuildResult BuildAPP(RtcpContext* context) | 213 BuildResult BuildAPP(RtcpContext* context) |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 bool extended_jitter_report_enabled_ GUARDED_BY(critical_section_rtcp_sender_); | 245 bool extended_jitter_report_enabled_ GUARDED_BY(critical_section_rtcp_sender_); |
246 | 246 |
247 int64_t next_time_to_send_rtcp_ GUARDED_BY(critical_section_rtcp_sender_); | 247 int64_t next_time_to_send_rtcp_ GUARDED_BY(critical_section_rtcp_sender_); |
248 | 248 |
249 uint32_t start_timestamp_ GUARDED_BY(critical_section_rtcp_sender_); | 249 uint32_t start_timestamp_ GUARDED_BY(critical_section_rtcp_sender_); |
250 uint32_t last_rtp_timestamp_ GUARDED_BY(critical_section_rtcp_sender_); | 250 uint32_t last_rtp_timestamp_ GUARDED_BY(critical_section_rtcp_sender_); |
251 int64_t last_frame_capture_time_ms_ GUARDED_BY(critical_section_rtcp_sender_); | 251 int64_t last_frame_capture_time_ms_ GUARDED_BY(critical_section_rtcp_sender_); |
252 uint32_t ssrc_ GUARDED_BY(critical_section_rtcp_sender_); | 252 uint32_t ssrc_ GUARDED_BY(critical_section_rtcp_sender_); |
253 // SSRC that we receive on our RTP channel | 253 // SSRC that we receive on our RTP channel |
254 uint32_t remote_ssrc_ GUARDED_BY(critical_section_rtcp_sender_); | 254 uint32_t remote_ssrc_ GUARDED_BY(critical_section_rtcp_sender_); |
255 char cname_[RTCP_CNAME_SIZE] GUARDED_BY(critical_section_rtcp_sender_); | 255 std::string cname_ GUARDED_BY(critical_section_rtcp_sender_); |
256 | 256 |
257 ReceiveStatistics* receive_statistics_ | 257 ReceiveStatistics* receive_statistics_ |
258 GUARDED_BY(critical_section_rtcp_sender_); | 258 GUARDED_BY(critical_section_rtcp_sender_); |
259 std::map<uint32_t, rtcp::ReportBlock> report_blocks_ | 259 std::map<uint32_t, rtcp::ReportBlock> report_blocks_ |
260 GUARDED_BY(critical_section_rtcp_sender_); | 260 GUARDED_BY(critical_section_rtcp_sender_); |
261 // TODO(sprang): Can we avoid pointers here? | 261 std::map<uint32_t, std::string> csrc_cnames_ |
262 std::map<uint32_t, RTCPUtility::RTCPCnameInformation*> csrc_cnames_ | |
263 GUARDED_BY(critical_section_rtcp_sender_); | 262 GUARDED_BY(critical_section_rtcp_sender_); |
264 | 263 |
265 // Sent | 264 // Sent |
266 uint32_t last_send_report_[RTCP_NUMBER_OF_SR] GUARDED_BY( | 265 uint32_t last_send_report_[RTCP_NUMBER_OF_SR] GUARDED_BY( |
267 critical_section_rtcp_sender_); // allow packet loss and RTT above 1 sec | 266 critical_section_rtcp_sender_); // allow packet loss and RTT above 1 sec |
268 int64_t last_rtcp_time_[RTCP_NUMBER_OF_SR] GUARDED_BY( | 267 int64_t last_rtcp_time_[RTCP_NUMBER_OF_SR] GUARDED_BY( |
269 critical_section_rtcp_sender_); | 268 critical_section_rtcp_sender_); |
270 | 269 |
271 // Sent XR receiver reference time report. | 270 // Sent XR receiver reference time report. |
272 // <mid ntp (mid 32 bits of the 64 bits NTP timestamp), send time in ms>. | 271 // <mid ntp (mid 32 bits of the 64 bits NTP timestamp), send time in ms>. |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
328 std::set<ReportFlag> report_flags_ GUARDED_BY(critical_section_rtcp_sender_); | 327 std::set<ReportFlag> report_flags_ GUARDED_BY(critical_section_rtcp_sender_); |
329 | 328 |
330 typedef BuildResult (RTCPSender::*Builder)(RtcpContext*); | 329 typedef BuildResult (RTCPSender::*Builder)(RtcpContext*); |
331 std::map<RTCPPacketType, Builder> builders_; | 330 std::map<RTCPPacketType, Builder> builders_; |
332 | 331 |
333 class PacketBuiltCallback; | 332 class PacketBuiltCallback; |
334 }; | 333 }; |
335 } // namespace webrtc | 334 } // namespace webrtc |
336 | 335 |
337 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_SENDER_H_ | 336 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_SENDER_H_ |
OLD | NEW |