Expose jitter buffer flushes metric in new getStats api.
Origin trial experiment proposal (new statistic part):
https://docs.google.com/document/d/1stYIZhEmDZ7NJF9gjjsM66eLFJUdc-14a3QutrFbIwI/edit?ts=5bf5535c#
Bug: chromium:907113
Change-Id: I1d005291f9b47665f70c26148dbdcbb55564bef8
Reviewed-on: https://webrtc-review.googlesource.com/c/111505
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Ruslan Burakov <kuddai@google.com>
Cr-Commit-Position: refs/heads/master@{#25768}diff --git a/pc/rtcstats_integrationtest.cc b/pc/rtcstats_integrationtest.cc
index f9375f7..46687ba 100644
--- a/pc/rtcstats_integrationtest.cc
+++ b/pc/rtcstats_integrationtest.cc
@@ -604,11 +604,14 @@
media_stream_track.concealed_samples);
verifier.TestMemberIsNonNegative<uint64_t>(
media_stream_track.concealment_events);
+ verifier.TestMemberIsNonNegative<uint64_t>(
+ media_stream_track.jitter_buffer_flushes);
} else {
verifier.TestMemberIsUndefined(media_stream_track.jitter_buffer_delay);
verifier.TestMemberIsUndefined(media_stream_track.total_samples_received);
verifier.TestMemberIsUndefined(media_stream_track.concealed_samples);
verifier.TestMemberIsUndefined(media_stream_track.concealment_events);
+ verifier.TestMemberIsUndefined(media_stream_track.jitter_buffer_flushes);
}
return verifier.ExpectAllMembersSuccessfullyTested();
}
diff --git a/pc/rtcstatscollector.cc b/pc/rtcstatscollector.cc
index 871cff9..33d4af1 100644
--- a/pc/rtcstatscollector.cc
+++ b/pc/rtcstatscollector.cc
@@ -454,6 +454,8 @@
audio_track_stats->concealed_samples = voice_receiver_info.concealed_samples;
audio_track_stats->concealment_events =
voice_receiver_info.concealment_events;
+ audio_track_stats->jitter_buffer_flushes =
+ voice_receiver_info.jitter_buffer_flushes;
return audio_track_stats;
}
diff --git a/pc/rtcstatscollector_unittest.cc b/pc/rtcstatscollector_unittest.cc
index 3fc0127..e16c7e3 100644
--- a/pc/rtcstatscollector_unittest.cc
+++ b/pc/rtcstatscollector_unittest.cc
@@ -1426,6 +1426,7 @@
voice_receiver_info.concealed_samples = 123;
voice_receiver_info.concealment_events = 12;
voice_receiver_info.jitter_buffer_delay_seconds = 3456;
+ voice_receiver_info.jitter_buffer_flushes = 7;
stats_->CreateMockRtpSendersReceiversAndChannels(
{}, {std::make_pair(remote_audio_track.get(), voice_receiver_info)}, {},
@@ -1459,6 +1460,7 @@
expected_remote_audio_track.concealed_samples = 123;
expected_remote_audio_track.concealment_events = 12;
expected_remote_audio_track.jitter_buffer_delay = 3456;
+ expected_remote_audio_track.jitter_buffer_flushes = 7;
ASSERT_TRUE(report->Get(expected_remote_audio_track.id()));
EXPECT_EQ(expected_remote_audio_track,
report->Get(expected_remote_audio_track.id())