diff --git a/AUTHORS b/AUTHORS
index c37a03a..74b1fae 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -122,6 +122,7 @@
 Microsoft Corporation <*@microsoft.com>
 MIPS Technologies <*@mips.com>
 Mozilla Foundation <*@mozilla.com>
+Netgem S.A. <*@netgem.com>
 NVIDIA Corporation <*@nvidia.com>
 Opera Software ASA <*@opera.com>
 Optical Tone Ltd <*@opticaltone.com>
diff --git a/api/adaptation/BUILD.gn b/api/adaptation/BUILD.gn
index dc4c737..2cba5f4 100644
--- a/api/adaptation/BUILD.gn
+++ b/api/adaptation/BUILD.gn
@@ -16,6 +16,7 @@
   ]
   deps = [
     "../../api:scoped_refptr",
+    "../../rtc_base:checks",
     "../../rtc_base:refcount",
     "../../rtc_base:rtc_base_approved",
     "../../rtc_base/system:rtc_export",
diff --git a/api/adaptation/resource.cc b/api/adaptation/resource.cc
index 0a9c83a..c6a7e32 100644
--- a/api/adaptation/resource.cc
+++ b/api/adaptation/resource.cc
@@ -10,6 +10,8 @@
 
 #include "api/adaptation/resource.h"
 
+#include "rtc_base/checks.h"
+
 namespace webrtc {
 
 const char* ResourceUsageStateToString(ResourceUsageState usage_state) {
@@ -19,6 +21,7 @@
     case ResourceUsageState::kUnderuse:
       return "kUnderuse";
   }
+  RTC_CHECK(false);
 }
 
 ResourceListener::~ResourceListener() {}
diff --git a/api/rtp_parameters.cc b/api/rtp_parameters.cc
index 57aa784..f22ed67 100644
--- a/api/rtp_parameters.cc
+++ b/api/rtp_parameters.cc
@@ -30,6 +30,7 @@
     case DegradationPreference::BALANCED:
       return "balanced";
   }
+  RTC_CHECK(false);
 }
 
 const double kDefaultBitratePriority = 1.0;
diff --git a/api/video_codecs/video_codec.cc b/api/video_codecs/video_codec.cc
index 490eced..ecc5699 100644
--- a/api/video_codecs/video_codec.cc
+++ b/api/video_codecs/video_codec.cc
@@ -120,6 +120,7 @@
     case kVideoCodecGeneric:
       return kPayloadNameGeneric;
   }
+  RTC_CHECK(false);
 }
 
 VideoCodecType PayloadStringToCodecType(const std::string& name) {
diff --git a/api/video_codecs/video_encoder_software_fallback_wrapper.cc b/api/video_codecs/video_encoder_software_fallback_wrapper.cc
index 54f4731..bb97d30 100644
--- a/api/video_codecs/video_encoder_software_fallback_wrapper.cc
+++ b/api/video_codecs/video_encoder_software_fallback_wrapper.cc
@@ -162,6 +162,7 @@
       case EncoderState::kForcedFallback:
         return fallback_encoder_.get();
     }
+    RTC_CHECK(false);
   }
 
   // Updates encoder with last observed parameters, such as callbacks, rates,
@@ -345,7 +346,9 @@
     case EncoderState::kForcedFallback:
       return fallback_encoder_->Encode(frame, frame_types);
   }
+  RTC_CHECK(false);
 }
+
 int32_t VideoEncoderSoftwareFallbackWrapper::EncodeWithMainEncoder(
     const VideoFrame& frame,
     const std::vector<VideoFrameType>* frame_types) {
diff --git a/call/adaptation/video_stream_adapter.cc b/call/adaptation/video_stream_adapter.cc
index 272fb6d..b79d217 100644
--- a/call/adaptation/video_stream_adapter.cc
+++ b/call/adaptation/video_stream_adapter.cc
@@ -162,6 +162,7 @@
     case Status::kRejectedByConstraint:
       return "kRejectedByConstraint";
   }
+  RTC_CHECK(false);
 }
 
 Adaptation::Adaptation(int validation_id,
@@ -381,6 +382,7 @@
     case DegradationPreference::DISABLED:
       return Adaptation::Status::kAdaptationDisabled;
   }
+  RTC_CHECK(false);
 }
 
 Adaptation VideoStreamAdapter::GetAdaptationDown() {
@@ -460,6 +462,7 @@
     case DegradationPreference::DISABLED:
       return Adaptation::Status::kAdaptationDisabled;
   }
+  RTC_CHECK(false);
 }
 
 VideoStreamAdapter::RestrictionsOrState VideoStreamAdapter::DecreaseResolution(
@@ -597,9 +600,8 @@
       return RestrictionsOrStateToAdaptation(
           GetAdaptDownResolutionStepForBalanced(input_state), input_state);
     }
-    default:
-      RTC_NOTREACHED();
   }
+  RTC_CHECK(false);
 }
 
 VideoStreamAdapter::RestrictionsOrState
diff --git a/call/simulated_network.cc b/call/simulated_network.cc
index 2ed9140..86e2712 100644
--- a/call/simulated_network.cc
+++ b/call/simulated_network.cc
@@ -77,6 +77,7 @@
       }
       return false;
   }
+  RTC_CHECK(false);
 }
 
 SimulatedNetwork::SimulatedNetwork(Config config, uint64_t random_seed)
diff --git a/call/video_send_stream.cc b/call/video_send_stream.cc
index a4b6744..d3e3694 100644
--- a/call/video_send_stream.cc
+++ b/call/video_send_stream.cc
@@ -28,6 +28,7 @@
     case VideoSendStream::StreamStats::StreamType::kFlexfec:
       return "flexfec";
   }
+  RTC_CHECK(false);
 }
 
 }  // namespace
diff --git a/media/base/rtp_utils.cc b/media/base/rtp_utils.cc
index 4a2b326..0d18c1e 100644
--- a/media/base/rtp_utils.cc
+++ b/media/base/rtp_utils.cc
@@ -323,6 +323,7 @@
     case RtpPacketType::kUnknown:
       return "Unknown";
   }
+  RTC_CHECK(false);
 }
 
 RtpPacketType InferRtpPacketType(rtc::ArrayView<const char> packet) {
diff --git a/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc b/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc
index f09f63b..2d9c3e1 100644
--- a/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc
+++ b/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc
@@ -42,6 +42,7 @@
       return vad_level.peak_dbfs;
       break;
   }
+  RTC_CHECK(false);
 }
 
 }  // namespace
diff --git a/modules/audio_processing/audio_processing_impl.cc b/modules/audio_processing/audio_processing_impl.cc
index 849a0feb..33f2188 100644
--- a/modules/audio_processing/audio_processing_impl.cc
+++ b/modules/audio_processing/audio_processing_impl.cc
@@ -114,6 +114,7 @@
     case Agc1Config::kFixedDigital:
       return GainControl::kFixedDigital;
   }
+  RTC_CHECK(false);
 }
 
 // Maximum lengths that frame of samples being passed from the render side to
@@ -1825,9 +1826,8 @@
               return NsConfig::SuppressionLevel::k18dB;
             case NoiseSuppresionConfig::kVeryHigh:
               return NsConfig::SuppressionLevel::k21dB;
-            default:
-              RTC_NOTREACHED();
           }
+          RTC_CHECK(false);
         };
 
     NsConfig cfg;
diff --git a/modules/audio_processing/include/audio_processing.cc b/modules/audio_processing/include/audio_processing.cc
index 3e5f6ed..1053642 100644
--- a/modules/audio_processing/include/audio_processing.cc
+++ b/modules/audio_processing/include/audio_processing.cc
@@ -31,6 +31,7 @@
     case AudioProcessing::Config::NoiseSuppression::Level::kVeryHigh:
       return "VeryHigh";
   }
+  RTC_CHECK(false);
 }
 
 std::string GainController1ModeToString(const Agc1Config::Mode& mode) {
@@ -42,6 +43,7 @@
     case Agc1Config::Mode::kFixedDigital:
       return "FixedDigital";
   }
+  RTC_CHECK(false);
 }
 
 std::string GainController2LevelEstimatorToString(
@@ -52,6 +54,7 @@
     case Agc2Config::LevelEstimator::kPeak:
       return "Peak";
   }
+  RTC_CHECK(false);
 }
 
 int GetDefaultMaxInternalRate() {
diff --git a/modules/pacing/pacing_controller.cc b/modules/pacing/pacing_controller.cc
index 133c97f..bef0d2f 100644
--- a/modules/pacing/pacing_controller.cc
+++ b/modules/pacing/pacing_controller.cc
@@ -84,6 +84,7 @@
       // BWE high.
       return kFirstPriority + 4;
   }
+  RTC_CHECK(false);
 }
 
 }  // namespace
diff --git a/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc b/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
index 724ad8c..b44322b 100644
--- a/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
+++ b/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
@@ -37,6 +37,7 @@
     case kVideoCodecMultiplex:
       return std::make_unique<VideoRtpDepacketizerGeneric>();
   }
+  RTC_CHECK(false);
 }
 
 }  // namespace webrtc
diff --git a/modules/rtp_rtcp/source/rtp_sender.cc b/modules/rtp_rtcp/source/rtp_sender.cc
index b72110e..3d1b381 100644
--- a/modules/rtp_rtcp/source/rtp_sender.cc
+++ b/modules/rtp_rtcp/source/rtp_sender.cc
@@ -128,6 +128,7 @@
       RTC_NOTREACHED();
       return false;
   }
+  RTC_CHECK(false);
 }
 
 bool HasBweExtension(const RtpHeaderExtensionMap& extensions_map) {
diff --git a/modules/rtp_rtcp/source/rtp_sender_audio.cc b/modules/rtp_rtcp/source/rtp_sender_audio.cc
index 2ff1df6..16a1130 100644
--- a/modules/rtp_rtcp/source/rtp_sender_audio.cc
+++ b/modules/rtp_rtcp/source/rtp_sender_audio.cc
@@ -46,6 +46,7 @@
     case AudioFrameType::kAudioFrameCN:
       return "audio_cn";
   }
+  RTC_CHECK(false);
 }
 #endif
 
diff --git a/modules/video_coding/codecs/vp8/temporal_layers_checker.cc b/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
index 53a68bd..540cfa3 100644
--- a/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
+++ b/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
@@ -29,6 +29,7 @@
       // Conference mode temporal layering for screen content in base stream.
       return std::make_unique<TemporalLayersChecker>(num_temporal_layers);
   }
+  RTC_CHECK(false);
 }
 
 TemporalLayersChecker::TemporalLayersChecker(int num_temporal_layers)
diff --git a/pc/dtls_transport.cc b/pc/dtls_transport.cc
index f0882de..844063d 100644
--- a/pc/dtls_transport.cc
+++ b/pc/dtls_transport.cc
@@ -31,6 +31,7 @@
     case cricket::DTLS_TRANSPORT_FAILED:
       return DtlsTransportState::kFailed;
   }
+  RTC_CHECK(false);
 }
 
 }  // namespace
diff --git a/pc/media_session.cc b/pc/media_session.cc
index 558cf32..6e9a7c1 100644
--- a/pc/media_session.cc
+++ b/pc/media_session.cc
@@ -1818,6 +1818,7 @@
     case RtpTransceiverDirection::kRecvOnly:
       return audio_recv_codecs_;
   }
+  RTC_CHECK(false);
 }
 
 const AudioCodecs& MediaSessionDescriptionFactory::GetAudioCodecsForAnswer(
@@ -1836,6 +1837,7 @@
     case RtpTransceiverDirection::kRecvOnly:
       return audio_recv_codecs_;
   }
+  RTC_CHECK(false);
 }
 
 const VideoCodecs& MediaSessionDescriptionFactory::GetVideoCodecsForOffer(
@@ -1851,6 +1853,7 @@
     case RtpTransceiverDirection::kRecvOnly:
       return video_recv_codecs_;
   }
+  RTC_CHECK(false);
 }
 
 const VideoCodecs& MediaSessionDescriptionFactory::GetVideoCodecsForAnswer(
@@ -1869,6 +1872,7 @@
     case RtpTransceiverDirection::kRecvOnly:
       return video_recv_codecs_;
   }
+  RTC_CHECK(false);
 }
 
 void MergeCodecsFromDescription(
diff --git a/pc/rtc_stats_collector.cc b/pc/rtc_stats_collector.cc
index 159ae7f..6f14e1e 100644
--- a/pc/rtc_stats_collector.cc
+++ b/pc/rtc_stats_collector.cc
@@ -216,6 +216,7 @@
     case QualityLimitationReason::kOther:
       return RTCQualityLimitationReason::kOther;
   }
+  RTC_CHECK(false);
 }
 
 double DoubleAudioLevelFromIntAudioLevel(int audio_level) {
diff --git a/rtc_base/network_monitor.cc b/rtc_base/network_monitor.cc
index b22618a..ba6b1b4 100644
--- a/rtc_base/network_monitor.cc
+++ b/rtc_base/network_monitor.cc
@@ -10,6 +10,8 @@
 
 #include "rtc_base/network_monitor.h"
 
+#include "rtc_base/checks.h"
+
 namespace rtc {
 
 const char* NetworkPreferenceToString(NetworkPreference preference) {
@@ -19,6 +21,7 @@
     case NetworkPreference::NOT_PREFERRED:
       return "NOT_PREFERRED";
   }
+  RTC_CHECK(false);
 }
 
 NetworkMonitorInterface::NetworkMonitorInterface() {}
diff --git a/video/adaptation/video_stream_encoder_resource_manager.cc b/video/adaptation/video_stream_encoder_resource_manager.cc
index b0b6488..f7cf155 100644
--- a/video/adaptation/video_stream_encoder_resource_manager.cc
+++ b/video/adaptation/video_stream_encoder_resource_manager.cc
@@ -55,6 +55,7 @@
     case VideoAdaptationReason::kCpu:
       return "cpu";
   }
+  RTC_CHECK(false);
 }
 
 }  // namespace
