From 21e99dac24b99dcae540fa1e09a7362f2cd5994d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Bostr=C3=B6m?= Date: Wed, 21 Aug 2019 12:09:51 +0200 Subject: [PATCH] Add implemented-but-missing members to RTCMediaStreamTrackStats::Members MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Commit-Queue: Henrik Boström Cr-Commit-Position: refs/heads/master@{#28925} --- pc/rtc_stats_integrationtest.cc | 16 ++++++++++++++-- stats/rtcstats_objects.cc | 3 +++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/pc/rtc_stats_integrationtest.cc b/pc/rtc_stats_integrationtest.cc index ddddb27352..16ca58c6df 100644 --- a/pc/rtc_stats_integrationtest.cc +++ b/pc/rtc_stats_integrationtest.cc @@ -628,7 +628,13 @@ class RTCStatsReportVerifier { 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); @@ -656,14 +662,14 @@ class RTCStatsReportVerifier { media_stream_track.total_samples_duration); verifier.TestMemberIsNonNegative( media_stream_track.concealed_samples); + verifier.TestMemberIsNonNegative( + media_stream_track.silent_concealed_samples); verifier.TestMemberIsNonNegative( media_stream_track.concealment_events); verifier.TestMemberIsNonNegative( media_stream_track.inserted_samples_for_deceleration); verifier.TestMemberIsNonNegative( media_stream_track.removed_samples_for_acceleration); - verifier.TestMemberIsNonNegative( - media_stream_track.silent_concealed_samples); verifier.TestMemberIsNonNegative( media_stream_track.jitter_buffer_flushes); verifier.TestMemberIsNonNegative( @@ -688,7 +694,13 @@ class RTCStatsReportVerifier { 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( diff --git a/stats/rtcstats_objects.cc b/stats/rtcstats_objects.cc index ead0ebfb66..4815640de0 100644 --- a/stats/rtcstats_objects.cc +++ b/stats/rtcstats_objects.cc @@ -388,7 +388,10 @@ WEBRTC_RTCSTATS_IMPL(RTCMediaStreamTrackStats, RTCStats, "track", &total_samples_received, &total_samples_duration, &concealed_samples, + &silent_concealed_samples, &concealment_events, + &inserted_samples_for_deceleration, + &removed_samples_for_acceleration, &jitter_buffer_flushes, &delayed_packet_outage_samples, &relative_packet_arrival_delay,