Let StreamStatistician::GetReceiveStreamDataCounters return counters by value
Tbr: ossu@webrtc.org # Trivial update of audio/ call site
Bug: None
Change-Id: I3763e83f6c0e18be1b696dd7b2ba5841045c9159
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/148820
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28830}
diff --git a/audio/channel_receive.cc b/audio/channel_receive.cc
index ed3356a..d114391 100644
--- a/audio/channel_receive.cc
+++ b/audio/channel_receive.cc
@@ -747,8 +747,8 @@
// --- Data counters
if (statistician) {
- StreamDataCounters data_counters;
- statistician->GetReceiveStreamDataCounters(&data_counters);
+ StreamDataCounters data_counters =
+ statistician->GetReceiveStreamDataCounters();
if (use_standard_bytes_stats_) {
stats.bytesReceived = data_counters.transmitted.payload_bytes;
} else {
diff --git a/modules/rtp_rtcp/include/receive_statistics.h b/modules/rtp_rtcp/include/receive_statistics.h
index 801d4c7..2046b82 100644
--- a/modules/rtp_rtcp/include/receive_statistics.h
+++ b/modules/rtp_rtcp/include/receive_statistics.h
@@ -49,8 +49,7 @@
virtual absl::optional<int> GetFractionLostInPercent() const = 0;
// Gets received stream data counters (includes reset counter values).
- virtual void GetReceiveStreamDataCounters(
- StreamDataCounters* data_counters) const = 0;
+ virtual StreamDataCounters GetReceiveStreamDataCounters() const = 0;
virtual uint32_t BitrateReceived() const = 0;
};
diff --git a/modules/rtp_rtcp/source/receive_statistics_impl.cc b/modules/rtp_rtcp/source/receive_statistics_impl.cc
index 1302dac..e78cac4 100644
--- a/modules/rtp_rtcp/source/receive_statistics_impl.cc
+++ b/modules/rtp_rtcp/source/receive_statistics_impl.cc
@@ -306,10 +306,10 @@
return 100 * static_cast<int64_t>(cumulative_loss_) / expected_packets;
}
-void StreamStatisticianImpl::GetReceiveStreamDataCounters(
- StreamDataCounters* data_counters) const {
+StreamDataCounters StreamStatisticianImpl::GetReceiveStreamDataCounters()
+ const {
rtc::CritScope cs(&stream_lock_);
- *data_counters = receive_counters_;
+ return receive_counters_;
}
uint32_t StreamStatisticianImpl::BitrateReceived() const {
diff --git a/modules/rtp_rtcp/source/receive_statistics_impl.h b/modules/rtp_rtcp/source/receive_statistics_impl.h
index 3935d87..a4eab7b 100644
--- a/modules/rtp_rtcp/source/receive_statistics_impl.h
+++ b/modules/rtp_rtcp/source/receive_statistics_impl.h
@@ -39,8 +39,7 @@
void GetDataCounters(size_t* bytes_received,
uint32_t* packets_received) const override;
absl::optional<int> GetFractionLostInPercent() const override;
- void GetReceiveStreamDataCounters(
- StreamDataCounters* data_counters) const override;
+ StreamDataCounters GetReceiveStreamDataCounters() const override;
uint32_t BitrateReceived() const override;
// Implements RtpPacketSinkInterface
diff --git a/modules/rtp_rtcp/source/receive_statistics_unittest.cc b/modules/rtp_rtcp/source/receive_statistics_unittest.cc
index 28c1403..2542456 100644
--- a/modules/rtp_rtcp/source/receive_statistics_unittest.cc
+++ b/modules/rtp_rtcp/source/receive_statistics_unittest.cc
@@ -217,13 +217,12 @@
receive_statistics_->GetStatistician(kSsrc1);
ASSERT_TRUE(statistician != NULL);
- StreamDataCounters counters;
- statistician->GetReceiveStreamDataCounters(&counters);
+ StreamDataCounters counters = statistician->GetReceiveStreamDataCounters();
EXPECT_GT(counters.first_packet_time_ms, -1);
EXPECT_EQ(1u, counters.transmitted.packets);
receive_statistics_->OnRtpPacket(packet1_);
- statistician->GetReceiveStreamDataCounters(&counters);
+ counters = statistician->GetReceiveStreamDataCounters();
EXPECT_GT(counters.first_packet_time_ms, -1);
EXPECT_EQ(2u, counters.transmitted.packets);
}