OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2016 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2016 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 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
323 // SLI count is only defined for |media_type == "video"|. | 323 // SLI count is only defined for |media_type == "video"|. |
324 RTCStatsMember<uint32_t> sli_count; | 324 RTCStatsMember<uint32_t> sli_count; |
325 RTCStatsMember<uint64_t> qp_sum; | 325 RTCStatsMember<uint64_t> qp_sum; |
326 | 326 |
327 protected: | 327 protected: |
328 RTCRTPStreamStats(const std::string& id, int64_t timestamp_us); | 328 RTCRTPStreamStats(const std::string& id, int64_t timestamp_us); |
329 RTCRTPStreamStats(std::string&& id, int64_t timestamp_us); | 329 RTCRTPStreamStats(std::string&& id, int64_t timestamp_us); |
330 }; | 330 }; |
331 | 331 |
332 // https://w3c.github.io/webrtc-stats/#inboundrtpstats-dict* | 332 // https://w3c.github.io/webrtc-stats/#inboundrtpstats-dict* |
333 // Tracking bug crbug.com/657855 | 333 // TODO(hbos): Support the remote case |is_remote = true|. |
334 // TODO(hbos): Support the remote case |is_remote = true|. crbug.com/657855 | 334 // https://bugs.webrtc.org/7065 |
335 class RTCInboundRTPStreamStats final : public RTCRTPStreamStats { | 335 class RTCInboundRTPStreamStats final : public RTCRTPStreamStats { |
336 public: | 336 public: |
337 WEBRTC_RTCSTATS_DECL(); | 337 WEBRTC_RTCSTATS_DECL(); |
338 | 338 |
339 RTCInboundRTPStreamStats(const std::string& id, int64_t timestamp_us); | 339 RTCInboundRTPStreamStats(const std::string& id, int64_t timestamp_us); |
340 RTCInboundRTPStreamStats(std::string&& id, int64_t timestamp_us); | 340 RTCInboundRTPStreamStats(std::string&& id, int64_t timestamp_us); |
341 RTCInboundRTPStreamStats(const RTCInboundRTPStreamStats& other); | 341 RTCInboundRTPStreamStats(const RTCInboundRTPStreamStats& other); |
342 ~RTCInboundRTPStreamStats() override; | 342 ~RTCInboundRTPStreamStats() override; |
343 | 343 |
344 RTCStatsMember<uint32_t> packets_received; | 344 RTCStatsMember<uint32_t> packets_received; |
345 RTCStatsMember<uint64_t> bytes_received; | 345 RTCStatsMember<uint64_t> bytes_received; |
346 RTCStatsMember<uint32_t> packets_lost; | 346 RTCStatsMember<uint32_t> packets_lost; |
347 // TODO(hbos): Not collected in the "video" case by |RTCStatsCollector|. | 347 // TODO(hbos): Collect and populate this value for both "audio" and "video", |
348 // crbug.com/657855 | 348 // currently not collected for "video". https://bugs.webrtc.org/7065 |
349 RTCStatsMember<double> jitter; | 349 RTCStatsMember<double> jitter; |
350 RTCStatsMember<double> fraction_lost; | 350 RTCStatsMember<double> fraction_lost; |
351 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 | 351 // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065 |
| 352 RTCStatsMember<double> round_trip_time; |
| 353 // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065 |
352 RTCStatsMember<uint32_t> packets_discarded; | 354 RTCStatsMember<uint32_t> packets_discarded; |
353 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 | 355 // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065 |
354 RTCStatsMember<uint32_t> packets_repaired; | 356 RTCStatsMember<uint32_t> packets_repaired; |
355 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 | 357 // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065 |
356 RTCStatsMember<uint32_t> burst_packets_lost; | 358 RTCStatsMember<uint32_t> burst_packets_lost; |
357 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 | 359 // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065 |
358 RTCStatsMember<uint32_t> burst_packets_discarded; | 360 RTCStatsMember<uint32_t> burst_packets_discarded; |
359 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 | 361 // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065 |
360 RTCStatsMember<uint32_t> burst_loss_count; | 362 RTCStatsMember<uint32_t> burst_loss_count; |
361 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 | 363 // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065 |
362 RTCStatsMember<uint32_t> burst_discard_count; | 364 RTCStatsMember<uint32_t> burst_discard_count; |
363 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 | 365 // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065 |
364 RTCStatsMember<double> burst_loss_rate; | 366 RTCStatsMember<double> burst_loss_rate; |
365 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 | 367 // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065 |
366 RTCStatsMember<double> burst_discard_rate; | 368 RTCStatsMember<double> burst_discard_rate; |
367 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 | 369 // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065 |
368 RTCStatsMember<double> gap_loss_rate; | 370 RTCStatsMember<double> gap_loss_rate; |
369 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 | 371 // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065 |
370 RTCStatsMember<double> gap_discard_rate; | 372 RTCStatsMember<double> gap_discard_rate; |
371 RTCStatsMember<uint32_t> frames_decoded; | 373 RTCStatsMember<uint32_t> frames_decoded; |
372 }; | 374 }; |
373 | 375 |
374 // https://w3c.github.io/webrtc-stats/#outboundrtpstats-dict* | 376 // https://w3c.github.io/webrtc-stats/#outboundrtpstats-dict* |
375 // Tracking bug crbug.com/657856 | 377 // TODO(hbos): Support the remote case |is_remote = true|. |
376 // TODO(hbos): Support the remote case |is_remote = true|. crbug.com/657856 | 378 // https://bugs.webrtc.org/7066 |
377 class RTCOutboundRTPStreamStats final : public RTCRTPStreamStats { | 379 class RTCOutboundRTPStreamStats final : public RTCRTPStreamStats { |
378 public: | 380 public: |
379 WEBRTC_RTCSTATS_DECL(); | 381 WEBRTC_RTCSTATS_DECL(); |
380 | 382 |
381 RTCOutboundRTPStreamStats(const std::string& id, int64_t timestamp_us); | 383 RTCOutboundRTPStreamStats(const std::string& id, int64_t timestamp_us); |
382 RTCOutboundRTPStreamStats(std::string&& id, int64_t timestamp_us); | 384 RTCOutboundRTPStreamStats(std::string&& id, int64_t timestamp_us); |
383 RTCOutboundRTPStreamStats(const RTCOutboundRTPStreamStats& other); | 385 RTCOutboundRTPStreamStats(const RTCOutboundRTPStreamStats& other); |
384 ~RTCOutboundRTPStreamStats() override; | 386 ~RTCOutboundRTPStreamStats() override; |
385 | 387 |
386 RTCStatsMember<uint32_t> packets_sent; | 388 RTCStatsMember<uint32_t> packets_sent; |
387 RTCStatsMember<uint64_t> bytes_sent; | 389 RTCStatsMember<uint64_t> bytes_sent; |
388 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657856 | 390 // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7066 |
389 RTCStatsMember<double> target_bitrate; | 391 RTCStatsMember<double> target_bitrate; |
390 RTCStatsMember<double> round_trip_time; | |
391 RTCStatsMember<uint32_t> frames_encoded; | 392 RTCStatsMember<uint32_t> frames_encoded; |
392 }; | 393 }; |
393 | 394 |
394 // https://w3c.github.io/webrtc-stats/#transportstats-dict* | 395 // https://w3c.github.io/webrtc-stats/#transportstats-dict* |
395 class RTCTransportStats final : public RTCStats { | 396 class RTCTransportStats final : public RTCStats { |
396 public: | 397 public: |
397 WEBRTC_RTCSTATS_DECL(); | 398 WEBRTC_RTCSTATS_DECL(); |
398 | 399 |
399 RTCTransportStats(const std::string& id, int64_t timestamp_us); | 400 RTCTransportStats(const std::string& id, int64_t timestamp_us); |
400 RTCTransportStats(std::string&& id, int64_t timestamp_us); | 401 RTCTransportStats(std::string&& id, int64_t timestamp_us); |
401 RTCTransportStats(const RTCTransportStats& other); | 402 RTCTransportStats(const RTCTransportStats& other); |
402 ~RTCTransportStats() override; | 403 ~RTCTransportStats() override; |
403 | 404 |
404 RTCStatsMember<uint64_t> bytes_sent; | 405 RTCStatsMember<uint64_t> bytes_sent; |
405 RTCStatsMember<uint64_t> bytes_received; | 406 RTCStatsMember<uint64_t> bytes_received; |
406 RTCStatsMember<std::string> rtcp_transport_stats_id; | 407 RTCStatsMember<std::string> rtcp_transport_stats_id; |
407 // TODO(hbos): Support enum types? "RTCStatsMember<RTCDtlsTransportState>"? | 408 // TODO(hbos): Support enum types? "RTCStatsMember<RTCDtlsTransportState>"? |
408 RTCStatsMember<std::string> dtls_state; | 409 RTCStatsMember<std::string> dtls_state; |
409 RTCStatsMember<std::string> selected_candidate_pair_id; | 410 RTCStatsMember<std::string> selected_candidate_pair_id; |
410 RTCStatsMember<std::string> local_certificate_id; | 411 RTCStatsMember<std::string> local_certificate_id; |
411 RTCStatsMember<std::string> remote_certificate_id; | 412 RTCStatsMember<std::string> remote_certificate_id; |
412 }; | 413 }; |
413 | 414 |
414 } // namespace webrtc | 415 } // namespace webrtc |
415 | 416 |
416 #endif // WEBRTC_API_STATS_RTCSTATS_OBJECTS_H_ | 417 #endif // WEBRTC_API_STATS_RTCSTATS_OBJECTS_H_ |
OLD | NEW |