Make UBSan warnings fatal and fix the existing ones

The warnings were (all signed integer overflow):
webrtc/common_audio/signal_processing/levinson_durbin.c:46:25
12 * 268435456 cannot be represented in type 'int'
webrtc/modules/audio_processing/aecm/aecm_core.cc:930:69
522240 * 6115 cannot be represented in type 'int'
webrtc/modules/audio_processing/aecm/aecm_core_c.cc:455:36
72293096 * 50 cannot be represented in type 'int'
webrtc/modules/pacing/alr_detector.cc:70:48
1000000000 * 65 cannot be represented in type 'int'
webrtc/modules/rtp_rtcp/source/rtp_sender.cc:947:20
1929277286 + 321546521 cannot be represented in type 'int'

BUG=webrtc:8195

Review-Url: https://codereview.webrtc.org/3005003002
Cr-Original-Commit-Position: refs/heads/master@{#19670}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: ba09f79ba31c543d0dcf3a6d824992685087005a
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,