diff --git a/api/stats/rtcstats_objects.h b/api/stats/rtcstats_objects.h index 484d2d038e..e5de2100bb 100644 --- a/api/stats/rtcstats_objects.h +++ b/api/stats/rtcstats_objects.h @@ -709,6 +709,7 @@ class RTC_EXPORT RTCAudioPlayoutStats final : public RTCStats { RTCAudioPlayoutStats(const RTCAudioPlayoutStats& other); ~RTCAudioPlayoutStats() override; + RTCStatsMember kind; RTCStatsMember synthesized_samples_duration; RTCStatsMember synthesized_samples_events; RTCStatsMember total_samples_duration; diff --git a/pc/rtc_stats_collector_unittest.cc b/pc/rtc_stats_collector_unittest.cc index 70eabfc701..2a03c3b78b 100644 --- a/pc/rtc_stats_collector_unittest.cc +++ b/pc/rtc_stats_collector_unittest.cc @@ -2765,6 +2765,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCAudioPlayoutStats) { ASSERT_EQ(1U, stats_of_track_type.size()); RTCAudioPlayoutStats expected_stats("AP", report->timestamp()); + expected_stats.kind = "audio"; expected_stats.synthesized_samples_duration = 1; expected_stats.synthesized_samples_events = 2; expected_stats.total_samples_count = 3; diff --git a/pc/rtc_stats_integrationtest.cc b/pc/rtc_stats_integrationtest.cc index 2a65726807..b1d6b545cc 100644 --- a/pc/rtc_stats_integrationtest.cc +++ b/pc/rtc_stats_integrationtest.cc @@ -418,7 +418,7 @@ class RTCStatsReportVerifier { VerifyRTCTransportStats(stats.cast_to()); } else if (stats.type() == RTCAudioPlayoutStats::kType) { verify_successful &= - VerifyRTCAudioPlayoutSTats(stats.cast_to()); + VerifyRTCAudioPlayoutStats(stats.cast_to()); } else { EXPECT_TRUE(false) << "Unrecognized stats type: " << stats.type(); verify_successful = false; @@ -1128,8 +1128,12 @@ class RTCStatsReportVerifier { return verifier.ExpectAllMembersSuccessfullyTested(); } - bool VerifyRTCAudioPlayoutSTats(const RTCAudioPlayoutStats& audio_playout) { + bool VerifyRTCAudioPlayoutStats(const RTCAudioPlayoutStats& audio_playout) { RTCStatsVerifier verifier(report_.get(), &audio_playout); + verifier.TestMemberIsDefined(audio_playout.kind); + if (audio_playout.kind.is_defined()) { + EXPECT_EQ(*audio_playout.kind, "audio"); + } verifier.TestMemberIsNonNegative( audio_playout.synthesized_samples_events); verifier.TestMemberIsNonNegative( diff --git a/stats/rtcstats_objects.cc b/stats/rtcstats_objects.cc index f392a08a38..b25e2ddc0d 100644 --- a/stats/rtcstats_objects.cc +++ b/stats/rtcstats_objects.cc @@ -900,6 +900,7 @@ RTCTransportStats::~RTCTransportStats() {} RTCAudioPlayoutStats::RTCAudioPlayoutStats(const std::string& id, Timestamp timestamp) : RTCStats(std::move(id), timestamp), + kind("kind", "audio"), synthesized_samples_duration("synthesizedSamplesDuration"), synthesized_samples_events("synthesizedSamplesEvents"), total_samples_duration("totalSamplesDuration"), @@ -912,7 +913,8 @@ RTCAudioPlayoutStats::RTCAudioPlayoutStats(const RTCAudioPlayoutStats& other) = RTCAudioPlayoutStats::~RTCAudioPlayoutStats() {} // clang-format off -WEBRTC_RTCSTATS_IMPL(RTCAudioPlayoutStats, RTCStats, "audio-playout", +WEBRTC_RTCSTATS_IMPL(RTCAudioPlayoutStats, RTCStats, "media-playout", + &kind, &synthesized_samples_duration, &synthesized_samples_events, &total_samples_duration,