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