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 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
244 virtual ~RtcpBandwidthObserver() {} | 244 virtual ~RtcpBandwidthObserver() {} |
245 }; | 245 }; |
246 | 246 |
247 struct PacketInfo { | 247 struct PacketInfo { |
248 PacketInfo(int64_t arrival_time_ms, uint16_t sequence_number) | 248 PacketInfo(int64_t arrival_time_ms, uint16_t sequence_number) |
249 : PacketInfo(-1, | 249 : PacketInfo(-1, |
250 arrival_time_ms, | 250 arrival_time_ms, |
251 -1, | 251 -1, |
252 sequence_number, | 252 sequence_number, |
253 0, | 253 0, |
| 254 false, |
254 kNotAProbe) {} | 255 kNotAProbe) {} |
255 | 256 |
256 PacketInfo(int64_t arrival_time_ms, | 257 PacketInfo(int64_t arrival_time_ms, |
257 int64_t send_time_ms, | 258 int64_t send_time_ms, |
258 uint16_t sequence_number, | 259 uint16_t sequence_number, |
259 size_t payload_size, | 260 size_t payload_size, |
| 261 bool was_paced, |
260 int probe_cluster_id) | 262 int probe_cluster_id) |
261 : PacketInfo(-1, | 263 : PacketInfo(-1, |
262 arrival_time_ms, | 264 arrival_time_ms, |
263 send_time_ms, | 265 send_time_ms, |
264 sequence_number, | 266 sequence_number, |
265 payload_size, | 267 payload_size, |
| 268 was_paced, |
266 probe_cluster_id) {} | 269 probe_cluster_id) {} |
267 | 270 |
268 PacketInfo(int64_t creation_time_ms, | 271 PacketInfo(int64_t creation_time_ms, |
269 int64_t arrival_time_ms, | 272 int64_t arrival_time_ms, |
270 int64_t send_time_ms, | 273 int64_t send_time_ms, |
271 uint16_t sequence_number, | 274 uint16_t sequence_number, |
272 size_t payload_size, | 275 size_t payload_size, |
| 276 bool was_paced, |
273 int probe_cluster_id) | 277 int probe_cluster_id) |
274 : creation_time_ms(creation_time_ms), | 278 : creation_time_ms(creation_time_ms), |
275 arrival_time_ms(arrival_time_ms), | 279 arrival_time_ms(arrival_time_ms), |
276 send_time_ms(send_time_ms), | 280 send_time_ms(send_time_ms), |
277 sequence_number(sequence_number), | 281 sequence_number(sequence_number), |
278 payload_size(payload_size), | 282 payload_size(payload_size), |
| 283 was_paced(was_paced), |
279 probe_cluster_id(probe_cluster_id) {} | 284 probe_cluster_id(probe_cluster_id) {} |
280 | 285 |
281 static constexpr int kNotAProbe = -1; | 286 static constexpr int kNotAProbe = -1; |
282 | 287 |
283 // Time corresponding to when this object was created. | 288 // Time corresponding to when this object was created. |
284 int64_t creation_time_ms; | 289 int64_t creation_time_ms; |
285 // Time corresponding to when the packet was received. Timestamped with the | 290 // Time corresponding to when the packet was received. Timestamped with the |
286 // receiver's clock. | 291 // receiver's clock. |
287 int64_t arrival_time_ms; | 292 int64_t arrival_time_ms; |
288 // Time corresponding to when the packet was sent, timestamped with the | 293 // Time corresponding to when the packet was sent, timestamped with the |
289 // sender's clock. | 294 // sender's clock. |
290 int64_t send_time_ms; | 295 int64_t send_time_ms; |
291 // Packet identifier, incremented with 1 for every packet generated by the | 296 // Packet identifier, incremented with 1 for every packet generated by the |
292 // sender. | 297 // sender. |
293 uint16_t sequence_number; | 298 uint16_t sequence_number; |
294 // Size of the packet excluding RTP headers. | 299 // Size of the packet excluding RTP headers. |
295 size_t payload_size; | 300 size_t payload_size; |
| 301 // True if the packet was paced out by the pacer. |
| 302 bool was_paced; |
296 // Which probing cluster this packets belongs to. | 303 // Which probing cluster this packets belongs to. |
297 int probe_cluster_id; | 304 int probe_cluster_id; |
298 }; | 305 }; |
299 | 306 |
300 class TransportFeedbackObserver { | 307 class TransportFeedbackObserver { |
301 public: | 308 public: |
302 TransportFeedbackObserver() {} | 309 TransportFeedbackObserver() {} |
303 virtual ~TransportFeedbackObserver() {} | 310 virtual ~TransportFeedbackObserver() {} |
304 | 311 |
305 // Note: Transport-wide sequence number as sequence number. Arrival time | 312 // Note: Transport-wide sequence number as sequence number. Arrival time |
306 // must be set to 0. | 313 // must be set to 0. |
307 virtual void AddPacket(uint16_t sequence_number, | 314 virtual void AddPacket(uint16_t sequence_number, |
308 size_t length, | 315 size_t length, |
| 316 bool was_paced, |
309 int probe_cluster_id) = 0; | 317 int probe_cluster_id) = 0; |
310 | 318 |
311 virtual void OnTransportFeedback(const rtcp::TransportFeedback& feedback) = 0; | 319 virtual void OnTransportFeedback(const rtcp::TransportFeedback& feedback) = 0; |
312 }; | 320 }; |
313 | 321 |
314 class RtcpRttStats { | 322 class RtcpRttStats { |
315 public: | 323 public: |
316 virtual void OnRttUpdate(int64_t rtt) = 0; | 324 virtual void OnRttUpdate(int64_t rtt) = 0; |
317 | 325 |
318 virtual int64_t LastProcessedRtt() const = 0; | 326 virtual int64_t LastProcessedRtt() const = 0; |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
392 class TransportSequenceNumberAllocator { | 400 class TransportSequenceNumberAllocator { |
393 public: | 401 public: |
394 TransportSequenceNumberAllocator() {} | 402 TransportSequenceNumberAllocator() {} |
395 virtual ~TransportSequenceNumberAllocator() {} | 403 virtual ~TransportSequenceNumberAllocator() {} |
396 | 404 |
397 virtual uint16_t AllocateSequenceNumber() = 0; | 405 virtual uint16_t AllocateSequenceNumber() = 0; |
398 }; | 406 }; |
399 | 407 |
400 } // namespace webrtc | 408 } // namespace webrtc |
401 #endif // WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_DEFINES_H_ | 409 #endif // WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_DEFINES_H_ |
OLD | NEW |