diff --git a/audio/channel_receive_frame_transformer_delegate.cc b/audio/channel_receive_frame_transformer_delegate.cc
index c9e8a8b..c9865cb 100644
--- a/audio/channel_receive_frame_transformer_delegate.cc
+++ b/audio/channel_receive_frame_transformer_delegate.cc
@@ -79,7 +79,7 @@
 
 void ChannelReceiveFrameTransformerDelegate::OnTransformedFrame(
     std::unique_ptr<TransformableFrameInterface> frame) {
-  rtc::scoped_refptr<ChannelReceiveFrameTransformerDelegate> delegate = this;
+  rtc::scoped_refptr<ChannelReceiveFrameTransformerDelegate> delegate(this);
   channel_receive_thread_->PostTask(ToQueuedTask(
       [delegate = std::move(delegate), frame = std::move(frame)]() mutable {
         delegate->ReceiveFrame(std::move(frame));
diff --git a/audio/channel_send_frame_transformer_delegate.cc b/audio/channel_send_frame_transformer_delegate.cc
index eee4cd0..29bb0b8 100644
--- a/audio/channel_send_frame_transformer_delegate.cc
+++ b/audio/channel_send_frame_transformer_delegate.cc
@@ -102,7 +102,7 @@
   MutexLock lock(&send_lock_);
   if (!send_frame_callback_)
     return;
-  rtc::scoped_refptr<ChannelSendFrameTransformerDelegate> delegate = this;
+  rtc::scoped_refptr<ChannelSendFrameTransformerDelegate> delegate(this);
   encoder_queue_->PostTask(
       [delegate = std::move(delegate), frame = std::move(frame)]() mutable {
         delegate->SendFrame(std::move(frame));
diff --git a/modules/audio_coding/acm2/audio_coding_module_unittest.cc b/modules/audio_coding/acm2/audio_coding_module_unittest.cc
index f6e9e47..7ddb3ed 100644
--- a/modules/audio_coding/acm2/audio_coding_module_unittest.cc
+++ b/modules/audio_coding/acm2/audio_coding_module_unittest.cc
@@ -1540,9 +1540,9 @@
   const auto opus_decoder =
       AudioDecoderMultiChannelOpus::MakeAudioDecoder(*decoder_config);
 
-  rtc::scoped_refptr<AudioDecoderFactory> decoder_factory =
+  rtc::scoped_refptr<AudioDecoderFactory> decoder_factory(
       new rtc::RefCountedObject<test::AudioDecoderProxyFactory>(
-          opus_decoder.get());
+          opus_decoder.get()));
 
   // Set up an EXTERNAL DECODER to parse 4 channels.
   Run(AcmReceiverBitExactnessOldApi::PlatformChecksum(  // audio checksum
diff --git a/modules/audio_device/win/audio_device_core_win.cc b/modules/audio_device/win/audio_device_core_win.cc
index 6365d9f..096e49c 100644
--- a/modules/audio_device/win/audio_device_core_win.cc
+++ b/modules/audio_device/win/audio_device_core_win.cc
@@ -343,33 +343,33 @@
 // ----------------------------------------------------------------------------
 
 AudioDeviceWindowsCore::AudioDeviceWindowsCore()
-    : _avrtLibrary(NULL),
+    : _avrtLibrary(nullptr),
       _winSupportAvrt(false),
       _comInit(ScopedCOMInitializer::kMTA),
-      _ptrAudioBuffer(NULL),
-      _ptrEnumerator(NULL),
-      _ptrRenderCollection(NULL),
-      _ptrCaptureCollection(NULL),
-      _ptrDeviceOut(NULL),
-      _ptrDeviceIn(NULL),
-      _ptrClientOut(NULL),
-      _ptrClientIn(NULL),
-      _ptrRenderClient(NULL),
-      _ptrCaptureClient(NULL),
-      _ptrCaptureVolume(NULL),
-      _ptrRenderSimpleVolume(NULL),
-      _dmo(NULL),
-      _mediaBuffer(NULL),
+      _ptrAudioBuffer(nullptr),
+      _ptrEnumerator(nullptr),
+      _ptrRenderCollection(nullptr),
+      _ptrCaptureCollection(nullptr),
+      _ptrDeviceOut(nullptr),
+      _ptrDeviceIn(nullptr),
+      _ptrClientOut(nullptr),
+      _ptrClientIn(nullptr),
+      _ptrRenderClient(nullptr),
+      _ptrCaptureClient(nullptr),
+      _ptrCaptureVolume(nullptr),
+      _ptrRenderSimpleVolume(nullptr),
+      _dmo(nullptr),
+      _mediaBuffer(nullptr),
       _builtInAecEnabled(false),
-      _hRenderSamplesReadyEvent(NULL),
-      _hPlayThread(NULL),
-      _hRenderStartedEvent(NULL),
-      _hShutdownRenderEvent(NULL),
-      _hCaptureSamplesReadyEvent(NULL),
-      _hRecThread(NULL),
-      _hCaptureStartedEvent(NULL),
-      _hShutdownCaptureEvent(NULL),
-      _hMmTask(NULL),
+      _hRenderSamplesReadyEvent(nullptr),
+      _hPlayThread(nullptr),
+      _hRenderStartedEvent(nullptr),
+      _hShutdownRenderEvent(nullptr),
+      _hCaptureSamplesReadyEvent(nullptr),
+      _hRecThread(nullptr),
+      _hCaptureStartedEvent(nullptr),
+      _hShutdownCaptureEvent(nullptr),
+      _hMmTask(nullptr),
       _playAudioFrameSize(0),
       _playSampleRate(0),
       _playBlockSize(0),
