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}
This commit is contained in:
Henrik Boström
2019-08-21 12:09:51 +02:00
committed by Commit Bot
parent 1c2f6372f6
commit 21e99dac24
2 changed files with 17 additions and 2 deletions

View File

@ -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<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>(
@ -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(

View File

@ -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,