Populate "total_round_trip_time" and "round_trip_time_measurements" for remote inbound RTP streams
Spec: https://w3c.github.io/webrtc-stats/#remoteinboundrtpstats-dict*
Adding them into the stats definition as well.
Bug: webrtc:12507
Change-Id: Id467a33fe7bb256655b68819e3ce87ca9af5b25f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/209000
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33363}
diff --git a/pc/rtc_stats_collector_unittest.cc b/pc/rtc_stats_collector_unittest.cc
index 13c8f98..aa8bff0 100644
--- a/pc/rtc_stats_collector_unittest.cc
+++ b/pc/rtc_stats_collector_unittest.cc
@@ -2676,9 +2676,11 @@
TEST_P(RTCStatsCollectorTestWithParamKind,
RTCRemoteInboundRtpStreamStatsCollectedFromReportBlock) {
const int64_t kReportBlockTimestampUtcUs = 123456789;
- const int64_t kRoundTripTimeMs = 13000;
- const double kRoundTripTimeSeconds = 13.0;
const uint8_t kFractionLost = 12;
+ const int64_t kRoundTripTimeSample1Ms = 1234;
+ const double kRoundTripTimeSample1Seconds = 1.234;
+ const int64_t kRoundTripTimeSample2Ms = 13000;
+ const double kRoundTripTimeSample2Seconds = 13;
// The report block's timestamp cannot be from the future, set the fake clock
// to match.
@@ -2694,10 +2696,10 @@
report_block.fraction_lost = kFractionLost;
ReportBlockData report_block_data;
report_block_data.SetReportBlock(report_block, kReportBlockTimestampUtcUs);
- report_block_data.AddRoundTripTimeSample(1234);
+ report_block_data.AddRoundTripTimeSample(kRoundTripTimeSample1Ms);
// Only the last sample should be exposed as the
// |RTCRemoteInboundRtpStreamStats::round_trip_time|.
- report_block_data.AddRoundTripTimeSample(kRoundTripTimeMs);
+ report_block_data.AddRoundTripTimeSample(kRoundTripTimeSample2Ms);
report_block_datas.push_back(report_block_data);
}
AddSenderInfoAndMediaChannel("TransportName", report_block_datas,
@@ -2719,7 +2721,10 @@
expected_remote_inbound_rtp.packets_lost = 7;
expected_remote_inbound_rtp.local_id =
"RTCOutboundRTP" + MediaTypeUpperCase() + stream_id;
- expected_remote_inbound_rtp.round_trip_time = kRoundTripTimeSeconds;
+ expected_remote_inbound_rtp.round_trip_time = kRoundTripTimeSample2Seconds;
+ expected_remote_inbound_rtp.total_round_trip_time =
+ kRoundTripTimeSample1Seconds + kRoundTripTimeSample2Seconds;
+ expected_remote_inbound_rtp.round_trip_time_measurements = 2;
// This test does not set up RTCCodecStats, so |codec_id| and |jitter| are
// expected to be missing. These are tested separately.