Add implemented-but-missing members to RTCMediaStreamTrackStats::Members
silentConcealedSamples, insertedSamplesForDeceleration and
removedSamplesForAcceleration were implemented in M76, but we forgot to
add them to the WEBRTC_RTCSTATS_IMPL list, meaning the "iterate all
members" method, RTCStats::Members(), did not contain these metrics.
As a consequence, Chrome did not pick up these members for exposure to
JavaScript.
Also fix the test coverage in rtc_stats_integrationtest.cc where code
paths that did not apply to audio track stats were not explicitly
asserting that they must be undefined in those cases.
Bug: chromium:996146, webrtc:10903
Change-Id: I00e7ddee600818ee4d561b88e005391830adcf3e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149816
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28925}
diff --git a/pc/rtc_stats_integrationtest.cc b/pc/rtc_stats_integrationtest.cc
index ddddb27..16ca58c 100644
--- a/pc/rtc_stats_integrationtest.cc
+++ b/pc/rtc_stats_integrationtest.cc
@@ -628,7 +628,13 @@
verifier.TestMemberIsUndefined(media_stream_track.total_samples_duration);
verifier.TestMemberIsUndefined(media_stream_track.total_samples_received);
verifier.TestMemberIsUndefined(media_stream_track.concealed_samples);
+ verifier.TestMemberIsUndefined(
+ media_stream_track.silent_concealed_samples);
verifier.TestMemberIsUndefined(media_stream_track.concealment_events);
+ verifier.TestMemberIsUndefined(
+ media_stream_track.inserted_samples_for_deceleration);
+ verifier.TestMemberIsUndefined(
+ media_stream_track.removed_samples_for_acceleration);
verifier.TestMemberIsUndefined(media_stream_track.jitter_buffer_flushes);
verifier.TestMemberIsUndefined(
media_stream_track.delayed_packet_outage_samples);
@@ -657,14 +663,14 @@
verifier.TestMemberIsNonNegative<uint64_t>(
media_stream_track.concealed_samples);
verifier.TestMemberIsNonNegative<uint64_t>(
+ media_stream_track.silent_concealed_samples);
+ verifier.TestMemberIsNonNegative<uint64_t>(
media_stream_track.concealment_events);
verifier.TestMemberIsNonNegative<uint64_t>(
media_stream_track.inserted_samples_for_deceleration);
verifier.TestMemberIsNonNegative<uint64_t>(
media_stream_track.removed_samples_for_acceleration);
verifier.TestMemberIsNonNegative<uint64_t>(
- media_stream_track.silent_concealed_samples);
- verifier.TestMemberIsNonNegative<uint64_t>(
media_stream_track.jitter_buffer_flushes);
verifier.TestMemberIsNonNegative<uint64_t>(
media_stream_track.delayed_packet_outage_samples);
@@ -688,8 +694,14 @@
verifier.TestMemberIsUndefined(
media_stream_track.total_samples_duration);
verifier.TestMemberIsUndefined(media_stream_track.concealed_samples);
+ verifier.TestMemberIsUndefined(
+ media_stream_track.silent_concealed_samples);
verifier.TestMemberIsUndefined(media_stream_track.concealment_events);
verifier.TestMemberIsUndefined(
+ media_stream_track.inserted_samples_for_deceleration);
+ verifier.TestMemberIsUndefined(
+ media_stream_track.removed_samples_for_acceleration);
+ verifier.TestMemberIsUndefined(
media_stream_track.jitter_buffer_flushes);
verifier.TestMemberIsUndefined(
media_stream_track.delayed_packet_outage_samples);