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 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 RTCStatsMember<std::string> codec_id; | 300 RTCStatsMember<std::string> codec_id; |
301 // FIR and PLI counts are only defined for |media_type == "video"|. | 301 // FIR and PLI counts are only defined for |media_type == "video"|. |
302 RTCStatsMember<uint32_t> fir_count; | 302 RTCStatsMember<uint32_t> fir_count; |
303 RTCStatsMember<uint32_t> pli_count; | 303 RTCStatsMember<uint32_t> pli_count; |
304 // TODO(hbos): NACK count should be collected by |RTCStatsCollector| for both | 304 // TODO(hbos): NACK count should be collected by |RTCStatsCollector| for both |
305 // audio and video but is only defined in the "video" case. crbug.com/657856 | 305 // audio and video but is only defined in the "video" case. crbug.com/657856 |
306 RTCStatsMember<uint32_t> nack_count; | 306 RTCStatsMember<uint32_t> nack_count; |
307 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657854 | 307 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657854 |
308 // SLI count is only defined for |media_type == "video"|. | 308 // SLI count is only defined for |media_type == "video"|. |
309 RTCStatsMember<uint32_t> sli_count; | 309 RTCStatsMember<uint32_t> sli_count; |
| 310 // TODO(hbos): Only collected for the outbound case, should also be collected |
| 311 // for inbound case by |RTCStatsCollector|. crbug.com/657854, crbug.com/657855 |
| 312 RTCStatsMember<uint64_t> qp_sum; |
310 | 313 |
311 protected: | 314 protected: |
312 RTCRTPStreamStats(const std::string& id, int64_t timestamp_us); | 315 RTCRTPStreamStats(const std::string& id, int64_t timestamp_us); |
313 RTCRTPStreamStats(std::string&& id, int64_t timestamp_us); | 316 RTCRTPStreamStats(std::string&& id, int64_t timestamp_us); |
314 }; | 317 }; |
315 | 318 |
316 // https://w3c.github.io/webrtc-stats/#inboundrtpstats-dict* | 319 // https://w3c.github.io/webrtc-stats/#inboundrtpstats-dict* |
317 // Tracking bug crbug.com/657855 | 320 // Tracking bug crbug.com/657855 |
318 // TODO(hbos): Support the remote case |is_remote = true|. crbug.com/657855 | 321 // TODO(hbos): Support the remote case |is_remote = true|. crbug.com/657855 |
319 class RTCInboundRTPStreamStats final : public RTCRTPStreamStats { | 322 class RTCInboundRTPStreamStats final : public RTCRTPStreamStats { |
(...skipping 25 matching lines...) Expand all Loading... |
345 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 | 348 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 |
346 RTCStatsMember<uint32_t> burst_discard_count; | 349 RTCStatsMember<uint32_t> burst_discard_count; |
347 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 | 350 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 |
348 RTCStatsMember<double> burst_loss_rate; | 351 RTCStatsMember<double> burst_loss_rate; |
349 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 | 352 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 |
350 RTCStatsMember<double> burst_discard_rate; | 353 RTCStatsMember<double> burst_discard_rate; |
351 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 | 354 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 |
352 RTCStatsMember<double> gap_loss_rate; | 355 RTCStatsMember<double> gap_loss_rate; |
353 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 | 356 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 |
354 RTCStatsMember<double> gap_discard_rate; | 357 RTCStatsMember<double> gap_discard_rate; |
| 358 RTCStatsMember<uint32_t> frames_decoded; |
355 }; | 359 }; |
356 | 360 |
357 // https://w3c.github.io/webrtc-stats/#outboundrtpstats-dict* | 361 // https://w3c.github.io/webrtc-stats/#outboundrtpstats-dict* |
358 // Tracking bug crbug.com/657856 | 362 // Tracking bug crbug.com/657856 |
359 // TODO(hbos): Support the remote case |is_remote = true|. crbug.com/657856 | 363 // TODO(hbos): Support the remote case |is_remote = true|. crbug.com/657856 |
360 class RTCOutboundRTPStreamStats final : public RTCRTPStreamStats { | 364 class RTCOutboundRTPStreamStats final : public RTCRTPStreamStats { |
361 public: | 365 public: |
362 WEBRTC_RTCSTATS_DECL(); | 366 WEBRTC_RTCSTATS_DECL(); |
363 | 367 |
364 RTCOutboundRTPStreamStats(const std::string& id, int64_t timestamp_us); | 368 RTCOutboundRTPStreamStats(const std::string& id, int64_t timestamp_us); |
365 RTCOutboundRTPStreamStats(std::string&& id, int64_t timestamp_us); | 369 RTCOutboundRTPStreamStats(std::string&& id, int64_t timestamp_us); |
366 RTCOutboundRTPStreamStats(const RTCOutboundRTPStreamStats& other); | 370 RTCOutboundRTPStreamStats(const RTCOutboundRTPStreamStats& other); |
367 ~RTCOutboundRTPStreamStats() override; | 371 ~RTCOutboundRTPStreamStats() override; |
368 | 372 |
369 RTCStatsMember<uint32_t> packets_sent; | 373 RTCStatsMember<uint32_t> packets_sent; |
370 RTCStatsMember<uint64_t> bytes_sent; | 374 RTCStatsMember<uint64_t> bytes_sent; |
371 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657856 | 375 // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657856 |
372 RTCStatsMember<double> target_bitrate; | 376 RTCStatsMember<double> target_bitrate; |
373 RTCStatsMember<double> round_trip_time; | 377 RTCStatsMember<double> round_trip_time; |
| 378 RTCStatsMember<uint32_t> frames_encoded; |
374 }; | 379 }; |
375 | 380 |
376 // https://w3c.github.io/webrtc-stats/#transportstats-dict* | 381 // https://w3c.github.io/webrtc-stats/#transportstats-dict* |
377 class RTCTransportStats final : public RTCStats { | 382 class RTCTransportStats final : public RTCStats { |
378 public: | 383 public: |
379 WEBRTC_RTCSTATS_DECL(); | 384 WEBRTC_RTCSTATS_DECL(); |
380 | 385 |
381 RTCTransportStats(const std::string& id, int64_t timestamp_us); | 386 RTCTransportStats(const std::string& id, int64_t timestamp_us); |
382 RTCTransportStats(std::string&& id, int64_t timestamp_us); | 387 RTCTransportStats(std::string&& id, int64_t timestamp_us); |
383 RTCTransportStats(const RTCTransportStats& other); | 388 RTCTransportStats(const RTCTransportStats& other); |
384 ~RTCTransportStats() override; | 389 ~RTCTransportStats() override; |
385 | 390 |
386 RTCStatsMember<uint64_t> bytes_sent; | 391 RTCStatsMember<uint64_t> bytes_sent; |
387 RTCStatsMember<uint64_t> bytes_received; | 392 RTCStatsMember<uint64_t> bytes_received; |
388 RTCStatsMember<std::string> rtcp_transport_stats_id; | 393 RTCStatsMember<std::string> rtcp_transport_stats_id; |
389 RTCStatsMember<bool> active_connection; | 394 RTCStatsMember<bool> active_connection; |
390 RTCStatsMember<std::string> selected_candidate_pair_id; | 395 RTCStatsMember<std::string> selected_candidate_pair_id; |
391 RTCStatsMember<std::string> local_certificate_id; | 396 RTCStatsMember<std::string> local_certificate_id; |
392 RTCStatsMember<std::string> remote_certificate_id; | 397 RTCStatsMember<std::string> remote_certificate_id; |
393 }; | 398 }; |
394 | 399 |
395 } // namespace webrtc | 400 } // namespace webrtc |
396 | 401 |
397 #endif // WEBRTC_API_STATS_RTCSTATS_OBJECTS_H_ | 402 #endif // WEBRTC_API_STATS_RTCSTATS_OBJECTS_H_ |
OLD | NEW |