clang-tidy: llvm-namespace-comment,readability-static-definition-in-anonymous-namespace

https://clang.llvm.org/extra/clang-tidy/checks/llvm/namespace-comment.html
https://clang.llvm.org/extra/clang-tidy/checks/readability/static-definition-in-anonymous-namespace.html

Done using clang-tidy with
  tools/clang/scripts/build_clang_tools_extra.py \
    --fetch out/Default clang-tidy clang-apply-replacements
  ninja -C out/Default
  gn gen out/Default --export-compile-commands
  cd out/Default
  tools/clang/third_party/llvm/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py -p . \
    -clang-tidy-binary out/Default/tools/clang/third_party/llvm/build/bin/clang-tidy \
    -clang-apply-replacements-binary \
        out/Default/tools/clang/third_party/llvm/build/bin/clang-apply-replacements \
    -checks='-*,llvm-namespace-comment,readability-static-definition-in-anonymous-namespace' \
    -fix

with some manual changes affecting webrtc_sdp.cc in PS2.

Bug: webrtc:424706384
Change-Id: I23f204d65787edc74ae02ef7bf129d8e3ade90f6
No-Iwyu: orthogonal LSC
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/396460
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#44947}
diff --git a/api/video/nv12_buffer.cc b/api/video/nv12_buffer.cc
index 946b54f..270dbde 100644
--- a/api/video/nv12_buffer.cc
+++ b/api/video/nv12_buffer.cc
@@ -29,7 +29,7 @@
 
 namespace {
 
-static const int kBufferAlignment = 64;
+const int kBufferAlignment = 64;
 
 int NV12DataSize(int width, int height, int stride_y, int stride_uv) {
   CheckValidDimensions(width, height, stride_y, stride_uv, stride_uv);
diff --git a/api/video/video_content_type.cc b/api/video/video_content_type.cc
index 75beb5c..8b96080 100644
--- a/api/video/video_content_type.cc
+++ b/api/video/video_content_type.cc
@@ -18,9 +18,8 @@
 namespace videocontenttypehelpers {
 
 namespace {
-static constexpr uint8_t kScreenshareBitsSize = 1;
-static constexpr uint8_t kScreenshareBitsMask =
-    (1u << kScreenshareBitsSize) - 1;
+constexpr uint8_t kScreenshareBitsSize = 1;
+constexpr uint8_t kScreenshareBitsMask = (1u << kScreenshareBitsSize) - 1;
 }  // namespace
 
 bool IsScreenshare(const VideoContentType& content_type) {
diff --git a/api/video_codecs/h264_profile_level_id.cc b/api/video_codecs/h264_profile_level_id.cc
index 4dafda0..e410fc2 100644
--- a/api/video_codecs/h264_profile_level_id.cc
+++ b/api/video_codecs/h264_profile_level_id.cc
@@ -80,7 +80,7 @@
 };
 
 // This is from ITU-T H.264 (02/2016) Table A-1 – Level limits.
-static constexpr LevelConstraint kLevelConstraints[] = {
+constexpr LevelConstraint kLevelConstraints[] = {
     {1485, 99, H264Level::kLevel1},
     {1485, 99, H264Level::kLevel1_b},
     {3000, 396, H264Level::kLevel1_1},
diff --git a/api/video_codecs/h265_profile_tier_level.cc b/api/video_codecs/h265_profile_tier_level.cc
index 306effa..4ec1c80 100644
--- a/api/video_codecs/h265_profile_tier_level.cc
+++ b/api/video_codecs/h265_profile_tier_level.cc
@@ -28,7 +28,7 @@
 // Used to align frame width and height for luma picture size calculation.
 // Use the maximum value allowed by spec to get upper bound of luma picture
 // size for given resolution.
-static constexpr int kMinCbSizeYMax = 64;
+constexpr int kMinCbSizeYMax = 64;
 
 struct LevelConstraint {
   const int max_luma_picture_size;
@@ -45,7 +45,7 @@
 // max_luma_picture_size is 36864, so pic_width_in_luma_samples <= sqrt(36864 *
 // 8) = 543.06. The largest integer that is multiple of 8 and less than 543.06
 // is 536.
-static constexpr LevelConstraint kLevelConstraints[] = {
+constexpr LevelConstraint kLevelConstraints[] = {
     {36864, 552960, 536, H265Level::kLevel1},
     {122880, 3686400, 984, H265Level::kLevel2},
     {245760, 7372800, 1400, H265Level::kLevel2_1},
diff --git a/api/video_codecs/libaom_av1_encoder_factory_test.cc b/api/video_codecs/libaom_av1_encoder_factory_test.cc
index 07cc9ad..a3b3680 100644
--- a/api/video_codecs/libaom_av1_encoder_factory_test.cc
+++ b/api/video_codecs/libaom_av1_encoder_factory_test.cc
@@ -261,7 +261,7 @@
   return I420PSNR(*ref_buffer, *decoded_frame.video_frame_buffer()->ToI420());
 }
 
-static constexpr VideoEncoderFactoryInterface::StaticEncoderSettings
+constexpr VideoEncoderFactoryInterface::StaticEncoderSettings
     kCbrEncoderSettings{
         .max_encode_dimensions = {.width = 1920, .height = 1080},
         .encoding_format = {.sub_sampling = EncodingFormat::SubSampling::k420,
@@ -273,7 +273,7 @@
         .max_number_of_threads = 1,
     };
 
-static constexpr VideoEncoderFactoryInterface::StaticEncoderSettings
+constexpr VideoEncoderFactoryInterface::StaticEncoderSettings
     kCqpEncoderSettings{
         .max_encode_dimensions = {.width = 1920, .height = 1080},
         .encoding_format = {.sub_sampling = EncodingFormat::SubSampling::k420,
@@ -282,8 +282,8 @@
         .max_number_of_threads = 1,
     };
 
-static constexpr Cbr kCbr{.duration = TimeDelta::Millis(100),
-                          .target_bitrate = DataRate::KilobitsPerSec(1000)};
+constexpr Cbr kCbr{.duration = TimeDelta::Millis(100),
+                   .target_bitrate = DataRate::KilobitsPerSec(1000)};
 
 TEST(LibaomAv1EncoderFactory, CodecName) {
   EXPECT_THAT(LibaomAv1EncoderFactory().CodecName(), Eq("AV1"));
diff --git a/audio/audio_send_stream_unittest.cc b/audio/audio_send_stream_unittest.cc
index 418171c..0cc9912 100644
--- a/audio/audio_send_stream_unittest.cc
+++ b/audio/audio_send_stream_unittest.cc
@@ -76,7 +76,7 @@
 using ::testing::StrEq;
 using ::testing::WithArg;
 
-static const float kTolerance = 0.0001f;
+const float kTolerance = 0.0001f;
 
 const uint32_t kSsrc = 1234;
 const char* kCName = "foo_name";
diff --git a/audio/voip/voip_core.cc b/audio/voip/voip_core.cc
index 11586d0..a557c35 100644
--- a/audio/voip/voip_core.cc
+++ b/audio/voip/voip_core.cc
@@ -33,7 +33,7 @@
 // Maximum value range limit on ChannelId. This can be increased without any
 // side effect and only set at this moderate value for better readability for
 // logging.
-static constexpr int kMaxChannelId = 100000;
+constexpr int kMaxChannelId = 100000;
 
 }  // namespace
 
diff --git a/call/payload_type_picker.cc b/call/payload_type_picker.cc
index 3ce57cc..9b4e7f1 100644
--- a/call/payload_type_picker.cc
+++ b/call/payload_type_picker.cc
@@ -33,11 +33,11 @@
 
 // Due to interoperability issues with old Chrome/WebRTC versions that
 // ignore the [35, 63] range prefer the lower range for new codecs.
-static const int kFirstDynamicPayloadTypeLowerRange = 35;
-static const int kLastDynamicPayloadTypeLowerRange = 63;
+const int kFirstDynamicPayloadTypeLowerRange = 35;
+const int kLastDynamicPayloadTypeLowerRange = 63;
 
-static const int kFirstDynamicPayloadTypeUpperRange = 96;
-static const int kLastDynamicPayloadTypeUpperRange = 127;
+const int kFirstDynamicPayloadTypeUpperRange = 96;
+const int kLastDynamicPayloadTypeUpperRange = 127;
 
 // Note: The only fields we need from a Codec are the type (audio/video),
 // the subtype (vp8/h264/....), the clock rate, the channel count, and the
diff --git a/call/rampup_tests.cc b/call/rampup_tests.cc
index 3a18e8c..243a374 100644
--- a/call/rampup_tests.cc
+++ b/call/rampup_tests.cc
@@ -66,12 +66,12 @@
 using test::Unit;
 
 constexpr TimeDelta kPollInterval = TimeDelta::Millis(20);
-static const int kExpectedHighVideoBitrateBps = 80000;
-static const int kExpectedHighAudioBitrateBps = 30000;
-static const int kLowBandwidthLimitBps = 20000;
+const int kExpectedHighVideoBitrateBps = 80000;
+const int kExpectedHighAudioBitrateBps = 30000;
+const int kLowBandwidthLimitBps = 20000;
 // Set target detected bitrate to slightly larger than the target bitrate to
 // avoid flakiness.
-static const int kLowBitrateMarginBps = 2000;
+const int kLowBitrateMarginBps = 2000;
 
 std::vector<uint32_t> GenerateSsrcs(size_t num_streams, uint32_t ssrc_offset) {
   std::vector<uint32_t> ssrcs;
diff --git a/call/rtp_transport_controller_send.cc b/call/rtp_transport_controller_send.cc
index dcf12b2..f85d944 100644
--- a/call/rtp_transport_controller_send.cc
+++ b/call/rtp_transport_controller_send.cc
@@ -61,8 +61,8 @@
 
 namespace webrtc {
 namespace {
-static const int64_t kRetransmitWindowSizeMs = 500;
-static const size_t kMaxOverheadBytes = 500;
+const int64_t kRetransmitWindowSizeMs = 500;
+const size_t kMaxOverheadBytes = 500;
 
 constexpr TimeDelta kPacerQueueUpdateInterval = TimeDelta::Millis(25);
 
diff --git a/call/rtp_video_sender.cc b/call/rtp_video_sender.cc
index dfd9566..06ce7b3 100644
--- a/call/rtp_video_sender.cc
+++ b/call/rtp_video_sender.cc
@@ -89,9 +89,9 @@
 }  // namespace webrtc_internal_rtp_video_sender
 
 namespace {
-static const int kMinSendSidePacketHistorySize = 600;
+const int kMinSendSidePacketHistorySize = 600;
 // We don't do MTU discovery, so assume that we have the standard ethernet MTU.
-static const size_t kPathMTU = 1500;
+const size_t kPathMTU = 1500;
 
 using webrtc_internal_rtp_video_sender::RtpStreamSender;
 
diff --git a/common_audio/fir_filter_unittest.cc b/common_audio/fir_filter_unittest.cc
index 9b97388..9b2783b 100644
--- a/common_audio/fir_filter_unittest.cc
+++ b/common_audio/fir_filter_unittest.cc
@@ -21,13 +21,13 @@
 namespace webrtc {
 namespace {
 
-static constexpr size_t kCoefficientsSize = 5;
-static const std::array<float, kCoefficientsSize> kCoefficients = {
-    0.2f, 0.3f, 0.5f, 0.7f, 0.11f};
+constexpr size_t kCoefficientsSize = 5;
+const std::array<float, kCoefficientsSize> kCoefficients = {0.2f, 0.3f, 0.5f,
+                                                            0.7f, 0.11f};
 
-static constexpr size_t kInputSize = 10;
-static const std::array<float, kInputSize> kInput = {1.f, 2.f, 3.f, 4.f, 5.f,
-                                                     6.f, 7.f, 8.f, 9.f, 10.f};
+constexpr size_t kInputSize = 10;
+const std::array<float, kInputSize> kInput = {1.f, 2.f, 3.f, 4.f, 5.f,
+                                              6.f, 7.f, 8.f, 9.f, 10.f};
 
 }  // namespace
 
diff --git a/common_audio/third_party/ooura/fft_size_128/ooura_fft.cc b/common_audio/third_party/ooura/fft_size_128/ooura_fft.cc
index 9edbbd9..98a8f02 100644
--- a/common_audio/third_party/ooura/fft_size_128/ooura_fft.cc
+++ b/common_audio/third_party/ooura/fft_size_128/ooura_fft.cc
@@ -32,7 +32,7 @@
 namespace {
 
 #if !(defined(MIPS_FPU_LE) || defined(WEBRTC_HAS_NEON))
-static void cft1st_128_C(float* a) {
+void cft1st_128_C(float* a) {
   const int n = 128;
   int j, k1, k2;
   float wk1r, wk1i, wk2r, wk2i, wk3r, wk3i;
@@ -139,7 +139,7 @@
   }
 }
 
-static void cftmdl_128_C(float* a) {
+void cftmdl_128_C(float* a) {
   const int l = 8;
   const int n = 128;
   const int m = 32;
@@ -266,7 +266,7 @@
   }
 }
 
-static void rftfsub_128_C(float* a) {
+void rftfsub_128_C(float* a) {
   const float* c = rdft_w + 32;
   int j1, j2, k1, k2;
   float wkr, wki, xr, xi, yr, yi;
@@ -287,7 +287,7 @@
   }
 }
 
-static void rftbsub_128_C(float* a) {
+void rftbsub_128_C(float* a) {
   const float* c = rdft_w + 32;
   int j1, j2, k1, k2;
   float wkr, wki, xr, xi, yr, yi;
diff --git a/common_video/frame_rate_estimator_unittest.cc b/common_video/frame_rate_estimator_unittest.cc
index f4d37cd..063cb01 100644
--- a/common_video/frame_rate_estimator_unittest.cc
+++ b/common_video/frame_rate_estimator_unittest.cc
@@ -18,7 +18,7 @@
 namespace webrtc {
 namespace {
 constexpr TimeDelta kDefaultWindow = TimeDelta::Millis(1000);
-}
+}  // namespace
 
 class FrameRateEstimatorTest : public ::testing::Test {
  public:
diff --git a/common_video/h264/sps_vui_rewriter_unittest.cc b/common_video/h264/sps_vui_rewriter_unittest.cc
index b9c6c86..854196a 100644
--- a/common_video/h264/sps_vui_rewriter_unittest.cc
+++ b/common_video/h264/sps_vui_rewriter_unittest.cc
@@ -35,15 +35,15 @@
   kRewriteRequired_VuiSuboptimal,
 };
 
-static const size_t kSpsBufferMaxSize = 256;
-static const size_t kWidth = 640;
-static const size_t kHeight = 480;
+const size_t kSpsBufferMaxSize = 256;
+const size_t kWidth = 640;
+const size_t kHeight = 480;
 
-static const uint8_t kStartSequence[] = {0x00, 0x00, 0x00, 0x01};
-static const uint8_t kAud[] = {H264::NaluType::kAud, 0x09, 0x10};
-static const uint8_t kSpsNaluType[] = {H264::NaluType::kSps};
-static const uint8_t kIdr1[] = {H264::NaluType::kIdr, 0xFF, 0x00, 0x00, 0x04};
-static const uint8_t kIdr2[] = {H264::NaluType::kIdr, 0xFF, 0x00, 0x11};
+const uint8_t kStartSequence[] = {0x00, 0x00, 0x00, 0x01};
+const uint8_t kAud[] = {H264::NaluType::kAud, 0x09, 0x10};
+const uint8_t kSpsNaluType[] = {H264::NaluType::kSps};
+const uint8_t kIdr1[] = {H264::NaluType::kIdr, 0xFF, 0x00, 0x00, 0x04};
+const uint8_t kIdr2[] = {H264::NaluType::kIdr, 0xFF, 0x00, 0x11};
 
 struct VuiHeader {
   uint32_t vui_parameters_present_flag;
@@ -58,7 +58,7 @@
   uint8_t matrix_coefficients;
 };
 
-static const VuiHeader kVuiNotPresent = {
+const VuiHeader kVuiNotPresent = {
     /* vui_parameters_present_flag= */ 0,
     /* bitstream_restriction_flag= */ 0,
     /* max_num_reorder_frames= */ 0,
@@ -70,7 +70,7 @@
     /* transfer_characteristics= */ 0,
     /* matrix_coefficients= */ 0};
 
-static const VuiHeader kVuiNoBitstreamRestriction = {
+const VuiHeader kVuiNoBitstreamRestriction = {
     /* vui_parameters_present_flag= */ 1,
     /* bitstream_restriction_flag= */ 0,
     /* max_num_reorder_frames= */ 0,
@@ -82,7 +82,7 @@
     /* transfer_characteristics= */ 0,
     /* matrix_coefficients= */ 0};
 
-static const VuiHeader kVuiNoFrameBuffering = {
+const VuiHeader kVuiNoFrameBuffering = {
     /* vui_parameters_present_flag= */ 1,
     /* bitstream_restriction_flag= */ 1,
     /* max_num_reorder_frames= */ 0,
@@ -94,7 +94,7 @@
     /* transfer_characteristics= */ 0,
     /* matrix_coefficients= */ 0};
 
-static const VuiHeader kVuiFrameBuffering = {
+const VuiHeader kVuiFrameBuffering = {
     /* vui_parameters_present_flag= */ 1,
     /* bitstream_restriction_flag= */ 1,
     /* max_num_reorder_frames= */ 3,
@@ -106,7 +106,7 @@
     /* transfer_characteristics= */ 0,
     /* matrix_coefficients= */ 0};
 
-static const VuiHeader kVuiNoVideoSignalType = {
+const VuiHeader kVuiNoVideoSignalType = {
     /* vui_parameters_present_flag= */ 1,
     /* bitstream_restriction_flag= */ 1,
     /* max_num_reorder_frames= */ 0,
@@ -118,7 +118,7 @@
     /* transfer_characteristics= */ 0,
     /* matrix_coefficients= */ 0};
 
-static const VuiHeader kVuiLimitedRangeNoColourDescription = {
+const VuiHeader kVuiLimitedRangeNoColourDescription = {
     /* vui_parameters_present_flag= */ 1,
     /* bitstream_restriction_flag= */ 1,
     /* max_num_reorder_frames= */ 0,
@@ -130,7 +130,7 @@
     /* transfer_characteristics= */ 0,
     /* matrix_coefficients= */ 0};
 
-static const VuiHeader kVuiFullRangeNoColourDescription = {
+const VuiHeader kVuiFullRangeNoColourDescription = {
     /* vui_parameters_present_flag= */ 1,
     /* bitstream_restriction_flag= */ 1,
     /* max_num_reorder_frames= */ 0,
@@ -142,7 +142,7 @@
     /* transfer_characteristics= */ 0,
     /* matrix_coefficients= */ 0};
 
-static const VuiHeader kVuiLimitedRangeBt709Color = {
+const VuiHeader kVuiLimitedRangeBt709Color = {
     /* vui_parameters_present_flag= */ 1,
     /* bitstream_restriction_flag= */ 1,
     /* max_num_reorder_frames= */ 0,
@@ -154,41 +154,35 @@
     /* transfer_characteristics= */ 1,
     /* matrix_coefficients= */ 1};
 
-static const ColorSpace kColorSpaceH264Default(
-    ColorSpace::PrimaryID::kUnspecified,
-    ColorSpace::TransferID::kUnspecified,
-    ColorSpace::MatrixID::kUnspecified,
-    ColorSpace::RangeID::kLimited);
+const ColorSpace kColorSpaceH264Default(ColorSpace::PrimaryID::kUnspecified,
+                                        ColorSpace::TransferID::kUnspecified,
+                                        ColorSpace::MatrixID::kUnspecified,
+                                        ColorSpace::RangeID::kLimited);
 
-static const ColorSpace kColorSpacePrimariesBt709(
-    ColorSpace::PrimaryID::kBT709,
-    ColorSpace::TransferID::kUnspecified,
-    ColorSpace::MatrixID::kUnspecified,
-    ColorSpace::RangeID::kLimited);
+const ColorSpace kColorSpacePrimariesBt709(ColorSpace::PrimaryID::kBT709,
+                                           ColorSpace::TransferID::kUnspecified,
+                                           ColorSpace::MatrixID::kUnspecified,
+                                           ColorSpace::RangeID::kLimited);
 
-static const ColorSpace kColorSpaceTransferBt709(
-    ColorSpace::PrimaryID::kUnspecified,
-    ColorSpace::TransferID::kBT709,
-    ColorSpace::MatrixID::kUnspecified,
-    ColorSpace::RangeID::kLimited);
+const ColorSpace kColorSpaceTransferBt709(ColorSpace::PrimaryID::kUnspecified,
+                                          ColorSpace::TransferID::kBT709,
+                                          ColorSpace::MatrixID::kUnspecified,
+                                          ColorSpace::RangeID::kLimited);
 
-static const ColorSpace kColorSpaceMatrixBt709(
-    ColorSpace::PrimaryID::kUnspecified,
-    ColorSpace::TransferID::kUnspecified,
-    ColorSpace::MatrixID::kBT709,
-    ColorSpace::RangeID::kLimited);
+const ColorSpace kColorSpaceMatrixBt709(ColorSpace::PrimaryID::kUnspecified,
+                                        ColorSpace::TransferID::kUnspecified,
+                                        ColorSpace::MatrixID::kBT709,
+                                        ColorSpace::RangeID::kLimited);
 
-static const ColorSpace kColorSpaceFullRange(
-    ColorSpace::PrimaryID::kBT709,
-    ColorSpace::TransferID::kUnspecified,
-    ColorSpace::MatrixID::kUnspecified,
-    ColorSpace::RangeID::kFull);
+const ColorSpace kColorSpaceFullRange(ColorSpace::PrimaryID::kBT709,
+                                      ColorSpace::TransferID::kUnspecified,
+                                      ColorSpace::MatrixID::kUnspecified,
+                                      ColorSpace::RangeID::kFull);
 
-static const ColorSpace kColorSpaceBt709LimitedRange(
-    ColorSpace::PrimaryID::kBT709,
-    ColorSpace::TransferID::kBT709,
-    ColorSpace::MatrixID::kBT709,
-    ColorSpace::RangeID::kLimited);
+const ColorSpace kColorSpaceBt709LimitedRange(ColorSpace::PrimaryID::kBT709,
+                                              ColorSpace::TransferID::kBT709,
+                                              ColorSpace::MatrixID::kBT709,
+                                              ColorSpace::RangeID::kLimited);
 }  // namespace
 
 // Generates a fake SPS with basically everything empty and with characteristics
diff --git a/media/base/rtp_utils.cc b/media/base/rtp_utils.cc
index 7b4fe19..76feba3 100644
--- a/media/base/rtp_utils.cc
+++ b/media/base/rtp_utils.cc
@@ -39,8 +39,8 @@
 // Fake auth tag written by the sender when external authentication is enabled.
 // HMAC in packet will be compared against this value before updating packet
 // with actual HMAC value.
-static const uint8_t kFakeAuthTag[10] = {0xba, 0xdd, 0xba, 0xdd, 0xba,
-                                         0xdd, 0xba, 0xdd, 0xba, 0xdd};
+const uint8_t kFakeAuthTag[10] = {0xba, 0xdd, 0xba, 0xdd, 0xba,
+                                  0xdd, 0xba, 0xdd, 0xba, 0xdd};
 
 void UpdateAbsSendTimeExtensionValue(uint8_t* extension_data,
                                      size_t length,
diff --git a/media/engine/fake_video_codec_factory.cc b/media/engine/fake_video_codec_factory.cc
index d7b9b2e..1c62353 100644
--- a/media/engine/fake_video_codec_factory.cc
+++ b/media/engine/fake_video_codec_factory.cc
@@ -24,7 +24,7 @@
 
 namespace {
 
-static const char kFakeCodecFactoryCodecName[] = "FakeCodec";
+const char kFakeCodecFactoryCodecName[] = "FakeCodec";
 
 }  // anonymous namespace
 
diff --git a/media/engine/fake_webrtc_video_engine.cc b/media/engine/fake_webrtc_video_engine.cc
index b016da3..93d7e99 100644
--- a/media/engine/fake_webrtc_video_engine.cc
+++ b/media/engine/fake_webrtc_video_engine.cc
@@ -42,8 +42,7 @@
 
 namespace {
 
-
-static constexpr TimeDelta kEventTimeout = TimeDelta::Seconds(10);
+constexpr TimeDelta kEventTimeout = TimeDelta::Seconds(10);
 
 bool IsScalabilityModeSupported(const std::vector<SdpVideoFormat>& formats,
                                 std::optional<std::string> scalability_mode) {
diff --git a/media/engine/webrtc_video_engine.cc b/media/engine/webrtc_video_engine.cc
index 7f3b7d8..9b71d02 100644
--- a/media/engine/webrtc_video_engine.cc
+++ b/media/engine/webrtc_video_engine.cc
@@ -277,7 +277,7 @@
   return output_codecs;
 }
 
-static std::string CodecVectorToString(const std::vector<Codec>& codecs) {
+std::string CodecVectorToString(const std::vector<Codec>& codecs) {
   StringBuilder out;
   out << "{";
   for (size_t i = 0; i < codecs.size(); ++i) {
@@ -290,7 +290,7 @@
   return out.Release();
 }
 
-static bool ValidateCodecFormats(const std::vector<Codec>& codecs) {
+bool ValidateCodecFormats(const std::vector<Codec>& codecs) {
   bool has_video = false;
   for (size_t i = 0; i < codecs.size(); ++i) {
     if (!codecs[i].ValidateCodecFormat()) {
@@ -308,7 +308,7 @@
   return true;
 }
 
-static bool ValidateStreamParams(const StreamParams& sp) {
+bool ValidateStreamParams(const StreamParams& sp) {
   if (sp.ssrcs.empty()) {
     RTC_LOG(LS_ERROR) << "No SSRCs in stream parameters: " << sp.ToString();
     return false;
diff --git a/media/engine/webrtc_video_engine_unittest.cc b/media/engine/webrtc_video_engine_unittest.cc
index 3846024..5f22336 100644
--- a/media/engine/webrtc_video_engine_unittest.cc
+++ b/media/engine/webrtc_video_engine_unittest.cc
@@ -152,27 +152,26 @@
 using ::webrtc::test::FunctionVideoDecoderFactory;
 using ::webrtc::test::RtcpPacketParser;
 
-static const uint8_t kRedRtxPayloadType = 125;
+const uint8_t kRedRtxPayloadType = 125;
 
-static const uint32_t kSsrc = 1234u;
-static const uint32_t kSsrcs4[] = {1, 2, 3, 4};
-static const int kVideoWidth = 640;
-static const int kVideoHeight = 360;
-static const int kFramerate = 30;
-static constexpr TimeDelta kFrameDuration =
-    TimeDelta::Millis(1000 / kFramerate);
+const uint32_t kSsrc = 1234u;
+const uint32_t kSsrcs4[] = {1, 2, 3, 4};
+const int kVideoWidth = 640;
+const int kVideoHeight = 360;
+const int kFramerate = 30;
+constexpr TimeDelta kFrameDuration = TimeDelta::Millis(1000 / kFramerate);
 
-static const uint32_t kSsrcs1[] = {1};
-static const uint32_t kSsrcs3[] = {1, 2, 3};
-static const uint32_t kRtxSsrcs1[] = {4};
-static const uint32_t kFlexfecSsrc = 5;
-static const uint32_t kIncomingUnsignalledSsrc = 0xC0FFEE;
-static const int64_t kUnsignalledReceiveStreamCooldownMs = 500;
+const uint32_t kSsrcs1[] = {1};
+const uint32_t kSsrcs3[] = {1, 2, 3};
+const uint32_t kRtxSsrcs1[] = {4};
+const uint32_t kFlexfecSsrc = 5;
+const uint32_t kIncomingUnsignalledSsrc = 0xC0FFEE;
+const int64_t kUnsignalledReceiveStreamCooldownMs = 500;
 
 constexpr uint32_t kRtpHeaderSize = 12;
 constexpr size_t kNumSimulcastStreams = 3;
 
-static const char kUnsupportedExtensionName[] =
+const char kUnsupportedExtensionName[] =
     "urn:ietf:params:rtp-hdrext:unsupported";
 
 Codec RemoveFeedbackParams(Codec&& codec) {
diff --git a/modules/audio_coding/codecs/cng/audio_encoder_cng_unittest.cc b/modules/audio_coding/codecs/cng/audio_encoder_cng_unittest.cc
index 606a6b8..4f5e3af 100644
--- a/modules/audio_coding/codecs/cng/audio_encoder_cng_unittest.cc
+++ b/modules/audio_coding/codecs/cng/audio_encoder_cng_unittest.cc
@@ -41,9 +41,9 @@
 namespace webrtc {
 
 namespace {
-static const size_t kMaxNumSamples = 48 * 10 * 2;  // 10 ms @ 48 kHz stereo.
-static const size_t kMockReturnEncodedBytes = 17;
-static const int kCngPayloadType = 18;
+const size_t kMaxNumSamples = 48 * 10 * 2;  // 10 ms @ 48 kHz stereo.
+const size_t kMockReturnEncodedBytes = 17;
+const int kCngPayloadType = 18;
 }  // namespace
 
 class AudioEncoderCngTest : public ::testing::Test {
diff --git a/modules/audio_coding/codecs/red/audio_encoder_copy_red_unittest.cc b/modules/audio_coding/codecs/red/audio_encoder_copy_red_unittest.cc
index eb31759..0349926 100644
--- a/modules/audio_coding/codecs/red/audio_encoder_copy_red_unittest.cc
+++ b/modules/audio_coding/codecs/red/audio_encoder_copy_red_unittest.cc
@@ -43,8 +43,8 @@
 namespace webrtc {
 
 namespace {
-static const size_t kMaxNumSamples = 48 * 10 * 2;  // 10 ms @ 48 kHz stereo.
-static const size_t kRedLastHeaderLength =
+const size_t kMaxNumSamples = 48 * 10 * 2;  // 10 ms @ 48 kHz stereo.
+const size_t kRedLastHeaderLength =
     1;  // 1 byte RED header for the last element.
 }  // namespace
 
diff --git a/modules/audio_coding/neteq/test/neteq_opus_quality_test.cc b/modules/audio_coding/neteq/test/neteq_opus_quality_test.cc
index 276adc1..a469ea0 100644
--- a/modules/audio_coding/neteq/test/neteq_opus_quality_test.cc
+++ b/modules/audio_coding/neteq/test/neteq_opus_quality_test.cc
@@ -49,8 +49,8 @@
 namespace test {
 namespace {
 
-static const int kOpusBlockDurationMs = 20;
-static const int kOpusSamplingKhz = 48;
+const int kOpusBlockDurationMs = 20;
+const int kOpusSamplingKhz = 48;
 }  // namespace
 
 class NetEqOpusQualityTest : public NetEqQualityTest {
diff --git a/modules/audio_coding/neteq/test/neteq_pcm16b_quality_test.cc b/modules/audio_coding/neteq/test/neteq_pcm16b_quality_test.cc
index 6cf73f6..9f1fffa 100644
--- a/modules/audio_coding/neteq/test/neteq_pcm16b_quality_test.cc
+++ b/modules/audio_coding/neteq/test/neteq_pcm16b_quality_test.cc
@@ -31,8 +31,8 @@
 namespace webrtc {
 namespace test {
 namespace {
-static const int kInputSampleRateKhz = 48;
-static const int kOutputSampleRateKhz = 48;
+const int kInputSampleRateKhz = 48;
+const int kOutputSampleRateKhz = 48;
 }  // namespace
 
 class NetEqPcm16bQualityTest : public NetEqQualityTest {
diff --git a/modules/audio_coding/neteq/test/neteq_pcmu_quality_test.cc b/modules/audio_coding/neteq/test/neteq_pcmu_quality_test.cc
index 2de5170..c365d83 100644
--- a/modules/audio_coding/neteq/test/neteq_pcmu_quality_test.cc
+++ b/modules/audio_coding/neteq/test/neteq_pcmu_quality_test.cc
@@ -31,8 +31,8 @@
 namespace webrtc {
 namespace test {
 namespace {
-static const int kInputSampleRateKhz = 8;
-static const int kOutputSampleRateKhz = 8;
+const int kInputSampleRateKhz = 8;
+const int kOutputSampleRateKhz = 8;
 }  // namespace
 
 class NetEqPcmuQualityTest : public NetEqQualityTest {
diff --git a/modules/audio_coding/neteq/time_stretch_unittest.cc b/modules/audio_coding/neteq/time_stretch_unittest.cc
index 029ab88..539312a 100644
--- a/modules/audio_coding/neteq/time_stretch_unittest.cc
+++ b/modules/audio_coding/neteq/time_stretch_unittest.cc
@@ -29,7 +29,7 @@
 
 namespace {
 const size_t kNumChannels = 1;
-}
+}  // namespace
 
 TEST(TimeStretch, CreateAndDestroy) {
   const int kSampleRate = 8000;
diff --git a/modules/audio_coding/neteq/tools/neteq_rtpplay.cc b/modules/audio_coding/neteq/tools/neteq_rtpplay.cc
index 408e404..da2df22 100644
--- a/modules/audio_coding/neteq/tools/neteq_rtpplay.cc
+++ b/modules/audio_coding/neteq/tools/neteq_rtpplay.cc
@@ -190,7 +190,7 @@
   return true;
 }
 
-static bool ValidateExtensionId(int value) {
+bool ValidateExtensionId(int value) {
   if (value > 0 && value <= 255)  // Value is ok.
     return true;
   printf("Extension ID must be between 1 and 255, not %d\n",
diff --git a/modules/audio_coding/test/TestAllCodecs.cc b/modules/audio_coding/test/TestAllCodecs.cc
index cbf04a4..0914f0a 100644
--- a/modules/audio_coding/test/TestAllCodecs.cc
+++ b/modules/audio_coding/test/TestAllCodecs.cc
@@ -50,7 +50,7 @@
 
 namespace {
 const size_t kVariableSize = std::numeric_limits<size_t>::max();
-}
+}  // namespace
 
 namespace webrtc {
 
diff --git a/modules/audio_device/audio_device_unittest.cc b/modules/audio_device/audio_device_unittest.cc
index c3cad1c..11f8d64 100644
--- a/modules/audio_device/audio_device_unittest.cc
+++ b/modules/audio_device/audio_device_unittest.cc
@@ -85,21 +85,21 @@
 
 // Number of callbacks (input or output) the tests waits for before we set
 // an event indicating that the test was OK.
-static constexpr size_t kNumCallbacks = 10;
+constexpr size_t kNumCallbacks = 10;
 // Max amount of time we wait for an event to be set while counting callbacks.
-static constexpr TimeDelta kTestTimeOut = TimeDelta::Seconds(10);
+constexpr TimeDelta kTestTimeOut = TimeDelta::Seconds(10);
 // Average number of audio callbacks per second assuming 10ms packet size.
-static constexpr size_t kNumCallbacksPerSecond = 100;
+constexpr size_t kNumCallbacksPerSecond = 100;
 // Run the full-duplex test during this time (unit is in seconds).
-static constexpr TimeDelta kFullDuplexTime = TimeDelta::Seconds(5);
+constexpr TimeDelta kFullDuplexTime = TimeDelta::Seconds(5);
 // Length of round-trip latency measurements. Number of deteced impulses
 // shall be kImpulseFrequencyInHz * kMeasureLatencyTime - 1 since the
 // last transmitted pulse is not used.
-static constexpr TimeDelta kMeasureLatencyTime = TimeDelta::Seconds(10);
+constexpr TimeDelta kMeasureLatencyTime = TimeDelta::Seconds(10);
 // Sets the number of impulses per second in the latency test.
-static constexpr size_t kImpulseFrequencyInHz = 1;
+constexpr size_t kImpulseFrequencyInHz = 1;
 // Utilized in round-trip latency measurements to avoid capturing noise samples.
-static constexpr int kImpulseThreshold = 1000;
+constexpr int kImpulseThreshold = 1000;
 
 enum class TransportType {
   kInvalid,
diff --git a/modules/audio_device/test_audio_device_impl.cc b/modules/audio_device/test_audio_device_impl.cc
index 32944d0..a04dcfc 100644
--- a/modules/audio_device/test_audio_device_impl.cc
+++ b/modules/audio_device/test_audio_device_impl.cc
@@ -26,7 +26,7 @@
 
 constexpr int kFrameLengthUs = 10000;
 
-}
+}  // namespace
 
 TestAudioDevice::TestAudioDevice(
     TaskQueueFactory* task_queue_factory,
diff --git a/modules/audio_processing/aecm/aecm_core.cc b/modules/audio_processing/aecm/aecm_core.cc
index cb314d3..d61da76 100644
--- a/modules/audio_processing/aecm/aecm_core.cc
+++ b/modules/audio_processing/aecm/aecm_core.cc
@@ -38,7 +38,7 @@
 #endif
 
 // Initialization table for echo channel in 8 kHz
-static const int16_t kChannelStored8kHz[PART_LEN1] = {
+const int16_t kChannelStored8kHz[PART_LEN1] = {
     2040, 1815, 1590, 1498, 1405, 1395, 1385, 1418, 1451, 1506, 1562,
     1644, 1726, 1804, 1882, 1918, 1953, 1982, 2010, 2025, 2040, 2034,
     2027, 2021, 2014, 1997, 1980, 1925, 1869, 1800, 1732, 1683, 1635,
@@ -47,7 +47,7 @@
     1470, 1499, 1524, 1549, 1565, 1582, 1601, 1621, 1649, 1676};
 
 // Initialization table for echo channel in 16 kHz
-static const int16_t kChannelStored16kHz[PART_LEN1] = {
+const int16_t kChannelStored16kHz[PART_LEN1] = {
     2040, 1590, 1405, 1385, 1451, 1562, 1726, 1882, 1953, 2010, 2040,
     2027, 2014, 1980, 1869, 1732, 1635, 1572, 1517, 1444, 1367, 1294,
     1245, 1233, 1260, 1303, 1373, 1441, 1499, 1549, 1582, 1621, 1676,
diff --git a/modules/audio_processing/aecm/aecm_core_c.cc b/modules/audio_processing/aecm/aecm_core_c.cc
index 181891a..439481c 100644
--- a/modules/audio_processing/aecm/aecm_core_c.cc
+++ b/modules/audio_processing/aecm/aecm_core_c.cc
@@ -33,7 +33,7 @@
 namespace {
 
 // Square root of Hanning window in Q14.
-static const ALIGN8_BEG int16_t WebRtcAecm_kSqrtHanning[] ALIGN8_END = {
+const ALIGN8_BEG int16_t WebRtcAecm_kSqrtHanning[] ALIGN8_END = {
     0,     399,   798,   1196,  1594,  1990,  2386,  2780,  3172,  3562,  3951,
     4337,  4720,  5101,  5478,  5853,  6224,  6591,  6954,  7313,  7668,  8019,
     8364,  8705,  9040,  9370,  9695,  10013, 10326, 10633, 10933, 11227, 11514,
@@ -56,13 +56,13 @@
 static const uint16_t kBeta3 = 18927;
 #endif
 
-static const int16_t kNoiseEstQDomain = 15;
-static const int16_t kNoiseEstIncCount = 5;
+const int16_t kNoiseEstQDomain = 15;
+const int16_t kNoiseEstIncCount = 5;
 
-static void ComfortNoise(AecmCore* aecm,
-                         const uint16_t* dfa,
-                         ComplexInt16* out,
-                         const int16_t* lambda) {
+void ComfortNoise(AecmCore* aecm,
+                  const uint16_t* dfa,
+                  ComplexInt16* out,
+                  const int16_t* lambda) {
   int16_t i;
   int16_t tmp16;
   int32_t tmp32;
@@ -172,11 +172,11 @@
   }
 }
 
-static void WindowAndFFT(AecmCore* aecm,
-                         int16_t* fft,
-                         const int16_t* time_signal,
-                         ComplexInt16* freq_signal,
-                         int time_signal_scaling) {
+void WindowAndFFT(AecmCore* aecm,
+                  int16_t* fft,
+                  const int16_t* time_signal,
+                  ComplexInt16* freq_signal,
+                  int time_signal_scaling) {
   int i = 0;
 
   // FFT of signal
@@ -199,11 +199,11 @@
   }
 }
 
-static void InverseFFTAndWindow(AecmCore* aecm,
-                                int16_t* fft,
-                                ComplexInt16* efw,
-                                int16_t* output,
-                                const int16_t* nearendClean) {
+void InverseFFTAndWindow(AecmCore* aecm,
+                         int16_t* fft,
+                         ComplexInt16* efw,
+                         int16_t* output,
+                         const int16_t* nearendClean) {
   int i, j, outCFFT;
   int32_t tmp32no1;
   // Reuse `efw` for the inverse FFT output after transferring
@@ -263,11 +263,11 @@
 //                              the frequency domain array
 // return value                 The Q-domain of current frequency values
 //
-static int TimeToFrequencyDomain(AecmCore* aecm,
-                                 const int16_t* time_signal,
-                                 ComplexInt16* freq_signal,
-                                 uint16_t* freq_signal_abs,
-                                 uint32_t* freq_signal_sum_abs) {
+int TimeToFrequencyDomain(AecmCore* aecm,
+                          const int16_t* time_signal,
+                          ComplexInt16* freq_signal,
+                          uint16_t* freq_signal_abs,
+                          uint32_t* freq_signal_sum_abs) {
   int i = 0;
   int time_signal_scaling = 0;
 
diff --git a/modules/audio_processing/aecm/echo_control_mobile.cc b/modules/audio_processing/aecm/echo_control_mobile.cc
index b12c51b..d09556d 100644
--- a/modules/audio_processing/aecm/echo_control_mobile.cc
+++ b/modules/audio_processing/aecm/echo_control_mobile.cc
@@ -35,12 +35,12 @@
 // The factor of 2 handles wb, and the + 1 is as a safety margin
 #define MAX_RESAMP_LEN (5 * FRAME_LEN)
 
-static const size_t kBufSizeSamp =
+const size_t kBufSizeSamp =
     BUF_SIZE_FRAMES * FRAME_LEN;  // buffer size (samples)
-static const int kSampMsNb = 8;   // samples per ms in nb
+const int kSampMsNb = 8;          // samples per ms in nb
 // Target suppression levels for nlp modes
 // log{0.001, 0.00001, 0.00000001}
-static const int kInitCheck = 42;
+const int kInitCheck = 42;
 
 typedef struct {
   int sampFreq;
diff --git a/modules/audio_processing/agc/legacy/analog_agc.cc b/modules/audio_processing/agc/legacy/analog_agc.cc
index df8136b..be46148 100644
--- a/modules/audio_processing/agc/legacy/analog_agc.cc
+++ b/modules/audio_processing/agc/legacy/analog_agc.cc
@@ -41,23 +41,22 @@
 #define AGC_BAD_PARAMETER_ERROR 18004
 
 /* The slope of in Q13*/
-static const int16_t kSlope1[8] = {21793, 12517, 7189, 4129,
-                                   2372,  1362,  472,  78};
+const int16_t kSlope1[8] = {21793, 12517, 7189, 4129, 2372, 1362, 472, 78};
 
 /* The offset in Q14 */
-static const int16_t kOffset1[8] = {25395, 23911, 22206, 20737,
-                                    19612, 18805, 17951, 17367};
+const int16_t kOffset1[8] = {25395, 23911, 22206, 20737,
+                             19612, 18805, 17951, 17367};
 
 /* The slope of in Q13*/
-static const int16_t kSlope2[8] = {2063, 1731, 1452, 1218, 1021, 857, 597, 337};
+const int16_t kSlope2[8] = {2063, 1731, 1452, 1218, 1021, 857, 597, 337};
 
 /* The offset in Q14 */
-static const int16_t kOffset2[8] = {18432, 18379, 18290, 18177,
-                                    18052, 17920, 17670, 17286};
+const int16_t kOffset2[8] = {18432, 18379, 18290, 18177,
+                             18052, 17920, 17670, 17286};
 
-static const int16_t kMuteGuardTimeMs = 8000;
-static const int16_t kInitCheck = 42;
-static const size_t kNumSubframes = 10;
+const int16_t kMuteGuardTimeMs = 8000;
+const int16_t kInitCheck = 42;
+const size_t kNumSubframes = 10;
 
 /* Default settings if config is not used */
 #define AGC_DEFAULT_TARGET_LEVEL 3
@@ -92,13 +91,13 @@
  * fprintf(1, '\t%i, %i, %i, %i,\n', round(10.^(linspace(0,10,32)/20) * 2^12));
  */
 /* Q12 */
-static const uint16_t kGainTableAnalog[GAIN_TBL_LEN] = {
+const uint16_t kGainTableAnalog[GAIN_TBL_LEN] = {
     4096, 4251, 4412, 4579,  4752,  4932,  5118,  5312,  5513,  5722, 5938,
     6163, 6396, 6638, 6889,  7150,  7420,  7701,  7992,  8295,  8609, 8934,
     9273, 9623, 9987, 10365, 10758, 11165, 11587, 12025, 12480, 12953};
 
 /* Gain/Suppression tables for virtual Mic (in Q10) */
-static const uint16_t kGainTableVirtualMic[128] = {
+const uint16_t kGainTableVirtualMic[128] = {
     1052,  1081,  1110,  1141,  1172,  1204,  1237,  1271,  1305,  1341,  1378,
     1416,  1454,  1494,  1535,  1577,  1620,  1664,  1710,  1757,  1805,  1854,
     1905,  1957,  2010,  2065,  2122,  2180,  2239,  2301,  2364,  2428,  2495,
@@ -111,7 +110,7 @@
     15212, 15628, 16055, 16494, 16945, 17409, 17885, 18374, 18877, 19393, 19923,
     20468, 21028, 21603, 22194, 22801, 23425, 24065, 24724, 25400, 26095, 26808,
     27541, 28295, 29069, 29864, 30681, 31520, 32382};
-static const uint16_t kSuppressionTableVirtualMic[128] = {
+const uint16_t kSuppressionTableVirtualMic[128] = {
     1024, 1006, 988, 970, 952, 935, 918, 902, 886, 870, 854, 839, 824, 809, 794,
     780,  766,  752, 739, 726, 713, 700, 687, 675, 663, 651, 639, 628, 616, 605,
     594,  584,  573, 563, 553, 543, 533, 524, 514, 505, 496, 487, 478, 470, 461,
@@ -127,7 +126,7 @@
  * targetLevelTable = fprintf('%d,\t%d,\t%d,\t%d,\n',
  * round((32767*10.^(-(0:63)'/20)).^2*16/2^7) */
 
-static const int32_t kTargetLevelTable[64] = {
+const int32_t kTargetLevelTable[64] = {
     134209536, 106606424, 84680493, 67264106, 53429779, 42440782, 33711911,
     26778323,  21270778,  16895980, 13420954, 10660642, 8468049,  6726411,
     5342978,   4244078,   3371191,  2677832,  2127078,  1689598,  1342095,
diff --git a/modules/audio_processing/agc/legacy/digital_agc.cc b/modules/audio_processing/agc/legacy/digital_agc.cc
index 962a332..6df01d0 100644
--- a/modules/audio_processing/agc/legacy/digital_agc.cc
+++ b/modules/audio_processing/agc/legacy/digital_agc.cc
@@ -42,7 +42,7 @@
 
 // Generator table for y=log2(1+e^x) in Q8.
 enum { kGenFuncTableSize = 128 };
-static const uint16_t kGenFuncTable[kGenFuncTableSize] = {
+const uint16_t kGenFuncTable[kGenFuncTableSize] = {
     256,   485,   786,   1126,  1484,  1849,  2217,  2586,  2955,  3324,  3693,
     4063,  4432,  4801,  5171,  5540,  5909,  6279,  6648,  7017,  7387,  7756,
     8125,  8495,  8864,  9233,  9603,  9972,  10341, 10711, 11080, 11449, 11819,
@@ -56,7 +56,7 @@
     40626, 40996, 41365, 41734, 42104, 42473, 42842, 43212, 43581, 43950, 44320,
     44689, 45058, 45428, 45797, 46166, 46536, 46905};
 
-static const int16_t kAvgDecayTime = 250;  // frames; < 3000
+const int16_t kAvgDecayTime = 250;  // frames; < 3000
 
 // the 32 most significant bits of A(19) * B(26) >> 13
 #define AGC_MUL32(A, B) (((B) >> 13) * (A) + (((0x00001FFF & (B)) * (A)) >> 13))
diff --git a/modules/audio_processing/audio_processing_impl.cc b/modules/audio_processing/audio_processing_impl.cc
index 9a6f785..b4b6bba 100644
--- a/modules/audio_processing/audio_processing_impl.cc
+++ b/modules/audio_processing/audio_processing_impl.cc
@@ -132,13 +132,13 @@
 
 // Maximum lengths that frame of samples being passed from the render side to
 // the capture side can have (does not apply to AEC3).
-static const size_t kMaxAllowedValuesOfSamplesPerBand = 160;
-static const size_t kMaxAllowedValuesOfSamplesPerFrame = 480;
+const size_t kMaxAllowedValuesOfSamplesPerBand = 160;
+const size_t kMaxAllowedValuesOfSamplesPerFrame = 480;
 
 // Maximum number of frames to buffer in the render queue.
 // TODO(peah): Decrease this once we properly handle hugely unbalanced
 // reverse and forward call numbers.
-static const size_t kMaxNumFramesToBuffer = 100;
+const size_t kMaxNumFramesToBuffer = 100;
 
 void PackRenderAudioBufferForEchoDetector(const AudioBuffer& audio,
                                           std::vector<float>& packed_buffer) {
diff --git a/modules/audio_processing/rms_level.cc b/modules/audio_processing/rms_level.cc
index 28b9ab9..ef61acc 100644
--- a/modules/audio_processing/rms_level.cc
+++ b/modules/audio_processing/rms_level.cc
@@ -22,9 +22,9 @@
 
 namespace webrtc {
 namespace {
-static constexpr float kMaxSquaredLevel = 32768 * 32768;
+constexpr float kMaxSquaredLevel = 32768 * 32768;
 // kMinLevel is the level corresponding to kMinLevelDb, that is 10^(-127/10).
-static constexpr float kMinLevel = 1.995262314968883e-13f;
+constexpr float kMinLevel = 1.995262314968883e-13f;
 
 // Calculates the normalized RMS value from a mean square value. The input
 // should be the sum of squared samples divided by the number of samples. The
diff --git a/modules/audio_processing/utility/delay_estimator.cc b/modules/audio_processing/utility/delay_estimator.cc
index f5a500b..20609fb 100644
--- a/modules/audio_processing/utility/delay_estimator.cc
+++ b/modules/audio_processing/utility/delay_estimator.cc
@@ -24,24 +24,24 @@
 
 // Number of right shifts for scaling is linearly depending on number of bits in
 // the far-end binary spectrum.
-static const int kShiftsAtZero = 13;  // Right shifts at zero binary spectrum.
-static const int kShiftsLinearSlope = 3;
+const int kShiftsAtZero = 13;  // Right shifts at zero binary spectrum.
+const int kShiftsLinearSlope = 3;
 
-static const int32_t kProbabilityOffset = 1024;      // 2 in Q9.
-static const int32_t kProbabilityLowerLimit = 8704;  // 17 in Q9.
-static const int32_t kProbabilityMinSpread = 2816;   // 5.5 in Q9.
+const int32_t kProbabilityOffset = 1024;      // 2 in Q9.
+const int32_t kProbabilityLowerLimit = 8704;  // 17 in Q9.
+const int32_t kProbabilityMinSpread = 2816;   // 5.5 in Q9.
 
 // Robust validation settings
-static const float kHistogramMax = 3000.f;
-static const float kLastHistogramMax = 250.f;
-static const float kMinHistogramThreshold = 1.5f;
-static const int kMinRequiredHits = 10;
-static const int kMaxHitsWhenPossiblyNonCausal = 10;
-static const int kMaxHitsWhenPossiblyCausal = 1000;
-static const float kQ14Scaling = 1.f / (1 << 14);  // Scaling by 2^14 to get Q0.
-static const float kFractionSlope = 0.05f;
-static const float kMinFractionWhenPossiblyCausal = 0.5f;
-static const float kMinFractionWhenPossiblyNonCausal = 0.25f;
+const float kHistogramMax = 3000.f;
+const float kLastHistogramMax = 250.f;
+const float kMinHistogramThreshold = 1.5f;
+const int kMinRequiredHits = 10;
+const int kMaxHitsWhenPossiblyNonCausal = 10;
+const int kMaxHitsWhenPossiblyCausal = 1000;
+const float kQ14Scaling = 1.f / (1 << 14);  // Scaling by 2^14 to get Q0.
+const float kFractionSlope = 0.05f;
+const float kMinFractionWhenPossiblyCausal = 0.5f;
+const float kMinFractionWhenPossiblyNonCausal = 0.25f;
 
 }  // namespace
 
diff --git a/modules/audio_processing/utility/pffft_wrapper_unittest.cc b/modules/audio_processing/utility/pffft_wrapper_unittest.cc
index 7930724..f1ce520 100644
--- a/modules/audio_processing/utility/pffft_wrapper_unittest.cc
+++ b/modules/audio_processing/utility/pffft_wrapper_unittest.cc
@@ -24,9 +24,9 @@
 
 constexpr size_t kMaxValidSizeCheck = 1024;
 
-static constexpr int kFftSizes[] = {
-    16,  32,      64,  96,  128,  160,  192,  256,  288,  384,   5 * 96, 512,
-    576, 5 * 128, 800, 864, 1024, 2048, 2592, 4000, 4096, 12000, 36864};
+constexpr int kFftSizes[] = {16,   32,   64,     96,   128,  160,     192,  256,
+                             288,  384,  5 * 96, 512,  576,  5 * 128, 800,  864,
+                             1024, 2048, 2592,   4000, 4096, 12000,   36864};
 
 void CreatePffftWrapper(size_t fft_size, Pffft::FftType fft_type) {
   Pffft pffft_wrapper(fft_size, fft_type);
diff --git a/modules/congestion_controller/receive_side_congestion_controller.cc b/modules/congestion_controller/receive_side_congestion_controller.cc
index d6aec66..111c84a 100644
--- a/modules/congestion_controller/receive_side_congestion_controller.cc
+++ b/modules/congestion_controller/receive_side_congestion_controller.cc
@@ -35,7 +35,7 @@
 namespace webrtc {
 
 namespace {
-static const uint32_t kTimeOffsetSwitchThreshold = 30;
+const uint32_t kTimeOffsetSwitchThreshold = 30;
 }  // namespace
 
 void ReceiveSideCongestionController::OnRttUpdate(int64_t avg_rtt_ms,
diff --git a/modules/congestion_controller/rtp/transport_feedback_demuxer_unittest.cc b/modules/congestion_controller/rtp/transport_feedback_demuxer_unittest.cc
index f37f438..19850b3 100644
--- a/modules/congestion_controller/rtp/transport_feedback_demuxer_unittest.cc
+++ b/modules/congestion_controller/rtp/transport_feedback_demuxer_unittest.cc
@@ -26,7 +26,7 @@
 using ::testing::Field;
 using PacketInfo = StreamFeedbackObserver::StreamPacketInfo;
 
-static constexpr uint32_t kSsrc = 8492;
+constexpr uint32_t kSsrc = 8492;
 
 class MockStreamFeedbackObserver : public StreamFeedbackObserver {
  public:
diff --git a/modules/desktop_capture/linux/x11/x_error_trap.cc b/modules/desktop_capture/linux/x11/x_error_trap.cc
index 9199a99..ebfdde4 100644
--- a/modules/desktop_capture/linux/x11/x_error_trap.cc
+++ b/modules/desktop_capture/linux/x11/x_error_trap.cc
@@ -22,8 +22,8 @@
 
 namespace {
 
-static int g_last_xserver_error_code = 0;
-static std::atomic<Display*> g_display_for_error_handler = nullptr;
+int g_last_xserver_error_code = 0;
+std::atomic<Display*> g_display_for_error_handler = nullptr;
 
 Mutex* AcquireMutex() {
   static Mutex* mutex = new Mutex();
diff --git a/modules/desktop_capture/screen_drawer_lock_posix.cc b/modules/desktop_capture/screen_drawer_lock_posix.cc
index 7c8efd1..2f17e85 100644
--- a/modules/desktop_capture/screen_drawer_lock_posix.cc
+++ b/modules/desktop_capture/screen_drawer_lock_posix.cc
@@ -25,7 +25,7 @@
 namespace {
 
 // A uuid as the name of semaphore.
-static constexpr char kSemaphoreName[] = "GSDL54fe5552804711e6a7253f429a";
+constexpr char kSemaphoreName[] = "GSDL54fe5552804711e6a7253f429a";
 
 }  // namespace
 
diff --git a/modules/pacing/interval_budget.cc b/modules/pacing/interval_budget.cc
index b7f29ac..ec8b92b 100644
--- a/modules/pacing/interval_budget.cc
+++ b/modules/pacing/interval_budget.cc
@@ -19,7 +19,7 @@
 namespace webrtc {
 namespace {
 constexpr int64_t kWindowMs = 500;
-}
+}  // namespace
 
 IntervalBudget::IntervalBudget(int initial_target_rate_kbps)
     : IntervalBudget(initial_target_rate_kbps, false) {}
diff --git a/modules/rtp_rtcp/source/dtmf_queue.cc b/modules/rtp_rtcp/source/dtmf_queue.cc
index 4c315bd..9b9b98a 100644
--- a/modules/rtp_rtcp/source/dtmf_queue.cc
+++ b/modules/rtp_rtcp/source/dtmf_queue.cc
@@ -17,7 +17,7 @@
 
 namespace {
 constexpr size_t kDtmfOutbandMax = 20;
-}
+}  // namespace
 
 namespace webrtc {
 DtmfQueue::DtmfQueue() {}
diff --git a/modules/rtp_rtcp/source/fec_private_tables_bursty_unittest.cc b/modules/rtp_rtcp/source/fec_private_tables_bursty_unittest.cc
index 69fbde03..d85b450 100644
--- a/modules/rtp_rtcp/source/fec_private_tables_bursty_unittest.cc
+++ b/modules/rtp_rtcp/source/fec_private_tables_bursty_unittest.cc
@@ -23,7 +23,7 @@
 namespace {
 constexpr uint8_t kMaskRandom15_6[] = {0x82, 0x08, 0x41, 0x04, 0x20, 0x82,
                                        0x10, 0x40, 0x08, 0x20, 0x04, 0x10};
-}
+}  // namespace
 
 namespace fec_private_tables {
 
diff --git a/modules/rtp_rtcp/source/rtcp_packet/remote_estimate.cc b/modules/rtp_rtcp/source/rtcp_packet/remote_estimate.cc
index 30c02cf..8210628 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/remote_estimate.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/remote_estimate.cc
@@ -28,9 +28,9 @@
 namespace rtcp {
 namespace {
 
-static constexpr int kFieldValueSize = 3;
-static constexpr int kFieldSize = 1 + kFieldValueSize;
-static constexpr DataRate kDataRateResolution = DataRate::KilobitsPerSec(1);
+constexpr int kFieldValueSize = 3;
+constexpr int kFieldSize = 1 + kFieldValueSize;
+constexpr DataRate kDataRateResolution = DataRate::KilobitsPerSec(1);
 constexpr int64_t kMaxEncoded = (1 << (kFieldValueSize * 8)) - 1;
 
 class DataRateSerializer {
diff --git a/modules/video_coding/codecs/h264/h264_encoder_impl.cc b/modules/video_coding/codecs/h264/h264_encoder_impl.cc
index aec0f09..387a88b 100644
--- a/modules/video_coding/codecs/h264/h264_encoder_impl.cc
+++ b/modules/video_coding/codecs/h264/h264_encoder_impl.cc
@@ -48,8 +48,8 @@
 const bool kOpenH264EncoderDetailedLogging = false;
 
 // QP scaling thresholds.
-static const int kLowH264QpThreshold = 24;
-static const int kHighH264QpThreshold = 37;
+const int kLowH264QpThreshold = 24;
+const int kHighH264QpThreshold = 37;
 
 // Used by histograms. Values of entries should not be changed.
 enum H264EncoderImplEvent {
diff --git a/modules/video_coding/codecs/test/video_codec_test.cc b/modules/video_coding/codecs/test/video_codec_test.cc
index 2fb2720..5f13099 100644
--- a/modules/video_coding/codecs/test/video_codec_test.cc
+++ b/modules/video_coding/codecs/test/video_codec_test.cc
@@ -113,7 +113,7 @@
     .resolution = {.width = 1280, .height = 720},
     .framerate = Frequency::Hertz(30)};
 
-static constexpr Frequency k90kHz = Frequency::Hertz(90000);
+constexpr Frequency k90kHz = Frequency::Hertz(90000);
 
 VideoSourceSettings ToSourceSettings(VideoInfo video_info) {
   return VideoSourceSettings{.file_path = ResourcePath(video_info.name, "yuv"),
diff --git a/modules/video_coding/codecs/test/video_codec_unittest.cc b/modules/video_coding/codecs/test/video_codec_unittest.cc
index 966da6b..6357311 100644
--- a/modules/video_coding/codecs/test/video_codec_unittest.cc
+++ b/modules/video_coding/codecs/test/video_codec_unittest.cc
@@ -47,7 +47,7 @@
 namespace webrtc {
 namespace {
 const VideoEncoder::Capabilities kCapabilities(false);
-}
+}  // namespace
 
 EncodedImageCallback::Result
 VideoCodecUnitTest::FakeEncodeCompleteCallback::OnEncodedImage(
diff --git a/modules/video_coding/codecs/test/videocodec_test_stats_impl.cc b/modules/video_coding/codecs/test/videocodec_test_stats_impl.cc
index fb2ccfe..61fd581 100644
--- a/modules/video_coding/codecs/test/videocodec_test_stats_impl.cc
+++ b/modules/video_coding/codecs/test/videocodec_test_stats_impl.cc
@@ -34,7 +34,7 @@
 
 namespace {
 const int kMaxBitrateMismatchPercent = 20;
-}
+}  // namespace
 
 VideoCodecTestStatsImpl::VideoCodecTestStatsImpl() = default;
 VideoCodecTestStatsImpl::~VideoCodecTestStatsImpl() = default;
diff --git a/modules/video_coding/codecs/vp8/default_temporal_layers.cc b/modules/video_coding/codecs/vp8/default_temporal_layers.cc
index 4ba9031..0ad4bb8f 100644
--- a/modules/video_coding/codecs/vp8/default_temporal_layers.cc
+++ b/modules/video_coding/codecs/vp8/default_temporal_layers.cc
@@ -57,9 +57,9 @@
 constexpr BufferFlags kReferenceAndUpdate = BufferFlags::kReferenceAndUpdate;
 constexpr FreezeEntropy kFreezeEntropy = FreezeEntropy::kFreezeEntropy;
 
-static constexpr uint8_t kUninitializedPatternIndex =
+constexpr uint8_t kUninitializedPatternIndex =
     std::numeric_limits<uint8_t>::max();
-static constexpr std::array<Vp8BufferReference, 3> kAllBuffers = {
+constexpr std::array<Vp8BufferReference, 3> kAllBuffers = {
     {Vp8BufferReference::kLast, Vp8BufferReference::kGolden,
      Vp8BufferReference::kAltref}};
 
diff --git a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
index 5747c7d..9e533cf 100644
--- a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
+++ b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
@@ -79,8 +79,8 @@
 #endif
 
 namespace variable_framerate_screenshare {
-static constexpr double kMinFps = 5.0;
-static constexpr int kUndershootPct = 30;
+constexpr double kMinFps = 5.0;
+constexpr int kUndershootPct = 30;
 }  // namespace variable_framerate_screenshare
 
 constexpr char kVp8ForcePartitionResilience[] =
diff --git a/modules/video_coding/frame_helpers.cc b/modules/video_coding/frame_helpers.cc
index 1ce54c0..c4a502e 100644
--- a/modules/video_coding/frame_helpers.cc
+++ b/modules/video_coding/frame_helpers.cc
@@ -28,7 +28,7 @@
 
 namespace {
 constexpr TimeDelta kMaxVideoDelay = TimeDelta::Millis(10000);
-}
+}  // namespace
 
 bool FrameHasBadRenderTiming(Timestamp render_time, Timestamp now) {
   // Zero render time means render immediately.
diff --git a/modules/video_coding/generic_decoder.cc b/modules/video_coding/generic_decoder.cc
index b6d14ad..ab23106 100644
--- a/modules/video_coding/generic_decoder.cc
+++ b/modules/video_coding/generic_decoder.cc
@@ -51,7 +51,7 @@
 
 constexpr size_t kDecoderFrameMemoryLength = 10;
 
-}
+}  // namespace
 
 VCMDecodedFrameCallback::VCMDecodedFrameCallback(
     VCMTiming* timing,
diff --git a/modules/video_coding/h26x_packet_buffer_unittest.cc b/modules/video_coding/h26x_packet_buffer_unittest.cc
index c07de1f..467184e 100644
--- a/modules/video_coding/h26x_packet_buffer_unittest.cc
+++ b/modules/video_coding/h26x_packet_buffer_unittest.cc
@@ -51,9 +51,9 @@
 constexpr int kBufferSize = 2048;
 // Example sprop string from https://tools.ietf.org/html/rfc3984.
 const char kExampleSpropString[] = "Z0IACpZTBYmI,aMljiA==";
-static const std::vector<uint8_t> kExampleSpropRawSps{
-    0x67, 0x42, 0x00, 0x0A, 0x96, 0x53, 0x05, 0x89, 0x88};
-static const std::vector<uint8_t> kExampleSpropRawPps{0x68, 0xC9, 0x63, 0x88};
+const std::vector<uint8_t> kExampleSpropRawSps{0x67, 0x42, 0x00, 0x0A, 0x96,
+                                               0x53, 0x05, 0x89, 0x88};
+const std::vector<uint8_t> kExampleSpropRawPps{0x68, 0xC9, 0x63, 0x88};
 
 std::vector<uint8_t> StartCode() {
   return {0, 0, 0, 1};
diff --git a/modules/video_coding/svc/svc_rate_allocator.cc b/modules/video_coding/svc/svc_rate_allocator.cc
index fbf5dcd..1912bdb 100644
--- a/modules/video_coding/svc/svc_rate_allocator.cc
+++ b/modules/video_coding/svc/svc_rate_allocator.cc
@@ -97,9 +97,9 @@
   return adjusted_spatial_layer_rates;
 }
 
-static std::vector<DataRate> SplitBitrate(size_t num_layers,
-                                          DataRate total_bitrate,
-                                          float rate_scaling_factor) {
+std::vector<DataRate> SplitBitrate(size_t num_layers,
+                                   DataRate total_bitrate,
+                                   float rate_scaling_factor) {
   std::vector<DataRate> bitrates;
 
   double denominator = 0.0;
diff --git a/modules/video_coding/svc/svc_rate_allocator_unittest.cc b/modules/video_coding/svc/svc_rate_allocator_unittest.cc
index cf39728..23bf619 100644
--- a/modules/video_coding/svc/svc_rate_allocator_unittest.cc
+++ b/modules/video_coding/svc/svc_rate_allocator_unittest.cc
@@ -37,12 +37,12 @@
 using ::testing::Bool;
 using ::testing::TestWithParam;
 
-static VideoCodec Configure(VideoCodecType codecType,
-                            size_t width,
-                            size_t height,
-                            size_t num_spatial_layers,
-                            size_t num_temporal_layers,
-                            bool is_screen_sharing) {
+VideoCodec Configure(VideoCodecType codecType,
+                     size_t width,
+                     size_t height,
+                     size_t num_spatial_layers,
+                     size_t num_temporal_layers,
+                     bool is_screen_sharing) {
   VideoCodec codec;
   codec.width = width;
   codec.height = height;
diff --git a/modules/video_coding/timing/inter_frame_delay_variation_calculator.cc b/modules/video_coding/timing/inter_frame_delay_variation_calculator.cc
index 8a14419..e00cc8e 100644
--- a/modules/video_coding/timing/inter_frame_delay_variation_calculator.cc
+++ b/modules/video_coding/timing/inter_frame_delay_variation_calculator.cc
@@ -22,7 +22,7 @@
 
 namespace {
 constexpr Frequency k90kHz = Frequency::KiloHertz(90);
-}
+}  // namespace
 
 InterFrameDelayVariationCalculator::InterFrameDelayVariationCalculator() {
   Reset();
diff --git a/modules/video_coding/utility/ivf_file_writer_unittest.cc b/modules/video_coding/utility/ivf_file_writer_unittest.cc
index 007448f..bc6c877 100644
--- a/modules/video_coding/utility/ivf_file_writer_unittest.cc
+++ b/modules/video_coding/utility/ivf_file_writer_unittest.cc
@@ -26,9 +26,9 @@
 namespace webrtc {
 
 namespace {
-static const int kHeaderSize = 32;
-static const int kFrameHeaderSize = 12;
-static uint8_t dummy_payload[4] = {0, 1, 2, 3};
+const int kHeaderSize = 32;
+const int kFrameHeaderSize = 12;
+uint8_t dummy_payload[4] = {0, 1, 2, 3};
 // As the default parameter when the width and height of encodedImage are 0,
 // the values are copied from ivf_file_writer.cc
 constexpr int kDefaultWidth = 1280;
diff --git a/modules/video_coding/utility/quality_scaler.cc b/modules/video_coding/utility/quality_scaler.cc
index a5fc704..dec7786 100644
--- a/modules/video_coding/utility/quality_scaler.cc
+++ b/modules/video_coding/utility/quality_scaler.cc
@@ -31,10 +31,10 @@
 
 namespace {
 // Threshold constant used until first downscale (to permit fast rampup).
-static const int kMeasureMs = 2000;
-static const float kSamplePeriodScaleFactor = 2.5;
-static const int kFramedropPercentThreshold = 60;
-static const size_t kMinFramesNeededToScale = 2 * 30;
+const int kMeasureMs = 2000;
+const float kSamplePeriodScaleFactor = 2.5;
+const int kFramedropPercentThreshold = 60;
+const size_t kMinFramesNeededToScale = 2 * 30;
 
 }  // namespace
 
diff --git a/modules/video_coding/utility/quality_scaler_unittest.cc b/modules/video_coding/utility/quality_scaler_unittest.cc
index 18bb565..dca0f4a 100644
--- a/modules/video_coding/utility/quality_scaler_unittest.cc
+++ b/modules/video_coding/utility/quality_scaler_unittest.cc
@@ -24,11 +24,11 @@
 
 namespace webrtc {
 namespace {
-static const int kFramerate = 30;
-static const int kLowQp = 15;
-static const int kHighQp = 40;
-static const int kMinFramesNeededToScale = 60;  // From quality_scaler.cc.
-static constexpr TimeDelta kDefaultTimeout = TimeDelta::Millis(150);
+const int kFramerate = 30;
+const int kLowQp = 15;
+const int kHighQp = 40;
+const int kMinFramesNeededToScale = 60;  // From quality_scaler.cc.
+constexpr TimeDelta kDefaultTimeout = TimeDelta::Millis(150);
 }  // namespace
 
 class FakeQpUsageHandler : public QualityScalerQpUsageHandlerInterface {
diff --git a/modules/video_coding/utility/simulcast_rate_allocator.cc b/modules/video_coding/utility/simulcast_rate_allocator.cc
index 2811d52..65ff7a8 100644
--- a/modules/video_coding/utility/simulcast_rate_allocator.cc
+++ b/modules/video_coding/utility/simulcast_rate_allocator.cc
@@ -33,15 +33,14 @@
 namespace {
 // Ratio allocation between temporal streams:
 // Values as required for the VP8 codec (accumulating).
-static const float
-    kLayerRateAllocation[kMaxTemporalStreams][kMaxTemporalStreams] = {
-        {1.0f, 1.0f, 1.0f, 1.0f},  // 1 layer
-        {0.6f, 1.0f, 1.0f, 1.0f},  // 2 layers {60%, 40%}
-        {0.4f, 0.6f, 1.0f, 1.0f},  // 3 layers {40%, 20%, 40%}
-        {0.25f, 0.4f, 0.6f, 1.0f}  // 4 layers {25%, 15%, 20%, 40%}
+const float kLayerRateAllocation[kMaxTemporalStreams][kMaxTemporalStreams] = {
+    {1.0f, 1.0f, 1.0f, 1.0f},  // 1 layer
+    {0.6f, 1.0f, 1.0f, 1.0f},  // 2 layers {60%, 40%}
+    {0.4f, 0.6f, 1.0f, 1.0f},  // 3 layers {40%, 20%, 40%}
+    {0.25f, 0.4f, 0.6f, 1.0f}  // 4 layers {25%, 15%, 20%, 40%}
 };
 
-static const float kBaseHeavy3TlRateAllocation[kMaxTemporalStreams] = {
+const float kBaseHeavy3TlRateAllocation[kMaxTemporalStreams] = {
     0.6f, 0.8f, 1.0f, 1.0f  // 3 layers {60%, 20%, 20%}
 };
 
diff --git a/modules/video_coding/video_codec_initializer_unittest.cc b/modules/video_coding/video_codec_initializer_unittest.cc
index 159c65f..045c86a 100644
--- a/modules/video_coding/video_codec_initializer_unittest.cc
+++ b/modules/video_coding/video_codec_initializer_unittest.cc
@@ -40,21 +40,21 @@
 namespace webrtc {
 
 namespace {
-static const int kDefaultWidth = 1280;
-static const int kDefaultHeight = 720;
-static const int kDefaultFrameRate = 30;
-static const uint32_t kDefaultMinBitrateBps = 60000;
-static const uint32_t kDefaultTargetBitrateBps = 2000000;
-static const uint32_t kDefaultMaxBitrateBps = 2000000;
-static const uint32_t kDefaultMinTransmitBitrateBps = 400000;
-static const int kDefaultMaxQp = 48;
-static const uint32_t kScreenshareTl0BitrateBps = 120000;
-static const uint32_t kScreenshareConferenceTl0BitrateBps = 200000;
-static const uint32_t kScreenshareCodecTargetBitrateBps = 200000;
-static const uint32_t kScreenshareDefaultFramerate = 5;
+const int kDefaultWidth = 1280;
+const int kDefaultHeight = 720;
+const int kDefaultFrameRate = 30;
+const uint32_t kDefaultMinBitrateBps = 60000;
+const uint32_t kDefaultTargetBitrateBps = 2000000;
+const uint32_t kDefaultMaxBitrateBps = 2000000;
+const uint32_t kDefaultMinTransmitBitrateBps = 400000;
+const int kDefaultMaxQp = 48;
+const uint32_t kScreenshareTl0BitrateBps = 120000;
+const uint32_t kScreenshareConferenceTl0BitrateBps = 200000;
+const uint32_t kScreenshareCodecTargetBitrateBps = 200000;
+const uint32_t kScreenshareDefaultFramerate = 5;
 // Bitrates for the temporal layers of the higher screenshare simulcast stream.
-static const uint32_t kHighScreenshareTl0Bps = 800000;
-static const uint32_t kHighScreenshareTl1Bps = 1200000;
+const uint32_t kHighScreenshareTl0Bps = 800000;
+const uint32_t kHighScreenshareTl1Bps = 1200000;
 }  // namespace
 
 // TODO(sprang): Extend coverage to handle the rest of the codec initializer.
diff --git a/net/dcsctp/fuzzers/dcsctp_fuzzers.cc b/net/dcsctp/fuzzers/dcsctp_fuzzers.cc
index 91f258f..35deb0e 100644
--- a/net/dcsctp/fuzzers/dcsctp_fuzzers.cc
+++ b/net/dcsctp/fuzzers/dcsctp_fuzzers.cc
@@ -34,9 +34,9 @@
 namespace dcsctp {
 namespace dcsctp_fuzzers {
 namespace {
-static constexpr int kRandomValue = FuzzerCallbacks::kRandomValue;
-static constexpr size_t kMinInputLength = 5;
-static constexpr size_t kMaxInputLength = 1024;
+constexpr int kRandomValue = FuzzerCallbacks::kRandomValue;
+constexpr size_t kMinInputLength = 5;
+constexpr size_t kMaxInputLength = 1024;
 
 // A starting state for the socket, when fuzzing.
 enum class StartingState : int {
diff --git a/net/dcsctp/rx/reassembly_queue_test.cc b/net/dcsctp/rx/reassembly_queue_test.cc
index 55fe312..ff93625 100644
--- a/net/dcsctp/rx/reassembly_queue_test.cc
+++ b/net/dcsctp/rx/reassembly_queue_test.cc
@@ -36,22 +36,21 @@
 using SkippedStream = AnyForwardTsnChunk::SkippedStream;
 
 // The default maximum size of the Reassembly Queue.
-static constexpr size_t kBufferSize = 10000;
+constexpr size_t kBufferSize = 10000;
 
-static constexpr StreamID kStreamID(1);
-static constexpr SSN kSSN(0);
-static constexpr MID kMID(0);
-static constexpr FSN kFSN(0);
-static constexpr PPID kPPID(53);
+constexpr StreamID kStreamID(1);
+constexpr SSN kSSN(0);
+constexpr MID kMID(0);
+constexpr FSN kFSN(0);
+constexpr PPID kPPID(53);
 
-static constexpr std::array<uint8_t, 4> kShortPayload = {1, 2, 3, 4};
-static constexpr std::array<uint8_t, 4> kMessage2Payload = {5, 6, 7, 8};
-static constexpr std::array<uint8_t, 6> kSixBytePayload = {1, 2, 3, 4, 5, 6};
-static constexpr std::array<uint8_t, 8> kMediumPayload1 = {1, 2, 3, 4,
-                                                           5, 6, 7, 8};
-static constexpr std::array<uint8_t, 8> kMediumPayload2 = {9,  10, 11, 12,
-                                                           13, 14, 15, 16};
-static constexpr std::array<uint8_t, 16> kLongPayload = {
+constexpr std::array<uint8_t, 4> kShortPayload = {1, 2, 3, 4};
+constexpr std::array<uint8_t, 4> kMessage2Payload = {5, 6, 7, 8};
+constexpr std::array<uint8_t, 6> kSixBytePayload = {1, 2, 3, 4, 5, 6};
+constexpr std::array<uint8_t, 8> kMediumPayload1 = {1, 2, 3, 4, 5, 6, 7, 8};
+constexpr std::array<uint8_t, 8> kMediumPayload2 = {9,  10, 11, 12,
+                                                    13, 14, 15, 16};
+constexpr std::array<uint8_t, 16> kLongPayload = {
     1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
 
 MATCHER_P3(SctpMessageIs, stream_id, ppid, expected_payload, "") {
diff --git a/p2p/base/basic_ice_controller.cc b/p2p/base/basic_ice_controller.cc
index 19360e8..3dce374 100644
--- a/p2p/base/basic_ice_controller.cc
+++ b/p2p/base/basic_ice_controller.cc
@@ -54,9 +54,9 @@
 
 // TODO(qingsi) Use an enum to replace the following constants for all
 // comparision results.
-static constexpr int a_is_better = 1;
-static constexpr int b_is_better = -1;
-static constexpr int a_and_b_equal = 0;
+constexpr int a_is_better = 1;
+constexpr int b_is_better = -1;
+constexpr int a_and_b_equal = 0;
 
 bool LocalCandidateUsesPreferredNetwork(
     const webrtc::Connection* conn,
diff --git a/p2p/base/p2p_transport_channel_unittest.cc b/p2p/base/p2p_transport_channel_unittest.cc
index bbe03e4..5a20773 100644
--- a/p2p/base/p2p_transport_channel_unittest.cc
+++ b/p2p/base/p2p_transport_channel_unittest.cc
@@ -128,48 +128,46 @@
 
 // Default timeout for tests in this file.
 // Should be large enough for slow buildbots to run the tests reliably.
-static const int kDefaultTimeout = 10000;
-static const int kMediumTimeout = 3000;
-static const int kShortTimeout = 1000;
+const int kDefaultTimeout = 10000;
+const int kMediumTimeout = 3000;
+const int kShortTimeout = 1000;
 
-static const int kOnlyLocalPorts = webrtc::PORTALLOCATOR_DISABLE_STUN |
-                                   webrtc::PORTALLOCATOR_DISABLE_RELAY |
-                                   webrtc::PORTALLOCATOR_DISABLE_TCP;
-static const int LOW_RTT = 20;
+const int kOnlyLocalPorts = webrtc::PORTALLOCATOR_DISABLE_STUN |
+                            webrtc::PORTALLOCATOR_DISABLE_RELAY |
+                            webrtc::PORTALLOCATOR_DISABLE_TCP;
+const int LOW_RTT = 20;
 // Addresses on the public internet.
-static const SocketAddress kPublicAddrs[2] = {SocketAddress("11.11.11.11", 0),
-                                              SocketAddress("22.22.22.22", 0)};
+const SocketAddress kPublicAddrs[2] = {SocketAddress("11.11.11.11", 0),
+                                       SocketAddress("22.22.22.22", 0)};
 // IPv6 Addresses on the public internet.
-static const SocketAddress kIPv6PublicAddrs[2] = {
+const SocketAddress kIPv6PublicAddrs[2] = {
     SocketAddress("2400:4030:1:2c00:be30:abcd:efab:cdef", 0),
     SocketAddress("2600:0:1000:1b03:2e41:38ff:fea6:f2a4", 0)};
 // For configuring multihomed clients.
-static const SocketAddress kAlternateAddrs[2] = {
-    SocketAddress("101.101.101.101", 0), SocketAddress("202.202.202.202", 0)};
-static const SocketAddress kIPv6AlternateAddrs[2] = {
+const SocketAddress kAlternateAddrs[2] = {SocketAddress("101.101.101.101", 0),
+                                          SocketAddress("202.202.202.202", 0)};
+const SocketAddress kIPv6AlternateAddrs[2] = {
     SocketAddress("2401:4030:1:2c00:be30:abcd:efab:cdef", 0),
     SocketAddress("2601:0:1000:1b03:2e41:38ff:fea6:f2a4", 0)};
 // Internal addresses for NAT boxes.
-static const SocketAddress kNatAddrs[2] = {SocketAddress("192.168.1.1", 0),
-                                           SocketAddress("192.168.2.1", 0)};
+const SocketAddress kNatAddrs[2] = {SocketAddress("192.168.1.1", 0),
+                                    SocketAddress("192.168.2.1", 0)};
 // Private addresses inside the NAT private networks.
-static const SocketAddress kPrivateAddrs[2] = {
-    SocketAddress("192.168.1.11", 0), SocketAddress("192.168.2.22", 0)};
+const SocketAddress kPrivateAddrs[2] = {SocketAddress("192.168.1.11", 0),
+                                        SocketAddress("192.168.2.22", 0)};
 // For cascaded NATs, the internal addresses of the inner NAT boxes.
-static const SocketAddress kCascadedNatAddrs[2] = {
-    SocketAddress("192.168.10.1", 0), SocketAddress("192.168.20.1", 0)};
+const SocketAddress kCascadedNatAddrs[2] = {SocketAddress("192.168.10.1", 0),
+                                            SocketAddress("192.168.20.1", 0)};
 // For cascaded NATs, private addresses inside the inner private networks.
-static const SocketAddress kCascadedPrivateAddrs[2] = {
+const SocketAddress kCascadedPrivateAddrs[2] = {
     SocketAddress("192.168.10.11", 0), SocketAddress("192.168.20.22", 0)};
 // The address of the public STUN server.
-static const SocketAddress kStunAddr("99.99.99.1", webrtc::STUN_SERVER_PORT);
+const SocketAddress kStunAddr("99.99.99.1", webrtc::STUN_SERVER_PORT);
 // The addresses for the public turn server.
-static const SocketAddress kTurnUdpIntAddr("99.99.99.3",
-                                           webrtc::STUN_SERVER_PORT);
-static const SocketAddress kTurnTcpIntAddr("99.99.99.4",
-                                           webrtc::STUN_SERVER_PORT + 1);
-static const SocketAddress kTurnUdpExtAddr("99.99.99.5", 0);
-static const webrtc::RelayCredentials kRelayCredentials("test", "test");
+const SocketAddress kTurnUdpIntAddr("99.99.99.3", webrtc::STUN_SERVER_PORT);
+const SocketAddress kTurnTcpIntAddr("99.99.99.4", webrtc::STUN_SERVER_PORT + 1);
+const SocketAddress kTurnUdpExtAddr("99.99.99.5", 0);
+const webrtc::RelayCredentials kRelayCredentials("test", "test");
 
 // Based on ICE_UFRAG_LENGTH
 const char* kIceUfrag[4] = {"UF00", "UF01", "UF02", "UF03"};
diff --git a/p2p/base/stun_port_unittest.cc b/p2p/base/stun_port_unittest.cc
index de1e1b2..e59dd92 100644
--- a/p2p/base/stun_port_unittest.cc
+++ b/p2p/base/stun_port_unittest.cc
@@ -75,36 +75,32 @@
 using ::webrtc::ServerAddresses;
 using ::webrtc::SocketAddress;
 
-static const SocketAddress kPrivateIP("192.168.1.12", 0);
-static const SocketAddress kMsdnAddress("unittest-mdns-host-name.local", 0);
-static const SocketAddress kPublicIP("212.116.91.133", 0);
-static const SocketAddress kNatAddr(kPublicIP.ipaddr(),
-                                    webrtc::NAT_SERVER_UDP_PORT);
-static const SocketAddress kStunServerAddr1("34.38.54.120", 5000);
-static const SocketAddress kStunServerAddr2("34.38.54.120", 4000);
+const SocketAddress kPrivateIP("192.168.1.12", 0);
+const SocketAddress kMsdnAddress("unittest-mdns-host-name.local", 0);
+const SocketAddress kPublicIP("212.116.91.133", 0);
+const SocketAddress kNatAddr(kPublicIP.ipaddr(), webrtc::NAT_SERVER_UDP_PORT);
+const SocketAddress kStunServerAddr1("34.38.54.120", 5000);
+const SocketAddress kStunServerAddr2("34.38.54.120", 4000);
 
-static const SocketAddress kPrivateIPv6("2001:4860:4860::8844", 0);
-static const SocketAddress kPublicIPv6("2002:4860:4860::8844", 5000);
-static const SocketAddress kNatAddrIPv6(kPublicIPv6.ipaddr(),
-                                        webrtc::NAT_SERVER_UDP_PORT);
-static const SocketAddress kStunServerAddrIPv6Addr("2003:4860:4860::8844",
-                                                   5000);
+const SocketAddress kPrivateIPv6("2001:4860:4860::8844", 0);
+const SocketAddress kPublicIPv6("2002:4860:4860::8844", 5000);
+const SocketAddress kNatAddrIPv6(kPublicIPv6.ipaddr(),
+                                 webrtc::NAT_SERVER_UDP_PORT);
+const SocketAddress kStunServerAddrIPv6Addr("2003:4860:4860::8844", 5000);
 
-static const SocketAddress kBadAddr("0.0.0.1", 5000);
-static const SocketAddress kIPv6BadAddr("::ffff:0:1", 5000);
-static const SocketAddress kValidHostnameAddr("valid-hostname", 5000);
-static const SocketAddress kBadHostnameAddr("not-a-real-hostname", 5000);
+const SocketAddress kBadAddr("0.0.0.1", 5000);
+const SocketAddress kIPv6BadAddr("::ffff:0:1", 5000);
+const SocketAddress kValidHostnameAddr("valid-hostname", 5000);
+const SocketAddress kBadHostnameAddr("not-a-real-hostname", 5000);
 // STUN timeout (with all retries) is webrtc::STUN_TOTAL_TIMEOUT.
 // Add some margin of error for slow bots.
-static const int kTimeoutMs = webrtc::STUN_TOTAL_TIMEOUT;
+const int kTimeoutMs = webrtc::STUN_TOTAL_TIMEOUT;
 // stun prio = 100 (srflx) << 24 | 30 (IPv4) << 8 | 256 - 1 (component)
-static const uint32_t kStunCandidatePriority =
-    (100 << 24) | (30 << 8) | (256 - 1);
+const uint32_t kStunCandidatePriority = (100 << 24) | (30 << 8) | (256 - 1);
 // stun prio = 100 (srflx) << 24 | 40 (IPv6) << 8 | 256 - 1 (component)
-static const uint32_t kIPv6StunCandidatePriority =
-    (100 << 24) | (40 << 8) | (256 - 1);
-static const int kInfiniteLifetime = -1;
-static const int kHighCostPortKeepaliveLifetimeMs = 2 * 60 * 1000;
+const uint32_t kIPv6StunCandidatePriority = (100 << 24) | (40 << 8) | (256 - 1);
+const int kInfiniteLifetime = -1;
+const int kHighCostPortKeepaliveLifetimeMs = 2 * 60 * 1000;
 
 constexpr uint64_t kTiebreakerDefault = 44444;
 
@@ -767,7 +763,7 @@
   EXPECT_EQ(samples[static_cast<int>(GetParam().address_type)], 1);
 }
 
-static const IPAddressTypeTestConfig kAllIPAddressTypeTestConfigs[] = {
+const IPAddressTypeTestConfig kAllIPAddressTypeTestConfigs[] = {
     {"127.0.0.1", webrtc::IPAddressType::kLoopback},
     {"localhost", webrtc::IPAddressType::kLoopback},
     {"10.0.0.3", webrtc::IPAddressType::kPrivate},
@@ -1026,7 +1022,7 @@
   EXPECT_EQ(samples[static_cast<int>(GetParam().address_type)], 1);
 }
 
-static const IPAddressTypeTestConfig kAllIPv6AddressTypeTestConfigs[] = {
+const IPAddressTypeTestConfig kAllIPv6AddressTypeTestConfigs[] = {
     {"::1", webrtc::IPAddressType::kLoopback},
     {"fd00:4860:4860::8844", webrtc::IPAddressType::kPrivate},
     {"2001:4860:4860::8888", webrtc::IPAddressType::kPublic},
diff --git a/p2p/base/turn_port_unittest.cc b/p2p/base/turn_port_unittest.cc
index 665b851..c5da027 100644
--- a/p2p/base/turn_port_unittest.cc
+++ b/p2p/base/turn_port_unittest.cc
@@ -85,82 +85,76 @@
 using ::webrtc::IceCandidateType;
 using ::webrtc::SocketAddress;
 
-static const SocketAddress kLocalAddr1("11.11.11.11", 0);
-static const SocketAddress kLocalAddr2("22.22.22.22", 0);
-static const SocketAddress kLocalIPv6Addr("2401:fa00:4:1000:be30:5bff:fee5:c3",
-                                          0);
-static const SocketAddress kLocalIPv6Addr2("2401:fa00:4:2000:be30:5bff:fee5:d4",
-                                           0);
-static const SocketAddress kTurnUdpIntAddr("99.99.99.3",
-                                           webrtc::TURN_SERVER_PORT);
-static const SocketAddress kTurnTcpIntAddr("99.99.99.4",
-                                           webrtc::TURN_SERVER_PORT);
-static const SocketAddress kTurnUdpExtAddr("99.99.99.5", 0);
-static const SocketAddress kTurnAlternateIntAddr("99.99.99.6",
-                                                 webrtc::TURN_SERVER_PORT);
+const SocketAddress kLocalAddr1("11.11.11.11", 0);
+const SocketAddress kLocalAddr2("22.22.22.22", 0);
+const SocketAddress kLocalIPv6Addr("2401:fa00:4:1000:be30:5bff:fee5:c3", 0);
+const SocketAddress kLocalIPv6Addr2("2401:fa00:4:2000:be30:5bff:fee5:d4", 0);
+const SocketAddress kTurnUdpIntAddr("99.99.99.3", webrtc::TURN_SERVER_PORT);
+const SocketAddress kTurnTcpIntAddr("99.99.99.4", webrtc::TURN_SERVER_PORT);
+const SocketAddress kTurnUdpExtAddr("99.99.99.5", 0);
+const SocketAddress kTurnAlternateIntAddr("99.99.99.6",
+                                          webrtc::TURN_SERVER_PORT);
 // Port for redirecting to a TCP Web server. Should not work.
-static const SocketAddress kTurnDangerousAddr("99.99.99.7", 81);
+const SocketAddress kTurnDangerousAddr("99.99.99.7", 81);
 // Port 53 (the DNS port); should work.
-static const SocketAddress kTurnPort53Addr("99.99.99.7", 53);
+const SocketAddress kTurnPort53Addr("99.99.99.7", 53);
 // Port 80 (the HTTP port); should work.
-static const SocketAddress kTurnPort80Addr("99.99.99.7", 80);
+const SocketAddress kTurnPort80Addr("99.99.99.7", 80);
 // Port 443 (the HTTPS port); should work.
-static const SocketAddress kTurnPort443Addr("99.99.99.7", 443);
+const SocketAddress kTurnPort443Addr("99.99.99.7", 443);
 // The default TURN server port.
-static const SocketAddress kTurnIntAddr("99.99.99.7", webrtc::TURN_SERVER_PORT);
-static const SocketAddress kTurnIPv6IntAddr(
-    "2400:4030:2:2c00:be30:abcd:efab:cdef",
-    webrtc::TURN_SERVER_PORT);
-static const SocketAddress kTurnUdpIPv6IntAddr(
-    "2400:4030:1:2c00:be30:abcd:efab:cdef",
-    webrtc::TURN_SERVER_PORT);
-static const SocketAddress kTurnInvalidAddr("www.google.invalid.", 3478);
-static const SocketAddress kTurnValidAddr("www.google.valid.", 3478);
+const SocketAddress kTurnIntAddr("99.99.99.7", webrtc::TURN_SERVER_PORT);
+const SocketAddress kTurnIPv6IntAddr("2400:4030:2:2c00:be30:abcd:efab:cdef",
+                                     webrtc::TURN_SERVER_PORT);
+const SocketAddress kTurnUdpIPv6IntAddr("2400:4030:1:2c00:be30:abcd:efab:cdef",
+                                        webrtc::TURN_SERVER_PORT);
+const SocketAddress kTurnInvalidAddr("www.google.invalid.", 3478);
+const SocketAddress kTurnValidAddr("www.google.valid.", 3478);
 
-static const char kCandidateFoundation[] = "foundation";
-static const char kIceUfrag1[] = "TESTICEUFRAG0001";
-static const char kIceUfrag2[] = "TESTICEUFRAG0002";
-static const char kIcePwd1[] = "TESTICEPWD00000000000001";
-static const char kIcePwd2[] = "TESTICEPWD00000000000002";
-static const char kTurnUsername[] = "test";
-static const char kTurnPassword[] = "test";
+const char kCandidateFoundation[] = "foundation";
+const char kIceUfrag1[] = "TESTICEUFRAG0001";
+const char kIceUfrag2[] = "TESTICEUFRAG0002";
+const char kIcePwd1[] = "TESTICEPWD00000000000001";
+const char kIcePwd2[] = "TESTICEPWD00000000000002";
+const char kTurnUsername[] = "test";
+const char kTurnPassword[] = "test";
 // This test configures the virtual socket server to simulate delay so that we
 // can verify operations take no more than the expected number of round trips.
-static constexpr unsigned int kSimulatedRtt = 50;
+constexpr unsigned int kSimulatedRtt = 50;
 // Connection destruction may happen asynchronously, but it should only
 // take one simulated clock tick.
-static constexpr unsigned int kConnectionDestructionDelay = 1;
+constexpr unsigned int kConnectionDestructionDelay = 1;
 // This used to be 1 second, but that's not always enough for getaddrinfo().
 // See: https://bugs.chromium.org/p/webrtc/issues/detail?id=5191
-static constexpr unsigned int kResolverTimeout = 10000;
+constexpr unsigned int kResolverTimeout = 10000;
 
 constexpr uint64_t kTiebreakerDefault = 44444;
 
-static const webrtc::ProtocolAddress kTurnUdpProtoAddr(kTurnUdpIntAddr,
-                                                       webrtc::PROTO_UDP);
-static const webrtc::ProtocolAddress kTurnTcpProtoAddr(kTurnTcpIntAddr,
-                                                       webrtc::PROTO_TCP);
-static const webrtc::ProtocolAddress kTurnTlsProtoAddr(kTurnTcpIntAddr,
-                                                       webrtc::PROTO_TLS);
-static const webrtc::ProtocolAddress kTurnUdpIPv6ProtoAddr(kTurnUdpIPv6IntAddr,
-                                                           webrtc::PROTO_UDP);
-static const webrtc::ProtocolAddress kTurnDangerousProtoAddr(kTurnDangerousAddr,
-                                                             webrtc::PROTO_TCP);
-static const webrtc::ProtocolAddress kTurnPort53ProtoAddr(kTurnPort53Addr,
-                                                          webrtc::PROTO_TCP);
-static const webrtc::ProtocolAddress kTurnPort80ProtoAddr(kTurnPort80Addr,
-                                                          webrtc::PROTO_TCP);
-static const webrtc::ProtocolAddress kTurnPort443ProtoAddr(kTurnPort443Addr,
-                                                           webrtc::PROTO_TCP);
-static const webrtc::ProtocolAddress kTurnPortInvalidHostnameProtoAddr(
+const webrtc::ProtocolAddress kTurnUdpProtoAddr(kTurnUdpIntAddr,
+                                                webrtc::PROTO_UDP);
+const webrtc::ProtocolAddress kTurnTcpProtoAddr(kTurnTcpIntAddr,
+                                                webrtc::PROTO_TCP);
+const webrtc::ProtocolAddress kTurnTlsProtoAddr(kTurnTcpIntAddr,
+                                                webrtc::PROTO_TLS);
+const webrtc::ProtocolAddress kTurnUdpIPv6ProtoAddr(kTurnUdpIPv6IntAddr,
+                                                    webrtc::PROTO_UDP);
+const webrtc::ProtocolAddress kTurnDangerousProtoAddr(kTurnDangerousAddr,
+                                                      webrtc::PROTO_TCP);
+const webrtc::ProtocolAddress kTurnPort53ProtoAddr(kTurnPort53Addr,
+                                                   webrtc::PROTO_TCP);
+const webrtc::ProtocolAddress kTurnPort80ProtoAddr(kTurnPort80Addr,
+                                                   webrtc::PROTO_TCP);
+const webrtc::ProtocolAddress kTurnPort443ProtoAddr(kTurnPort443Addr,
+                                                    webrtc::PROTO_TCP);
+const webrtc::ProtocolAddress kTurnPortInvalidHostnameProtoAddr(
     kTurnInvalidAddr,
     webrtc::PROTO_UDP);
-static const webrtc::ProtocolAddress kTurnPortValidHostnameProtoAddr(
+const webrtc::ProtocolAddress kTurnPortValidHostnameProtoAddr(
     kTurnValidAddr,
     webrtc::PROTO_UDP);
 
 #if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
-static int GetFDCount() {
+int GetFDCount() {
   struct dirent* dp;
   int fd_count = 0;
   DIR* dir = opendir("/proc/self/fd/");
diff --git a/p2p/base/wrapping_active_ice_controller_unittest.cc b/p2p/base/wrapping_active_ice_controller_unittest.cc
index ee9cc51..113e6b6 100644
--- a/p2p/base/wrapping_active_ice_controller_unittest.cc
+++ b/p2p/base/wrapping_active_ice_controller_unittest.cc
@@ -59,17 +59,15 @@
 
 using NiceMockIceController = NiceMock<MockIceController>;
 
-static const Connection* kConnection =
-    reinterpret_cast<const Connection*>(0xabcd);
-static const Connection* kConnectionTwo =
-    reinterpret_cast<const Connection*>(0xbcde);
-static const Connection* kConnectionThree =
+const Connection* kConnection = reinterpret_cast<const Connection*>(0xabcd);
+const Connection* kConnectionTwo = reinterpret_cast<const Connection*>(0xbcde);
+const Connection* kConnectionThree =
     reinterpret_cast<const Connection*>(0xcdef);
 
-static const std::vector<const Connection*> kEmptyConnsList =
+const std::vector<const Connection*> kEmptyConnsList =
     std::vector<const Connection*>();
 
-static const TimeDelta kTick = TimeDelta::Millis(1);
+const TimeDelta kTick = TimeDelta::Millis(1);
 
 TEST(WrappingActiveIceControllerTest, CreateLegacyIceControllerFromFactory) {
   AutoThread main;
diff --git a/pc/data_channel_integrationtest.cc b/pc/data_channel_integrationtest.cc
index 0569170..9b0800a 100644
--- a/pc/data_channel_integrationtest.cc
+++ b/pc/data_channel_integrationtest.cc
@@ -950,7 +950,7 @@
   ASSERT_TRUE(ExpectNewFrames(media_expectations));
 }
 
-static void MakeSpecCompliantSctpOffer(
+void MakeSpecCompliantSctpOffer(
     std::unique_ptr<SessionDescriptionInterface>& desc) {
   SctpDataContentDescription* dcd_offer =
       GetFirstSctpDataContentDescription(desc->description());
@@ -1638,7 +1638,7 @@
   }
 };
 
-static const char* kTrialsVariants[] = {
+const char* kTrialsVariants[] = {
     "",
     "WebRTC-ForceDtls13/Enabled/",
     "WebRTC-IceHandshakeDtls/Enabled/",
diff --git a/pc/jsep_transport_unittest.cc b/pc/jsep_transport_unittest.cc
index 79fbdb0..f425777 100644
--- a/pc/jsep_transport_unittest.cc
+++ b/pc/jsep_transport_unittest.cc
@@ -61,11 +61,11 @@
 namespace webrtc {
 namespace {
 
-static const char kIceUfrag1[] = "U001";
-static const char kIcePwd1[] = "TESTICEPWD00000000000001";
-static const char kIceUfrag2[] = "U002";
-static const char kIcePwd2[] = "TESTIEPWD00000000000002";
-static const char kTransportName[] = "Test Transport";
+const char kIceUfrag1[] = "U001";
+const char kIcePwd1[] = "TESTICEPWD00000000000001";
+const char kIceUfrag2[] = "U002";
+const char kIcePwd2[] = "TESTIEPWD00000000000002";
+const char kTransportName[] = "Test Transport";
 
 struct NegotiateRoleParams {
   ConnectionRole local_role;
diff --git a/pc/peer_connection.cc b/pc/peer_connection.cc
index bdb1791..efc37f4 100644
--- a/pc/peer_connection.cc
+++ b/pc/peer_connection.cc
@@ -123,7 +123,7 @@
 namespace webrtc {
 
 namespace {
-static const int REPORT_USAGE_PATTERN_DELAY_MS = 60000;
+const int REPORT_USAGE_PATTERN_DELAY_MS = 60000;
 
 class CodecLookupHelperForPeerConnection : public CodecLookupHelper {
  public:
diff --git a/pc/peer_connection_factory_unittest.cc b/pc/peer_connection_factory_unittest.cc
index 0a32825..568c123 100644
--- a/pc/peer_connection_factory_unittest.cc
+++ b/pc/peer_connection_factory_unittest.cc
@@ -87,26 +87,23 @@
 using ::testing::Return;
 using ::testing::UnorderedElementsAre;
 
-static const char kStunIceServer[] = "stun:stun.l.google.com:19302";
-static const char kTurnIceServer[] = "turn:test.com:1234";
-static const char kTurnIceServerWithTransport[] =
-    "turn:hello.com?transport=tcp";
-static const char kSecureTurnIceServer[] = "turns:hello.com?transport=tcp";
-static const char kSecureTurnIceServerWithoutTransportParam[] =
-    "turns:hello.com:443";
-static const char kSecureTurnIceServerWithoutTransportAndPortParam[] =
+const char kStunIceServer[] = "stun:stun.l.google.com:19302";
+const char kTurnIceServer[] = "turn:test.com:1234";
+const char kTurnIceServerWithTransport[] = "turn:hello.com?transport=tcp";
+const char kSecureTurnIceServer[] = "turns:hello.com?transport=tcp";
+const char kSecureTurnIceServerWithoutTransportParam[] = "turns:hello.com:443";
+const char kSecureTurnIceServerWithoutTransportAndPortParam[] =
     "turns:hello.com";
-static const char kTurnIceServerWithNoUsernameInUri[] = "turn:test.com:1234";
-static const char kTurnPassword[] = "turnpassword";
-static const int kDefaultStunPort = 3478;
-static const int kDefaultStunTlsPort = 5349;
-static const char kTurnUsername[] = "test";
-static const char kStunIceServerWithIPv4Address[] = "stun:1.2.3.4:1234";
-static const char kStunIceServerWithIPv4AddressWithoutPort[] = "stun:1.2.3.4";
-static const char kStunIceServerWithIPv6Address[] = "stun:[2401:fa00:4::]:1234";
-static const char kStunIceServerWithIPv6AddressWithoutPort[] =
-    "stun:[2401:fa00:4::]";
-static const char kTurnIceServerWithIPv6Address[] = "turn:[2401:fa00:4::]:1234";
+const char kTurnIceServerWithNoUsernameInUri[] = "turn:test.com:1234";
+const char kTurnPassword[] = "turnpassword";
+const int kDefaultStunPort = 3478;
+const int kDefaultStunTlsPort = 5349;
+const char kTurnUsername[] = "test";
+const char kStunIceServerWithIPv4Address[] = "stun:1.2.3.4:1234";
+const char kStunIceServerWithIPv4AddressWithoutPort[] = "stun:1.2.3.4";
+const char kStunIceServerWithIPv6Address[] = "stun:[2401:fa00:4::]:1234";
+const char kStunIceServerWithIPv6AddressWithoutPort[] = "stun:[2401:fa00:4::]";
+const char kTurnIceServerWithIPv6Address[] = "turn:[2401:fa00:4::]:1234";
 
 class NullPeerConnectionObserver : public PeerConnectionObserver {
  public:
diff --git a/pc/peer_connection_histogram_unittest.cc b/pc/peer_connection_histogram_unittest.cc
index 1f929ad..ddc5a3f 100644
--- a/pc/peer_connection_histogram_unittest.cc
+++ b/pc/peer_connection_histogram_unittest.cc
@@ -51,7 +51,7 @@
 
 namespace {
 
-static constexpr const char kBasicRemoteDescription[] = R"(v=0
+constexpr const char kBasicRemoteDescription[] = R"(v=0
 o=- 0 0 IN IP4 127.0.0.1
 s=-
 t=0 0
@@ -72,12 +72,12 @@
 using RTCOfferAnswerOptions = PeerConnectionInterface::RTCOfferAnswerOptions;
 using ::testing::NiceMock;
 
-static const char kUsagePatternMetric[] = "WebRTC.PeerConnection.UsagePattern";
-static constexpr TimeDelta kDefaultTimeout = TimeDelta::Millis(10000);
-static const SocketAddress kLocalAddrs[2] = {SocketAddress("1.1.1.1", 0),
-                                             SocketAddress("2.2.2.2", 0)};
-static const SocketAddress kPrivateLocalAddress("10.1.1.1", 0);
-static const SocketAddress kPrivateIpv6LocalAddress("fd12:3456:789a:1::1", 0);
+const char kUsagePatternMetric[] = "WebRTC.PeerConnection.UsagePattern";
+constexpr TimeDelta kDefaultTimeout = TimeDelta::Millis(10000);
+const SocketAddress kLocalAddrs[2] = {SocketAddress("1.1.1.1", 0),
+                                      SocketAddress("2.2.2.2", 0)};
+const SocketAddress kPrivateLocalAddress("10.1.1.1", 0);
+const SocketAddress kPrivateIpv6LocalAddress("fd12:3456:789a:1::1", 0);
 
 int MakeUsageFingerprint(std::set<UsageEvent> events) {
   int signature = 0;
@@ -604,7 +604,7 @@
       1, metrics::NumEvents(kUsagePatternMetric, expected_fingerprint_callee));
 }
 
-static struct IPAddressTypeTestConfig {
+struct IPAddressTypeTestConfig {
   absl::string_view address;
   IPAddressType address_type;
 } const kAllCandidateIPAddressTypeTestConfigs[] = {
diff --git a/pc/peer_connection_integrationtest.cc b/pc/peer_connection_integrationtest.cc
index 7ce2609..29453e6 100644
--- a/pc/peer_connection_integrationtest.cc
+++ b/pc/peer_connection_integrationtest.cc
@@ -1421,7 +1421,7 @@
   ASSERT_TRUE(ExpectNewFrames(media_expectations));
 }
 
-static void MakeSpecCompliantMaxBundleOffer(
+void MakeSpecCompliantMaxBundleOffer(
     std::unique_ptr<SessionDescriptionInterface>& sdp) {
   bool first = true;
   for (ContentInfo& content : sdp->description()->contents()) {
diff --git a/pc/peer_connection_interface_unittest.cc b/pc/peer_connection_interface_unittest.cc
index 40b9994..13fd3c3 100644
--- a/pc/peer_connection_interface_unittest.cc
+++ b/pc/peer_connection_interface_unittest.cc
@@ -98,30 +98,30 @@
 namespace webrtc {
 namespace {
 
-static const char kStreamId1[] = "local_stream_1";
-static const char kStreamId2[] = "local_stream_2";
-static const char kStreamId3[] = "local_stream_3";
-static const int kDefaultStunPort = 3478;
-static const char kStunAddressOnly[] = "stun:address";
-static const char kStunInvalidPort[] = "stun:address:-1";
-static const char kStunAddressPortAndMore1[] = "stun:address:port:more";
-static const char kStunAddressPortAndMore2[] = "stun:address:port more";
-static const char kTurnIceServerUri[] = "turn:turn.example.org";
-static const char kTurnUsername[] = "user";
-static const char kTurnPassword[] = "password";
-static const char kTurnHostname[] = "turn.example.org";
-static const uint32_t kTimeout = 10000U;
+const char kStreamId1[] = "local_stream_1";
+const char kStreamId2[] = "local_stream_2";
+const char kStreamId3[] = "local_stream_3";
+const int kDefaultStunPort = 3478;
+const char kStunAddressOnly[] = "stun:address";
+const char kStunInvalidPort[] = "stun:address:-1";
+const char kStunAddressPortAndMore1[] = "stun:address:port:more";
+const char kStunAddressPortAndMore2[] = "stun:address:port more";
+const char kTurnIceServerUri[] = "turn:turn.example.org";
+const char kTurnUsername[] = "user";
+const char kTurnPassword[] = "password";
+const char kTurnHostname[] = "turn.example.org";
+const uint32_t kTimeout = 10000U;
 
-static const char kStreams[][8] = {"stream1", "stream2"};
-static const char kAudioTracks[][32] = {"audiotrack0", "audiotrack1"};
-static const char kVideoTracks[][32] = {"videotrack0", "videotrack1"};
+const char kStreams[][8] = {"stream1", "stream2"};
+const char kAudioTracks[][32] = {"audiotrack0", "audiotrack1"};
+const char kVideoTracks[][32] = {"videotrack0", "videotrack1"};
 
-static const char kRecvonly[] = "recvonly";
-static const char kSendrecv[] = "sendrecv";
+const char kRecvonly[] = "recvonly";
+const char kSendrecv[] = "sendrecv";
 
 // Reference SDP with a MediaStream with label "stream1" and audio track with
 // id "audio_1" and a video track with id "video_1;
-static const char kSdpStringWithStream1PlanB[] =
+const char kSdpStringWithStream1PlanB[] =
     "v=0\r\n"
     "o=- 0 0 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -151,7 +151,7 @@
 // Same string as above but with the MID changed to the Unified Plan default and
 // a=msid added. This is needed so that this SDP can be used as an answer for a
 // Unified Plan offer.
-static const char kSdpStringWithStream1UnifiedPlan[] =
+const char kSdpStringWithStream1UnifiedPlan[] =
     "v=0\r\n"
     "o=- 0 0 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -181,7 +181,7 @@
 
 // Reference SDP with a MediaStream with label "stream1" and audio track with
 // id "audio_1";
-static const char kSdpStringWithStream1AudioTrackOnly[] =
+const char kSdpStringWithStream1AudioTrackOnly[] =
     "v=0\r\n"
     "o=- 0 0 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -201,7 +201,7 @@
 // Reference SDP with two MediaStreams with label "stream1" and "stream2. Each
 // MediaStreams have one audio track and one video track.
 // This uses MSID.
-static const char kSdpStringWithStream1And2PlanB[] =
+const char kSdpStringWithStream1And2PlanB[] =
     "v=0\r\n"
     "o=- 0 0 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -233,7 +233,7 @@
     "a=ssrc:2 msid:stream1 videotrack0\r\n"
     "a=ssrc:4 cname:stream2\r\n"
     "a=ssrc:4 msid:stream2 videotrack1\r\n";
-static const char kSdpStringWithStream1And2UnifiedPlan[] =
+const char kSdpStringWithStream1And2UnifiedPlan[] =
     "v=0\r\n"
     "o=- 0 0 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -285,7 +285,7 @@
     "a=ssrc:4 msid:stream2 videotrack1\r\n";
 
 // Reference SDP without MediaStreams. Msid is not supported.
-static const char kSdpStringWithoutStreams[] =
+const char kSdpStringWithoutStreams[] =
     "v=0\r\n"
     "o=- 0 0 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -310,7 +310,7 @@
     "a=rtpmap:120 VP8/90000\r\n";
 
 // Reference SDP without MediaStreams. Msid is supported.
-static const char kSdpStringWithMsidWithoutStreams[] =
+const char kSdpStringWithMsidWithoutStreams[] =
     "v=0\r\n"
     "o=- 0 0 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -336,7 +336,7 @@
     "a=rtpmap:120 VP8/90000\r\n";
 
 // Reference SDP without MediaStreams and audio only.
-static const char kSdpStringWithoutStreamsAudioOnly[] =
+const char kSdpStringWithoutStreamsAudioOnly[] =
     "v=0\r\n"
     "o=- 0 0 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -352,7 +352,7 @@
     "a=rtpmap:111 OPUS/48000/2\r\n";
 
 // Reference SENDONLY SDP without MediaStreams. Msid is not supported.
-static const char kSdpStringSendOnlyWithoutStreams[] =
+const char kSdpStringSendOnlyWithoutStreams[] =
     "v=0\r\n"
     "o=- 0 0 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -378,14 +378,14 @@
     "a=rtcp-mux\r\n"
     "a=rtpmap:120 VP8/90000\r\n";
 
-static const char kSdpStringInit[] =
+const char kSdpStringInit[] =
     "v=0\r\n"
     "o=- 0 0 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
     "t=0 0\r\n"
     "a=msid-semantic: WMS\r\n";
 
-static const char kSdpStringAudio[] =
+const char kSdpStringAudio[] =
     "m=audio 1 RTP/AVPF 111\r\n"
     "a=ice-ufrag:e5785931\r\n"
     "a=ice-pwd:36fb7878390db89481c1d46daa4278d8\r\n"
@@ -396,7 +396,7 @@
     "a=rtcp-mux\r\n"
     "a=rtpmap:111 OPUS/48000/2\r\n";
 
-static const char kSdpStringVideo[] =
+const char kSdpStringVideo[] =
     "m=video 1 RTP/AVPF 120\r\n"
     "a=ice-ufrag:e5785931\r\n"
     "a=ice-pwd:36fb7878390db89481c1d46daa4278d8\r\n"
@@ -407,19 +407,19 @@
     "a=rtcp-mux\r\n"
     "a=rtpmap:120 VP8/90000\r\n";
 
-static const char kSdpStringMs1Audio0[] =
+const char kSdpStringMs1Audio0[] =
     "a=ssrc:1 cname:stream1\r\n"
     "a=ssrc:1 msid:stream1 audiotrack0\r\n";
 
-static const char kSdpStringMs1Video0[] =
+const char kSdpStringMs1Video0[] =
     "a=ssrc:2 cname:stream1\r\n"
     "a=ssrc:2 msid:stream1 videotrack0\r\n";
 
-static const char kSdpStringMs1Audio1[] =
+const char kSdpStringMs1Audio1[] =
     "a=ssrc:3 cname:stream1\r\n"
     "a=ssrc:3 msid:stream1 audiotrack1\r\n";
 
-static const char kSdpStringMs1Video1[] =
+const char kSdpStringMs1Video1[] =
     "a=ssrc:4 cname:stream1\r\n"
     "a=ssrc:4 msid:stream1 videotrack1\r\n";
 
diff --git a/pc/peer_connection_rampup_tests.cc b/pc/peer_connection_rampup_tests.cc
index 7aa4811..ecf672d 100644
--- a/pc/peer_connection_rampup_tests.cc
+++ b/pc/peer_connection_rampup_tests.cc
@@ -67,18 +67,18 @@
 using test::ImprovementDirection;
 using test::Unit;
 
-static const int kDefaultTestTimeMs = 15000;
-static const int kRampUpTimeMs = 5000;
-static const int kPollIntervalTimeMs = 50;
-static const SocketAddress kDefaultLocalAddress("1.1.1.1", 0);
-static const char kTurnInternalAddress[] = "88.88.88.0";
-static const char kTurnExternalAddress[] = "88.88.88.1";
-static const int kTurnInternalPort = 3478;
-static const int kTurnExternalPort = 0;
+const int kDefaultTestTimeMs = 15000;
+const int kRampUpTimeMs = 5000;
+const int kPollIntervalTimeMs = 50;
+const SocketAddress kDefaultLocalAddress("1.1.1.1", 0);
+const char kTurnInternalAddress[] = "88.88.88.0";
+const char kTurnExternalAddress[] = "88.88.88.1";
+const int kTurnInternalPort = 3478;
+const int kTurnExternalPort = 0;
 // The video's configured max bitrate in webrtcvideoengine.cc is 1.7 Mbps.
 // Setting the network bandwidth to 1 Mbps allows the video's bitrate to push
 // the network's limitations.
-static const int kNetworkBandwidth = 1000000;
+const int kNetworkBandwidth = 1000000;
 
 }  // namespace
 
diff --git a/pc/rtc_stats_collector.cc b/pc/rtc_stats_collector.cc
index 780fe49..3be877c 100644
--- a/pc/rtc_stats_collector.cc
+++ b/pc/rtc_stats_collector.cc
@@ -89,7 +89,7 @@
 const char kDirectionInbound = 'I';
 const char kDirectionOutbound = 'O';
 
-static constexpr char kAudioPlayoutSingletonId[] = "AP";
+constexpr char kAudioPlayoutSingletonId[] = "AP";
 
 // TODO(https://crbug.com/webrtc/10656): Consider making IDs less predictable.
 std::string RTCCertificateIDFromFingerprint(const std::string& fingerprint) {
diff --git a/pc/rtp_sender_receiver_unittest.cc b/pc/rtp_sender_receiver_unittest.cc
index 54a85d5..5074c1d 100644
--- a/pc/rtp_sender_receiver_unittest.cc
+++ b/pc/rtp_sender_receiver_unittest.cc
@@ -71,15 +71,15 @@
 
 namespace {
 
-static const char kStreamId1[] = "local_stream_1";
-static const char kVideoTrackId[] = "video_1";
-static const char kAudioTrackId[] = "audio_1";
-static const uint32_t kVideoSsrc = 98;
-static const uint32_t kVideoSsrc2 = 100;
-static const uint32_t kAudioSsrc = 99;
-static const uint32_t kAudioSsrc2 = 101;
-static const uint32_t kVideoSsrcSimulcast = 102;
-static const uint32_t kVideoSimulcastLayerCount = 2;
+const char kStreamId1[] = "local_stream_1";
+const char kVideoTrackId[] = "video_1";
+const char kAudioTrackId[] = "audio_1";
+const uint32_t kVideoSsrc = 98;
+const uint32_t kVideoSsrc2 = 100;
+const uint32_t kAudioSsrc = 99;
+const uint32_t kAudioSsrc2 = 101;
+const uint32_t kVideoSsrcSimulcast = 102;
+const uint32_t kVideoSimulcastLayerCount = 2;
 
 class MockSetStreamsObserver
     : public webrtc::RtpSenderBase::SetStreamsObserver {
diff --git a/pc/rtp_transmission_manager.cc b/pc/rtp_transmission_manager.cc
index 1779ad4..4d4f9a8 100644
--- a/pc/rtp_transmission_manager.cc
+++ b/pc/rtp_transmission_manager.cc
@@ -51,8 +51,8 @@
 
 namespace {
 
-static const char kDefaultAudioSenderId[] = "defaulta0";
-static const char kDefaultVideoSenderId[] = "defaultv0";
+const char kDefaultAudioSenderId[] = "defaulta0";
+const char kDefaultVideoSenderId[] = "defaultv0";
 
 }  // namespace
 
diff --git a/pc/sctp_data_channel.cc b/pc/sctp_data_channel.cc
index 0faa6bb..2ee8e35 100644
--- a/pc/sctp_data_channel.cc
+++ b/pc/sctp_data_channel.cc
@@ -45,9 +45,9 @@
 
 namespace {
 
-static size_t kMaxQueuedReceivedDataBytes = 16 * 1024 * 1024;
+size_t kMaxQueuedReceivedDataBytes = 16 * 1024 * 1024;
 
-static std::atomic<int> g_unique_id{0};
+std::atomic<int> g_unique_id{0};
 
 int GenerateUniqueId() {
   return ++g_unique_id;
diff --git a/pc/sdp_offer_answer.cc b/pc/sdp_offer_answer.cc
index df53177..990ec3e 100644
--- a/pc/sdp_offer_answer.cc
+++ b/pc/sdp_offer_answer.cc
@@ -145,15 +145,15 @@
 const char kSessionErrorDesc[] = "Session error description: ";
 
 // The length of RTCP CNAMEs.
-static const int kRtcpCnameLength = 16;
+const int kRtcpCnameLength = 16;
 
 // The maximum length of the MID attribute.
-static constexpr size_t kMidMaxSize = 16;
+constexpr size_t kMidMaxSize = 16;
 
 const char kDefaultStreamId[] = "default";
 // NOTE: Duplicated in peer_connection.cc:
-static const char kDefaultAudioSenderId[] = "defaulta0";
-static const char kDefaultVideoSenderId[] = "defaultv0";
+const char kDefaultAudioSenderId[] = "defaulta0";
+const char kDefaultVideoSenderId[] = "defaultv0";
 
 void NoteAddIceCandidateResult(int result) {
   RTC_HISTOGRAM_ENUMERATION("WebRTC.PeerConnection.AddIceCandidate", result,
diff --git a/pc/webrtc_sdp.cc b/pc/webrtc_sdp.cc
index b0a06af..8b963fd 100644
--- a/pc/webrtc_sdp.cc
+++ b/pc/webrtc_sdp.cc
@@ -67,16 +67,156 @@
 #include "rtc_base/string_encode.h"
 #include "rtc_base/strings/string_builder.h"
 
-// TODO(deadbeef): Switch to using anonymous namespace rather than declaring
-// everything "static".
-namespace webrtc {
-
+namespace {
 // Line type
 // RFC 4566
 // An SDP session description consists of a number of lines of text of
 // the form:
 // <type>=<value>
 // where <type> MUST be exactly one case-significant character.
+const int kLinePrefixLength = 2;  // Length of <type>=
+const char kLineTypeVersion = 'v';
+const char kLineTypeOrigin = 'o';
+const char kLineTypeSessionName = 's';
+const char kLineTypeSessionInfo = 'i';
+const char kLineTypeSessionUri = 'u';
+const char kLineTypeSessionEmail = 'e';
+const char kLineTypeSessionPhone = 'p';
+const char kLineTypeSessionBandwidth = 'b';
+const char kLineTypeTiming = 't';
+const char kLineTypeRepeatTimes = 'r';
+const char kLineTypeTimeZone = 'z';
+const char kLineTypeEncryptionKey = 'k';
+const char kLineTypeMedia = 'm';
+const char kLineTypeConnection = 'c';
+const char kLineTypeAttributes = 'a';
+
+// Attributes
+const char kAttributeGroup[] = "group";
+const char kAttributeMid[] = "mid";
+const char kAttributeMsid[] = "msid";
+const char kAttributeBundleOnly[] = "bundle-only";
+const char kAttributeRtcpMux[] = "rtcp-mux";
+const char kAttributeRtcpReducedSize[] = "rtcp-rsize";
+const char kAttributeSsrc[] = "ssrc";
+const char kSsrcAttributeCname[] = "cname";
+const char kAttributeExtmapAllowMixed[] = "extmap-allow-mixed";
+const char kAttributeExtmap[] = "extmap";
+// draft-alvestrand-mmusic-msid-01
+// a=msid-semantic: WMS
+// This is a legacy field supported only for Plan B semantics.
+const char kAttributeMsidSemantics[] = "msid-semantic";
+const char kMediaStreamSemantic[] = "WMS";
+const char kSsrcAttributeMsid[] = "msid";
+const char kDefaultMsid[] = "default";
+const char kNoStreamMsid[] = "-";
+const char kAttributeSsrcGroup[] = "ssrc-group";
+const char kAttributeCandidate[] = "candidate";
+const char kAttributeCandidateTyp[] = "typ";
+const char kAttributeCandidateRaddr[] = "raddr";
+const char kAttributeCandidateRport[] = "rport";
+const char kAttributeCandidateUfrag[] = "ufrag";
+const char kAttributeCandidatePwd[] = "pwd";
+const char kAttributeCandidateGeneration[] = "generation";
+const char kAttributeCandidateNetworkId[] = "network-id";
+const char kAttributeCandidateNetworkCost[] = "network-cost";
+const char kAttributeFingerprint[] = "fingerprint";
+const char kAttributeSetup[] = "setup";
+const char kAttributeFmtp[] = "fmtp";
+const char kAttributeRtpmap[] = "rtpmap";
+const char kAttributeSctpmap[] = "sctpmap";
+const char kAttributeRtcp[] = "rtcp";
+const char kAttributeIceUfrag[] = "ice-ufrag";
+const char kAttributeIcePwd[] = "ice-pwd";
+const char kAttributeIceLite[] = "ice-lite";
+const char kAttributeIceOption[] = "ice-options";
+const char kAttributeSendOnly[] = "sendonly";
+const char kAttributeRecvOnly[] = "recvonly";
+const char kAttributeRtcpFb[] = "rtcp-fb";
+const char kAttributeSendRecv[] = "sendrecv";
+const char kAttributeInactive[] = "inactive";
+// draft-ietf-mmusic-sctp-sdp-26
+// a=sctp-port, a=max-message-size
+const char kAttributeSctpPort[] = "sctp-port";
+const char kAttributeMaxMessageSize[] = "max-message-size";
+const int kDefaultSctpMaxMessageSize = 65536;
+// draft-ietf-mmusic-sdp-simulcast-13
+// a=simulcast
+constexpr absl::string_view kAttributeSimulcast = "simulcast";
+// draft-ietf-mmusic-rid-15
+// a=rid
+constexpr absl::string_view kAttributeRid = "rid";
+const char kAttributePacketization[] = "packetization";
+
+// Experimental flags
+const char kAttributeXGoogleFlag[] = "x-google-flag";
+const char kValueConference[] = "conference";
+
+const char kAttributeRtcpRemoteEstimate[] = "remote-net-estimate";
+
+// Candidate
+const char kCandidateHost[] = "host";
+const char kCandidateSrflx[] = "srflx";
+const char kCandidatePrflx[] = "prflx";
+const char kCandidateRelay[] = "relay";
+const char kTcpCandidateType[] = "tcptype";
+
+// StringBuilder doesn't have a << overload for chars, while
+// split and tokenize_first both take a char delimiter. To
+// handle both cases these constants come in pairs of a chars and length-one
+// strings.
+const char kSdpDelimiterEqual[] = "=";
+const char kSdpDelimiterEqualChar = '=';
+const char kSdpDelimiterSpace[] = " ";
+const char kSdpDelimiterSpaceChar = ' ';
+constexpr absl::string_view kSdpDelimiterColon = ":";
+const char kSdpDelimiterColonChar = ':';
+const char kSdpDelimiterSemicolon[] = ";";
+const char kSdpDelimiterSemicolonChar = ';';
+const char kSdpDelimiterSlashChar = '/';
+const char kNewLineChar = '\n';
+const char kReturnChar = '\r';
+const char kLineBreak[] = "\r\n";
+
+// TODO(deadbeef): Generate the Session and Time description
+// instead of hardcoding.
+const char kSessionVersion[] = "v=0";
+// RFC 4566
+const char kSessionOriginUsername[] = "-";
+const char kSessionOriginSessionId[] = "0";
+const char kSessionOriginSessionVersion[] = "0";
+const char kSessionOriginNettype[] = "IN";
+const char kSessionOriginAddrtype[] = "IP4";
+const char kSessionOriginAddress[] = "127.0.0.1";
+const char kSessionName[] = "s=-";
+const char kTimeDescription[] = "t=0 0";
+const char kAttrGroup[] = "a=group:BUNDLE";
+const char kConnectionNettype[] = "IN";
+const char kConnectionIpv4Addrtype[] = "IP4";
+const char kConnectionIpv6Addrtype[] = "IP6";
+const char kSdpMediaTypeVideo[] = "video";
+const char kSdpMediaTypeAudio[] = "audio";
+const char kSdpMediaTypeData[] = "application";
+const char kMediaPortRejected[] = "0";
+// draft-ietf-mmusic-trickle-ice-01
+// When no candidates have been gathered, set the connection
+// address to IP6 ::.
+// TODO(perkj): FF can not parse IP6 ::. See http://crbug/430333
+// Use IPV4 per default.
+const char kDummyAddress[] = "0.0.0.0";
+const char kDummyPort[] = "9";
+
+const char kDefaultSctpmapProtocol[] = "webrtc-datachannel";
+
+// RTP payload type is in the 0-127 range. Use -1 to indicate "all" payload
+// types.
+const int kWildcardPayloadType = -1;
+
+}  // namespace
+
+// TODO(deadbeef): Switch to using anonymous namespace rather than declaring
+// everything "static".
+namespace webrtc {
 
 // Check if passed character is a "token-char" from RFC 4566.
 // https://datatracker.ietf.org/doc/html/rfc4566#section-9
@@ -87,144 +227,6 @@
          ch == 0x2d || ch == 0x2e || (ch >= 0x30 && ch <= 0x39) ||
          (ch >= 0x41 && ch <= 0x5a) || (ch >= 0x5e && ch <= 0x7e);
 }
-static const int kLinePrefixLength = 2;  // Length of <type>=
-static const char kLineTypeVersion = 'v';
-static const char kLineTypeOrigin = 'o';
-static const char kLineTypeSessionName = 's';
-static const char kLineTypeSessionInfo = 'i';
-static const char kLineTypeSessionUri = 'u';
-static const char kLineTypeSessionEmail = 'e';
-static const char kLineTypeSessionPhone = 'p';
-static const char kLineTypeSessionBandwidth = 'b';
-static const char kLineTypeTiming = 't';
-static const char kLineTypeRepeatTimes = 'r';
-static const char kLineTypeTimeZone = 'z';
-static const char kLineTypeEncryptionKey = 'k';
-static const char kLineTypeMedia = 'm';
-static const char kLineTypeConnection = 'c';
-static const char kLineTypeAttributes = 'a';
-
-// Attributes
-static const char kAttributeGroup[] = "group";
-static const char kAttributeMid[] = "mid";
-static const char kAttributeMsid[] = "msid";
-static const char kAttributeBundleOnly[] = "bundle-only";
-static const char kAttributeRtcpMux[] = "rtcp-mux";
-static const char kAttributeRtcpReducedSize[] = "rtcp-rsize";
-static const char kAttributeSsrc[] = "ssrc";
-static const char kSsrcAttributeCname[] = "cname";
-static const char kAttributeExtmapAllowMixed[] = "extmap-allow-mixed";
-static const char kAttributeExtmap[] = "extmap";
-// draft-alvestrand-mmusic-msid-01
-// a=msid-semantic: WMS
-// This is a legacy field supported only for Plan B semantics.
-static const char kAttributeMsidSemantics[] = "msid-semantic";
-static const char kMediaStreamSemantic[] = "WMS";
-static const char kSsrcAttributeMsid[] = "msid";
-static const char kDefaultMsid[] = "default";
-static const char kNoStreamMsid[] = "-";
-static const char kAttributeSsrcGroup[] = "ssrc-group";
-static const char kAttributeCandidate[] = "candidate";
-static const char kAttributeCandidateTyp[] = "typ";
-static const char kAttributeCandidateRaddr[] = "raddr";
-static const char kAttributeCandidateRport[] = "rport";
-static const char kAttributeCandidateUfrag[] = "ufrag";
-static const char kAttributeCandidatePwd[] = "pwd";
-static const char kAttributeCandidateGeneration[] = "generation";
-static const char kAttributeCandidateNetworkId[] = "network-id";
-static const char kAttributeCandidateNetworkCost[] = "network-cost";
-static const char kAttributeFingerprint[] = "fingerprint";
-static const char kAttributeSetup[] = "setup";
-static const char kAttributeFmtp[] = "fmtp";
-static const char kAttributeRtpmap[] = "rtpmap";
-static const char kAttributeSctpmap[] = "sctpmap";
-static const char kAttributeRtcp[] = "rtcp";
-static const char kAttributeIceUfrag[] = "ice-ufrag";
-static const char kAttributeIcePwd[] = "ice-pwd";
-static const char kAttributeIceLite[] = "ice-lite";
-static const char kAttributeIceOption[] = "ice-options";
-static const char kAttributeSendOnly[] = "sendonly";
-static const char kAttributeRecvOnly[] = "recvonly";
-static const char kAttributeRtcpFb[] = "rtcp-fb";
-static const char kAttributeSendRecv[] = "sendrecv";
-static const char kAttributeInactive[] = "inactive";
-// draft-ietf-mmusic-sctp-sdp-26
-// a=sctp-port, a=max-message-size
-static const char kAttributeSctpPort[] = "sctp-port";
-static const char kAttributeMaxMessageSize[] = "max-message-size";
-static const int kDefaultSctpMaxMessageSize = 65536;
-// draft-ietf-mmusic-sdp-simulcast-13
-// a=simulcast
-static constexpr absl::string_view kAttributeSimulcast = "simulcast";
-// draft-ietf-mmusic-rid-15
-// a=rid
-static constexpr absl::string_view kAttributeRid = "rid";
-static const char kAttributePacketization[] = "packetization";
-
-// Experimental flags
-static const char kAttributeXGoogleFlag[] = "x-google-flag";
-static const char kValueConference[] = "conference";
-
-static const char kAttributeRtcpRemoteEstimate[] = "remote-net-estimate";
-
-// Candidate
-static const char kCandidateHost[] = "host";
-static const char kCandidateSrflx[] = "srflx";
-static const char kCandidatePrflx[] = "prflx";
-static const char kCandidateRelay[] = "relay";
-static const char kTcpCandidateType[] = "tcptype";
-
-// StringBuilder doesn't have a << overload for chars, while
-// split and tokenize_first both take a char delimiter. To
-// handle both cases these constants come in pairs of a chars and length-one
-// strings.
-static const char kSdpDelimiterEqual[] = "=";
-static const char kSdpDelimiterEqualChar = '=';
-static const char kSdpDelimiterSpace[] = " ";
-static const char kSdpDelimiterSpaceChar = ' ';
-static constexpr absl::string_view kSdpDelimiterColon = ":";
-static const char kSdpDelimiterColonChar = ':';
-static const char kSdpDelimiterSemicolon[] = ";";
-static const char kSdpDelimiterSemicolonChar = ';';
-static const char kSdpDelimiterSlashChar = '/';
-static const char kNewLineChar = '\n';
-static const char kReturnChar = '\r';
-static const char kLineBreak[] = "\r\n";
-
-// TODO(deadbeef): Generate the Session and Time description
-// instead of hardcoding.
-static const char kSessionVersion[] = "v=0";
-// RFC 4566
-static const char kSessionOriginUsername[] = "-";
-static const char kSessionOriginSessionId[] = "0";
-static const char kSessionOriginSessionVersion[] = "0";
-static const char kSessionOriginNettype[] = "IN";
-static const char kSessionOriginAddrtype[] = "IP4";
-static const char kSessionOriginAddress[] = "127.0.0.1";
-static const char kSessionName[] = "s=-";
-static const char kTimeDescription[] = "t=0 0";
-static const char kAttrGroup[] = "a=group:BUNDLE";
-static const char kConnectionNettype[] = "IN";
-static const char kConnectionIpv4Addrtype[] = "IP4";
-static const char kConnectionIpv6Addrtype[] = "IP6";
-static const char kSdpMediaTypeVideo[] = "video";
-static const char kSdpMediaTypeAudio[] = "audio";
-static const char kSdpMediaTypeData[] = "application";
-static const char kMediaPortRejected[] = "0";
-// draft-ietf-mmusic-trickle-ice-01
-// When no candidates have been gathered, set the connection
-// address to IP6 ::.
-// TODO(perkj): FF can not parse IP6 ::. See http://crbug/430333
-// Use IPV4 per default.
-static const char kDummyAddress[] = "0.0.0.0";
-static const char kDummyPort[] = "9";
-
-static const char kDefaultSctpmapProtocol[] = "webrtc-datachannel";
-
-// RTP payload type is in the 0-127 range. Use -1 to indicate "all" payload
-// types.
-const int kWildcardPayloadType = -1;
-
 struct SsrcInfo {
   uint32_t ssrc_id;
   std::string cname;
diff --git a/pc/webrtc_sdp_unittest.cc b/pc/webrtc_sdp_unittest.cc
index e8beaf9..5bb0a0c 100644
--- a/pc/webrtc_sdp_unittest.cc
+++ b/pc/webrtc_sdp_unittest.cc
@@ -64,40 +64,39 @@
 using ::testing::Field;
 using ::testing::Property;
 
-static const uint32_t kDefaultSctpPort = 5000;
-static const uint16_t kUnusualSctpPort = 9556;
-static const char kSessionTime[] = "t=0 0\r\n";
-static const uint32_t kCandidatePriority = 2130706432U;  // pref = 1.0
-static const char kAttributeIceUfragVoice[] = "a=ice-ufrag:ufrag_voice\r\n";
-static const char kAttributeIcePwdVoice[] = "a=ice-pwd:pwd_voice\r\n";
-static const char kAttributeIceUfragVideo[] = "a=ice-ufrag:ufrag_video\r\n";
-static const char kAttributeIcePwdVideo[] = "a=ice-pwd:pwd_video\r\n";
-static const uint32_t kCandidateGeneration = 2;
-static const char kCandidateFoundation1[] = "a0+B/1";
-static const char kCandidateFoundation2[] = "a0+B/2";
-static const char kCandidateFoundation3[] = "a0+B/3";
-static const char kCandidateFoundation4[] = "a0+B/4";
-static const char kFingerprint[] =
+const uint32_t kDefaultSctpPort = 5000;
+const uint16_t kUnusualSctpPort = 9556;
+const char kSessionTime[] = "t=0 0\r\n";
+const uint32_t kCandidatePriority = 2130706432U;  // pref = 1.0
+const char kAttributeIceUfragVoice[] = "a=ice-ufrag:ufrag_voice\r\n";
+const char kAttributeIcePwdVoice[] = "a=ice-pwd:pwd_voice\r\n";
+const char kAttributeIceUfragVideo[] = "a=ice-ufrag:ufrag_video\r\n";
+const char kAttributeIcePwdVideo[] = "a=ice-pwd:pwd_video\r\n";
+const uint32_t kCandidateGeneration = 2;
+const char kCandidateFoundation1[] = "a0+B/1";
+const char kCandidateFoundation2[] = "a0+B/2";
+const char kCandidateFoundation3[] = "a0+B/3";
+const char kCandidateFoundation4[] = "a0+B/4";
+const char kFingerprint[] =
     "a=fingerprint:sha-1 "
     "4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB\r\n";
-static const char kExtmapAllowMixed[] = "a=extmap-allow-mixed\r\n";
-static const int kExtmapId = 1;
-static const char kExtmapUri[] = "http://example.com/082005/ext.htm#ttime";
-static const char kExtmap[] =
-    "a=extmap:1 http://example.com/082005/ext.htm#ttime\r\n";
-static const char kExtmapWithDirectionAndAttribute[] =
+const char kExtmapAllowMixed[] = "a=extmap-allow-mixed\r\n";
+const int kExtmapId = 1;
+const char kExtmapUri[] = "http://example.com/082005/ext.htm#ttime";
+const char kExtmap[] = "a=extmap:1 http://example.com/082005/ext.htm#ttime\r\n";
+const char kExtmapWithDirectionAndAttribute[] =
     "a=extmap:1/sendrecv http://example.com/082005/ext.htm#ttime a1 a2\r\n";
-static const char kExtmapWithDirectionAndAttributeEncrypted[] =
+const char kExtmapWithDirectionAndAttributeEncrypted[] =
     "a=extmap:1/sendrecv urn:ietf:params:rtp-hdrext:encrypt "
     "http://example.com/082005/ext.htm#ttime a1 a2\r\n";
 
-static const uint8_t kIdentityDigest[] = {
-    0x4A, 0xAD, 0xB9, 0xB1, 0x3F, 0x82, 0x18, 0x3B, 0x54, 0x02,
-    0x12, 0xDF, 0x3E, 0x5D, 0x49, 0x6B, 0x19, 0xE5, 0x7C, 0xAB};
+const uint8_t kIdentityDigest[] = {0x4A, 0xAD, 0xB9, 0xB1, 0x3F, 0x82, 0x18,
+                                   0x3B, 0x54, 0x02, 0x12, 0xDF, 0x3E, 0x5D,
+                                   0x49, 0x6B, 0x19, 0xE5, 0x7C, 0xAB};
 
-static const char kDtlsSctp[] = "DTLS/SCTP";
-static const char kUdpDtlsSctp[] = "UDP/DTLS/SCTP";
-static const char kTcpDtlsSctp[] = "TCP/DTLS/SCTP";
+const char kDtlsSctp[] = "DTLS/SCTP";
+const char kUdpDtlsSctp[] = "UDP/DTLS/SCTP";
+const char kTcpDtlsSctp[] = "TCP/DTLS/SCTP";
 
 struct CodecParams {
   int max_ptime;
@@ -110,7 +109,7 @@
 };
 
 // Reference sdp string
-static const char kSdpFullString[] =
+const char kSdpFullString[] =
     "v=0\r\n"
     "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -173,7 +172,7 @@
     "a=ssrc:3 cname:stream_1_cname\r\n";
 
 // SDP reference string without the candidates.
-static const char kSdpString[] =
+const char kSdpString[] =
     "v=0\r\n"
     "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -212,7 +211,7 @@
     "a=ssrc:3 cname:stream_1_cname\r\n";
 
 // draft-ietf-mmusic-sctp-sdp-03
-static const char kSdpSctpDataChannelString[] =
+const char kSdpSctpDataChannelString[] =
     "m=application 9 UDP/DTLS/SCTP 5000\r\n"
     "c=IN IP4 0.0.0.0\r\n"
     "a=ice-ufrag:ufrag_data\r\n"
@@ -226,7 +225,7 @@
 // draft-ietf-mmusic-sctp-sdp-12
 // Note - this is invalid per draft-ietf-mmusic-sctp-sdp-26,
 // since the separator after "sctp-port" needs to be a colon.
-static const char kSdpSctpDataChannelStringWithSctpPort[] =
+const char kSdpSctpDataChannelStringWithSctpPort[] =
     "m=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\n"
     "a=sctp-port 5000\r\n"
     "c=IN IP4 0.0.0.0\r\n"
@@ -238,7 +237,7 @@
     "a=mid:data_content_name\r\n";
 
 // draft-ietf-mmusic-sctp-sdp-26
-static const char kSdpSctpDataChannelStringWithSctpColonPort[] =
+const char kSdpSctpDataChannelStringWithSctpColonPort[] =
     "m=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\n"
     "a=sctp-port:5000\r\n"
     "c=IN IP4 0.0.0.0\r\n"
@@ -249,7 +248,7 @@
 
     "a=mid:data_content_name\r\n";
 
-static const char kSdpSctpDataChannelWithCandidatesString[] =
+const char kSdpSctpDataChannelWithCandidatesString[] =
     "m=application 2345 UDP/DTLS/SCTP 5000\r\n"
     "c=IN IP4 74.125.127.126\r\n"
     "a=candidate:a0+B/1 1 udp 2130706432 192.168.1.5 1234 typ host "
@@ -267,7 +266,7 @@
     "a=mid:data_content_name\r\n"
     "a=sctpmap:5000 webrtc-datachannel 1024\r\n";
 
-static const char kSdpConferenceString[] =
+const char kSdpConferenceString[] =
     "v=0\r\n"
     "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -280,14 +279,14 @@
     "c=IN IP4 0.0.0.0\r\n"
     "a=x-google-flag:conference\r\n";
 
-static const char kSdpSessionString[] =
+const char kSdpSessionString[] =
     "v=0\r\n"
     "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
     "t=0 0\r\n"
     "a=msid-semantic: WMS local_stream\r\n";
 
-static const char kSdpAudioString[] =
+const char kSdpAudioString[] =
     "m=audio 9 RTP/SAVPF 111\r\n"
     "c=IN IP4 0.0.0.0\r\n"
     "a=rtcp:9 IN IP4 0.0.0.0\r\n"
@@ -301,7 +300,7 @@
     "a=ssrc:1 cname:stream_1_cname\r\n"
     "a=ssrc:1 msid:local_stream audio_track_id_1\r\n";
 
-static const char kSdpVideoString[] =
+const char kSdpVideoString[] =
     "m=video 9 RTP/SAVPF 120\r\n"
     "c=IN IP4 0.0.0.0\r\n"
     "a=rtcp:9 IN IP4 0.0.0.0\r\n"
@@ -316,7 +315,7 @@
     "a=ssrc:2 msid:local_stream video_track_id_1\r\n";
 
 // Reference sdp string using bundle-only.
-static const char kBundleOnlySdpFullString[] =
+const char kBundleOnlySdpFullString[] =
     "v=0\r\n"
     "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -370,7 +369,7 @@
 
 // Plan B SDP reference string, with 2 streams, 2 audio tracks and 3 video
 // tracks.
-static const char kPlanBSdpFullString[] =
+const char kPlanBSdpFullString[] =
     "v=0\r\n"
     "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -443,7 +442,7 @@
 
 // Unified Plan SDP reference string, with 2 streams, 2 audio tracks and 3 video
 // tracks.
-static const char kUnifiedPlanSdpFullString[] =
+const char kUnifiedPlanSdpFullString[] =
     "v=0\r\n"
     "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -559,7 +558,7 @@
 //   there are 0 media stream ids.
 // This Unified Plan SDP represents a SDP that signals the msid using both
 // a=msid and a=ssrc msid semantics.
-static const char kUnifiedPlanSdpFullStringWithSpecialMsid[] =
+const char kUnifiedPlanSdpFullStringWithSpecialMsid[] =
     "v=0\r\n"
     "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -639,7 +638,7 @@
     "a=ssrc:7 msid:- audio_track_id_3\r\n";
 
 // SDP string for unified plan without SSRCs
-static const char kUnifiedPlanSdpFullStringNoSsrc[] =
+const char kUnifiedPlanSdpFullStringNoSsrc[] =
     "v=0\r\n"
     "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n"
     "s=-\r\n"
@@ -733,129 +732,128 @@
 
 // One candidate reference string as per W3c spec.
 // candidate:<blah> not a=candidate:<blah>CRLF
-static const char kRawCandidate[] =
+const char kRawCandidate[] =
     "candidate:a0+B/1 1 udp 2130706432 192.168.1.5 1234 typ host generation 2";
 // One candidate reference string.
-static const char kSdpOneCandidate[] =
+const char kSdpOneCandidate[] =
     "a=candidate:a0+B/1 1 udp 2130706432 192.168.1.5 1234 typ host "
     "generation 2\r\n";
 
-static const char kSdpTcpActiveCandidate[] =
+const char kSdpTcpActiveCandidate[] =
     "candidate:a0+B/1 1 tcp 2130706432 192.168.1.5 9 typ host "
     "tcptype active generation 2";
-static const char kSdpTcpPassiveCandidate[] =
+const char kSdpTcpPassiveCandidate[] =
     "candidate:a0+B/1 1 tcp 2130706432 192.168.1.5 9 typ host "
     "tcptype passive generation 2";
-static const char kSdpTcpSOCandidate[] =
+const char kSdpTcpSOCandidate[] =
     "candidate:a0+B/1 1 tcp 2130706432 192.168.1.5 9 typ host "
     "tcptype so generation 2";
-static const char kSdpTcpInvalidCandidate[] =
+const char kSdpTcpInvalidCandidate[] =
     "candidate:a0+B/1 1 tcp 2130706432 192.168.1.5 9 typ host "
     "tcptype invalid generation 2";
 
 // One candidate reference string with IPV6 address.
-static const char kRawIPV6Candidate[] =
+const char kRawIPV6Candidate[] =
     "candidate:a0+B/1 1 udp 2130706432 "
     "abcd:abcd:abcd:abcd:abcd:abcd:abcd:abcd 1234 typ host generation 2";
 
 // One candidate reference string.
-static const char kSdpOneCandidateWithUfragPwd[] =
+const char kSdpOneCandidateWithUfragPwd[] =
     "a=candidate:a0+B/1 1 udp 2130706432 192.168.1.5 1234 typ host network_name"
     " eth0 ufrag user_rtp pwd password_rtp generation 2\r\n";
 
-static const char kRawHostnameCandidate[] =
+const char kRawHostnameCandidate[] =
     "candidate:a0+B/1 1 udp 2130706432 a.test 1234 typ host generation 2";
 
 // Session id and version
-static const char kSessionId[] = "18446744069414584320";
-static const char kSessionVersion[] = "18446462598732840960";
+const char kSessionId[] = "18446744069414584320";
+const char kSessionVersion[] = "18446462598732840960";
 
 // ICE options.
-static const char kIceOption1[] = "iceoption1";
-static const char kIceOption2[] = "iceoption2";
-static const char kIceOption3[] = "iceoption3";
+const char kIceOption1[] = "iceoption1";
+const char kIceOption2[] = "iceoption2";
+const char kIceOption3[] = "iceoption3";
 
 // ICE ufrags/passwords.
-static const char kUfragVoice[] = "ufrag_voice";
-static const char kPwdVoice[] = "pwd_voice";
-static const char kUfragVideo[] = "ufrag_video";
-static const char kPwdVideo[] = "pwd_video";
-static const char kUfragData[] = "ufrag_data";
-static const char kPwdData[] = "pwd_data";
+const char kUfragVoice[] = "ufrag_voice";
+const char kPwdVoice[] = "pwd_voice";
+const char kUfragVideo[] = "ufrag_video";
+const char kPwdVideo[] = "pwd_video";
+const char kUfragData[] = "ufrag_data";
+const char kPwdData[] = "pwd_data";
 
 // Extra ufrags/passwords for extra unified plan m= sections.
-static const char kUfragVoice2[] = "ufrag_voice_2";
-static const char kPwdVoice2[] = "pwd_voice_2";
-static const char kUfragVoice3[] = "ufrag_voice_3";
-static const char kPwdVoice3[] = "pwd_voice_3";
-static const char kUfragVideo2[] = "ufrag_video_2";
-static const char kPwdVideo2[] = "pwd_video_2";
-static const char kUfragVideo3[] = "ufrag_video_3";
-static const char kPwdVideo3[] = "pwd_video_3";
+const char kUfragVoice2[] = "ufrag_voice_2";
+const char kPwdVoice2[] = "pwd_voice_2";
+const char kUfragVoice3[] = "ufrag_voice_3";
+const char kPwdVoice3[] = "pwd_voice_3";
+const char kUfragVideo2[] = "ufrag_video_2";
+const char kPwdVideo2[] = "pwd_video_2";
+const char kUfragVideo3[] = "ufrag_video_3";
+const char kPwdVideo3[] = "pwd_video_3";
 
 // Content name
-static const char kAudioContentName[] = "audio_content_name";
-static const char kVideoContentName[] = "video_content_name";
-static const char kDataContentName[] = "data_content_name";
+const char kAudioContentName[] = "audio_content_name";
+const char kVideoContentName[] = "video_content_name";
+const char kDataContentName[] = "data_content_name";
 
 // Extra content names for extra unified plan m= sections.
-static const char kAudioContentName2[] = "audio_content_name_2";
-static const char kAudioContentName3[] = "audio_content_name_3";
-static const char kVideoContentName2[] = "video_content_name_2";
-static const char kVideoContentName3[] = "video_content_name_3";
+const char kAudioContentName2[] = "audio_content_name_2";
+const char kAudioContentName3[] = "audio_content_name_3";
+const char kVideoContentName2[] = "video_content_name_2";
+const char kVideoContentName3[] = "video_content_name_3";
 
 // MediaStream 1
-static const char kStreamId1[] = "local_stream_1";
-static const char kStream1Cname[] = "stream_1_cname";
-static const char kAudioTrackId1[] = "audio_track_id_1";
-static const uint32_t kAudioTrack1Ssrc = 1;
-static const char kVideoTrackId1[] = "video_track_id_1";
-static const uint32_t kVideoTrack1Ssrc1 = 2;
-static const uint32_t kVideoTrack1Ssrc2 = 3;
+const char kStreamId1[] = "local_stream_1";
+const char kStream1Cname[] = "stream_1_cname";
+const char kAudioTrackId1[] = "audio_track_id_1";
+const uint32_t kAudioTrack1Ssrc = 1;
+const char kVideoTrackId1[] = "video_track_id_1";
+const uint32_t kVideoTrack1Ssrc1 = 2;
+const uint32_t kVideoTrack1Ssrc2 = 3;
 
 // MediaStream 2
-static const char kStreamId2[] = "local_stream_2";
-static const char kStream2Cname[] = "stream_2_cname";
-static const char kAudioTrackId2[] = "audio_track_id_2";
-static const uint32_t kAudioTrack2Ssrc = 4;
-static const char kVideoTrackId2[] = "video_track_id_2";
-static const uint32_t kVideoTrack2Ssrc = 5;
-static const char kVideoTrackId3[] = "video_track_id_3";
-static const uint32_t kVideoTrack3Ssrc = 6;
-static const char kAudioTrackId3[] = "audio_track_id_3";
-static const uint32_t kAudioTrack3Ssrc = 7;
+const char kStreamId2[] = "local_stream_2";
+const char kStream2Cname[] = "stream_2_cname";
+const char kAudioTrackId2[] = "audio_track_id_2";
+const uint32_t kAudioTrack2Ssrc = 4;
+const char kVideoTrackId2[] = "video_track_id_2";
+const uint32_t kVideoTrack2Ssrc = 5;
+const char kVideoTrackId3[] = "video_track_id_3";
+const uint32_t kVideoTrack3Ssrc = 6;
+const char kAudioTrackId3[] = "audio_track_id_3";
+const uint32_t kAudioTrack3Ssrc = 7;
 
 // Candidate
-static const char kDummyMid[] = "dummy_mid";
-static const int kDummyIndex = 123;
+const char kDummyMid[] = "dummy_mid";
+const int kDummyIndex = 123;
 
 // Misc
-static SdpType kDummyType = SdpType::kOffer;
+SdpType kDummyType = SdpType::kOffer;
 
 // Helper functions
 
-static bool SdpDeserialize(const std::string& message,
-                           JsepSessionDescription* jdesc) {
+bool SdpDeserialize(const std::string& message, JsepSessionDescription* jdesc) {
   return SdpDeserialize(message, jdesc, nullptr);
 }
 
 // Add some extra `newlines` to the `message` after `line`.
-static void InjectAfter(const std::string& line,
-                        const std::string& newlines,
-                        std::string* message) {
+void InjectAfter(const std::string& line,
+                 const std::string& newlines,
+                 std::string* message) {
   absl::StrReplaceAll({{line, line + newlines}}, message);
 }
 
-static void Replace(const std::string& line,
-                    const std::string& newlines,
-                    std::string* message) {
+void Replace(const std::string& line,
+             const std::string& newlines,
+             std::string* message) {
   absl::StrReplaceAll({{line, newlines}}, message);
 }
 
 // Expect a parse failure on the line containing `bad_part` when attempting to
 // parse `bad_sdp`.
-static void ExpectParseFailure(const std::string& bad_sdp,
-                               const std::string& bad_part) {
+void ExpectParseFailure(const std::string& bad_sdp,
+                        const std::string& bad_part) {
   JsepSessionDescription desc(kDummyType);
   SdpParseError error;
   bool ret = SdpDeserialize(bad_sdp, &desc, &error);
@@ -865,23 +863,22 @@
 }
 
 // Expect fail to parse kSdpFullString if replace `good_part` with `bad_part`.
-static void ExpectParseFailure(const char* good_part, const char* bad_part) {
+void ExpectParseFailure(const char* good_part, const char* bad_part) {
   std::string bad_sdp = kSdpFullString;
   Replace(good_part, bad_part, &bad_sdp);
   ExpectParseFailure(bad_sdp, bad_part);
 }
 
 // Expect fail to parse kSdpFullString if add `newlines` after `injectpoint`.
-static void ExpectParseFailureWithNewLines(const std::string& injectpoint,
-                                           const std::string& newlines,
-                                           const std::string& bad_part) {
+void ExpectParseFailureWithNewLines(const std::string& injectpoint,
+                                    const std::string& newlines,
+                                    const std::string& bad_part) {
   std::string bad_sdp = kSdpFullString;
   InjectAfter(injectpoint, newlines, &bad_sdp);
   ExpectParseFailure(bad_sdp, bad_part);
 }
 
-static void ReplaceDirection(RtpTransceiverDirection direction,
-                             std::string* message) {
+void ReplaceDirection(RtpTransceiverDirection direction, std::string* message) {
   std::string new_direction;
   switch (direction) {
     case RtpTransceiverDirection::kInactive:
@@ -905,9 +902,9 @@
   Replace("a=sendrecv", new_direction, message);
 }
 
-static void ReplaceRejected(bool audio_rejected,
-                            bool video_rejected,
-                            std::string* message) {
+void ReplaceRejected(bool audio_rejected,
+                     bool video_rejected,
+                     std::string* message) {
   if (audio_rejected) {
     Replace("m=audio 9", "m=audio 0", message);
     Replace(kAttributeIceUfragVoice, "", message);
@@ -920,17 +917,16 @@
   }
 }
 
-static TransportDescription MakeTransportDescription(std::string ufrag,
-                                                     std::string pwd) {
+TransportDescription MakeTransportDescription(std::string ufrag,
+                                              std::string pwd) {
   SSLFingerprint fingerprint(DIGEST_SHA_1, kIdentityDigest);
   return TransportDescription(std::vector<std::string>(), ufrag, pwd,
                               ICEMODE_FULL, CONNECTIONROLE_NONE, &fingerprint);
 }
 
-static std::unique_ptr<IceCandidate> NewCandidate(
-    absl::string_view sdp,
-    absl::string_view mid = kDummyMid,
-    int index = kDummyIndex) {
+std::unique_ptr<IceCandidate> NewCandidate(absl::string_view sdp,
+                                           absl::string_view mid = kDummyMid,
+                                           int index = kDummyIndex) {
   return IceCandidate::Create(mid, index, sdp);
 }
 
diff --git a/pc/webrtc_session_description_factory.cc b/pc/webrtc_session_description_factory.cc
index 0309b88..2c59f9e 100644
--- a/pc/webrtc_session_description_factory.cc
+++ b/pc/webrtc_session_description_factory.cc
@@ -46,16 +46,15 @@
 
 namespace webrtc {
 namespace {
-static const char kFailedDueToIdentityFailed[] =
+const char kFailedDueToIdentityFailed[] =
     " failed because DTLS identity request failed";
-static const char kFailedDueToSessionShutdown[] =
+const char kFailedDueToSessionShutdown[] =
     " failed because the session was shut down";
 
-static const uint64_t kInitSessionVersion = 2;
+const uint64_t kInitSessionVersion = 2;
 
 // Check that each sender has a unique ID.
-static bool ValidMediaSessionOptions(
-    const MediaSessionOptions& session_options) {
+bool ValidMediaSessionOptions(const MediaSessionOptions& session_options) {
   std::vector<SenderOptions> sorted_senders;
   for (const MediaDescriptionOptions& media_description_options :
        session_options.media_description_options) {
diff --git a/rtc_base/boringssl_certificate.cc b/rtc_base/boringssl_certificate.cc
index 7423886..a4f919f 100644
--- a/rtc_base/boringssl_certificate.cc
+++ b/rtc_base/boringssl_certificate.cc
@@ -43,41 +43,39 @@
 
 // List of OIDs of signature algorithms accepted by WebRTC.
 // Taken from openssl/nid.h.
-static const uint8_t kMD5WithRSA[] = {0x2b, 0x0e, 0x03, 0x02, 0x03};
-static const uint8_t kMD5WithRSAEncryption[] = {0x2a, 0x86, 0x48, 0x86, 0xf7,
-                                                0x0d, 0x01, 0x01, 0x04};
-static const uint8_t kECDSAWithSHA1[] = {0x2a, 0x86, 0x48, 0xce,
-                                         0x3d, 0x04, 0x01};
-static const uint8_t kDSAWithSHA1[] = {0x2a, 0x86, 0x48, 0xce,
-                                       0x38, 0x04, 0x03};
-static const uint8_t kDSAWithSHA1_2[] = {0x2b, 0x0e, 0x03, 0x02, 0x1b};
-static const uint8_t kSHA1WithRSA[] = {0x2b, 0x0e, 0x03, 0x02, 0x1d};
-static const uint8_t kSHA1WithRSAEncryption[] = {0x2a, 0x86, 0x48, 0x86, 0xf7,
-                                                 0x0d, 0x01, 0x01, 0x05};
-static const uint8_t kECDSAWithSHA224[] = {0x2a, 0x86, 0x48, 0xce,
-                                           0x3d, 0x04, 0x03, 0x01};
-static const uint8_t kSHA224WithRSAEncryption[] = {0x2a, 0x86, 0x48, 0x86, 0xf7,
-                                                   0x0d, 0x01, 0x01, 0x0e};
-static const uint8_t kDSAWithSHA224[] = {0x60, 0x86, 0x48, 0x01, 0x65,
-                                         0x03, 0x04, 0x03, 0x01};
-static const uint8_t kECDSAWithSHA256[] = {0x2a, 0x86, 0x48, 0xce,
-                                           0x3d, 0x04, 0x03, 0x02};
-static const uint8_t kSHA256WithRSAEncryption[] = {0x2a, 0x86, 0x48, 0x86, 0xf7,
-                                                   0x0d, 0x01, 0x01, 0x0b};
-static const uint8_t kDSAWithSHA256[] = {0x60, 0x86, 0x48, 0x01, 0x65,
-                                         0x03, 0x04, 0x03, 0x02};
-static const uint8_t kECDSAWithSHA384[] = {0x2a, 0x86, 0x48, 0xce,
-                                           0x3d, 0x04, 0x03, 0x03};
-static const uint8_t kSHA384WithRSAEncryption[] = {0x2a, 0x86, 0x48, 0x86, 0xf7,
-                                                   0x0d, 0x01, 0x01, 0x0c};
-static const uint8_t kECDSAWithSHA512[] = {0x2a, 0x86, 0x48, 0xce,
-                                           0x3d, 0x04, 0x03, 0x04};
-static const uint8_t kSHA512WithRSAEncryption[] = {0x2a, 0x86, 0x48, 0x86, 0xf7,
-                                                   0x0d, 0x01, 0x01, 0x0d};
+const uint8_t kMD5WithRSA[] = {0x2b, 0x0e, 0x03, 0x02, 0x03};
+const uint8_t kMD5WithRSAEncryption[] = {0x2a, 0x86, 0x48, 0x86, 0xf7,
+                                         0x0d, 0x01, 0x01, 0x04};
+const uint8_t kECDSAWithSHA1[] = {0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x01};
+const uint8_t kDSAWithSHA1[] = {0x2a, 0x86, 0x48, 0xce, 0x38, 0x04, 0x03};
+const uint8_t kDSAWithSHA1_2[] = {0x2b, 0x0e, 0x03, 0x02, 0x1b};
+const uint8_t kSHA1WithRSA[] = {0x2b, 0x0e, 0x03, 0x02, 0x1d};
+const uint8_t kSHA1WithRSAEncryption[] = {0x2a, 0x86, 0x48, 0x86, 0xf7,
+                                          0x0d, 0x01, 0x01, 0x05};
+const uint8_t kECDSAWithSHA224[] = {0x2a, 0x86, 0x48, 0xce,
+                                    0x3d, 0x04, 0x03, 0x01};
+const uint8_t kSHA224WithRSAEncryption[] = {0x2a, 0x86, 0x48, 0x86, 0xf7,
+                                            0x0d, 0x01, 0x01, 0x0e};
+const uint8_t kDSAWithSHA224[] = {0x60, 0x86, 0x48, 0x01, 0x65,
+                                  0x03, 0x04, 0x03, 0x01};
+const uint8_t kECDSAWithSHA256[] = {0x2a, 0x86, 0x48, 0xce,
+                                    0x3d, 0x04, 0x03, 0x02};
+const uint8_t kSHA256WithRSAEncryption[] = {0x2a, 0x86, 0x48, 0x86, 0xf7,
+                                            0x0d, 0x01, 0x01, 0x0b};
+const uint8_t kDSAWithSHA256[] = {0x60, 0x86, 0x48, 0x01, 0x65,
+                                  0x03, 0x04, 0x03, 0x02};
+const uint8_t kECDSAWithSHA384[] = {0x2a, 0x86, 0x48, 0xce,
+                                    0x3d, 0x04, 0x03, 0x03};
+const uint8_t kSHA384WithRSAEncryption[] = {0x2a, 0x86, 0x48, 0x86, 0xf7,
+                                            0x0d, 0x01, 0x01, 0x0c};
+const uint8_t kECDSAWithSHA512[] = {0x2a, 0x86, 0x48, 0xce,
+                                    0x3d, 0x04, 0x03, 0x04};
+const uint8_t kSHA512WithRSAEncryption[] = {0x2a, 0x86, 0x48, 0x86, 0xf7,
+                                            0x0d, 0x01, 0x01, 0x0d};
 
 #if !defined(NDEBUG)
 // Print a certificate to the log, for debugging.
-static void PrintCert(BoringSSLCertificate* cert) {
+void PrintCert(BoringSSLCertificate* cert) {
   // Since we're using CRYPTO_BUFFER, we can't use X509_print_ex, so we'll just
   // print the PEM string.
   RTC_DLOG(LS_VERBOSE) << "PEM representation of certificate:\n"
@@ -182,7 +180,7 @@
 
 // Generate a self-signed certificate, with the public key from the
 // given key pair. Caller is responsible for freeing the returned object.
-static bssl::UniquePtr<CRYPTO_BUFFER> MakeCertificate(
+bssl::UniquePtr<CRYPTO_BUFFER> MakeCertificate(
     EVP_PKEY* pkey,
     const SSLIdentityParams& params) {
   RTC_LOG(LS_INFO) << "Making certificate for " << params.common_name;
diff --git a/rtc_base/cpu_info.cc b/rtc_base/cpu_info.cc
index 53cfc58..56aba5e 100644
--- a/rtc_base/cpu_info.cc
+++ b/rtc_base/cpu_info.cc
@@ -121,7 +121,7 @@
       : "a"(info_type));
 }
 #else
-static inline void __cpuid(int cpu_info[4], int info_type) {
+inline void __cpuid(int cpu_info[4], int info_type) {
   __asm__ volatile("cpuid\n"
                    : "=a"(cpu_info[0]), "=b"(cpu_info[1]), "=c"(cpu_info[2]),
                      "=d"(cpu_info[3])
diff --git a/rtc_base/crypto_random.cc b/rtc_base/crypto_random.cc
index c14315c..072fd5e 100644
--- a/rtc_base/crypto_random.cc
+++ b/rtc_base/crypto_random.cc
@@ -61,17 +61,17 @@
 };
 
 // TODO: Use Base64::Base64Table instead.
-static const char kBase64[64] = {
-    'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
-    'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
-    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
-    'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
-    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'};
+const char kBase64[64] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K',
+                          'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
+                          'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g',
+                          'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r',
+                          's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2',
+                          '3', '4', '5', '6', '7', '8', '9', '+', '/'};
 
-static const char kHex[16] = {'0', '1', '2', '3', '4', '5', '6', '7',
-                              '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
+const char kHex[16] = {'0', '1', '2', '3', '4', '5', '6', '7',
+                       '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
 
-static const char kUuidDigit17[4] = {'8', '9', 'a', 'b'};
+const char kUuidDigit17[4] = {'8', '9', 'a', 'b'};
 
 // Lock for the global random generator, only needed to serialize changing the
 // generator.
diff --git a/rtc_base/event_tracer.cc b/rtc_base/event_tracer.cc
index f42ee2c..464300c 100644
--- a/rtc_base/event_tracer.cc
+++ b/rtc_base/event_tracer.cc
@@ -111,7 +111,7 @@
 namespace {
 
 // Atomic-int fast path for avoiding logging when disabled.
-static std::atomic<int> g_event_logging_active(0);
+std::atomic<int> g_event_logging_active(0);
 
 // TODO(pbos): Log metadata for all threads, etc.
 class EventLogger final {
@@ -354,8 +354,8 @@
   bool output_file_owned_ = false;
 };
 
-static std::atomic<EventLogger*> g_event_logger(nullptr);
-static const char* const kDisabledTracePrefix = TRACE_DISABLED_BY_DEFAULT("");
+std::atomic<EventLogger*> g_event_logger(nullptr);
+const char* const kDisabledTracePrefix = TRACE_DISABLED_BY_DEFAULT("");
 const unsigned char* InternalGetCategoryEnabled(const char* name) {
   const char* prefix_ptr = &kDisabledTracePrefix[0];
   const char* name_ptr = name;
diff --git a/rtc_base/numerics/safe_compare_unittest.cc b/rtc_base/numerics/safe_compare_unittest.cc
index 8541ed4..fae4c12 100644
--- a/rtc_base/numerics/safe_compare_unittest.cc
+++ b/rtc_base/numerics/safe_compare_unittest.cc
@@ -29,8 +29,8 @@
 static_assert(static_cast<std::uintmax_t>(m1) == umax, "");
 static_assert(m1 == static_cast<std::intmax_t>(umax), "");
 
-static const std::pair<int, int> p1(1, 1);
-static const std::pair<int, int> p2(1, 2);
+const std::pair<int, int> p1(1, 1);
+const std::pair<int, int> p2(1, 2);
 
 }  // namespace
 
diff --git a/rtc_base/openssl_stream_adapter.cc b/rtc_base/openssl_stream_adapter.cc
index 064117e..7d7466b 100644
--- a/rtc_base/openssl_stream_adapter.cc
+++ b/rtc_base/openssl_stream_adapter.cc
@@ -67,8 +67,7 @@
 
 namespace {
 // Value specified in RFC 5764.
-static constexpr absl::string_view kDtlsSrtpExporterLabel =
-    "EXTRACTOR-dtls_srtp";
+constexpr absl::string_view kDtlsSrtpExporterLabel = "EXTRACTOR-dtls_srtp";
 }  // namespace
 
 namespace webrtc {
diff --git a/rtc_base/physical_socket_server.cc b/rtc_base/physical_socket_server.cc
index fa4e15dd..0844b7f 100644
--- a/rtc_base/physical_socket_server.cc
+++ b/rtc_base/physical_socket_server.cc
@@ -122,7 +122,7 @@
 namespace {
 
 // RFC-3168, Section 5. ECN is the two least significant bits.
-static constexpr uint8_t kEcnMask = 0x03;
+constexpr uint8_t kEcnMask = 0x03;
 
 #if defined(WEBRTC_POSIX)
 
diff --git a/rtc_base/rtc_certificate_unittest.cc b/rtc_base/rtc_certificate_unittest.cc
index 5233a80..9c519ac 100644
--- a/rtc_base/rtc_certificate_unittest.cc
+++ b/rtc_base/rtc_certificate_unittest.cc
@@ -25,7 +25,7 @@
 
 namespace {
 
-static const char* kTestCertCommonName = "RTCCertificateTest's certificate";
+const char* kTestCertCommonName = "RTCCertificateTest's certificate";
 
 }  // namespace
 
diff --git a/rtc_base/ssl_identity_unittest.cc b/rtc_base/ssl_identity_unittest.cc
index 3fd8ac7..ec1a800 100644
--- a/rtc_base/ssl_identity_unittest.cc
+++ b/rtc_base/ssl_identity_unittest.cc
@@ -87,7 +87,7 @@
 // and the update changes the string form of the keys, these will have to be
 // updated too.  The fingerprint, fingerprint algorithm and base64 certificate
 // were created by calling `identity->certificate().GetStats()`.
-static const char kRSA_PRIVATE_KEY_PEM[] =
+const char kRSA_PRIVATE_KEY_PEM[] =
     "-----BEGIN PRI"   // Linebreak to avoid detection of private
     "VATE KEY-----\n"  // keys by linters.
     "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAMQPqDStRlYeDpkX\n"
@@ -105,14 +105,14 @@
     "bhvEzY/fu8gEp+EzsER96/D79az5z1BaMGL5OPM2xHBPJATKlswnAa7Lp3QKGZGk\n"
     "TxslfL18J71s\n"
     "-----END PRIVATE KEY-----\n";
-static const char kRSA_PUBLIC_KEY_PEM[] =
+const char kRSA_PUBLIC_KEY_PEM[] =
     "-----BEGIN PUBLIC KEY-----\n"
     "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDED6g0rUZWHg6ZF3q0Zr/mtZ2j\n"
     "PL0lUmNIBtqZZ656H1YlkVtzEalgvtNtDLCI94T2XkgJ7f8vxS/56+BGuzV3MHUa\n"
     "Nf9cRCu1P3/3I0oNWrp8rxwh8HBXDK99Ryxbx69GYHBcG4CLhSzRJe5CuRzDvQD8\n"
     "9Z7VI3pPAZgY/MjJfQIDAQAB\n"
     "-----END PUBLIC KEY-----\n";
-static const char kRSA_CERT_PEM[] =
+const char kRSA_CERT_PEM[] =
     "-----BEGIN CERTIFICATE-----\n"
     "MIIBnDCCAQWgAwIBAgIJAOEHLgeWYwrpMA0GCSqGSIb3DQEBCwUAMBAxDjAMBgNV\n"
     "BAMMBXRlc3QxMB4XDTE2MDQyNDE4MTAyMloXDTE2MDUyNTE4MTAyMlowEDEOMAwG\n"
@@ -124,11 +124,11 @@
     "yTpU3ixErjQvoZew5ngXTEvTY8BSQUijJEaLWh8n6NDKRbEGTdAk8nPAmq9hdCFq\n"
     "e3UkexqNHm3g/VxG4NUC1Y+w29ai0/Rgh+VvgbDwK+Q=\n"
     "-----END CERTIFICATE-----\n";
-static const char kRSA_FINGERPRINT[] =
+const char kRSA_FINGERPRINT[] =
     "3C:E8:B2:70:09:CF:A9:09:5A:F4:EF:8F:8D:8A:32:FF:EA:04:91:BA:6E:D4:17:78:16"
     ":2A:EE:F9:9A:DD:E2:2B";
-static const char kRSA_FINGERPRINT_ALGORITHM[] = "sha-256";
-static const char kRSA_BASE64_CERTIFICATE[] =
+const char kRSA_FINGERPRINT_ALGORITHM[] = "sha-256";
+const char kRSA_BASE64_CERTIFICATE[] =
     "MIIBnDCCAQWgAwIBAgIJAOEHLgeWYwrpMA0GCSqGSIb3DQEBCwUAMBAxDjAMBgNVBAMMBXRlc3"
     "QxMB4XDTE2MDQyNDE4MTAyMloXDTE2MDUyNTE4MTAyMlowEDEOMAwGA1UEAwwFdGVzdDEwgZ8w"
     "DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMQPqDStRlYeDpkXerRmv+a1naM8vSVSY0gG2plnrn"
@@ -138,19 +138,19 @@
     "i8dxyTpU3ixErjQvoZew5ngXTEvTY8BSQUijJEaLWh8n6NDKRbEGTdAk8nPAmq9hdCFqe3Ukex"
     "qNHm3g/VxG4NUC1Y+w29ai0/Rgh+VvgbDwK+Q=";
 
-static const char kECDSA_PRIVATE_KEY_PEM[] =
+const char kECDSA_PRIVATE_KEY_PEM[] =
     "-----BEGIN PRI"   // Linebreak to avoid detection of private
     "VATE KEY-----\n"  // keys by linters.
     "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg/AkEA2hklq7dQ2rN\n"
     "ZxYL6hOUACL4pn7P4FYlA3ZQhIChRANCAAR7YgdO3utP/8IqVRq8G4VZKreMAxeN\n"
     "rUa12twthv4uFjuHAHa9D9oyAjncmn+xvZZRyVmKrA56jRzENcEEHoAg\n"
     "-----END PRIVATE KEY-----\n";
-static const char kECDSA_PUBLIC_KEY_PEM[] =
+const char kECDSA_PUBLIC_KEY_PEM[] =
     "-----BEGIN PUBLIC KEY-----\n"
     "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEe2IHTt7rT//CKlUavBuFWSq3jAMX\n"
     "ja1GtdrcLYb+LhY7hwB2vQ/aMgI53Jp/sb2WUclZiqwOeo0cxDXBBB6AIA==\n"
     "-----END PUBLIC KEY-----\n";
-static const char kECDSA_CERT_PEM[] =
+const char kECDSA_CERT_PEM[] =
     "-----BEGIN CERTIFICATE-----\n"
     "MIIBFDCBu6ADAgECAgkArpkxjw62sW4wCgYIKoZIzj0EAwIwEDEOMAwGA1UEAwwF\n"
     "dGVzdDMwHhcNMTYwNDI0MTgxNDM4WhcNMTYwNTI1MTgxNDM4WjAQMQ4wDAYDVQQD\n"
@@ -159,11 +159,11 @@
     "gCAwCgYIKoZIzj0EAwIDSAAwRQIhANyreQ/K5yuPPpirsd0e/4WGLHou6bIOSQks\n"
     "DYzo56NmAiAKOr3u8ol3LmygbUCwEvtWrS8QcJDygxHPACo99hkekw==\n"
     "-----END CERTIFICATE-----\n";
-static const char kECDSA_FINGERPRINT[] =
+const char kECDSA_FINGERPRINT[] =
     "9F:47:FA:88:76:3D:18:B8:00:A0:59:9D:C3:5D:34:0B:1F:B8:99:9E:68:DA:F3:A5:DA"
     ":50:33:A9:FF:4D:31:89";
-static const char kECDSA_FINGERPRINT_ALGORITHM[] = "sha-256";
-static const char kECDSA_BASE64_CERTIFICATE[] =
+const char kECDSA_FINGERPRINT_ALGORITHM[] = "sha-256";
+const char kECDSA_BASE64_CERTIFICATE[] =
     "MIIBFDCBu6ADAgECAgkArpkxjw62sW4wCgYIKoZIzj0EAwIwEDEOMAwGA1UEAwwFdGVzdDMwHh"
     "cNMTYwNDI0MTgxNDM4WhcNMTYwNTI1MTgxNDM4WjAQMQ4wDAYDVQQDDAV0ZXN0MzBZMBMGByqG"
     "SM49AgEGCCqGSM49AwEHA0IABHtiB07e60//wipVGrwbhVkqt4wDF42tRrXa3C2G/i4WO4cAdr"
diff --git a/rtc_base/ssl_stream_adapter_unittest.cc b/rtc_base/ssl_stream_adapter_unittest.cc
index e197e9b..f78aaf1 100644
--- a/rtc_base/ssl_stream_adapter_unittest.cc
+++ b/rtc_base/ssl_stream_adapter_unittest.cc
@@ -68,7 +68,7 @@
 using ::testing::WithParamInterface;
 
 // Generated using `openssl genrsa -out key.pem 2048`
-static const char kRSA_PRIVATE_KEY_PEM[] =
+const char kRSA_PRIVATE_KEY_PEM[] =
     "-----BEGIN RSA PRI"  // Linebreak to avoid detection of private
     "VATE KEY-----\n"     // keys by linters.
     "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC4XOJ6agj673j+\n"
@@ -104,7 +104,7 @@
 // `openssl req -new -x509 -key key.pem -out cert.pem -days 365`
 // after setting the machine date to something that will ensure the
 // certificate is expired.
-static const char kCERT_PEM[] =
+const char kCERT_PEM[] =
     "-----BEGIN CERTIFICATE-----\n"
     "MIIDjTCCAnWgAwIBAgIUTkCy4o8+4W/86RYmgWc8FEhWTzYwDQYJKoZIhvcNAQEL\n"
     "BQAwVjELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n"
@@ -129,7 +129,7 @@
     "-----END CERTIFICATE-----\n";
 
 // Google GTS CA 1C3 certificate. Obtained from https://www.webrtc.org
-static const char kIntCert1[] =
+const char kIntCert1[] =
     "-----BEGIN CERTIFICATE-----\n"
     "MIIFljCCA36gAwIBAgINAgO8U1lrNMcY9QFQZjANBgkqhkiG9w0BAQsFADBHMQsw\n"
     "CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU\n"
@@ -164,7 +164,7 @@
     "-----END CERTIFICATE-----\n";
 
 // Google GTS Root R1 certificate. Obtained from https://www.webrtc.org
-static const char kCACert[] =
+const char kCACert[] =
     "-----BEGIN CERTIFICATE-----\n"
     "MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBH\n"
     "MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM\n"
@@ -403,8 +403,8 @@
   BufferQueue buffer_;
 };
 
-static const int kBufferCapacity = 1;
-static const size_t kDefaultBufferSize = 2048;
+const int kBufferCapacity = 1;
+const size_t kDefaultBufferSize = 2048;
 
 class SSLStreamAdapterTestBase : public ::testing::Test,
                                  public sigslot::has_slots<> {
diff --git a/rtc_base/thread_unittest.cc b/rtc_base/thread_unittest.cc
index 24e7106..c01e42a 100644
--- a/rtc_base/thread_unittest.cc
+++ b/rtc_base/thread_unittest.cc
@@ -490,9 +490,8 @@
       IsRtcOk());
 }
 
-static void DelayedPostsWithIdenticalTimesAreProcessedInFifoOrder(
-    FakeClock& clock,
-    Thread& q) {
+void DelayedPostsWithIdenticalTimesAreProcessedInFifoOrder(FakeClock& clock,
+                                                           Thread& q) {
   std::vector<int> run_order;
 
   Event done;
diff --git a/system_wrappers/source/metrics.cc b/system_wrappers/source/metrics.cc
index bf39770..e90d541 100644
--- a/system_wrappers/source/metrics.cc
+++ b/system_wrappers/source/metrics.cc
@@ -197,7 +197,7 @@
 // The histogram getter functions, which return pointer values to the histograms
 // in the map, are cached in WebRTC. Therefore, this memory is not freed by the
 // application (the memory will be reclaimed by the OS).
-static std::atomic<RtcHistogramMap*> g_rtc_histogram_map(nullptr);
+std::atomic<RtcHistogramMap*> g_rtc_histogram_map(nullptr);
 
 void CreateMap() {
   RtcHistogramMap* map = g_rtc_histogram_map.load(std::memory_order_acquire);
@@ -211,7 +211,7 @@
 // Set the first time we start using histograms. Used to make sure Enable() is
 // not called thereafter.
 #if RTC_DCHECK_IS_ON
-static std::atomic<int> g_rtc_histogram_called(0);
+std::atomic<int> g_rtc_histogram_called(0);
 #endif
 
 // Gets the map (or nullptr).
diff --git a/test/network/emulated_turn_server.cc b/test/network/emulated_turn_server.cc
index 98861ae..37e0a42 100644
--- a/test/network/emulated_turn_server.cc
+++ b/test/network/emulated_turn_server.cc
@@ -35,8 +35,8 @@
 
 namespace {
 
-static const char kTestRealm[] = "example.org";
-static const char kTestSoftware[] = "TestTurnServer";
+const char kTestRealm[] = "example.org";
+const char kTestSoftware[] = "TestTurnServer";
 
 // A wrapper class for webrtc::TurnServer to allocate sockets.
 class PacketSocketFactoryWrapper : public webrtc::PacketSocketFactory {
diff --git a/test/scenario/call_client.cc b/test/scenario/call_client.cc
index 4d1aaf6..332facb 100644
--- a/test/scenario/call_client.cc
+++ b/test/scenario/call_client.cc
@@ -56,7 +56,7 @@
 namespace webrtc {
 namespace test {
 namespace {
-static constexpr size_t kNumSsrcs = 6;
+constexpr size_t kNumSsrcs = 6;
 const uint32_t kSendRtxSsrcs[kNumSsrcs] = {0xBADCAFD, 0xBADCAFE, 0xBADCAFF,
                                            0xBADCB00, 0xBADCB01, 0xBADCB02};
 const uint32_t kVideoSendSsrcs[kNumSsrcs] = {0xC0FFED, 0xC0FFEE, 0xC0FFEF,
diff --git a/test/testsupport/ivf_video_frame_generator_unittest.cc b/test/testsupport/ivf_video_frame_generator_unittest.cc
index 05d17bc..fb5ede5 100644
--- a/test/testsupport/ivf_video_frame_generator_unittest.cc
+++ b/test/testsupport/ivf_video_frame_generator_unittest.cc
@@ -59,7 +59,7 @@
 constexpr int kVideoFramesCount = 30;
 constexpr int kMaxFramerate = 30;
 constexpr TimeDelta kMaxFrameEncodeWaitTimeout = TimeDelta::Seconds(2);
-static const VideoEncoder::Capabilities kCapabilities(false);
+const VideoEncoder::Capabilities kCapabilities(false);
 
 #if defined(WEBRTC_ANDROID) || defined(WEBRTC_IOS) || defined(WEBRTC_ARCH_ARM64)
 constexpr double kExpectedMinPsnr = 35;
diff --git a/video/config/encoder_stream_factory.cc b/video/config/encoder_stream_factory.cc
index aab3870..21eef9a 100644
--- a/video/config/encoder_stream_factory.cc
+++ b/video/config/encoder_stream_factory.cc
@@ -90,9 +90,7 @@
 
 // The selected thresholds for QVGA and VGA corresponded to a QP around 10.
 // The change in QP declined above the selected bitrates.
-static int GetMaxDefaultVideoBitrateKbps(int width,
-                                         int height,
-                                         bool is_screenshare) {
+int GetMaxDefaultVideoBitrateKbps(int width, int height, bool is_screenshare) {
   int max_bitrate;
   if (width * height <= 320 * 240) {
     max_bitrate = 600;
diff --git a/video/corruption_detection/frame_pair_corruption_score.cc b/video/corruption_detection/frame_pair_corruption_score.cc
index a6d21c2..fb7679f 100644
--- a/video/corruption_detection/frame_pair_corruption_score.cc
+++ b/video/corruption_detection/frame_pair_corruption_score.cc
@@ -28,7 +28,7 @@
 
 constexpr float kDefaultSampleFraction = 0.5;
 
-}
+}  // namespace
 
 FramePairCorruptionScorer::FramePairCorruptionScorer(
     absl::string_view codec_name,
diff --git a/video/corruption_detection/halton_sequence.cc b/video/corruption_detection/halton_sequence.cc
index c416473..4285b2e 100644
--- a/video/corruption_detection/halton_sequence.cc
+++ b/video/corruption_detection/halton_sequence.cc
@@ -18,7 +18,7 @@
 namespace webrtc {
 namespace {
 
-static constexpr int kMaxDimensions = 5;
+constexpr int kMaxDimensions = 5;
 const int kBases[kMaxDimensions] = {2, 3, 5, 7, 11};
 
 double GetVanDerCorputSequenceElement(int sequence_idx, int base) {
diff --git a/video/encoder_overshoot_detector.cc b/video/encoder_overshoot_detector.cc
index b31b6be..f464d2d 100644
--- a/video/encoder_overshoot_detector.cc
+++ b/video/encoder_overshoot_detector.cc
@@ -26,7 +26,7 @@
 // The buffer level for media-rate utilization is allowed to go below zero,
 // down to
 // -(`kMaxMediaUnderrunFrames` / `target_framerate_fps_`) * `target_bitrate_`.
-static constexpr double kMaxMediaUnderrunFrames = 5.0;
+constexpr double kMaxMediaUnderrunFrames = 5.0;
 }  // namespace
 
 EncoderOvershootDetector::EncoderOvershootDetector(int64_t window_size_ms,
diff --git a/video/encoder_overshoot_detector_unittest.cc b/video/encoder_overshoot_detector_unittest.cc
index 2dc8e4f..ab2a4ab 100644
--- a/video/encoder_overshoot_detector_unittest.cc
+++ b/video/encoder_overshoot_detector_unittest.cc
@@ -31,7 +31,7 @@
 using ::testing::TestWithParam;
 using ::testing::ValuesIn;
 
-static std::string CodecTypeToHistogramSuffix(VideoCodecType codec) {
+std::string CodecTypeToHistogramSuffix(VideoCodecType codec) {
   switch (codec) {
     case kVideoCodecVP8:
       return "Vp8";
diff --git a/video/end_to_end_tests/network_state_tests.cc b/video/end_to_end_tests/network_state_tests.cc
index 08bffba..d41df83 100644
--- a/video/end_to_end_tests/network_state_tests.cc
+++ b/video/end_to_end_tests/network_state_tests.cc
@@ -46,7 +46,7 @@
 namespace webrtc {
 namespace {
 constexpr int kSilenceTimeoutMs = 2000;
-}
+}  // namespace
 
 class NetworkStateEndToEndTest : public test::CallTest {
  protected:
diff --git a/video/full_stack_tests.cc b/video/full_stack_tests.cc
index f8c809c..6ae6e6e 100644
--- a/video/full_stack_tests.cc
+++ b/video/full_stack_tests.cc
@@ -49,7 +49,7 @@
 namespace webrtc {
 
 namespace {
-static const int kFullStackTestDurationSecs = 45;
+const int kFullStackTestDurationSecs = 45;
 
 struct ParamsWithLogging : public VideoQualityTest::Params {
  public:
diff --git a/video/rtp_video_stream_receiver2.cc b/video/rtp_video_stream_receiver2.cc
index 2fccb60..66d2135 100644
--- a/video/rtp_video_stream_receiver2.cc
+++ b/video/rtp_video_stream_receiver2.cc
@@ -185,7 +185,7 @@
                                           callback, clock);
 }
 
-static const int kPacketLogIntervalMs = 10000;
+const int kPacketLogIntervalMs = 10000;
 
 }  // namespace
 
diff --git a/video/video_send_stream_impl.cc b/video/video_send_stream_impl.cc
index 40fb3b2..8607af2 100644
--- a/video/video_send_stream_impl.cc
+++ b/video/video_send_stream_impl.cc
@@ -85,9 +85,9 @@
 namespace {
 
 // Max positive size difference to treat allocations as "similar".
-static constexpr int kMaxVbaSizeDifferencePercent = 10;
+constexpr int kMaxVbaSizeDifferencePercent = 10;
 // Max time we will throttle similar video bitrate allocations.
-static constexpr int64_t kMaxVbaThrottleTimeMs = 500;
+constexpr int64_t kMaxVbaThrottleTimeMs = 500;
 
 constexpr TimeDelta kEncoderTimeOut = TimeDelta::Seconds(2);
 
@@ -102,7 +102,7 @@
 // bandwidth rampup with less risk of overshoots causing adverse effects like
 // packet loss. Not used for receive side BWE, since there we lack the probing
 // feature and so may result in too slow initial rampup.
-static constexpr double kStrictPacingMultiplier = 1.1;
+constexpr double kStrictPacingMultiplier = 1.1;
 
 bool TransportSeqNumExtensionConfigured(const VideoSendStream::Config& config) {
   const std::vector<RtpExtension>& extensions = config.rtp.extensions;
diff --git a/video/video_stream_buffer_controller.cc b/video/video_stream_buffer_controller.cc
index 93bb147..ff77863 100644
--- a/video/video_stream_buffer_controller.cc
+++ b/video/video_stream_buffer_controller.cc
@@ -46,13 +46,13 @@
 namespace {
 
 // Max number of frames the buffer will hold.
-static constexpr size_t kMaxFramesBuffered = 800;
+constexpr size_t kMaxFramesBuffered = 800;
 // Max number of decoded frame info that will be saved.
-static constexpr int kMaxFramesHistory = 1 << 13;
+constexpr int kMaxFramesHistory = 1 << 13;
 
 // Default value for the maximum decode queue size that is used when the
 // low-latency renderer is used.
-static constexpr size_t kZeroPlayoutDelayDefaultMaxDecodeQueueSize = 8;
+constexpr size_t kZeroPlayoutDelayDefaultMaxDecodeQueueSize = 8;
 
 struct FrameMetadata {
   explicit FrameMetadata(const EncodedFrame& frame)