Expose video freeze metrics in GetStats.
This adds the following non-standardized metrics to video receiver
stats:
- freezeCount
- pauseCount
- totalFreezesDuration
- totalPausesDuration
- totalFramesDuration
- sumOfSquaredFrameDurations
For description of these metrics see
https://henbos.github.io/webrtc-provisional-stats/#RTCVideoReceiverStats-dict*
Bug: webrtc:10145
Change-Id: I4c76d5651102e73b1592ffed561e6224f2badeb6
Reviewed-on: https://webrtc-review.googlesource.com/c/114840
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26523}
diff --git a/pc/rtc_stats_collector_unittest.cc b/pc/rtc_stats_collector_unittest.cc
index 468e2c4..74799d1 100644
--- a/pc/rtc_stats_collector_unittest.cc
+++ b/pc/rtc_stats_collector_unittest.cc
@@ -1552,6 +1552,12 @@
video_receiver_info_ssrc3.frames_received = 1000;
video_receiver_info_ssrc3.frames_decoded = 995;
video_receiver_info_ssrc3.frames_rendered = 990;
+ video_receiver_info_ssrc3.freeze_count = 3;
+ video_receiver_info_ssrc3.pause_count = 2;
+ video_receiver_info_ssrc3.total_freezes_duration_ms = 1000;
+ video_receiver_info_ssrc3.total_pauses_duration_ms = 10000;
+ video_receiver_info_ssrc3.total_frames_duration_ms = 15000;
+ video_receiver_info_ssrc3.sum_squared_frame_durations = 1.5;
stats_->CreateMockRtpSendersReceiversAndChannels(
{}, {}, {},
@@ -1591,6 +1597,13 @@
expected_remote_video_track_ssrc3.frames_received = 1000;
expected_remote_video_track_ssrc3.frames_decoded = 995;
expected_remote_video_track_ssrc3.frames_dropped = 1000 - 990;
+ expected_remote_video_track_ssrc3.freeze_count = 3;
+ expected_remote_video_track_ssrc3.pause_count = 2;
+ expected_remote_video_track_ssrc3.total_freezes_duration = 1;
+ expected_remote_video_track_ssrc3.total_pauses_duration = 10;
+ expected_remote_video_track_ssrc3.total_frames_duration = 15;
+ expected_remote_video_track_ssrc3.sum_squared_frame_durations = 1.5;
+
ASSERT_TRUE(report->Get(expected_remote_video_track_ssrc3.id()));
EXPECT_EQ(expected_remote_video_track_ssrc3,
report->Get(expected_remote_video_track_ssrc3.id())