[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:
committed by
WebRTC LUCI CQ
parent
666c333625
commit
15166b2fa4
@ -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 {
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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());
|
||||
}
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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 =
|
||||
|
||||
Reference in New Issue
Block a user