[ModernStats] Mark obsolete stats as [[deprecated]].

This includes the stats dictionaries that have been made obsolete in
the spec and whose IDs are prefixed "DEPRECATED_":
- RTCMediaStreamTrackStats
- RTCMediaStreamStats

There is an ongoing experiment to unship these stats dictionaries in
Chrome (https://crbug.com/1374215). Marking then as [[deprecated]] helps
alert other dependencies that these classes are deprecated.

In the meantime, the "DEPRECATED_RTCMediaStreamTrackStats" prefix makes
it possible to use the deprecated classes.

# Unrelated infra failures
NOTRY=True

Bug: webrtc:14175, webrtc:14419
Change-Id: I498d370294058a628278e1e5b027cd12e24ad31a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/279700
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38439}
This commit is contained in:
Henrik Boström
2022-10-19 11:06:58 +02:00
committed by WebRTC LUCI CQ
parent 666c333625
commit 15166b2fa4
10 changed files with 199 additions and 165 deletions

View File

@ -286,35 +286,36 @@ class RTC_EXPORT RTCRemoteIceCandidateStats final
const char* type() const override;
};
// https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamstats
// TODO(https://crbug.com/webrtc/14172): Deprecate and remove.
class RTC_EXPORT RTCMediaStreamStats final : public RTCStats {
// TODO(https://crbug.com/webrtc/14419): Delete this class, it's deprecated.
class RTC_EXPORT DEPRECATED_RTCMediaStreamStats final : public RTCStats {
public:
WEBRTC_RTCSTATS_DECL();
RTCMediaStreamStats(const std::string& id, int64_t timestamp_us);
RTCMediaStreamStats(std::string&& id, int64_t timestamp_us);
RTCMediaStreamStats(const RTCMediaStreamStats& other);
~RTCMediaStreamStats() override;
DEPRECATED_RTCMediaStreamStats(const std::string& id, int64_t timestamp_us);
DEPRECATED_RTCMediaStreamStats(std::string&& id, int64_t timestamp_us);
DEPRECATED_RTCMediaStreamStats(const DEPRECATED_RTCMediaStreamStats& other);
~DEPRECATED_RTCMediaStreamStats() override;
RTCStatsMember<std::string> stream_identifier;
RTCStatsMember<std::vector<std::string>> track_ids;
};
using RTCMediaStreamStats [[deprecated("bugs.webrtc.org/14419")]] =
DEPRECATED_RTCMediaStreamStats;
// TODO(https://crbug.com/webrtc/14175): Deprecate and remove in favor of
// RTCMediaSourceStats/RTCOutboundRtpStreamStats and RTCInboundRtpStreamStats.
class RTC_EXPORT RTCMediaStreamTrackStats final : public RTCStats {
// TODO(https://crbug.com/webrtc/14175): Delete this class, it's deprecated.
class RTC_EXPORT DEPRECATED_RTCMediaStreamTrackStats final : public RTCStats {
public:
WEBRTC_RTCSTATS_DECL();
RTCMediaStreamTrackStats(const std::string& id,
int64_t timestamp_us,
const char* kind);
RTCMediaStreamTrackStats(std::string&& id,
int64_t timestamp_us,
const char* kind);
RTCMediaStreamTrackStats(const RTCMediaStreamTrackStats& other);
~RTCMediaStreamTrackStats() override;
DEPRECATED_RTCMediaStreamTrackStats(const std::string& id,
int64_t timestamp_us,
const char* kind);
DEPRECATED_RTCMediaStreamTrackStats(std::string&& id,
int64_t timestamp_us,
const char* kind);
DEPRECATED_RTCMediaStreamTrackStats(
const DEPRECATED_RTCMediaStreamTrackStats& other);
~DEPRECATED_RTCMediaStreamTrackStats() override;
RTCStatsMember<std::string> track_identifier;
RTCStatsMember<std::string> media_source_id;
@ -362,6 +363,8 @@ class RTC_EXPORT RTCMediaStreamTrackStats final : public RTCStats {
RTCNonStandardStatsMember<double> total_freezes_duration;
RTCNonStandardStatsMember<double> total_pauses_duration;
};
using RTCMediaStreamTrackStats [[deprecated("bugs.webrtc.org/14175")]] =
DEPRECATED_RTCMediaStreamTrackStats;
// https://w3c.github.io/webrtc-stats/#pcstats-dict*
class RTC_EXPORT RTCPeerConnectionStats final : public RTCStats {

View File

@ -1364,7 +1364,8 @@ TEST_P(PeerConnectionIntegrationTest, NewGetStatsManyAudioAndManyVideoStreams) {
}
ASSERT_TRUE(stat->track_id.is_defined());
const auto* track_stat =
caller_report->GetAs<webrtc::RTCMediaStreamTrackStats>(*stat->track_id);
caller_report->GetAs<webrtc::DEPRECATED_RTCMediaStreamTrackStats>(
*stat->track_id);
ASSERT_TRUE(track_stat);
outbound_track_ids.push_back(*track_stat->track_identifier);
}
@ -1388,7 +1389,8 @@ TEST_P(PeerConnectionIntegrationTest, NewGetStatsManyAudioAndManyVideoStreams) {
}
ASSERT_TRUE(stat->track_id.is_defined());
const auto* track_stat =
callee_report->GetAs<webrtc::RTCMediaStreamTrackStats>(*stat->track_id);
callee_report->GetAs<webrtc::DEPRECATED_RTCMediaStreamTrackStats>(
*stat->track_id);
ASSERT_TRUE(track_stat);
inbound_track_ids.push_back(*track_stat->track_identifier);
}
@ -1465,7 +1467,8 @@ TEST_P(PeerConnectionIntegrationTest,
callee()->NewGetStats();
ASSERT_NE(nullptr, report);
auto media_stats = report->GetStatsOfType<webrtc::RTCMediaStreamTrackStats>();
auto media_stats =
report->GetStatsOfType<webrtc::DEPRECATED_RTCMediaStreamTrackStats>();
auto audio_index = FindFirstMediaStatsIndexByKind("audio", media_stats);
ASSERT_GE(audio_index, 0);
EXPECT_TRUE(media_stats[audio_index]->audio_level.is_defined());
@ -1483,11 +1486,11 @@ void ModifySsrcs(cricket::SessionDescription* desc) {
}
}
// Test that the "RTCMediaSteamTrackStats" object is updated correctly when
// SSRCs are unsignaled, and the SSRC of the received (audio) stream changes.
// This should result in two "RTCInboundRTPStreamStats", but only one
// "RTCMediaStreamTrackStats", whose counters go up continuously rather than
// being reset to 0 once the SSRC change occurs.
// Test that the "DEPRECATED_RTCMediaStreamTrackStats" object is updated
// correctly when SSRCs are unsignaled, and the SSRC of the received (audio)
// stream changes. This should result in two "RTCInboundRTPStreamStats", but
// only one "DEPRECATED_RTCMediaStreamTrackStats", whose counters go up
// continuously rather than being reset to 0 once the SSRC change occurs.
//
// Regression test for this bug:
// https://bugs.chromium.org/p/webrtc/issues/detail?id=8158
@ -1519,7 +1522,8 @@ TEST_P(PeerConnectionIntegrationTest,
rtc::scoped_refptr<const webrtc::RTCStatsReport> report =
callee()->NewGetStats();
ASSERT_NE(nullptr, report);
auto track_stats = report->GetStatsOfType<webrtc::RTCMediaStreamTrackStats>();
auto track_stats =
report->GetStatsOfType<webrtc::DEPRECATED_RTCMediaStreamTrackStats>();
ASSERT_EQ(1U, track_stats.size());
ASSERT_TRUE(track_stats[0]->total_samples_received.is_defined());
ASSERT_GT(*track_stats[0]->total_samples_received, 0U);
@ -1539,7 +1543,8 @@ TEST_P(PeerConnectionIntegrationTest,
report = callee()->NewGetStats();
ASSERT_NE(nullptr, report);
track_stats = report->GetStatsOfType<webrtc::RTCMediaStreamTrackStats>();
track_stats =
report->GetStatsOfType<webrtc::DEPRECATED_RTCMediaStreamTrackStats>();
ASSERT_EQ(1U, track_stats.size());
ASSERT_TRUE(track_stats[0]->total_samples_received.is_defined());
// The "total samples received" stat should only be greater than it was
@ -2878,8 +2883,9 @@ TEST_P(PeerConnectionIntegrationTest, DisableAndEnableAudioPlayout) {
double GetAudioEnergyStat(PeerConnectionIntegrationWrapper* pc) {
auto report = pc->NewGetStats();
auto track_stats_list =
report->GetStatsOfType<webrtc::RTCMediaStreamTrackStats>();
const webrtc::RTCMediaStreamTrackStats* remote_track_stats = nullptr;
report->GetStatsOfType<webrtc::DEPRECATED_RTCMediaStreamTrackStats>();
const webrtc::DEPRECATED_RTCMediaStreamTrackStats* remote_track_stats =
nullptr;
for (const auto* track_stats : track_stats_list) {
if (track_stats->remote_source.is_defined() &&
*track_stats->remote_source) {

View File

@ -99,7 +99,7 @@ std::string RTCIceCandidatePairStatsIDFromConnectionInfo(
}
// `direction` is either kDirectionInbound or kDirectionOutbound.
std::string RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
std::string DEPRECATED_RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
const char direction,
int attachment_id) {
char buf[1024];
@ -398,7 +398,7 @@ std::string GetCodecIdAndMaybeCreateCodecStats(
void SetMediaStreamTrackStatsFromMediaStreamTrackInterface(
const MediaStreamTrackInterface& track,
RTCMediaStreamTrackStats* track_stats) {
DEPRECATED_RTCMediaStreamTrackStats* track_stats) {
track_stats->track_identifier = track.id();
track_stats->ended = (track.state() == MediaStreamTrackInterface::kEnded);
}
@ -977,15 +977,15 @@ void SetAudioProcessingStats(StatsType* stats,
}
}
std::unique_ptr<RTCMediaStreamTrackStats>
std::unique_ptr<DEPRECATED_RTCMediaStreamTrackStats>
ProduceMediaStreamTrackStatsFromVoiceSenderInfo(
int64_t timestamp_us,
AudioTrackInterface& audio_track,
const cricket::VoiceSenderInfo& voice_sender_info,
int attachment_id) {
std::unique_ptr<RTCMediaStreamTrackStats> audio_track_stats(
std::make_unique<RTCMediaStreamTrackStats>(
RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
std::unique_ptr<DEPRECATED_RTCMediaStreamTrackStats> audio_track_stats(
std::make_unique<DEPRECATED_RTCMediaStreamTrackStats>(
DEPRECATED_RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
kDirectionOutbound, attachment_id),
timestamp_us, RTCMediaStreamTrackKind::kAudio));
SetMediaStreamTrackStatsFromMediaStreamTrackInterface(
@ -1010,7 +1010,7 @@ ProduceMediaStreamTrackStatsFromVoiceSenderInfo(
return audio_track_stats;
}
std::unique_ptr<RTCMediaStreamTrackStats>
std::unique_ptr<DEPRECATED_RTCMediaStreamTrackStats>
ProduceMediaStreamTrackStatsFromVoiceReceiverInfo(
int64_t timestamp_us,
const AudioTrackInterface& audio_track,
@ -1018,9 +1018,9 @@ ProduceMediaStreamTrackStatsFromVoiceReceiverInfo(
int attachment_id) {
// Since receiver tracks can't be reattached, we use the SSRC as
// an attachment identifier.
std::unique_ptr<RTCMediaStreamTrackStats> audio_track_stats(
std::make_unique<RTCMediaStreamTrackStats>(
RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
std::unique_ptr<DEPRECATED_RTCMediaStreamTrackStats> audio_track_stats(
std::make_unique<DEPRECATED_RTCMediaStreamTrackStats>(
DEPRECATED_RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
kDirectionInbound, attachment_id),
timestamp_us, RTCMediaStreamTrackKind::kAudio));
SetMediaStreamTrackStatsFromMediaStreamTrackInterface(
@ -1070,15 +1070,15 @@ ProduceMediaStreamTrackStatsFromVoiceReceiverInfo(
return audio_track_stats;
}
std::unique_ptr<RTCMediaStreamTrackStats>
std::unique_ptr<DEPRECATED_RTCMediaStreamTrackStats>
ProduceMediaStreamTrackStatsFromVideoSenderInfo(
int64_t timestamp_us,
const VideoTrackInterface& video_track,
const cricket::VideoSenderInfo& video_sender_info,
int attachment_id) {
std::unique_ptr<RTCMediaStreamTrackStats> video_track_stats(
std::make_unique<RTCMediaStreamTrackStats>(
RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
std::unique_ptr<DEPRECATED_RTCMediaStreamTrackStats> video_track_stats(
std::make_unique<DEPRECATED_RTCMediaStreamTrackStats>(
DEPRECATED_RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
kDirectionOutbound, attachment_id),
timestamp_us, RTCMediaStreamTrackKind::kVideo));
SetMediaStreamTrackStatsFromMediaStreamTrackInterface(
@ -1099,15 +1099,15 @@ ProduceMediaStreamTrackStatsFromVideoSenderInfo(
return video_track_stats;
}
std::unique_ptr<RTCMediaStreamTrackStats>
std::unique_ptr<DEPRECATED_RTCMediaStreamTrackStats>
ProduceMediaStreamTrackStatsFromVideoReceiverInfo(
int64_t timestamp_us,
const VideoTrackInterface& video_track,
const cricket::VideoReceiverInfo& video_receiver_info,
int attachment_id) {
std::unique_ptr<RTCMediaStreamTrackStats> video_track_stats(
std::make_unique<RTCMediaStreamTrackStats>(
RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
std::unique_ptr<DEPRECATED_RTCMediaStreamTrackStats> video_track_stats(
std::make_unique<DEPRECATED_RTCMediaStreamTrackStats>(
DEPRECATED_RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
kDirectionInbound, attachment_id),
timestamp_us, RTCMediaStreamTrackKind::kVideo));
SetMediaStreamTrackStatsFromMediaStreamTrackInterface(
@ -1186,7 +1186,7 @@ void ProduceSenderMediaTrackStats(
<< sender->ssrc();
}
}
std::unique_ptr<RTCMediaStreamTrackStats> audio_track_stats =
std::unique_ptr<DEPRECATED_RTCMediaStreamTrackStats> audio_track_stats =
ProduceMediaStreamTrackStatsFromVoiceSenderInfo(
timestamp_us, *track, *voice_sender_info, sender->AttachmentId());
report->AddStats(std::move(audio_track_stats));
@ -1213,7 +1213,7 @@ void ProduceSenderMediaTrackStats(
<< "No video sender info for sender with ssrc " << sender->ssrc();
}
}
std::unique_ptr<RTCMediaStreamTrackStats> video_track_stats =
std::unique_ptr<DEPRECATED_RTCMediaStreamTrackStats> video_track_stats =
ProduceMediaStreamTrackStatsFromVideoSenderInfo(
timestamp_us, *track, *video_sender_info, sender->AttachmentId());
report->AddStats(std::move(video_track_stats));
@ -1238,7 +1238,7 @@ void ProduceReceiverMediaTrackStats(
if (!voice_receiver_info) {
continue;
}
std::unique_ptr<RTCMediaStreamTrackStats> audio_track_stats =
std::unique_ptr<DEPRECATED_RTCMediaStreamTrackStats> audio_track_stats =
ProduceMediaStreamTrackStatsFromVoiceReceiverInfo(
timestamp_us, *track, *voice_receiver_info,
receiver->AttachmentId());
@ -1251,7 +1251,7 @@ void ProduceReceiverMediaTrackStats(
if (!video_receiver_info) {
continue;
}
std::unique_ptr<RTCMediaStreamTrackStats> video_track_stats =
std::unique_ptr<DEPRECATED_RTCMediaStreamTrackStats> video_track_stats =
ProduceMediaStreamTrackStatsFromVideoReceiverInfo(
timestamp_us, *track, *video_receiver_info,
receiver->AttachmentId());
@ -1276,7 +1276,7 @@ rtc::scoped_refptr<RTCStatsReport> CreateReportFilteredBySelector(
// Because we do not implement sender stats, we look at outbound-rtp(s)
// that reference the track attachment stats for the sender instead.
std::string track_id =
RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
DEPRECATED_RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
kDirectionOutbound, sender_selector->AttachmentId());
for (const auto& stats : *report) {
if (stats.type() != RTCOutboundRTPStreamStats::kType)
@ -1296,7 +1296,7 @@ rtc::scoped_refptr<RTCStatsReport> CreateReportFilteredBySelector(
// Because we do not implement receiver stats, we look at inbound-rtp(s)
// that reference the track attachment stats for the receiver instead.
std::string track_id =
RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
DEPRECATED_RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
kDirectionInbound, receiver_selector->AttachmentId());
for (const auto& stats : *report) {
if (stats.type() != RTCInboundRTPStreamStats::kType)
@ -1782,7 +1782,7 @@ void RTCStatsCollector::ProduceMediaStreamStats_s(
for (const auto& stats : transceiver_stats_infos_) {
for (const auto& sender : stats.transceiver->senders()) {
std::string track_id =
RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
DEPRECATED_RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
kDirectionOutbound, sender->internal()->AttachmentId());
for (auto& stream_id : sender->stream_ids()) {
track_ids[stream_id].push_back(track_id);
@ -1790,7 +1790,7 @@ void RTCStatsCollector::ProduceMediaStreamStats_s(
}
for (const auto& receiver : stats.transceiver->receivers()) {
std::string track_id =
RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
DEPRECATED_RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
kDirectionInbound, receiver->internal()->AttachmentId());
for (auto& stream : receiver->streams()) {
track_ids[stream->id()].push_back(track_id);
@ -1800,9 +1800,9 @@ void RTCStatsCollector::ProduceMediaStreamStats_s(
// Build stats for each stream ID known.
for (auto& it : track_ids) {
std::unique_ptr<RTCMediaStreamStats> stream_stats(
std::make_unique<RTCMediaStreamStats>("DEPRECATED_S" + it.first,
timestamp_us));
std::unique_ptr<DEPRECATED_RTCMediaStreamStats> stream_stats(
std::make_unique<DEPRECATED_RTCMediaStreamStats>(
"DEPRECATED_S" + it.first, timestamp_us));
stream_stats->stream_identifier = it.first;
stream_stats->track_ids = it.second;
report->AddStats(std::move(stream_stats));
@ -1994,7 +1994,7 @@ void RTCStatsCollector::ProduceAudioRTPStreamStats_n(
stats.track_media_info_map.GetAudioTrack(voice_receiver_info);
if (audio_track) {
inbound_audio->track_id =
RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
DEPRECATED_RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
kDirectionInbound, stats.track_media_info_map
.GetAttachmentIdByTrack(audio_track.get())
.value());
@ -2044,7 +2044,7 @@ void RTCStatsCollector::ProduceAudioRTPStreamStats_n(
stats.track_media_info_map.GetAttachmentIdByTrack(audio_track.get())
.value();
outbound_audio->track_id =
RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
DEPRECATED_RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
kDirectionOutbound, attachment_id);
outbound_audio->media_source_id =
RTCMediaSourceStatsIDFromKindAndAttachment(cricket::MEDIA_TYPE_AUDIO,
@ -2106,7 +2106,7 @@ void RTCStatsCollector::ProduceVideoRTPStreamStats_n(
stats.track_media_info_map.GetVideoTrack(video_receiver_info);
if (video_track) {
inbound_video->track_id =
RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
DEPRECATED_RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
kDirectionInbound, stats.track_media_info_map
.GetAttachmentIdByTrack(video_track.get())
.value());
@ -2138,7 +2138,7 @@ void RTCStatsCollector::ProduceVideoRTPStreamStats_n(
stats.track_media_info_map.GetAttachmentIdByTrack(video_track.get())
.value();
outbound_video->track_id =
RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
DEPRECATED_RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(
kDirectionOutbound, attachment_id);
outbound_video->media_source_id =
RTCMediaSourceStatsIDFromKindAndAttachment(cricket::MEDIA_TYPE_VIDEO,

View File

@ -109,11 +109,12 @@ void PrintTo(const RTCPeerConnectionStats& stats, ::std::ostream* os) {
*os << stats.ToJson();
}
void PrintTo(const RTCMediaStreamStats& stats, ::std::ostream* os) {
void PrintTo(const DEPRECATED_RTCMediaStreamStats& stats, ::std::ostream* os) {
*os << stats.ToJson();
}
void PrintTo(const RTCMediaStreamTrackStats& stats, ::std::ostream* os) {
void PrintTo(const DEPRECATED_RTCMediaStreamTrackStats& stats,
::std::ostream* os) {
*os << stats.ToJson();
}
@ -793,8 +794,9 @@ class RTCStatsCollectorTest : public ::testing::Test {
EXPECT_TRUE(graph.full_report->Get(graph.remote_stream_id));
EXPECT_TRUE(graph.full_report->Get(graph.peer_connection_id));
EXPECT_TRUE(graph.full_report->Get(graph.media_source_id));
const auto& sender_track = graph.full_report->Get(graph.sender_track_id)
->cast_to<RTCMediaStreamTrackStats>();
const auto& sender_track =
graph.full_report->Get(graph.sender_track_id)
->cast_to<DEPRECATED_RTCMediaStreamTrackStats>();
EXPECT_EQ(*sender_track.media_source_id, graph.media_source_id);
const auto& outbound_rtp = graph.full_report->Get(graph.outbound_rtp_id)
->cast_to<RTCOutboundRTPStreamStats>();
@ -909,8 +911,9 @@ class RTCStatsCollectorTest : public ::testing::Test {
// `graph.remote_outbound_rtp_id` is omitted on purpose so that expectations
// can be added by the caller depending on what value it sets for the
// `add_remote_outbound_stats` argument.
const auto& sender_track = graph.full_report->Get(graph.sender_track_id)
->cast_to<RTCMediaStreamTrackStats>();
const auto& sender_track =
graph.full_report->Get(graph.sender_track_id)
->cast_to<DEPRECATED_RTCMediaStreamTrackStats>();
EXPECT_EQ(*sender_track.media_source_id, graph.media_source_id);
const auto& outbound_rtp = graph.full_report->Get(graph.outbound_rtp_id)
->cast_to<RTCOutboundRTPStreamStats>();
@ -2176,21 +2179,22 @@ TEST_F(RTCStatsCollectorTest,
rtc::scoped_refptr<const RTCStatsReport> report = stats_->GetStatsReport();
RTCMediaStreamStats expected_local_stream(
IdForType<RTCMediaStreamStats>(report.get()), report->timestamp_us());
DEPRECATED_RTCMediaStreamStats expected_local_stream(
IdForType<DEPRECATED_RTCMediaStreamStats>(report.get()),
report->timestamp_us());
expected_local_stream.stream_identifier = local_stream->id();
expected_local_stream.track_ids = {
IdForType<RTCMediaStreamTrackStats>(report.get())};
IdForType<DEPRECATED_RTCMediaStreamTrackStats>(report.get())};
ASSERT_TRUE(report->Get(expected_local_stream.id()))
<< "Did not find " << expected_local_stream.id() << " in "
<< report->ToJson();
EXPECT_EQ(
expected_local_stream,
report->Get(expected_local_stream.id())->cast_to<RTCMediaStreamStats>());
EXPECT_EQ(expected_local_stream,
report->Get(expected_local_stream.id())
->cast_to<DEPRECATED_RTCMediaStreamStats>());
RTCMediaStreamTrackStats expected_local_audio_track_ssrc1(
IdForType<RTCMediaStreamTrackStats>(report.get()), report->timestamp_us(),
RTCMediaStreamTrackKind::kAudio);
DEPRECATED_RTCMediaStreamTrackStats expected_local_audio_track_ssrc1(
IdForType<DEPRECATED_RTCMediaStreamTrackStats>(report.get()),
report->timestamp_us(), RTCMediaStreamTrackKind::kAudio);
expected_local_audio_track_ssrc1.track_identifier = local_audio_track->id();
expected_local_audio_track_ssrc1.media_source_id =
"SA11"; // Attachment ID = SSRC + 10
@ -2204,7 +2208,7 @@ TEST_F(RTCStatsCollectorTest,
<< report->ToJson();
EXPECT_EQ(expected_local_audio_track_ssrc1,
report->Get(expected_local_audio_track_ssrc1.id())
->cast_to<RTCMediaStreamTrackStats>());
->cast_to<DEPRECATED_RTCMediaStreamTrackStats>());
}
TEST_F(RTCStatsCollectorTest,
@ -2248,21 +2252,22 @@ TEST_F(RTCStatsCollectorTest,
rtc::scoped_refptr<const RTCStatsReport> report = stats_->GetStatsReport();
RTCMediaStreamStats expected_remote_stream(
IdForType<RTCMediaStreamStats>(report.get()), report->timestamp_us());
DEPRECATED_RTCMediaStreamStats expected_remote_stream(
IdForType<DEPRECATED_RTCMediaStreamStats>(report.get()),
report->timestamp_us());
expected_remote_stream.stream_identifier = remote_stream->id();
expected_remote_stream.track_ids = std::vector<std::string>(
{IdForType<RTCMediaStreamTrackStats>(report.get())});
{IdForType<DEPRECATED_RTCMediaStreamTrackStats>(report.get())});
ASSERT_TRUE(report->Get(expected_remote_stream.id()))
<< "Did not find " << expected_remote_stream.id() << " in "
<< report->ToJson();
EXPECT_EQ(
expected_remote_stream,
report->Get(expected_remote_stream.id())->cast_to<RTCMediaStreamStats>());
EXPECT_EQ(expected_remote_stream,
report->Get(expected_remote_stream.id())
->cast_to<DEPRECATED_RTCMediaStreamStats>());
RTCMediaStreamTrackStats expected_remote_audio_track(
IdForType<RTCMediaStreamTrackStats>(report.get()), report->timestamp_us(),
RTCMediaStreamTrackKind::kAudio);
DEPRECATED_RTCMediaStreamTrackStats expected_remote_audio_track(
IdForType<DEPRECATED_RTCMediaStreamTrackStats>(report.get()),
report->timestamp_us(), RTCMediaStreamTrackKind::kAudio);
expected_remote_audio_track.track_identifier = remote_audio_track->id();
// `expected_remote_audio_track.media_source_id` should be undefined
// because the track is remote.
@ -2290,7 +2295,7 @@ TEST_F(RTCStatsCollectorTest,
ASSERT_TRUE(report->Get(expected_remote_audio_track.id()));
EXPECT_EQ(expected_remote_audio_track,
report->Get(expected_remote_audio_track.id())
->cast_to<RTCMediaStreamTrackStats>());
->cast_to<DEPRECATED_RTCMediaStreamTrackStats>());
}
TEST_F(RTCStatsCollectorTest,
@ -2321,23 +2326,25 @@ TEST_F(RTCStatsCollectorTest,
rtc::scoped_refptr<const RTCStatsReport> report = stats_->GetStatsReport();
auto stats_of_my_type = report->GetStatsOfType<RTCMediaStreamStats>();
auto stats_of_my_type =
report->GetStatsOfType<DEPRECATED_RTCMediaStreamStats>();
ASSERT_EQ(1U, stats_of_my_type.size()) << "No stream in " << report->ToJson();
auto stats_of_track_type = report->GetStatsOfType<RTCMediaStreamTrackStats>();
auto stats_of_track_type =
report->GetStatsOfType<DEPRECATED_RTCMediaStreamTrackStats>();
ASSERT_EQ(1U, stats_of_track_type.size())
<< "Wrong number of tracks in " << report->ToJson();
RTCMediaStreamStats expected_local_stream(stats_of_my_type[0]->id(),
report->timestamp_us());
DEPRECATED_RTCMediaStreamStats expected_local_stream(
stats_of_my_type[0]->id(), report->timestamp_us());
expected_local_stream.stream_identifier = local_stream->id();
expected_local_stream.track_ids =
std::vector<std::string>({stats_of_track_type[0]->id()});
ASSERT_TRUE(report->Get(expected_local_stream.id()));
EXPECT_EQ(
expected_local_stream,
report->Get(expected_local_stream.id())->cast_to<RTCMediaStreamStats>());
EXPECT_EQ(expected_local_stream,
report->Get(expected_local_stream.id())
->cast_to<DEPRECATED_RTCMediaStreamStats>());
RTCMediaStreamTrackStats expected_local_video_track_ssrc1(
DEPRECATED_RTCMediaStreamTrackStats expected_local_video_track_ssrc1(
stats_of_track_type[0]->id(), report->timestamp_us(),
RTCMediaStreamTrackKind::kVideo);
expected_local_video_track_ssrc1.track_identifier = local_video_track->id();
@ -2353,7 +2360,7 @@ TEST_F(RTCStatsCollectorTest,
ASSERT_TRUE(report->Get(expected_local_video_track_ssrc1.id()));
EXPECT_EQ(expected_local_video_track_ssrc1,
report->Get(expected_local_video_track_ssrc1.id())
->cast_to<RTCMediaStreamTrackStats>());
->cast_to<DEPRECATED_RTCMediaStreamTrackStats>());
}
TEST_F(RTCStatsCollectorTest,
@ -2397,24 +2404,26 @@ TEST_F(RTCStatsCollectorTest,
rtc::scoped_refptr<const RTCStatsReport> report = stats_->GetStatsReport();
auto stats_of_my_type = report->GetStatsOfType<RTCMediaStreamStats>();
auto stats_of_my_type =
report->GetStatsOfType<DEPRECATED_RTCMediaStreamStats>();
ASSERT_EQ(1U, stats_of_my_type.size()) << "No stream in " << report->ToJson();
auto stats_of_track_type = report->GetStatsOfType<RTCMediaStreamTrackStats>();
auto stats_of_track_type =
report->GetStatsOfType<DEPRECATED_RTCMediaStreamTrackStats>();
ASSERT_EQ(1U, stats_of_track_type.size())
<< "Wrong number of tracks in " << report->ToJson();
ASSERT_TRUE(*(stats_of_track_type[0]->remote_source));
RTCMediaStreamStats expected_remote_stream(stats_of_my_type[0]->id(),
report->timestamp_us());
DEPRECATED_RTCMediaStreamStats expected_remote_stream(
stats_of_my_type[0]->id(), report->timestamp_us());
expected_remote_stream.stream_identifier = remote_stream->id();
expected_remote_stream.track_ids =
std::vector<std::string>({stats_of_track_type[0]->id()});
ASSERT_TRUE(report->Get(expected_remote_stream.id()));
EXPECT_EQ(
expected_remote_stream,
report->Get(expected_remote_stream.id())->cast_to<RTCMediaStreamStats>());
EXPECT_EQ(expected_remote_stream,
report->Get(expected_remote_stream.id())
->cast_to<DEPRECATED_RTCMediaStreamStats>());
RTCMediaStreamTrackStats expected_remote_video_track_ssrc3(
DEPRECATED_RTCMediaStreamTrackStats expected_remote_video_track_ssrc3(
stats_of_track_type[0]->id(), report->timestamp_us(),
RTCMediaStreamTrackKind::kVideo);
expected_remote_video_track_ssrc3.track_identifier =
@ -2442,7 +2451,7 @@ TEST_F(RTCStatsCollectorTest,
ASSERT_TRUE(report->Get(expected_remote_video_track_ssrc3.id()));
EXPECT_EQ(expected_remote_video_track_ssrc3,
report->Get(expected_remote_video_track_ssrc3.id())
->cast_to<RTCMediaStreamTrackStats>());
->cast_to<DEPRECATED_RTCMediaStreamTrackStats>());
}
TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) {
@ -2499,7 +2508,8 @@ TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) {
rtc::scoped_refptr<const RTCStatsReport> report = stats_->GetStatsReport();
auto stats_of_track_type = report->GetStatsOfType<RTCMediaStreamTrackStats>();
auto stats_of_track_type =
report->GetStatsOfType<DEPRECATED_RTCMediaStreamTrackStats>();
ASSERT_EQ(1U, stats_of_track_type.size());
RTCInboundRTPStreamStats expected_audio("ITTransportName1A1",
@ -2638,7 +2648,8 @@ TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Video) {
expected_video.kind = "video";
expected_video.track_identifier = "RemoteVideoTrackID";
expected_video.mid = "VideoMid";
expected_video.track_id = IdForType<RTCMediaStreamTrackStats>(report.get());
expected_video.track_id =
IdForType<DEPRECATED_RTCMediaStreamTrackStats>(report.get());
expected_video.transport_id = "TTransportName1";
expected_video.codec_id = "CITTransportName1_42";
expected_video.fir_count = 5;
@ -2742,7 +2753,8 @@ TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Audio) {
expected_audio.ssrc = 1;
expected_audio.media_type = "audio";
expected_audio.kind = "audio";
expected_audio.track_id = IdForType<RTCMediaStreamTrackStats>(report.get());
expected_audio.track_id =
IdForType<DEPRECATED_RTCMediaStreamTrackStats>(report.get());
expected_audio.transport_id = "TTransportName1";
expected_audio.codec_id = "COTTransportName1_42";
expected_audio.packets_sent = 2;
@ -2821,7 +2833,8 @@ TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Video) {
auto stats_of_my_type = report->GetStatsOfType<RTCOutboundRTPStreamStats>();
ASSERT_EQ(1U, stats_of_my_type.size());
auto stats_of_track_type = report->GetStatsOfType<RTCMediaStreamTrackStats>();
auto stats_of_track_type =
report->GetStatsOfType<DEPRECATED_RTCMediaStreamTrackStats>();
ASSERT_EQ(1U, stats_of_track_type.size());
RTCOutboundRTPStreamStats expected_video(stats_of_my_type[0]->id(),
@ -3172,7 +3185,8 @@ TEST_F(RTCStatsCollectorTest, CollectNoStreamRTCOutboundRTPStreamStats_Audio) {
expected_audio.ssrc = 1;
expected_audio.media_type = "audio";
expected_audio.kind = "audio";
expected_audio.track_id = IdForType<RTCMediaStreamTrackStats>(report.get());
expected_audio.track_id =
IdForType<DEPRECATED_RTCMediaStreamTrackStats>(report.get());
expected_audio.transport_id = "TTransportName1";
expected_audio.codec_id = "COTTransportName1_42";
expected_audio.packets_sent = 2;
@ -3710,9 +3724,9 @@ TEST_F(RTCStatsCollectorTest, CollectEchoReturnLossFromTrackAudioProcessor) {
rtc::scoped_refptr<const RTCStatsReport> report = stats_->GetStatsReport();
RTCMediaStreamTrackStats expected_local_audio_track_ssrc1(
IdForType<RTCMediaStreamTrackStats>(report.get()), report->timestamp_us(),
RTCMediaStreamTrackKind::kAudio);
DEPRECATED_RTCMediaStreamTrackStats expected_local_audio_track_ssrc1(
IdForType<DEPRECATED_RTCMediaStreamTrackStats>(report.get()),
report->timestamp_us(), RTCMediaStreamTrackKind::kAudio);
expected_local_audio_track_ssrc1.track_identifier = local_audio_track->id();
expected_local_audio_track_ssrc1.media_source_id =
"SA11"; // Attachment ID = SSRC + 10
@ -3726,7 +3740,7 @@ TEST_F(RTCStatsCollectorTest, CollectEchoReturnLossFromTrackAudioProcessor) {
<< report->ToJson();
EXPECT_EQ(expected_local_audio_track_ssrc1,
report->Get(expected_local_audio_track_ssrc1.id())
->cast_to<RTCMediaStreamTrackStats>());
->cast_to<DEPRECATED_RTCMediaStreamTrackStats>());
RTCAudioSourceStats expected_audio("SA11", report->timestamp_us());
expected_audio.track_identifier = "LocalAudioTrackID";
@ -3832,8 +3846,8 @@ TEST_F(RTCStatsCollectorTest, StatsReportedOnZeroSsrc) {
rtc::scoped_refptr<const RTCStatsReport> report = stats_->GetStatsReport();
std::vector<const RTCMediaStreamTrackStats*> track_stats =
report->GetStatsOfType<RTCMediaStreamTrackStats>();
std::vector<const DEPRECATED_RTCMediaStreamTrackStats*> track_stats =
report->GetStatsOfType<DEPRECATED_RTCMediaStreamTrackStats>();
EXPECT_EQ(1U, track_stats.size());
std::vector<const RTCRTPStreamStats*> rtp_stream_stats =
@ -3853,8 +3867,8 @@ TEST_F(RTCStatsCollectorTest, DoNotCrashOnSsrcChange) {
// We do not generate any matching voice_sender_info stats.
rtc::scoped_refptr<const RTCStatsReport> report = stats_->GetStatsReport();
std::vector<const RTCMediaStreamTrackStats*> track_stats =
report->GetStatsOfType<RTCMediaStreamTrackStats>();
std::vector<const DEPRECATED_RTCMediaStreamTrackStats*> track_stats =
report->GetStatsOfType<DEPRECATED_RTCMediaStreamTrackStats>();
EXPECT_EQ(1U, track_stats.size());
}

View File

@ -339,8 +339,8 @@ class RTCStatsReportVerifier {
stats_types.insert(RTCIceCandidatePairStats::kType);
stats_types.insert(RTCLocalIceCandidateStats::kType);
stats_types.insert(RTCRemoteIceCandidateStats::kType);
stats_types.insert(RTCMediaStreamStats::kType);
stats_types.insert(RTCMediaStreamTrackStats::kType);
stats_types.insert(DEPRECATED_RTCMediaStreamStats::kType);
stats_types.insert(DEPRECATED_RTCMediaStreamTrackStats::kType);
stats_types.insert(RTCPeerConnectionStats::kType);
stats_types.insert(RTCInboundRTPStreamStats::kType);
stats_types.insert(RTCOutboundRTPStreamStats::kType);
@ -380,12 +380,12 @@ class RTCStatsReportVerifier {
} else if (stats.type() == RTCRemoteIceCandidateStats::kType) {
verify_successful &= VerifyRTCRemoteIceCandidateStats(
stats.cast_to<RTCRemoteIceCandidateStats>());
} else if (stats.type() == RTCMediaStreamStats::kType) {
verify_successful &=
VerifyRTCMediaStreamStats(stats.cast_to<RTCMediaStreamStats>());
} else if (stats.type() == RTCMediaStreamTrackStats::kType) {
verify_successful &= VerifyRTCMediaStreamTrackStats(
stats.cast_to<RTCMediaStreamTrackStats>());
} else if (stats.type() == DEPRECATED_RTCMediaStreamStats::kType) {
verify_successful &= DEPRECATED_VerifyRTCMediaStreamStats(
stats.cast_to<DEPRECATED_RTCMediaStreamStats>());
} else if (stats.type() == DEPRECATED_RTCMediaStreamTrackStats::kType) {
verify_successful &= VerLegacyifyRTCMediaStreamTrackStats(
stats.cast_to<DEPRECATED_RTCMediaStreamTrackStats>());
} else if (stats.type() == RTCPeerConnectionStats::kType) {
verify_successful &= VerifyRTCPeerConnectionStats(
stats.cast_to<RTCPeerConnectionStats>());
@ -560,16 +560,17 @@ class RTCStatsReportVerifier {
return VerifyRTCIceCandidateStats(remote_candidate);
}
bool VerifyRTCMediaStreamStats(const RTCMediaStreamStats& media_stream) {
bool DEPRECATED_VerifyRTCMediaStreamStats(
const DEPRECATED_RTCMediaStreamStats& media_stream) {
RTCStatsVerifier verifier(report_.get(), &media_stream);
verifier.TestMemberIsDefined(media_stream.stream_identifier);
verifier.TestMemberIsIDReference(media_stream.track_ids,
RTCMediaStreamTrackStats::kType);
verifier.TestMemberIsIDReference(
media_stream.track_ids, DEPRECATED_RTCMediaStreamTrackStats::kType);
return verifier.ExpectAllMembersSuccessfullyTested();
}
bool VerifyRTCMediaStreamTrackStats(
const RTCMediaStreamTrackStats& media_stream_track) {
bool VerLegacyifyRTCMediaStreamTrackStats(
const DEPRECATED_RTCMediaStreamTrackStats& media_stream_track) {
RTCStatsVerifier verifier(report_.get(), &media_stream_track);
verifier.TestMemberIsDefined(media_stream_track.track_identifier);
verifier.TestMemberIsDefined(media_stream_track.remote_source);
@ -786,8 +787,8 @@ class RTCStatsReportVerifier {
if (stream.type() == RTCInboundRTPStreamStats::kType ||
stream.type() == RTCOutboundRTPStreamStats::kType) {
verifier.TestMemberIsDefined(stream.media_type);
verifier.TestMemberIsIDReference(stream.track_id,
RTCMediaStreamTrackStats::kType);
verifier.TestMemberIsIDReference(
stream.track_id, DEPRECATED_RTCMediaStreamTrackStats::kType);
} else {
verifier.TestMemberIsUndefined(stream.media_type);
verifier.TestMemberIsUndefined(stream.track_id);
@ -1213,7 +1214,7 @@ TEST_F(RTCStatsIntegrationTest, GetStatsWithSenderSelector) {
// TODO(hbos): Include RTCRtpContributingSourceStats when implemented.
RTCInboundRTPStreamStats::kType,
RTCPeerConnectionStats::kType,
RTCMediaStreamStats::kType,
DEPRECATED_RTCMediaStreamStats::kType,
RTCDataChannelStats::kType,
};
RTCStatsReportVerifier(report.get()).VerifyReport(allowed_missing_stats);
@ -1232,7 +1233,7 @@ TEST_F(RTCStatsIntegrationTest, GetStatsWithReceiverSelector) {
// TODO(hbos): Include RTCRtpContributingSourceStats when implemented.
RTCOutboundRTPStreamStats::kType,
RTCPeerConnectionStats::kType,
RTCMediaStreamStats::kType,
DEPRECATED_RTCMediaStreamStats::kType,
RTCDataChannelStats::kType,
};
RTCStatsReportVerifier(report.get()).VerifyReport(allowed_missing_stats);

View File

@ -91,11 +91,13 @@ std::vector<const std::string*> GetStatsReferencedIds(const RTCStats& stats) {
const auto& local_or_remote_candidate =
static_cast<const RTCIceCandidateStats&>(stats);
AddIdIfDefined(local_or_remote_candidate.transport_id, &neighbor_ids);
} else if (type == RTCMediaStreamStats::kType) {
const auto& stream = static_cast<const RTCMediaStreamStats&>(stats);
} else if (type == DEPRECATED_RTCMediaStreamStats::kType) {
const auto& stream =
static_cast<const DEPRECATED_RTCMediaStreamStats&>(stats);
AddIdsIfDefined(stream.track_ids, &neighbor_ids);
} else if (type == RTCMediaStreamTrackStats::kType) {
const auto& track = static_cast<const RTCMediaStreamTrackStats&>(stats);
} else if (type == DEPRECATED_RTCMediaStreamTrackStats::kType) {
const auto& track =
static_cast<const DEPRECATED_RTCMediaStreamTrackStats&>(stats);
AddIdIfDefined(track.media_source_id, &neighbor_ids);
} else if (type == RTCPeerConnectionStats::kType) {
// RTCPeerConnectionStats does not have any neighbor references.

View File

@ -46,7 +46,7 @@ void RemoveSsrcsAndKeepMsids(cricket::SessionDescription* desc) {
int FindFirstMediaStatsIndexByKind(
const std::string& kind,
const std::vector<const webrtc::RTCMediaStreamTrackStats*>&
const std::vector<const webrtc::DEPRECATED_RTCMediaStreamTrackStats*>&
media_stats_vec) {
for (size_t i = 0; i < media_stats_vec.size(); i++) {
if (media_stats_vec[i]->kind.ValueToString() == kind) {

View File

@ -175,7 +175,7 @@ void RemoveSsrcsAndKeepMsids(cricket::SessionDescription* desc);
// metrics we're interested in are already available in "inbound-rtp".
int FindFirstMediaStatsIndexByKind(
const std::string& kind,
const std::vector<const webrtc::RTCMediaStreamTrackStats*>&
const std::vector<const webrtc::DEPRECATED_RTCMediaStreamTrackStats*>&
media_stats_vec);
class TaskQueueMetronome : public webrtc::Metronome {

View File

@ -315,27 +315,30 @@ const char* RTCRemoteIceCandidateStats::type() const {
}
// clang-format off
WEBRTC_RTCSTATS_IMPL(RTCMediaStreamStats, RTCStats, "stream",
WEBRTC_RTCSTATS_IMPL(DEPRECATED_RTCMediaStreamStats, RTCStats, "stream",
&stream_identifier,
&track_ids)
// clang-format on
RTCMediaStreamStats::RTCMediaStreamStats(const std::string& id,
int64_t timestamp_us)
: RTCMediaStreamStats(std::string(id), timestamp_us) {}
DEPRECATED_RTCMediaStreamStats::DEPRECATED_RTCMediaStreamStats(
const std::string& id,
int64_t timestamp_us)
: DEPRECATED_RTCMediaStreamStats(std::string(id), timestamp_us) {}
RTCMediaStreamStats::RTCMediaStreamStats(std::string&& id, int64_t timestamp_us)
DEPRECATED_RTCMediaStreamStats::DEPRECATED_RTCMediaStreamStats(
std::string&& id,
int64_t timestamp_us)
: RTCStats(std::move(id), timestamp_us),
stream_identifier("streamIdentifier"),
track_ids("trackIds") {}
RTCMediaStreamStats::RTCMediaStreamStats(const RTCMediaStreamStats& other) =
default;
DEPRECATED_RTCMediaStreamStats::DEPRECATED_RTCMediaStreamStats(
const DEPRECATED_RTCMediaStreamStats& other) = default;
RTCMediaStreamStats::~RTCMediaStreamStats() {}
DEPRECATED_RTCMediaStreamStats::~DEPRECATED_RTCMediaStreamStats() {}
// clang-format off
WEBRTC_RTCSTATS_IMPL(RTCMediaStreamTrackStats, RTCStats, "track",
WEBRTC_RTCSTATS_IMPL(DEPRECATED_RTCMediaStreamTrackStats, RTCStats, "track",
&track_identifier,
&media_source_id,
&remote_source,
@ -375,14 +378,17 @@ WEBRTC_RTCSTATS_IMPL(RTCMediaStreamTrackStats, RTCStats, "track",
&total_pauses_duration)
// clang-format on
RTCMediaStreamTrackStats::RTCMediaStreamTrackStats(const std::string& id,
int64_t timestamp_us,
const char* kind)
: RTCMediaStreamTrackStats(std::string(id), timestamp_us, kind) {}
DEPRECATED_RTCMediaStreamTrackStats::DEPRECATED_RTCMediaStreamTrackStats(
const std::string& id,
int64_t timestamp_us,
const char* kind)
: DEPRECATED_RTCMediaStreamTrackStats(std::string(id), timestamp_us, kind) {
}
RTCMediaStreamTrackStats::RTCMediaStreamTrackStats(std::string&& id,
int64_t timestamp_us,
const char* kind)
DEPRECATED_RTCMediaStreamTrackStats::DEPRECATED_RTCMediaStreamTrackStats(
std::string&& id,
int64_t timestamp_us,
const char* kind)
: RTCStats(std::move(id), timestamp_us),
track_identifier("trackIdentifier"),
media_source_id("mediaSourceId"),
@ -432,10 +438,10 @@ RTCMediaStreamTrackStats::RTCMediaStreamTrackStats(std::string&& id,
kind == RTCMediaStreamTrackKind::kVideo);
}
RTCMediaStreamTrackStats::RTCMediaStreamTrackStats(
const RTCMediaStreamTrackStats& other) = default;
DEPRECATED_RTCMediaStreamTrackStats::DEPRECATED_RTCMediaStreamTrackStats(
const DEPRECATED_RTCMediaStreamTrackStats& other) = default;
RTCMediaStreamTrackStats::~RTCMediaStreamTrackStats() {}
DEPRECATED_RTCMediaStreamTrackStats::~DEPRECATED_RTCMediaStreamTrackStats() {}
// clang-format off
WEBRTC_RTCSTATS_IMPL(RTCPeerConnectionStats, RTCStats, "peer-connection",

View File

@ -47,7 +47,7 @@ void CrossMediaMetricsReporter::OnStatsReports(
sync_group_stats;
for (const auto& stat : inbound_stats) {
auto media_source_stat =
report->GetAs<RTCMediaStreamTrackStats>(*stat->track_id);
report->GetAs<DEPRECATED_RTCMediaStreamTrackStats>(*stat->track_id);
if (stat->estimated_playout_timestamp.ValueOrDefault(0.) > 0 &&
media_source_stat->track_identifier.is_defined()) {
sync_group_stats[reporter_helper_->GetSyncGroupLabelFromTrackId(
@ -78,9 +78,11 @@ void CrossMediaMetricsReporter::OnStatsReports(
// it only once.
if (stats_info_.find(sync_group) == stats_info_.end()) {
auto audio_source_stat =
report->GetAs<RTCMediaStreamTrackStats>(*audio_stat->track_id);
report->GetAs<DEPRECATED_RTCMediaStreamTrackStats>(
*audio_stat->track_id);
auto video_source_stat =
report->GetAs<RTCMediaStreamTrackStats>(*video_stat->track_id);
report->GetAs<DEPRECATED_RTCMediaStreamTrackStats>(
*video_stat->track_id);
// *_source_stat->track_identifier is always defined here because we
// checked it while grouping stats.
stats_info_[sync_group].audio_stream_label =