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 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 kRtxOff = 0x0, | 125 kRtxOff = 0x0, |
126 kRtxRetransmitted = 0x1, // Only send retransmissions over RTX. | 126 kRtxRetransmitted = 0x1, // Only send retransmissions over RTX. |
127 kRtxRedundantPayloads = 0x2 // Preventively send redundant payloads | 127 kRtxRedundantPayloads = 0x2 // Preventively send redundant payloads |
128 // instead of padding. | 128 // instead of padding. |
129 }; | 129 }; |
130 | 130 |
131 const size_t kRtxHeaderSize = 2; | 131 const size_t kRtxHeaderSize = 2; |
132 | 132 |
133 struct RTCPReportBlock { | 133 struct RTCPReportBlock { |
134 RTCPReportBlock() | 134 RTCPReportBlock() |
135 : remoteSSRC(0), sourceSSRC(0), fractionLost(0), cumulativeLost(0), | 135 : sender_ssrc(0), |
136 extendedHighSeqNum(0), jitter(0), lastSR(0), | 136 source_ssrc(0), |
137 delaySinceLastSR(0) {} | 137 fraction_lost(0), |
| 138 packets_lost(0), |
| 139 extended_highest_sequence_number(0), |
| 140 jitter(0), |
| 141 last_sender_report_timestamp(0), |
| 142 delay_since_last_sender_report(0) {} |
138 | 143 |
139 RTCPReportBlock(uint32_t remote_ssrc, | 144 RTCPReportBlock(uint32_t sender_ssrc, |
140 uint32_t source_ssrc, | 145 uint32_t source_ssrc, |
141 uint8_t fraction_lost, | 146 uint8_t fraction_lost, |
142 uint32_t cumulative_lost, | 147 uint32_t packets_lost, |
143 uint32_t extended_high_sequence_number, | 148 uint32_t extended_highest_sequence_number, |
144 uint32_t jitter, | 149 uint32_t jitter, |
145 uint32_t last_sender_report, | 150 uint32_t last_sender_report_timestamp, |
146 uint32_t delay_since_last_sender_report) | 151 uint32_t delay_since_last_sender_report) |
147 : remoteSSRC(remote_ssrc), | 152 : sender_ssrc(sender_ssrc), |
148 sourceSSRC(source_ssrc), | 153 source_ssrc(source_ssrc), |
149 fractionLost(fraction_lost), | 154 fraction_lost(fraction_lost), |
150 cumulativeLost(cumulative_lost), | 155 packets_lost(packets_lost), |
151 extendedHighSeqNum(extended_high_sequence_number), | 156 extended_highest_sequence_number(extended_highest_sequence_number), |
152 jitter(jitter), | 157 jitter(jitter), |
153 lastSR(last_sender_report), | 158 last_sender_report_timestamp(last_sender_report_timestamp), |
154 delaySinceLastSR(delay_since_last_sender_report) {} | 159 delay_since_last_sender_report(delay_since_last_sender_report) {} |
155 | 160 |
156 // Fields as described by RFC 3550 6.4.2. | 161 // Fields as described by RFC 3550 6.4.2. |
157 uint32_t remoteSSRC; // SSRC of sender of this report. | 162 union { |
158 uint32_t sourceSSRC; // SSRC of the RTP packet sender. | 163 uint32_t sender_ssrc; // SSRC of sender of this report. |
159 uint8_t fractionLost; | 164 RTC_DEPRECATED uint32_t remoteSSRC; |
160 uint32_t cumulativeLost; // 24 bits valid. | 165 }; |
161 uint32_t extendedHighSeqNum; | 166 union { |
| 167 uint32_t source_ssrc; // SSRC of the RTP packet sender. |
| 168 RTC_DEPRECATED uint32_t sourceSSRC; |
| 169 }; |
| 170 union { |
| 171 RTC_DEPRECATED uint8_t fractionLost; |
| 172 uint8_t fraction_lost; |
| 173 }; |
| 174 union { |
| 175 uint32_t packets_lost; // 24 bits valid. |
| 176 RTC_DEPRECATED uint32_t cumulativeLost; |
| 177 }; |
| 178 union { |
| 179 uint32_t extended_highest_sequence_number; |
| 180 RTC_DEPRECATED uint32_t extendedHighSeqNum; |
| 181 }; |
162 uint32_t jitter; | 182 uint32_t jitter; |
163 uint32_t lastSR; | 183 union { |
164 uint32_t delaySinceLastSR; | 184 uint32_t last_sender_report_timestamp; |
| 185 RTC_DEPRECATED uint32_t lastSR; |
| 186 }; |
| 187 union { |
| 188 uint32_t delay_since_last_sender_report; |
| 189 RTC_DEPRECATED uint32_t delaySinceLastSR; |
| 190 }; |
165 }; | 191 }; |
166 | 192 |
167 typedef std::list<RTCPReportBlock> ReportBlockList; | 193 typedef std::list<RTCPReportBlock> ReportBlockList; |
168 | 194 |
169 struct RtpState { | 195 struct RtpState { |
170 RtpState() | 196 RtpState() |
171 : sequence_number(0), | 197 : sequence_number(0), |
172 start_timestamp(0), | 198 start_timestamp(0), |
173 timestamp(0), | 199 timestamp(0), |
174 capture_time_ms(-1), | 200 capture_time_ms(-1), |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
449 class TransportSequenceNumberAllocator { | 475 class TransportSequenceNumberAllocator { |
450 public: | 476 public: |
451 TransportSequenceNumberAllocator() {} | 477 TransportSequenceNumberAllocator() {} |
452 virtual ~TransportSequenceNumberAllocator() {} | 478 virtual ~TransportSequenceNumberAllocator() {} |
453 | 479 |
454 virtual uint16_t AllocateSequenceNumber() = 0; | 480 virtual uint16_t AllocateSequenceNumber() = 0; |
455 }; | 481 }; |
456 | 482 |
457 } // namespace webrtc | 483 } // namespace webrtc |
458 #endif // WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_DEFINES_H_ | 484 #endif // WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_DEFINES_H_ |
OLD | NEW |