diff --git a/modules/audio_mixer/audio_mixer_impl_unittest.cc b/modules/audio_mixer/audio_mixer_impl_unittest.cc
index 61aa74e..4087748 100644
--- a/modules/audio_mixer/audio_mixer_impl_unittest.cc
+++ b/modules/audio_mixer/audio_mixer_impl_unittest.cc
@@ -126,8 +126,8 @@
   const int rate_;
 };
 
-// Creates participants from |frames| and |frame_info| and adds them
-// to the mixer. Compares mixed status with |expected_status|
+// Creates participants from `frames` and `frame_info` and adds them
+// to the mixer. Compares mixed status with `expected_status`
 void MixAndCompare(
     const std::vector<AudioFrame>& frames,
     const std::vector<AudioMixer::Source::AudioFrameInfo>& frame_info,
@@ -343,7 +343,7 @@
   for (int i = 0; i < kAudioSources; ++i) {
     ResetFrame(participants[i].fake_frame());
     // Set the participant audio energy to increase with the index
-    // |i|.
+    // `i`.
     participants[i].fake_frame()->mutable_data()[0] = 100 * i;
   }
 
diff --git a/modules/audio_mixer/default_output_rate_calculator.h b/modules/audio_mixer/default_output_rate_calculator.h
index a7aaf68..02a3b5c 100644
--- a/modules/audio_mixer/default_output_rate_calculator.h
+++ b/modules/audio_mixer/default_output_rate_calculator.h
@@ -24,8 +24,8 @@
 
   // Produces the least native rate greater or equal to the preferred
   // sample rates. A native rate is one in
-  // AudioProcessing::NativeRate. If |preferred_sample_rates| is
-  // empty, returns |kDefaultFrequency|.
+  // AudioProcessing::NativeRate. If `preferred_sample_rates` is
+  // empty, returns `kDefaultFrequency`.
   int CalculateOutputRateFromRange(
       rtc::ArrayView<const int> preferred_sample_rates) override;
   ~DefaultOutputRateCalculator() override {}
