Cleanup usasge of ReportBlockData::report_block accessor

This reduces dependency on the struct RTCPReportBlock and would allow to
delete it in favor of class ReportBlockData

Bug: None
Change-Id: Ia46a2516e26453724eed2e499f475f65df6cd3fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304163
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39990}
This commit is contained in:
Danil Chapovalov 2023-05-04 12:12:33 +02:00 committed by WebRTC LUCI CQ
parent ccb89c4bf7
commit ea33f7f6a3
5 changed files with 23 additions and 36 deletions

View file

@ -53,11 +53,9 @@ std::string VideoSendStream::StreamStats::ToString() const {
ss << "avg_delay_ms: " << avg_delay_ms << ", ";
ss << "max_delay_ms: " << max_delay_ms << ", ";
if (report_block_data) {
ss << "cum_loss: " << report_block_data->report_block().packets_lost
<< ", ";
ss << "cum_loss: " << report_block_data->cumulative_lost() << ", ";
ss << "max_ext_seq: "
<< report_block_data->report_block().extended_highest_sequence_number
<< ", ";
<< report_block_data->extended_highest_sequence_number() << ", ";
}
ss << "nack: " << rtcp_packet_type_counts.nack_packets << ", ";
ss << "fir: " << rtcp_packet_type_counts.fir_packets << ", ";

View file

@ -2790,12 +2790,8 @@ WebRtcVideoChannel::WebRtcVideoSendStream::GetPerLayerVideoSenderInfos(
info.nacks_received = stream_stats.rtcp_packet_type_counts.nack_packets;
info.plis_received = stream_stats.rtcp_packet_type_counts.pli_packets;
if (stream_stats.report_block_data.has_value()) {
info.packets_lost =
stream_stats.report_block_data->report_block().packets_lost;
info.fraction_lost =
static_cast<float>(
stream_stats.report_block_data->report_block().fraction_lost) /
(1 << 8);
info.packets_lost = stream_stats.report_block_data->cumulative_lost();
info.fraction_lost = stream_stats.report_block_data->fraction_lost();
info.report_block_datas.push_back(*stream_stats.report_block_data);
}
info.qp_sum = stream_stats.qp_sum;

View file

@ -5900,11 +5900,9 @@ TEST_F(WebRtcVideoChannelTest, GetAggregatedStatsReportForSubStreams) {
EXPECT_EQ(sender.total_packet_send_delay,
2 * substream.rtp_stats.transmitted.total_packet_delay);
EXPECT_EQ(sender.packets_lost,
2 * substream.report_block_data->report_block().packets_lost);
EXPECT_EQ(sender.fraction_lost,
static_cast<float>(
substream.report_block_data->report_block().fraction_lost) /
(1 << 8));
2 * substream.report_block_data->cumulative_lost());
EXPECT_FLOAT_EQ(sender.fraction_lost,
substream.report_block_data->fraction_lost());
EXPECT_EQ(sender.rtt_ms, 0);
EXPECT_EQ(sender.codec_name, DefaultCodec().name);
EXPECT_EQ(sender.codec_payload_type, DefaultCodec().id);
@ -6026,11 +6024,9 @@ TEST_F(WebRtcVideoChannelTest, GetPerLayerStatsReportForSubStreams) {
EXPECT_EQ(sender.retransmitted_packets_sent,
substream.rtp_stats.retransmitted.packets);
EXPECT_EQ(sender.packets_lost,
substream.report_block_data->report_block().packets_lost);
EXPECT_EQ(sender.fraction_lost,
static_cast<float>(
substream.report_block_data->report_block().fraction_lost) /
(1 << 8));
substream.report_block_data->cumulative_lost());
EXPECT_FLOAT_EQ(sender.fraction_lost,
substream.report_block_data->fraction_lost());
EXPECT_EQ(sender.rtt_ms, 0);
EXPECT_EQ(sender.codec_name, DefaultCodec().name);
EXPECT_EQ(sender.codec_payload_type, DefaultCodec().id);

View file

@ -1303,20 +1303,19 @@ void SendStatisticsProxy::RtcpPacketTypesCounterUpdated(
}
void SendStatisticsProxy::OnReportBlockDataUpdated(
ReportBlockData report_block_data) {
ReportBlockData report_block) {
MutexLock lock(&mutex_);
VideoSendStream::StreamStats* stats =
GetStatsEntry(report_block_data.report_block().source_ssrc);
GetStatsEntry(report_block.source_ssrc());
if (!stats)
return;
const RTCPReportBlock& report_block = report_block_data.report_block();
uma_container_->report_block_stats_.Store(
/*ssrc=*/report_block.source_ssrc,
/*packets_lost=*/report_block.packets_lost,
/*ssrc=*/report_block.source_ssrc(),
/*packets_lost=*/report_block.cumulative_lost(),
/*extended_highest_sequence_number=*/
report_block.extended_highest_sequence_number);
report_block.extended_highest_sequence_number());
stats->report_block_data = std::move(report_block_data);
stats->report_block_data = std::move(report_block);
}
void SendStatisticsProxy::DataCountersUpdated(

View file

@ -169,15 +169,13 @@ class SendStatisticsProxyTest : public ::testing::Test {
EXPECT_EQ(a.report_block_data.has_value(),
b.report_block_data.has_value());
if (a.report_block_data.has_value()) {
const RTCPReportBlock& a_rtcp_stats =
a.report_block_data->report_block();
const RTCPReportBlock& b_rtcp_stats =
b.report_block_data->report_block();
EXPECT_EQ(a_rtcp_stats.fraction_lost, b_rtcp_stats.fraction_lost);
EXPECT_EQ(a_rtcp_stats.packets_lost, b_rtcp_stats.packets_lost);
EXPECT_EQ(a_rtcp_stats.extended_highest_sequence_number,
b_rtcp_stats.extended_highest_sequence_number);
EXPECT_EQ(a_rtcp_stats.jitter, b_rtcp_stats.jitter);
EXPECT_EQ(a.report_block_data->fraction_lost_raw(),
b.report_block_data->fraction_lost_raw());
EXPECT_EQ(a.report_block_data->cumulative_lost(),
b.report_block_data->cumulative_lost());
EXPECT_EQ(a.report_block_data->extended_highest_sequence_number(),
b.report_block_data->extended_highest_sequence_number());
EXPECT_EQ(a.report_block_data->jitter(), b.report_block_data->jitter());
}
}
}