From cbbfd084239f320e556cce324a643469aef995b9 Mon Sep 17 00:00:00 2001 From: Danil Chapovalov Date: Thu, 10 Oct 2019 09:56:29 +0200 Subject: [PATCH] Replace virtual RtcpPacket::SetSenderSsrc with base member to slightly improve binary size. Bug: None Change-Id: I894c7d67a72f4a8077963d2ba0a7bb471a2e7e4d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/156300 Reviewed-by: Per Kjellander Commit-Queue: Danil Chapovalov Cr-Commit-Position: refs/heads/master@{#29428} --- modules/rtp_rtcp/source/rtcp_packet.h | 10 +++++++--- modules/rtp_rtcp/source/rtcp_packet/app.cc | 6 +++--- modules/rtp_rtcp/source/rtcp_packet/app.h | 3 --- modules/rtp_rtcp/source/rtcp_packet/app_unittest.cc | 4 ++-- modules/rtp_rtcp/source/rtcp_packet/bye.cc | 8 ++++---- modules/rtp_rtcp/source/rtcp_packet/bye.h | 3 --- modules/rtp_rtcp/source/rtcp_packet/compound_packet.h | 2 -- .../source/rtcp_packet/extended_jitter_report.h | 2 -- .../rtp_rtcp/source/rtcp_packet/extended_reports.cc | 6 +++--- modules/rtp_rtcp/source/rtcp_packet/extended_reports.h | 4 ---- modules/rtp_rtcp/source/rtcp_packet/psfb.cc | 8 ++++---- modules/rtp_rtcp/source/rtcp_packet/psfb.h | 9 +++------ modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc | 6 +++--- modules/rtp_rtcp/source/rtcp_packet/receiver_report.h | 3 --- modules/rtp_rtcp/source/rtcp_packet/rtpfb.cc | 8 ++++---- modules/rtp_rtcp/source/rtcp_packet/rtpfb.h | 9 +++------ modules/rtp_rtcp/source/rtcp_packet/sdes.h | 2 -- modules/rtp_rtcp/source/rtcp_packet/sender_report.cc | 9 +++------ modules/rtp_rtcp/source/rtcp_packet/sender_report.h | 3 --- 19 files changed, 39 insertions(+), 66 deletions(-) diff --git a/modules/rtp_rtcp/source/rtcp_packet.h b/modules/rtp_rtcp/source/rtcp_packet.h index f60d804bdf..07deb0f9bd 100644 --- a/modules/rtp_rtcp/source/rtcp_packet.h +++ b/modules/rtp_rtcp/source/rtcp_packet.h @@ -56,7 +56,10 @@ class RtcpPacket { using PacketReadyCallback = rtc::FunctionView packet)>; - virtual ~RtcpPacket() {} + virtual ~RtcpPacket() = default; + + void SetSenderSsrc(uint32_t ssrc) { sender_ssrc_ = ssrc; } + uint32_t sender_ssrc() const { return sender_ssrc_; } // Convenience method mostly used for test. Creates packet without // fragmentation using BlockLength() to allocate big enough buffer. @@ -76,8 +79,6 @@ class RtcpPacket { size_t max_length, PacketReadyCallback callback) const = 0; - virtual void SetSenderSsrc(uint32_t ssrc) = 0; - protected: // Size of the rtcp common header. static constexpr size_t kHeaderLength = 4; @@ -101,6 +102,9 @@ class RtcpPacket { PacketReadyCallback callback) const; // Size of the rtcp packet as written in header. size_t HeaderLength() const; + + private: + uint32_t sender_ssrc_ = 0; }; } // namespace rtcp } // namespace webrtc diff --git a/modules/rtp_rtcp/source/rtcp_packet/app.cc b/modules/rtp_rtcp/source/rtcp_packet/app.cc index 86cde9115f..c839b72a87 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/app.cc +++ b/modules/rtp_rtcp/source/rtcp_packet/app.cc @@ -37,7 +37,7 @@ constexpr size_t App::kMaxDataSize; // 8 | application-dependent data ... // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -App::App() : sub_type_(0), ssrc_(0), name_(0) {} +App::App() : sub_type_(0), name_(0) {} App::~App() = default; @@ -53,7 +53,7 @@ bool App::Parse(const CommonHeader& packet) { return false; } sub_type_ = packet.fmt(); - ssrc_ = ByteReader::ReadBigEndian(&packet.payload()[0]); + SetSenderSsrc(ByteReader::ReadBigEndian(&packet.payload()[0])); name_ = ByteReader::ReadBigEndian(&packet.payload()[4]); data_.SetData(packet.payload() + kAppBaseLength, packet.payload_size_bytes() - kAppBaseLength); @@ -89,7 +89,7 @@ bool App::Create(uint8_t* packet, const size_t index_end = *index + BlockLength(); CreateHeader(sub_type_, kPacketType, HeaderLength(), packet, index); - ByteWriter::WriteBigEndian(&packet[*index + 0], ssrc_); + ByteWriter::WriteBigEndian(&packet[*index + 0], sender_ssrc()); ByteWriter::WriteBigEndian(&packet[*index + 4], name_); memcpy(&packet[*index + 8], data_.data(), data_.size()); *index += (8 + data_.size()); diff --git a/modules/rtp_rtcp/source/rtcp_packet/app.h b/modules/rtp_rtcp/source/rtcp_packet/app.h index f780a4eabf..4518792e5a 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/app.h +++ b/modules/rtp_rtcp/source/rtcp_packet/app.h @@ -31,13 +31,11 @@ class App : public RtcpPacket { // Parse assumes header is already parsed and validated. bool Parse(const CommonHeader& packet); - void SetSenderSsrc(uint32_t ssrc) override { ssrc_ = ssrc; } void SetSubType(uint8_t subtype); void SetName(uint32_t name) { name_ = name; } void SetData(const uint8_t* data, size_t data_length); uint8_t sub_type() const { return sub_type_; } - uint32_t ssrc() const { return ssrc_; } uint32_t name() const { return name_; } size_t data_size() const { return data_.size(); } const uint8_t* data() const { return data_.data(); } @@ -60,7 +58,6 @@ class App : public RtcpPacket { static constexpr size_t kMaxDataSize = 0xffff * 4 - kAppBaseLength; uint8_t sub_type_; - uint32_t ssrc_; uint32_t name_; rtc::Buffer data_; }; diff --git a/modules/rtp_rtcp/source/rtcp_packet/app_unittest.cc b/modules/rtp_rtcp/source/rtcp_packet/app_unittest.cc index a67ddf3730..8690e8e5a0 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/app_unittest.cc +++ b/modules/rtp_rtcp/source/rtcp_packet/app_unittest.cc @@ -67,7 +67,7 @@ TEST(RtcpPacketAppTest, ParseWithoutData) { App parsed; EXPECT_TRUE(test::ParseSinglePacket(kPacketWithoutData, &parsed)); - EXPECT_EQ(kSenderSsrc, parsed.ssrc()); + EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); EXPECT_EQ(kSubtype, parsed.sub_type()); EXPECT_EQ(kName, parsed.name()); EXPECT_EQ(0u, parsed.data_size()); @@ -90,7 +90,7 @@ TEST(RtcpPacketAppTest, ParseWithData) { App parsed; EXPECT_TRUE(test::ParseSinglePacket(kPacketWithData, &parsed)); - EXPECT_EQ(kSenderSsrc, parsed.ssrc()); + EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); EXPECT_EQ(kSubtype, parsed.sub_type()); EXPECT_EQ(kName, parsed.name()); EXPECT_THAT(make_tuple(parsed.data(), parsed.data_size()), diff --git a/modules/rtp_rtcp/source/rtcp_packet/bye.cc b/modules/rtp_rtcp/source/rtcp_packet/bye.cc index 6553b89a63..cefa341b1e 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/bye.cc +++ b/modules/rtp_rtcp/source/rtcp_packet/bye.cc @@ -35,7 +35,7 @@ constexpr uint8_t Bye::kPacketType; // +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ // (opt) | length | reason for leaving ... // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -Bye::Bye() : sender_ssrc_(0) {} +Bye::Bye() = default; Bye::~Bye() = default; @@ -61,10 +61,10 @@ bool Bye::Parse(const CommonHeader& packet) { } // Once sure packet is valid, copy values. if (src_count == 0) { // A count value of zero is valid, but useless. - sender_ssrc_ = 0; + SetSenderSsrc(0); csrcs_.clear(); } else { - sender_ssrc_ = ByteReader::ReadBigEndian(payload); + SetSenderSsrc(ByteReader::ReadBigEndian(payload)); csrcs_.resize(src_count - 1); for (size_t i = 1; i < src_count; ++i) csrcs_[i - 1] = ByteReader::ReadBigEndian(&payload[4 * i]); @@ -92,7 +92,7 @@ bool Bye::Create(uint8_t* packet, CreateHeader(1 + csrcs_.size(), kPacketType, HeaderLength(), packet, index); // Store srcs of the leaving clients. - ByteWriter::WriteBigEndian(&packet[*index], sender_ssrc_); + ByteWriter::WriteBigEndian(&packet[*index], sender_ssrc()); *index += sizeof(uint32_t); for (uint32_t csrc : csrcs_) { ByteWriter::WriteBigEndian(&packet[*index], csrc); diff --git a/modules/rtp_rtcp/source/rtcp_packet/bye.h b/modules/rtp_rtcp/source/rtcp_packet/bye.h index 7566d1fbe3..c96a7578fe 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/bye.h +++ b/modules/rtp_rtcp/source/rtcp_packet/bye.h @@ -31,11 +31,9 @@ class Bye : public RtcpPacket { // Parse assumes header is already parsed and validated. bool Parse(const CommonHeader& packet); - void SetSenderSsrc(uint32_t ssrc) override { sender_ssrc_ = ssrc; } bool SetCsrcs(std::vector csrcs); void SetReason(std::string reason); - uint32_t sender_ssrc() const { return sender_ssrc_; } const std::vector& csrcs() const { return csrcs_; } const std::string& reason() const { return reason_; } @@ -49,7 +47,6 @@ class Bye : public RtcpPacket { private: static const int kMaxNumberOfCsrcs = 0x1f - 1; // First item is sender SSRC. - uint32_t sender_ssrc_; std::vector csrcs_; std::string reason_; }; diff --git a/modules/rtp_rtcp/source/rtcp_packet/compound_packet.h b/modules/rtp_rtcp/source/rtcp_packet/compound_packet.h index 68b721e3cd..f521c7f921 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/compound_packet.h +++ b/modules/rtp_rtcp/source/rtcp_packet/compound_packet.h @@ -35,8 +35,6 @@ class CompoundPacket : public RtcpPacket { size_t max_length, PacketReadyCallback callback) const override; - void SetSenderSsrc(uint32_t /*ssrc*/) override { RTC_NOTREACHED(); } - protected: std::vector appended_packets_; diff --git a/modules/rtp_rtcp/source/rtcp_packet/extended_jitter_report.h b/modules/rtp_rtcp/source/rtcp_packet/extended_jitter_report.h index aaf4498a37..c28b9d9dbd 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/extended_jitter_report.h +++ b/modules/rtp_rtcp/source/rtcp_packet/extended_jitter_report.h @@ -43,8 +43,6 @@ class ExtendedJitterReport : public RtcpPacket { size_t max_length, PacketReadyCallback callback) const override; - void SetSenderSsrc(uint32_t /*ssrc*/) override {} - private: static constexpr size_t kJitterSizeBytes = 4; diff --git a/modules/rtp_rtcp/source/rtcp_packet/extended_reports.cc b/modules/rtp_rtcp/source/rtcp_packet/extended_reports.cc index 561503a705..ce57bd5a88 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/extended_reports.cc +++ b/modules/rtp_rtcp/source/rtcp_packet/extended_reports.cc @@ -43,7 +43,7 @@ constexpr size_t ExtendedReports::kMaxNumberOfDlrrItems; // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // : type-specific block contents : // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -ExtendedReports::ExtendedReports() : sender_ssrc_(0) {} +ExtendedReports::ExtendedReports() = default; ExtendedReports::ExtendedReports(const ExtendedReports& xr) = default; ExtendedReports::~ExtendedReports() = default; @@ -56,7 +56,7 @@ bool ExtendedReports::Parse(const CommonHeader& packet) { return false; } - sender_ssrc_ = ByteReader::ReadBigEndian(packet.payload()); + SetSenderSsrc(ByteReader::ReadBigEndian(packet.payload())); rrtr_block_.reset(); dlrr_block_.ClearItems(); target_bitrate_ = absl::nullopt; @@ -136,7 +136,7 @@ bool ExtendedReports::Create(uint8_t* packet, size_t index_end = *index + BlockLength(); const uint8_t kReserved = 0; CreateHeader(kReserved, kPacketType, HeaderLength(), packet, index); - ByteWriter::WriteBigEndian(packet + *index, sender_ssrc_); + ByteWriter::WriteBigEndian(packet + *index, sender_ssrc()); *index += sizeof(uint32_t); if (rrtr_block_) { rrtr_block_->Create(packet + *index); diff --git a/modules/rtp_rtcp/source/rtcp_packet/extended_reports.h b/modules/rtp_rtcp/source/rtcp_packet/extended_reports.h index 5111118cd6..9627aac959 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/extended_reports.h +++ b/modules/rtp_rtcp/source/rtcp_packet/extended_reports.h @@ -36,13 +36,10 @@ class ExtendedReports : public RtcpPacket { // Parse assumes header is already parsed and validated. bool Parse(const CommonHeader& packet); - void SetSenderSsrc(uint32_t ssrc) override { sender_ssrc_ = ssrc; } - void SetRrtr(const Rrtr& rrtr); bool AddDlrrItem(const ReceiveTimeInfo& time_info); void SetTargetBitrate(const TargetBitrate& target_bitrate); - uint32_t sender_ssrc() const { return sender_ssrc_; } const absl::optional& rrtr() const { return rrtr_block_; } const Dlrr& dlrr() const { return dlrr_block_; } const absl::optional& target_bitrate() const { @@ -68,7 +65,6 @@ class ExtendedReports : public RtcpPacket { void ParseVoipMetricBlock(const uint8_t* block, uint16_t block_length); void ParseTargetBitrateBlock(const uint8_t* block, uint16_t block_length); - uint32_t sender_ssrc_; absl::optional rrtr_block_; Dlrr dlrr_block_; // Dlrr without items treated same as no dlrr block. absl::optional target_bitrate_; diff --git a/modules/rtp_rtcp/source/rtcp_packet/psfb.cc b/modules/rtp_rtcp/source/rtcp_packet/psfb.cc index bd2e7ce4d1..384d8ba811 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/psfb.cc +++ b/modules/rtp_rtcp/source/rtcp_packet/psfb.cc @@ -34,13 +34,13 @@ constexpr size_t Psfb::kCommonFeedbackLength; // : : void Psfb::ParseCommonFeedback(const uint8_t* payload) { - sender_ssrc_ = ByteReader::ReadBigEndian(&payload[0]); - media_ssrc_ = ByteReader::ReadBigEndian(&payload[4]); + SetSenderSsrc(ByteReader::ReadBigEndian(&payload[0])); + SetMediaSsrc(ByteReader::ReadBigEndian(&payload[4])); } void Psfb::CreateCommonFeedback(uint8_t* payload) const { - ByteWriter::WriteBigEndian(&payload[0], sender_ssrc_); - ByteWriter::WriteBigEndian(&payload[4], media_ssrc_); + ByteWriter::WriteBigEndian(&payload[0], sender_ssrc()); + ByteWriter::WriteBigEndian(&payload[4], media_ssrc()); } } // namespace rtcp diff --git a/modules/rtp_rtcp/source/rtcp_packet/psfb.h b/modules/rtp_rtcp/source/rtcp_packet/psfb.h index 113915102d..d6b8bca7c4 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/psfb.h +++ b/modules/rtp_rtcp/source/rtcp_packet/psfb.h @@ -27,13 +27,11 @@ class Psfb : public RtcpPacket { static constexpr uint8_t kPacketType = 206; static constexpr uint8_t kAfbMessageType = 15; - Psfb() : sender_ssrc_(0), media_ssrc_(0) {} - ~Psfb() override {} + Psfb() = default; + ~Psfb() override = default; - void SetSenderSsrc(uint32_t ssrc) override { sender_ssrc_ = ssrc; } void SetMediaSsrc(uint32_t ssrc) { media_ssrc_ = ssrc; } - uint32_t sender_ssrc() const { return sender_ssrc_; } uint32_t media_ssrc() const { return media_ssrc_; } protected: @@ -42,8 +40,7 @@ class Psfb : public RtcpPacket { void CreateCommonFeedback(uint8_t* payload) const; private: - uint32_t sender_ssrc_; - uint32_t media_ssrc_; + uint32_t media_ssrc_ = 0; }; } // namespace rtcp diff --git a/modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc b/modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc index 569a66df96..185011dff1 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc +++ b/modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc @@ -33,7 +33,7 @@ constexpr size_t ReceiverReport::kMaxNumberOfReportBlocks; // | report block(s) | // | .... | -ReceiverReport::ReceiverReport() : sender_ssrc_(0) {} +ReceiverReport::ReceiverReport() = default; ReceiverReport::ReceiverReport(const ReceiverReport& rhs) = default; @@ -50,7 +50,7 @@ bool ReceiverReport::Parse(const CommonHeader& packet) { return false; } - sender_ssrc_ = ByteReader::ReadBigEndian(packet.payload()); + SetSenderSsrc(ByteReader::ReadBigEndian(packet.payload())); const uint8_t* next_report_block = packet.payload() + kRrBaseLength; @@ -80,7 +80,7 @@ bool ReceiverReport::Create(uint8_t* packet, } CreateHeader(report_blocks_.size(), kPacketType, HeaderLength(), packet, index); - ByteWriter::WriteBigEndian(packet + *index, sender_ssrc_); + ByteWriter::WriteBigEndian(packet + *index, sender_ssrc()); *index += kRrBaseLength; for (const ReportBlock& block : report_blocks_) { block.Create(packet + *index); diff --git a/modules/rtp_rtcp/source/rtcp_packet/receiver_report.h b/modules/rtp_rtcp/source/rtcp_packet/receiver_report.h index b35c37771d..b9c1c466c7 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/receiver_report.h +++ b/modules/rtp_rtcp/source/rtcp_packet/receiver_report.h @@ -35,11 +35,9 @@ class ReceiverReport : public RtcpPacket { // Parse assumes header is already parsed and validated. bool Parse(const CommonHeader& packet); - void SetSenderSsrc(uint32_t ssrc) override { sender_ssrc_ = ssrc; } bool AddReportBlock(const ReportBlock& block); bool SetReportBlocks(std::vector blocks); - uint32_t sender_ssrc() const { return sender_ssrc_; } const std::vector& report_blocks() const { return report_blocks_; } @@ -54,7 +52,6 @@ class ReceiverReport : public RtcpPacket { private: static const size_t kRrBaseLength = 4; - uint32_t sender_ssrc_; std::vector report_blocks_; }; diff --git a/modules/rtp_rtcp/source/rtcp_packet/rtpfb.cc b/modules/rtp_rtcp/source/rtcp_packet/rtpfb.cc index 9b13e9a744..18097de330 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/rtpfb.cc +++ b/modules/rtp_rtcp/source/rtcp_packet/rtpfb.cc @@ -32,13 +32,13 @@ constexpr uint8_t Rtpfb::kPacketType; // : : void Rtpfb::ParseCommonFeedback(const uint8_t* payload) { - sender_ssrc_ = ByteReader::ReadBigEndian(&payload[0]); - media_ssrc_ = ByteReader::ReadBigEndian(&payload[4]); + SetSenderSsrc(ByteReader::ReadBigEndian(&payload[0])); + SetMediaSsrc(ByteReader::ReadBigEndian(&payload[4])); } void Rtpfb::CreateCommonFeedback(uint8_t* payload) const { - ByteWriter::WriteBigEndian(&payload[0], sender_ssrc_); - ByteWriter::WriteBigEndian(&payload[4], media_ssrc_); + ByteWriter::WriteBigEndian(&payload[0], sender_ssrc()); + ByteWriter::WriteBigEndian(&payload[4], media_ssrc()); } } // namespace rtcp diff --git a/modules/rtp_rtcp/source/rtcp_packet/rtpfb.h b/modules/rtp_rtcp/source/rtcp_packet/rtpfb.h index 1c00381011..973b429a2d 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/rtpfb.h +++ b/modules/rtp_rtcp/source/rtcp_packet/rtpfb.h @@ -26,13 +26,11 @@ class Rtpfb : public RtcpPacket { public: static constexpr uint8_t kPacketType = 205; - Rtpfb() : sender_ssrc_(0), media_ssrc_(0) {} - ~Rtpfb() override {} + Rtpfb() = default; + ~Rtpfb() override = default; - void SetSenderSsrc(uint32_t ssrc) override { sender_ssrc_ = ssrc; } void SetMediaSsrc(uint32_t ssrc) { media_ssrc_ = ssrc; } - uint32_t sender_ssrc() const { return sender_ssrc_; } uint32_t media_ssrc() const { return media_ssrc_; } protected: @@ -41,8 +39,7 @@ class Rtpfb : public RtcpPacket { void CreateCommonFeedback(uint8_t* payload) const; private: - uint32_t sender_ssrc_; - uint32_t media_ssrc_; + uint32_t media_ssrc_ = 0; }; } // namespace rtcp diff --git a/modules/rtp_rtcp/source/rtcp_packet/sdes.h b/modules/rtp_rtcp/source/rtcp_packet/sdes.h index c9cf8d7d41..70e9385b9b 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/sdes.h +++ b/modules/rtp_rtcp/source/rtcp_packet/sdes.h @@ -46,8 +46,6 @@ class Sdes : public RtcpPacket { size_t max_length, PacketReadyCallback callback) const override; - void SetSenderSsrc(uint32_t /*ssrc*/) override {} - private: std::vector chunks_; size_t block_length_; diff --git a/modules/rtp_rtcp/source/rtcp_packet/sender_report.cc b/modules/rtp_rtcp/source/rtcp_packet/sender_report.cc index e524aeadaa..73738376c3 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/sender_report.cc +++ b/modules/rtp_rtcp/source/rtcp_packet/sender_report.cc @@ -42,10 +42,7 @@ constexpr size_t SenderReport::kSenderBaseLength; // 24 +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ SenderReport::SenderReport() - : sender_ssrc_(0), - rtp_timestamp_(0), - sender_packet_count_(0), - sender_octet_count_(0) {} + : rtp_timestamp_(0), sender_packet_count_(0), sender_octet_count_(0) {} SenderReport::SenderReport(const SenderReport&) = default; SenderReport::SenderReport(SenderReport&&) = default; @@ -64,7 +61,7 @@ bool SenderReport::Parse(const CommonHeader& packet) { } // Read SenderReport header. const uint8_t* const payload = packet.payload(); - sender_ssrc_ = ByteReader::ReadBigEndian(&payload[0]); + SetSenderSsrc(ByteReader::ReadBigEndian(&payload[0])); uint32_t secs = ByteReader::ReadBigEndian(&payload[4]); uint32_t frac = ByteReader::ReadBigEndian(&payload[8]); ntp_.Set(secs, frac); @@ -102,7 +99,7 @@ bool SenderReport::Create(uint8_t* packet, CreateHeader(report_blocks_.size(), kPacketType, HeaderLength(), packet, index); // Write SenderReport header. - ByteWriter::WriteBigEndian(&packet[*index + 0], sender_ssrc_); + ByteWriter::WriteBigEndian(&packet[*index + 0], sender_ssrc()); ByteWriter::WriteBigEndian(&packet[*index + 4], ntp_.seconds()); ByteWriter::WriteBigEndian(&packet[*index + 8], ntp_.fractions()); ByteWriter::WriteBigEndian(&packet[*index + 12], rtp_timestamp_); diff --git a/modules/rtp_rtcp/source/rtcp_packet/sender_report.h b/modules/rtp_rtcp/source/rtcp_packet/sender_report.h index 9362e8d27b..66ced31721 100644 --- a/modules/rtp_rtcp/source/rtcp_packet/sender_report.h +++ b/modules/rtp_rtcp/source/rtcp_packet/sender_report.h @@ -36,7 +36,6 @@ class SenderReport : public RtcpPacket { // Parse assumes header is already parsed and validated. bool Parse(const CommonHeader& packet); - void SetSenderSsrc(uint32_t ssrc) override { sender_ssrc_ = ssrc; } void SetNtp(NtpTime ntp) { ntp_ = ntp; } void SetRtpTimestamp(uint32_t rtp_timestamp) { rtp_timestamp_ = rtp_timestamp; @@ -51,7 +50,6 @@ class SenderReport : public RtcpPacket { bool SetReportBlocks(std::vector blocks); void ClearReportBlocks() { report_blocks_.clear(); } - uint32_t sender_ssrc() const { return sender_ssrc_; } NtpTime ntp() const { return ntp_; } uint32_t rtp_timestamp() const { return rtp_timestamp_; } uint32_t sender_packet_count() const { return sender_packet_count_; } @@ -71,7 +69,6 @@ class SenderReport : public RtcpPacket { private: static constexpr size_t kSenderBaseLength = 24; - uint32_t sender_ssrc_; NtpTime ntp_; uint32_t rtp_timestamp_; uint32_t sender_packet_count_;