diff --git a/modules/audio_processing/aecm/aecm_core.cc b/modules/audio_processing/aecm/aecm_core.cc
index 0e0b6ff..5809154 100644
--- a/modules/audio_processing/aecm/aecm_core.cc
+++ b/modules/audio_processing/aecm/aecm_core.cc
@@ -24,6 +24,7 @@
 }
 
 #include "webrtc/rtc_base/checks.h"
+#include "webrtc/rtc_base/safe_conversions.h"
 #include "webrtc/typedefs.h"
 
 #ifdef AEC_DEBUG
@@ -927,8 +928,8 @@
             {
                 // We need to shift down before multiplication
                 shiftChFar = 32 - zerosCh - zerosFar;
-                tmpU32no1 = (aecm->channelAdapt32[i] >> shiftChFar) *
-                    far_spectrum[i];
+                tmpU32no1 = rtc::dchecked_cast<uint32_t>(
+                    aecm->channelAdapt32[i] >> shiftChFar) * far_spectrum[i];
             }
             // Determine Q-domain of numerator
             zerosNum = WebRtcSpl_NormU32(tmpU32no1);
diff --git a/modules/pacing/alr_detector.cc b/modules/pacing/alr_detector.cc
index 7d62b21..6873210 100644
--- a/modules/pacing/alr_detector.cc
+++ b/modules/pacing/alr_detector.cc
@@ -67,8 +67,9 @@
 
 void AlrDetector::SetEstimatedBitrate(int bitrate_bps) {
   RTC_DCHECK(bitrate_bps);
-  alr_budget_.set_target_rate_kbps(bitrate_bps * bandwidth_usage_percent_ /
-                                   (1000 * 100));
+  const auto target_rate_kbps = int64_t{bitrate_bps} *
+                                bandwidth_usage_percent_ / (1000 * 100);
+  alr_budget_.set_target_rate_kbps(rtc::dchecked_cast<int>(target_rate_kbps));
 }
 
 rtc::Optional<int64_t> AlrDetector::GetApplicationLimitedRegionStartTime()
diff --git a/modules/rtp_rtcp/source/rtp_sender.cc b/modules/rtp_rtcp/source/rtp_sender.cc
index 8608759..6fd7600 100644
--- a/modules/rtp_rtcp/source/rtp_sender.cc
+++ b/modules/rtp_rtcp/source/rtp_sender.cc
@@ -936,7 +936,7 @@
     return;
 
   uint32_t ssrc;
-  int avg_delay_ms = 0;
+  int64_t avg_delay_ms = 0;
   int max_delay_ms = 0;
   {
     rtc::CritScope lock(&send_critsect_);
@@ -962,8 +962,8 @@
       return;
     avg_delay_ms = (avg_delay_ms + num_delays / 2) / num_delays;
   }
-  send_side_delay_observer_->SendSideDelayUpdated(avg_delay_ms, max_delay_ms,
-                                                  ssrc);
+  send_side_delay_observer_->SendSideDelayUpdated(
+      rtc::dchecked_cast<int>(avg_delay_ms), max_delay_ms, ssrc);
 }
 
 void RTPSender::UpdateOnSendPacket(int packet_id,
