RTCIceCandidateStats[1] added.
The RTCStatsCollector collects candidates from candidate pairs. Note
that there may be other candidates that are not paired with anything,
stats for these should also be produced before closing crbug.com/632723.
[1] https://w3c.github.io/webrtc-stats/#icecandidate-dict*
BUG=chromium:627816, chromium:632723
Review-Url: https://codereview.webrtc.org/2384143002
Cr-Commit-Position: refs/heads/master@{#14565}
diff --git a/webrtc/api/rtcstatscollector.h b/webrtc/api/rtcstatscollector.h
index 2f5ed86..6443d13 100644
--- a/webrtc/api/rtcstatscollector.h
+++ b/webrtc/api/rtcstatscollector.h
@@ -21,10 +21,12 @@
#include "webrtc/base/scoped_ref_ptr.h"
#include "webrtc/base/timeutils.h"
+namespace cricket {
+class Candidate;
+} // namespace cricket
+
namespace rtc {
-
class SSLCertificate;
-
} // namespace rtc
namespace webrtc {
@@ -76,12 +78,22 @@
void AddPartialResults_s(rtc::scoped_refptr<RTCStatsReport> partial_report);
void DeliverCachedReport();
+ // Produces |RTCCertificateStats|.
void ProduceCertificateStats_s(
int64_t timestamp_us, const SessionStats& session_stats,
RTCStatsReport* report) const;
void ProduceCertificateStatsFromSSLCertificateAndChain_s(
int64_t timestamp_us, const rtc::SSLCertificate& certificate,
RTCStatsReport* report) const;
+ // Produces |RTCIceCandidateStats|. TODO(hbos): Should also produce
+ // |RTCIceCandidatePairStats|. crbug.com/633550
+ void ProduceIceCandidateAndPairStats_s(
+ int64_t timestamp_us, const SessionStats& session_stats,
+ RTCStatsReport* report) const;
+ const std::string& ProduceIceCandidateStats_s(
+ int64_t timestamp_us, const cricket::Candidate& candidate, bool is_local,
+ RTCStatsReport* report) const;
+ // Produces |RTCPeerConnectionStats|.
void ProducePeerConnectionStats_s(
int64_t timestamp_us, RTCStatsReport* report) const;
@@ -105,6 +117,9 @@
rtc::scoped_refptr<const RTCStatsReport> cached_report_;
};
+// Helper function, exposed for unittests.
+const char* CandidateTypeToRTCIceCandidateType(const std::string& type);
+
} // namespace webrtc
#endif // WEBRTC_API_RTCSTATSCOLLECTOR_H_