Cleanup static constants in modules/rtp_rtcp/

Change static const to static constexpr where applicable
In .cc files ensure static constants are in unnamed namespace
Remove obsolete declaration for class level constexpr values

Bug: None
Change-Id: I23759974b5042c8c9d9ec2816ee7df283a8872d4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364483
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43171}
diff --git a/modules/rtp_rtcp/source/packet_loss_stats.cc b/modules/rtp_rtcp/source/packet_loss_stats.cc
index 36f0a63..a55cf55 100644
--- a/modules/rtp_rtcp/source/packet_loss_stats.cc
+++ b/modules/rtp_rtcp/source/packet_loss_stats.cc
@@ -16,11 +16,14 @@
 
 #include "rtc_base/checks.h"
 
+namespace webrtc {
+namespace {
+
 // After this many packets are added, adding additional packets will cause the
 // oldest packets to be pruned from the buffer.
-static const int kBufferSize = 100;
+constexpr int kBufferSize = 100;
 
-namespace webrtc {
+}  // namespace
 
 PacketLossStats::PacketLossStats()
     : single_loss_historic_count_(0),
diff --git a/modules/rtp_rtcp/source/rtcp_packet.cc b/modules/rtp_rtcp/source/rtcp_packet.cc
index bac03e7..004e6fd 100644
--- a/modules/rtp_rtcp/source/rtcp_packet.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet.cc
@@ -15,7 +15,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr size_t RtcpPacket::kHeaderLength;
 
 rtc::Buffer RtcpPacket::Build() const {
   rtc::Buffer packet(BlockLength());
diff --git a/modules/rtp_rtcp/source/rtcp_packet/app.cc b/modules/rtp_rtcp/source/rtcp_packet/app.cc
index d5734c6..f90c84e 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/app.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/app.cc
@@ -21,8 +21,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr uint8_t App::kPacketType;
-constexpr size_t App::kMaxDataSize;
 // Application-Defined packet (APP) (RFC 3550).
 //
 //     0                   1                   2                   3
diff --git a/modules/rtp_rtcp/source/rtcp_packet/bye.cc b/modules/rtp_rtcp/source/rtcp_packet/bye.cc
index a647177..1d6dff2 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/bye.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/bye.cc
@@ -23,7 +23,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr uint8_t Bye::kPacketType;
 // Bye packet (BYE) (RFC 3550).
 //
 //        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
diff --git a/modules/rtp_rtcp/source/rtcp_packet/bye.h b/modules/rtp_rtcp/source/rtcp_packet/bye.h
index d312057..a3ee428 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/bye.h
+++ b/modules/rtp_rtcp/source/rtcp_packet/bye.h
@@ -46,7 +46,8 @@
               PacketReadyCallback callback) const override;
 
  private:
-  static const int kMaxNumberOfCsrcs = 0x1f - 1;  // First item is sender SSRC.
+  static constexpr int kMaxNumberOfCsrcs =
+      0x1f - 1;  // First item is sender SSRC.
 
   std::vector<uint32_t> csrcs_;
   std::string reason_;
diff --git a/modules/rtp_rtcp/source/rtcp_packet/common_header.cc b/modules/rtp_rtcp/source/rtcp_packet/common_header.cc
index 5b54982..1d174a9 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/common_header.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/common_header.cc
@@ -15,7 +15,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr size_t CommonHeader::kHeaderSizeBytes;
 //    0                   1           1       2                   3
 //    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
diff --git a/modules/rtp_rtcp/source/rtcp_packet/dlrr.h b/modules/rtp_rtcp/source/rtcp_packet/dlrr.h
index ad91dfd..d9c4123 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/dlrr.h
+++ b/modules/rtp_rtcp/source/rtcp_packet/dlrr.h
@@ -42,7 +42,7 @@
 // DLRR Report Block: Delay since the Last Receiver Report (RFC 3611).
 class Dlrr {
  public:
-  static const uint8_t kBlockType = 5;
+  static constexpr uint8_t kBlockType = 5;
 
   Dlrr();
   Dlrr(const Dlrr& other);
@@ -70,8 +70,8 @@
   const std::vector<ReceiveTimeInfo>& sub_blocks() const { return sub_blocks_; }
 
  private:
-  static const size_t kBlockHeaderLength = 4;
-  static const size_t kSubBlockLength = 12;
+  static constexpr size_t kBlockHeaderLength = 4;
+  static constexpr size_t kSubBlockLength = 12;
 
   std::vector<ReceiveTimeInfo> sub_blocks_;
 };
diff --git a/modules/rtp_rtcp/source/rtcp_packet/extended_reports.cc b/modules/rtp_rtcp/source/rtcp_packet/extended_reports.cc
index 84a3a53..3967ead 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/extended_reports.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/extended_reports.cc
@@ -19,8 +19,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr uint8_t ExtendedReports::kPacketType;
-constexpr size_t ExtendedReports::kMaxNumberOfDlrrItems;
 // From RFC 3611: RTP Control Protocol Extended Reports (RTCP XR).
 //
 // Format for XR packets:
diff --git a/modules/rtp_rtcp/source/rtcp_packet/fir.cc b/modules/rtp_rtcp/source/rtcp_packet/fir.cc
index fd4a4c9..3405b81 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/fir.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/fir.cc
@@ -17,7 +17,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr uint8_t Fir::kFeedbackMessageType;
 // RFC 4585: Feedback format.
 // Common packet format:
 //
diff --git a/modules/rtp_rtcp/source/rtcp_packet/nack.cc b/modules/rtp_rtcp/source/rtcp_packet/nack.cc
index 6fe7ead..8b5c738 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/nack.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/nack.cc
@@ -21,8 +21,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr uint8_t Nack::kFeedbackMessageType;
-constexpr size_t Nack::kNackItemLength;
 // RFC 4585: Feedback format.
 //
 // Common packet format:
diff --git a/modules/rtp_rtcp/source/rtcp_packet/pli.cc b/modules/rtp_rtcp/source/rtcp_packet/pli.cc
index 5b41aa5..7366500 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/pli.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/pli.cc
@@ -16,7 +16,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr uint8_t Pli::kFeedbackMessageType;
 // RFC 4585: Feedback format.
 //
 // Common packet format:
diff --git a/modules/rtp_rtcp/source/rtcp_packet/psfb.cc b/modules/rtp_rtcp/source/rtcp_packet/psfb.cc
index 384d8ba..ebc05c6 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/psfb.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/psfb.cc
@@ -14,9 +14,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr uint8_t Psfb::kPacketType;
-constexpr uint8_t Psfb::kAfbMessageType;
-constexpr size_t Psfb::kCommonFeedbackLength;
 // RFC 4585: Feedback format.
 //
 // Common packet format:
diff --git a/modules/rtp_rtcp/source/rtcp_packet/rapid_resync_request.cc b/modules/rtp_rtcp/source/rtcp_packet/rapid_resync_request.cc
index 8563c28..e9ec8cf 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/rapid_resync_request.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/rapid_resync_request.cc
@@ -16,7 +16,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr uint8_t RapidResyncRequest::kFeedbackMessageType;
 // RFC 4585: Feedback format.
 // Rapid Resynchronisation Request (draft-perkins-avt-rapid-rtp-sync-03).
 //
diff --git a/modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc b/modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc
index 185011d..baebbed 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc
@@ -19,8 +19,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr uint8_t ReceiverReport::kPacketType;
-constexpr size_t ReceiverReport::kMaxNumberOfReportBlocks;
 // RTCP receiver report (RFC 3550).
 //
 //   0                   1                   2                   3
diff --git a/modules/rtp_rtcp/source/rtcp_packet/receiver_report.h b/modules/rtp_rtcp/source/rtcp_packet/receiver_report.h
index b9c1c46..4ea4126 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/receiver_report.h
+++ b/modules/rtp_rtcp/source/rtcp_packet/receiver_report.h
@@ -50,7 +50,7 @@
               PacketReadyCallback callback) const override;
 
  private:
-  static const size_t kRrBaseLength = 4;
+  static constexpr size_t kRrBaseLength = 4;
 
   std::vector<ReportBlock> report_blocks_;
 };
diff --git a/modules/rtp_rtcp/source/rtcp_packet/report_block.h b/modules/rtp_rtcp/source/rtcp_packet/report_block.h
index b49219e..9c94411 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/report_block.h
+++ b/modules/rtp_rtcp/source/rtcp_packet/report_block.h
@@ -22,7 +22,7 @@
 // RFC 3550 section 6.4.1.
 class ReportBlock {
  public:
-  static const size_t kLength = 24;
+  static constexpr size_t kLength = 24;
 
   ReportBlock();
   ~ReportBlock() {}
diff --git a/modules/rtp_rtcp/source/rtcp_packet/rrtr.h b/modules/rtp_rtcp/source/rtcp_packet/rrtr.h
index 827bd74..47ac35c 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/rrtr.h
+++ b/modules/rtp_rtcp/source/rtcp_packet/rrtr.h
@@ -22,9 +22,9 @@
 
 class Rrtr {
  public:
-  static const uint8_t kBlockType = 4;
-  static const uint16_t kBlockLength = 2;
-  static const size_t kLength = 4 * (kBlockLength + 1);  // 12
+  static constexpr uint8_t kBlockType = 4;
+  static constexpr uint16_t kBlockLength = 2;
+  static constexpr size_t kLength = 4 * (kBlockLength + 1);  // 12
 
   Rrtr() {}
   Rrtr(const Rrtr&) = default;
diff --git a/modules/rtp_rtcp/source/rtcp_packet/rtpfb.cc b/modules/rtp_rtcp/source/rtcp_packet/rtpfb.cc
index 18097de..968c50f 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/rtpfb.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/rtpfb.cc
@@ -14,7 +14,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr uint8_t Rtpfb::kPacketType;
 // RFC 4585, Section 6.1: Feedback format.
 //
 // Common packet format:
diff --git a/modules/rtp_rtcp/source/rtcp_packet/sdes.cc b/modules/rtp_rtcp/source/rtcp_packet/sdes.cc
index f244ec5..f9432e9 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/sdes.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/sdes.cc
@@ -22,8 +22,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr uint8_t Sdes::kPacketType;
-constexpr size_t Sdes::kMaxNumberOfChunks;
 // Source Description (SDES) (RFC 3550).
 //
 //         0                   1                   2                   3
diff --git a/modules/rtp_rtcp/source/rtcp_packet/sender_report.cc b/modules/rtp_rtcp/source/rtcp_packet/sender_report.cc
index 7373837..6986343 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/sender_report.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/sender_report.cc
@@ -19,9 +19,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr uint8_t SenderReport::kPacketType;
-constexpr size_t SenderReport::kMaxNumberOfReportBlocks;
-constexpr size_t SenderReport::kSenderBaseLength;
 //    Sender report (SR) (RFC 3550).
 //     0                   1                   2                   3
 //     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
diff --git a/modules/rtp_rtcp/source/rtcp_packet/target_bitrate.cc b/modules/rtp_rtcp/source/rtcp_packet/target_bitrate.cc
index 601b24f..c0e8a12 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/target_bitrate.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/target_bitrate.cc
@@ -16,9 +16,11 @@
 
 namespace webrtc {
 namespace rtcp {
+namespace {
+
 constexpr size_t kTargetBitrateHeaderSizeBytes = 4;
-constexpr uint8_t TargetBitrate::kBlockType;
-const size_t TargetBitrate::kBitrateItemSizeBytes = 4;
+
+}  // namespace
 
 TargetBitrate::BitrateItem::BitrateItem()
     : spatial_layer(0), temporal_layer(0), target_bitrate_kbps(0) {}
diff --git a/modules/rtp_rtcp/source/rtcp_packet/target_bitrate.h b/modules/rtp_rtcp/source/rtcp_packet/target_bitrate.h
index 07e5da1..5e0f1ca 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/target_bitrate.h
+++ b/modules/rtp_rtcp/source/rtcp_packet/target_bitrate.h
@@ -24,7 +24,7 @@
   // TODO(sprang): This block type is just a place holder. We need to get an
   //               id assigned by IANA.
   static constexpr uint8_t kBlockType = 42;
-  static const size_t kBitrateItemSizeBytes;
+  static constexpr size_t kBitrateItemSizeBytes = 4;
 
   struct BitrateItem {
     BitrateItem();
diff --git a/modules/rtp_rtcp/source/rtcp_packet/tmmb_item.h b/modules/rtp_rtcp/source/rtcp_packet/tmmb_item.h
index dc5d1b2..6156ffa 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/tmmb_item.h
+++ b/modules/rtp_rtcp/source/rtcp_packet/tmmb_item.h
@@ -21,7 +21,7 @@
 // Used both by TMMBR and TMMBN rtcp packets.
 class TmmbItem {
  public:
-  static const size_t kLength = 8;
+  static constexpr size_t kLength = 8;
 
   TmmbItem() : ssrc_(0), bitrate_bps_(0), packet_overhead_(0) {}
   TmmbItem(uint32_t ssrc, uint64_t bitrate_bps, uint16_t overhead);
diff --git a/modules/rtp_rtcp/source/rtcp_packet/tmmbn.cc b/modules/rtp_rtcp/source/rtcp_packet/tmmbn.cc
index f57e574..751c0e6 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/tmmbn.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/tmmbn.cc
@@ -16,7 +16,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr uint8_t Tmmbn::kFeedbackMessageType;
 // RFC 4585: Feedback format.
 // Common packet format:
 //
diff --git a/modules/rtp_rtcp/source/rtcp_packet/tmmbr.cc b/modules/rtp_rtcp/source/rtcp_packet/tmmbr.cc
index 9dc745e..94e4ded 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/tmmbr.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/tmmbr.cc
@@ -16,7 +16,6 @@
 
 namespace webrtc {
 namespace rtcp {
-constexpr uint8_t Tmmbr::kFeedbackMessageType;
 // RFC 4585: Feedback format.
 // Common packet format:
 //
diff --git a/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.cc b/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.cc
index 049c317..29de7d8 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.cc
@@ -73,13 +73,6 @@
 //    |           recv delta          |  recv delta   | zero padding  |
 //    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 }  // namespace
-constexpr uint8_t TransportFeedback::kFeedbackMessageType;
-constexpr size_t TransportFeedback::kMaxReportedPackets;
-
-constexpr size_t TransportFeedback::LastChunk::kMaxRunLengthCapacity;
-constexpr size_t TransportFeedback::LastChunk::kMaxOneBitCapacity;
-constexpr size_t TransportFeedback::LastChunk::kMaxTwoBitCapacity;
-constexpr size_t TransportFeedback::LastChunk::kMaxVectorCapacity;
 
 TransportFeedback::LastChunk::LastChunk() {
   Clear();
diff --git a/modules/rtp_rtcp/source/rtcp_receiver.cc b/modules/rtp_rtcp/source/rtcp_receiver.cc
index 9e5a2e1..a4ea1b0 100644
--- a/modules/rtp_rtcp/source/rtcp_receiver.cc
+++ b/modules/rtp_rtcp/source/rtcp_receiver.cc
@@ -107,8 +107,6 @@
 
 }  // namespace
 
-constexpr size_t RTCPReceiver::RegisteredSsrcs::kMediaSsrcIndex;
-
 RTCPReceiver::RegisteredSsrcs::RegisteredSsrcs(
     bool disable_sequence_checker,
     const RtpRtcpInterface::Configuration& config)
diff --git a/modules/rtp_rtcp/source/rtcp_sender_unittest.cc b/modules/rtp_rtcp/source/rtcp_sender_unittest.cc
index 3a77df5..7485508 100644
--- a/modules/rtp_rtcp/source/rtcp_sender_unittest.cc
+++ b/modules/rtp_rtcp/source/rtcp_sender_unittest.cc
@@ -49,6 +49,9 @@
 #include "test/mock_transport.h"
 #include "test/rtcp_packet_parser.h"
 
+namespace webrtc {
+namespace {
+
 using ::testing::_;
 using ::testing::ElementsAre;
 using ::testing::Eq;
@@ -56,8 +59,6 @@
 using ::testing::Property;
 using ::testing::SizeIs;
 
-namespace webrtc {
-
 class RtcpPacketTypeCounterObserverImpl : public RtcpPacketTypeCounterObserver {
  public:
   RtcpPacketTypeCounterObserverImpl() : ssrc_(0) {}
@@ -87,12 +88,10 @@
   test::RtcpPacketParser parser_;
 };
 
-namespace {
-static const uint32_t kSenderSsrc = 0x11111111;
-static const uint32_t kRemoteSsrc = 0x22222222;
-static const uint32_t kStartRtpTimestamp = 0x34567;
-static const uint32_t kRtpTimestamp = 0x45678;
-}  // namespace
+constexpr uint32_t kSenderSsrc = 0x11111111;
+constexpr uint32_t kRemoteSsrc = 0x22222222;
+constexpr uint32_t kStartRtpTimestamp = 0x34567;
+constexpr uint32_t kRtpTimestamp = 0x45678;
 
 class RtcpSenderTest : public ::testing::Test {
  protected:
@@ -856,4 +855,5 @@
   EXPECT_EQ(parser()->app()->sender_ssrc(), kSenderSsrc);
 }
 
+}  // namespace
 }  // namespace webrtc
diff --git a/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.cc b/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.cc
index 5d61e66..c1a4517 100644
--- a/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.cc
+++ b/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.cc
@@ -22,9 +22,6 @@
 
 namespace webrtc {
 
-constexpr RTPExtensionType RtpDependencyDescriptorExtension::kId;
-constexpr std::bitset<32> RtpDependencyDescriptorExtension::kAllChainsAreActive;
-
 bool RtpDependencyDescriptorExtension::Parse(
     rtc::ArrayView<const uint8_t> data,
     const FrameDependencyStructure* structure,
diff --git a/modules/rtp_rtcp/source/rtp_fec_unittest.cc b/modules/rtp_rtcp/source/rtp_fec_unittest.cc
index 7e5aef7..f6bd15c 100644
--- a/modules/rtp_rtcp/source/rtp_fec_unittest.cc
+++ b/modules/rtp_rtcp/source/rtp_fec_unittest.cc
@@ -173,7 +173,7 @@
 
 class FlexfecForwardErrorCorrection : public ForwardErrorCorrection {
  public:
-  static const uint32_t kFecSsrc = kFlexfecSsrc;
+  static constexpr uint32_t kFecSsrc = kFlexfecSsrc;
 
   FlexfecForwardErrorCorrection()
       : ForwardErrorCorrection(
@@ -192,7 +192,7 @@
 
 class UlpfecForwardErrorCorrection : public ForwardErrorCorrection {
  public:
-  static const uint32_t kFecSsrc = kMediaSsrc;
+  static constexpr uint32_t kFecSsrc = kMediaSsrc;
 
   UlpfecForwardErrorCorrection()
       : ForwardErrorCorrection(
diff --git a/modules/rtp_rtcp/source/rtp_format_h264.cc b/modules/rtp_rtcp/source/rtp_format_h264.cc
index 917cb1b..e3dba0b 100644
--- a/modules/rtp_rtcp/source/rtp_format_h264.cc
+++ b/modules/rtp_rtcp/source/rtp_format_h264.cc
@@ -34,9 +34,9 @@
 namespace webrtc {
 namespace {
 
-static const size_t kNalHeaderSize = 1;
-static const size_t kFuAHeaderSize = 2;
-static const size_t kLengthFieldSize = 2;
+constexpr size_t kNalHeaderSize = 1;
+constexpr size_t kFuAHeaderSize = 2;
+constexpr size_t kLengthFieldSize = 2;
 
 }  // namespace
 
diff --git a/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc b/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc
index 3920c4a..8f9f1a9 100644
--- a/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc
+++ b/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc
@@ -47,8 +47,8 @@
   kFuA = 28
 };
 
-static const size_t kNalHeaderSize = 1;
-static const size_t kFuAHeaderSize = 2;
+constexpr size_t kNalHeaderSize = 1;
+constexpr size_t kFuAHeaderSize = 2;
 
 // Creates Buffer that looks like nal unit of given size.
 rtc::Buffer GenerateNalUnit(size_t size) {
diff --git a/modules/rtp_rtcp/source/rtp_format_video_generic.cc b/modules/rtp_rtcp/source/rtp_format_video_generic.cc
index d91e6b4..56a11aa 100644
--- a/modules/rtp_rtcp/source/rtp_format_video_generic.cc
+++ b/modules/rtp_rtcp/source/rtp_format_video_generic.cc
@@ -19,9 +19,12 @@
 #include "rtc_base/logging.h"
 
 namespace webrtc {
+namespace {
 
-static const size_t kGenericHeaderLength = 1;
-static const size_t kExtendedHeaderLength = 2;
+constexpr size_t kGenericHeaderLength = 1;
+constexpr size_t kExtendedHeaderLength = 2;
+
+}  // namespace
 
 RtpPacketizerGeneric::RtpPacketizerGeneric(
     rtc::ArrayView<const uint8_t> payload,
diff --git a/modules/rtp_rtcp/source/rtp_format_video_generic.h b/modules/rtp_rtcp/source/rtp_format_video_generic.h
index fd44bd1..0ebaac8 100644
--- a/modules/rtp_rtcp/source/rtp_format_video_generic.h
+++ b/modules/rtp_rtcp/source/rtp_format_video_generic.h
@@ -23,11 +23,11 @@
 struct RTPVideoHeader;
 
 namespace RtpFormatVideoGeneric {
-static const uint8_t kKeyFrameBit = 0x01;
-static const uint8_t kFirstPacketBit = 0x02;
+inline constexpr uint8_t kKeyFrameBit = 0x01;
+inline constexpr uint8_t kFirstPacketBit = 0x02;
 // If this bit is set, there will be an extended header contained in this
 // packet. This was added later so old clients will not send this.
-static const uint8_t kExtendedHeaderBit = 0x04;
+inline constexpr uint8_t kExtendedHeaderBit = 0x04;
 }  // namespace RtpFormatVideoGeneric
 
 class RtpPacketizerGeneric : public RtpPacketizer {
diff --git a/modules/rtp_rtcp/source/rtp_generic_frame_descriptor.cc b/modules/rtp_rtcp/source/rtp_generic_frame_descriptor.cc
index 465308e..207b2a9 100644
--- a/modules/rtp_rtcp/source/rtp_generic_frame_descriptor.cc
+++ b/modules/rtp_rtcp/source/rtp_generic_frame_descriptor.cc
@@ -16,10 +16,6 @@
 
 namespace webrtc {
 
-constexpr int RtpGenericFrameDescriptor::kMaxNumFrameDependencies;
-constexpr int RtpGenericFrameDescriptor::kMaxTemporalLayers;
-constexpr int RtpGenericFrameDescriptor::kMaxSpatialLayers;
-
 RtpGenericFrameDescriptor::RtpGenericFrameDescriptor() = default;
 RtpGenericFrameDescriptor::RtpGenericFrameDescriptor(
     const RtpGenericFrameDescriptor&) = default;
diff --git a/modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension.cc b/modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension.cc
index 8a0810f..c4bb492 100644
--- a/modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension.cc
+++ b/modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension.cc
@@ -56,7 +56,6 @@
 //      +---------------+
 //      |      ...      |
 //      +-+-+-+-+-+-+-+-+
-constexpr RTPExtensionType RtpGenericFrameDescriptorExtension00::kId;
 
 bool RtpGenericFrameDescriptorExtension00::Parse(
     rtc::ArrayView<const uint8_t> data,
diff --git a/modules/rtp_rtcp/source/rtp_header_extension_map.cc b/modules/rtp_rtcp/source/rtp_header_extension_map.cc
index 6b5ee60..dc9ae41 100644
--- a/modules/rtp_rtcp/source/rtp_header_extension_map.cc
+++ b/modules/rtp_rtcp/source/rtp_header_extension_map.cc
@@ -70,9 +70,6 @@
 
 }  // namespace
 
-constexpr RTPExtensionType RtpHeaderExtensionMap::kInvalidType;
-constexpr int RtpHeaderExtensionMap::kInvalidId;
-
 RtpHeaderExtensionMap::RtpHeaderExtensionMap() : RtpHeaderExtensionMap(false) {}
 
 RtpHeaderExtensionMap::RtpHeaderExtensionMap(bool extmap_allow_mixed)
diff --git a/modules/rtp_rtcp/source/rtp_packet_history_unittest.cc b/modules/rtp_rtcp/source/rtp_packet_history_unittest.cc
index 13febf3..8378231 100644
--- a/modules/rtp_rtcp/source/rtp_packet_history_unittest.cc
+++ b/modules/rtp_rtcp/source/rtp_packet_history_unittest.cc
@@ -160,7 +160,7 @@
 }
 
 TEST_P(RtpPacketHistoryTest, MinResendTime) {
-  static const TimeDelta kMinRetransmitInterval = TimeDelta::Millis(100);
+  static constexpr TimeDelta kMinRetransmitInterval = TimeDelta::Millis(100);
 
   hist_.SetStorePacketsStatus(StorageMode::kStoreAndCull, 10);
   hist_.SetRtt(kMinRetransmitInterval);
diff --git a/modules/rtp_rtcp/source/rtp_video_layers_allocation_extension.cc b/modules/rtp_rtcp/source/rtp_video_layers_allocation_extension.cc
index 6b86ee5..c361539 100644
--- a/modules/rtp_rtcp/source/rtp_video_layers_allocation_extension.cc
+++ b/modules/rtp_rtcp/source/rtp_video_layers_allocation_extension.cc
@@ -20,9 +20,6 @@
 #include "rtc_base/checks.h"
 
 namespace webrtc {
-
-constexpr RTPExtensionType RtpVideoLayersAllocationExtension::kId;
-
 namespace {
 
 constexpr int kMaxNumRtpStreams = 4;