Use std::make_unique instead of absl::make_unique.

WebRTC is now using C++14 so there is no need to use the Abseil version
of std::make_unique.

This CL has been created with the following steps:

git grep -l absl::make_unique | sort | uniq > /tmp/make_unique.txt
git grep -l absl::WrapUnique | sort | uniq > /tmp/wrap_unique.txt
git grep -l "#include <memory>" | sort | uniq > /tmp/memory.txt

diff --new-line-format="" --unchanged-line-format="" \
  /tmp/make_unique.txt /tmp/wrap_unique.txt | sort | \
  uniq > /tmp/only_make_unique.txt
diff --new-line-format="" --unchanged-line-format="" \
  /tmp/only_make_unique.txt /tmp/memory.txt | \
  xargs grep -l "absl/memory" > /tmp/add-memory.txt

git grep -l "\babsl::make_unique\b" | \
  xargs sed -i "s/\babsl::make_unique\b/std::make_unique/g"

git checkout PRESUBMIT.py abseil-in-webrtc.md

cat /tmp/add-memory.txt | \
  xargs sed -i \
  's/#include "absl\/memory\/memory.h"/#include <memory>/g'
git cl format
# Manual fix order of the new inserted #include <memory>

cat /tmp/only_make_unique | xargs grep -l "#include <memory>" | \
  xargs sed -i '/#include "absl\/memory\/memory.h"/d'

git ls-files | grep BUILD.gn | \
  xargs sed -i '/\/\/third_party\/abseil-cpp\/absl\/memory/d'

python tools_webrtc/gn_check_autofix.py \
  -m tryserver.webrtc -b linux_rel

# Repead the gn_check_autofix step for other platforms

git ls-files | grep BUILD.gn | \
  xargs sed -i 's/absl\/memory:memory/absl\/memory/g'
git cl format

Bug: webrtc:10945
Change-Id: I3fe28ea80f4dd3ba3cf28effd151d5e1f19aff89
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153221
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29209}
diff --git a/api/BUILD.gn b/api/BUILD.gn
index cc092ef..f6885f2 100644
--- a/api/BUILD.gn
+++ b/api/BUILD.gn
@@ -59,7 +59,6 @@
       "audio_codecs:audio_codecs_api",
       "task_queue:default_task_queue_factory",
       "video_codecs:video_codecs_api",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 }
@@ -372,7 +371,6 @@
     ":video_quality_test_fixture_api",
     "../rtc_base:checks",
     "../rtc_base:thread_checker",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -390,7 +388,6 @@
       ":scoped_refptr",
       ":video_quality_test_fixture_api",
       "../video:video_quality_test",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -404,7 +401,6 @@
     deps = [
       ":network_emulation_manager_api",
       "../test/network:emulated_network",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -421,7 +417,6 @@
       ":peer_connection_quality_test_fixture_api",
       ":video_quality_analyzer_api",
       "../test/pc/e2e:peerconnection_quality_test",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 }
@@ -581,7 +576,6 @@
     "../rtc_base",
     "../rtc_base/system:rtc_export",
     "rtc_event_log:rtc_event_log",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -633,7 +627,6 @@
         "../rtc_base:checks",
         "//third_party/abseil-cpp/absl/flags:flag",
         "//third_party/abseil-cpp/absl/flags:parse",
-        "//third_party/abseil-cpp/absl/memory",
         "//third_party/abseil-cpp/absl/strings",
       ]
     }
@@ -659,7 +652,6 @@
       "../modules/video_coding:simulcast_test_fixture_impl",
       "../rtc_base:rtc_base_approved",
       "video_codecs:video_codecs_api",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -693,7 +685,6 @@
       "../modules/video_coding:videocodec_test_impl",
       "../rtc_base:rtc_base_approved",
       "video_codecs:video_codecs_api",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -901,7 +892,6 @@
       "transport:datagram_transport_interface",
       "transport/media:media_transport_interface",
       "//third_party/abseil-cpp/absl/algorithm:container",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -919,7 +909,6 @@
       "transport:datagram_transport_interface",
       "transport/media:media_transport_interface",
       "//third_party/abseil-cpp/absl/algorithm:container",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -954,7 +943,6 @@
       "task_queue:task_queue_default_factory_unittests",
       "units:units_unittests",
       "video:video_unittests",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
diff --git a/api/audio/BUILD.gn b/api/audio/BUILD.gn
index deff5b7..ffc47a9 100644
--- a/api/audio/BUILD.gn
+++ b/api/audio/BUILD.gn
@@ -80,7 +80,6 @@
     "../../modules/audio_processing/aec3",
     "../../rtc_base:rtc_base_approved",
     "../../rtc_base/system:rtc_export",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
diff --git a/api/audio/echo_canceller3_factory.cc b/api/audio/echo_canceller3_factory.cc
index bb795c9..cff75de 100644
--- a/api/audio/echo_canceller3_factory.cc
+++ b/api/audio/echo_canceller3_factory.cc
@@ -11,7 +11,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "modules/audio_processing/aec3/echo_canceller3.h"
 
 namespace webrtc {
@@ -22,9 +21,9 @@
     : config_(config) {}
 
 std::unique_ptr<EchoControl> EchoCanceller3Factory::Create(int sample_rate_hz) {
-  return absl::make_unique<EchoCanceller3>(config_, sample_rate_hz,
-                                           /*num_render_channels=*/1,
-                                           /*num_capture_channels=*/1);
+  return std::make_unique<EchoCanceller3>(config_, sample_rate_hz,
+                                          /*num_render_channels=*/1,
+                                          /*num_capture_channels=*/1);
 }
 
 }  // namespace webrtc
diff --git a/api/audio_codecs/L16/BUILD.gn b/api/audio_codecs/L16/BUILD.gn
index 34ec2e4..dff62a0 100644
--- a/api/audio_codecs/L16/BUILD.gn
+++ b/api/audio_codecs/L16/BUILD.gn
@@ -25,7 +25,6 @@
     "../../../rtc_base:rtc_base_approved",
     "../../../rtc_base:safe_minmax",
     "../../../rtc_base/system:rtc_export",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
@@ -43,7 +42,6 @@
     "../../../modules/audio_coding:pcm16b",
     "../../../rtc_base:rtc_base_approved",
     "../../../rtc_base/system:rtc_export",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
diff --git a/api/audio_codecs/L16/audio_decoder_L16.cc b/api/audio_codecs/L16/audio_decoder_L16.cc
index be0c6b5..57c9e76 100644
--- a/api/audio_codecs/L16/audio_decoder_L16.cc
+++ b/api/audio_codecs/L16/audio_decoder_L16.cc
@@ -10,7 +10,8 @@
 
 #include "api/audio_codecs/L16/audio_decoder_L16.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "absl/strings/match.h"
 #include "modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.h"
 #include "modules/audio_coding/codecs/pcm16b/pcm16b_common.h"
@@ -36,7 +37,7 @@
 std::unique_ptr<AudioDecoder> AudioDecoderL16::MakeAudioDecoder(
     const Config& config,
     absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
-  return config.IsOk() ? absl::make_unique<AudioDecoderPcm16B>(
+  return config.IsOk() ? std::make_unique<AudioDecoderPcm16B>(
                              config.sample_rate_hz, config.num_channels)
                        : nullptr;
 }
diff --git a/api/audio_codecs/L16/audio_encoder_L16.cc b/api/audio_codecs/L16/audio_encoder_L16.cc
index 1bb552b..507c8d7 100644
--- a/api/audio_codecs/L16/audio_encoder_L16.cc
+++ b/api/audio_codecs/L16/audio_encoder_L16.cc
@@ -10,7 +10,8 @@
 
 #include "api/audio_codecs/L16/audio_encoder_L16.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "absl/strings/match.h"
 #include "modules/audio_coding/codecs/pcm16b/audio_encoder_pcm16b.h"
 #include "modules/audio_coding/codecs/pcm16b/pcm16b_common.h"
@@ -63,7 +64,7 @@
   c.num_channels = config.num_channels;
   c.frame_size_ms = config.frame_size_ms;
   c.payload_type = payload_type;
-  return absl::make_unique<AudioEncoderPcm16B>(c);
+  return std::make_unique<AudioEncoderPcm16B>(c);
 }
 
 }  // namespace webrtc
diff --git a/api/audio_codecs/g711/BUILD.gn b/api/audio_codecs/g711/BUILD.gn
index 3b8f23c..ebcc249 100644
--- a/api/audio_codecs/g711/BUILD.gn
+++ b/api/audio_codecs/g711/BUILD.gn
@@ -25,7 +25,6 @@
     "../../../rtc_base:rtc_base_approved",
     "../../../rtc_base:safe_minmax",
     "../../../rtc_base/system:rtc_export",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
@@ -43,7 +42,6 @@
     "../../../modules/audio_coding:g711",
     "../../../rtc_base:rtc_base_approved",
     "../../../rtc_base/system:rtc_export",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
diff --git a/api/audio_codecs/g711/audio_decoder_g711.cc b/api/audio_codecs/g711/audio_decoder_g711.cc
index 91599c4..57e3741 100644
--- a/api/audio_codecs/g711/audio_decoder_g711.cc
+++ b/api/audio_codecs/g711/audio_decoder_g711.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "modules/audio_coding/codecs/g711/audio_decoder_pcm.h"
 #include "rtc_base/numerics/safe_conversions.h"
@@ -49,9 +48,9 @@
   RTC_DCHECK(config.IsOk());
   switch (config.type) {
     case Config::Type::kPcmU:
-      return absl::make_unique<AudioDecoderPcmU>(config.num_channels);
+      return std::make_unique<AudioDecoderPcmU>(config.num_channels);
     case Config::Type::kPcmA:
-      return absl::make_unique<AudioDecoderPcmA>(config.num_channels);
+      return std::make_unique<AudioDecoderPcmA>(config.num_channels);
     default:
       return nullptr;
   }
diff --git a/api/audio_codecs/g711/audio_encoder_g711.cc b/api/audio_codecs/g711/audio_encoder_g711.cc
index f40cd6e..ab95ad4 100644
--- a/api/audio_codecs/g711/audio_encoder_g711.cc
+++ b/api/audio_codecs/g711/audio_encoder_g711.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "modules/audio_coding/codecs/g711/audio_encoder_pcm.h"
 #include "rtc_base/numerics/safe_conversions.h"
@@ -70,14 +69,14 @@
       impl_config.num_channels = config.num_channels;
       impl_config.frame_size_ms = config.frame_size_ms;
       impl_config.payload_type = payload_type;
-      return absl::make_unique<AudioEncoderPcmU>(impl_config);
+      return std::make_unique<AudioEncoderPcmU>(impl_config);
     }
     case Config::Type::kPcmA: {
       AudioEncoderPcmA::Config impl_config;
       impl_config.num_channels = config.num_channels;
       impl_config.frame_size_ms = config.frame_size_ms;
       impl_config.payload_type = payload_type;
-      return absl::make_unique<AudioEncoderPcmA>(impl_config);
+      return std::make_unique<AudioEncoderPcmA>(impl_config);
     }
     default: {
       return nullptr;
diff --git a/api/audio_codecs/g722/BUILD.gn b/api/audio_codecs/g722/BUILD.gn
index e4321d2..ccb4801 100644
--- a/api/audio_codecs/g722/BUILD.gn
+++ b/api/audio_codecs/g722/BUILD.gn
@@ -33,7 +33,6 @@
     "../../../rtc_base:rtc_base_approved",
     "../../../rtc_base:safe_minmax",
     "../../../rtc_base/system:rtc_export",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
@@ -51,7 +50,6 @@
     "../../../modules/audio_coding:g722",
     "../../../rtc_base:rtc_base_approved",
     "../../../rtc_base/system:rtc_export",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
diff --git a/api/audio_codecs/g722/audio_decoder_g722.cc b/api/audio_codecs/g722/audio_decoder_g722.cc
index 2cc16c3..29b6d5d 100644
--- a/api/audio_codecs/g722/audio_decoder_g722.cc
+++ b/api/audio_codecs/g722/audio_decoder_g722.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "modules/audio_coding/codecs/g722/audio_decoder_g722.h"
 #include "rtc_base/numerics/safe_conversions.h"
@@ -40,9 +39,9 @@
     absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
   switch (config.num_channels) {
     case 1:
-      return absl::make_unique<AudioDecoderG722Impl>();
+      return std::make_unique<AudioDecoderG722Impl>();
     case 2:
-      return absl::make_unique<AudioDecoderG722StereoImpl>();
+      return std::make_unique<AudioDecoderG722StereoImpl>();
     default:
       return nullptr;
   }
diff --git a/api/audio_codecs/g722/audio_encoder_g722.cc b/api/audio_codecs/g722/audio_encoder_g722.cc
index 6374ae8..12c1746 100644
--- a/api/audio_codecs/g722/audio_encoder_g722.cc
+++ b/api/audio_codecs/g722/audio_encoder_g722.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "modules/audio_coding/codecs/g722/audio_encoder_g722.h"
 #include "rtc_base/numerics/safe_conversions.h"
@@ -62,7 +61,7 @@
     int payload_type,
     absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
   RTC_DCHECK(config.IsOk());
-  return absl::make_unique<AudioEncoderG722Impl>(config, payload_type);
+  return std::make_unique<AudioEncoderG722Impl>(config, payload_type);
 }
 
 }  // namespace webrtc
diff --git a/api/audio_codecs/ilbc/BUILD.gn b/api/audio_codecs/ilbc/BUILD.gn
index d766fa4..559ae2b 100644
--- a/api/audio_codecs/ilbc/BUILD.gn
+++ b/api/audio_codecs/ilbc/BUILD.gn
@@ -32,7 +32,6 @@
     "../../../modules/audio_coding:ilbc",
     "../../../rtc_base:rtc_base_approved",
     "../../../rtc_base:safe_minmax",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
@@ -49,7 +48,6 @@
     "..:audio_codecs_api",
     "../../../modules/audio_coding:ilbc",
     "../../../rtc_base:rtc_base_approved",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
diff --git a/api/audio_codecs/ilbc/audio_decoder_ilbc.cc b/api/audio_codecs/ilbc/audio_decoder_ilbc.cc
index 4a00f8d..d0aae90 100644
--- a/api/audio_codecs/ilbc/audio_decoder_ilbc.cc
+++ b/api/audio_codecs/ilbc/audio_decoder_ilbc.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "modules/audio_coding/codecs/ilbc/audio_decoder_ilbc.h"
 
@@ -35,7 +34,7 @@
 std::unique_ptr<AudioDecoder> AudioDecoderIlbc::MakeAudioDecoder(
     Config config,
     absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
-  return absl::make_unique<AudioDecoderIlbcImpl>();
+  return std::make_unique<AudioDecoderIlbcImpl>();
 }
 
 }  // namespace webrtc
diff --git a/api/audio_codecs/ilbc/audio_encoder_ilbc.cc b/api/audio_codecs/ilbc/audio_encoder_ilbc.cc
index 896ed23..bd653b7 100644
--- a/api/audio_codecs/ilbc/audio_encoder_ilbc.cc
+++ b/api/audio_codecs/ilbc/audio_encoder_ilbc.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "modules/audio_coding/codecs/ilbc/audio_encoder_ilbc.h"
 #include "rtc_base/numerics/safe_conversions.h"
@@ -76,7 +75,7 @@
     int payload_type,
     absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
   RTC_DCHECK(config.IsOk());
-  return absl::make_unique<AudioEncoderIlbcImpl>(config, payload_type);
+  return std::make_unique<AudioEncoderIlbcImpl>(config, payload_type);
 }
 
 }  // namespace webrtc
diff --git a/api/audio_codecs/isac/BUILD.gn b/api/audio_codecs/isac/BUILD.gn
index c7d6e43..d558d20 100644
--- a/api/audio_codecs/isac/BUILD.gn
+++ b/api/audio_codecs/isac/BUILD.gn
@@ -79,7 +79,6 @@
     "..:audio_codecs_api",
     "../../../modules/audio_coding:isac_fix",
     "../../../rtc_base:rtc_base_approved",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
@@ -96,7 +95,6 @@
     "..:audio_codecs_api",
     "../../../modules/audio_coding:isac_fix",
     "../../../rtc_base:rtc_base_approved",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
@@ -114,7 +112,6 @@
     "../../../modules/audio_coding:isac",
     "../../../rtc_base:rtc_base_approved",
     "../../../rtc_base/system:rtc_export",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
@@ -132,7 +129,6 @@
     "../../../modules/audio_coding:isac",
     "../../../rtc_base:rtc_base_approved",
     "../../../rtc_base/system:rtc_export",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
diff --git a/api/audio_codecs/isac/audio_decoder_isac_fix.cc b/api/audio_codecs/isac/audio_decoder_isac_fix.cc
index 0e2d6bc..21d0da3 100644
--- a/api/audio_codecs/isac/audio_decoder_isac_fix.cc
+++ b/api/audio_codecs/isac/audio_decoder_isac_fix.cc
@@ -10,7 +10,8 @@
 
 #include "api/audio_codecs/isac/audio_decoder_isac_fix.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "absl/strings/match.h"
 #include "modules/audio_coding/codecs/isac/fix/include/audio_decoder_isacfix.h"
 
@@ -34,7 +35,7 @@
     absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
   AudioDecoderIsacFixImpl::Config c;
   c.sample_rate_hz = 16000;
-  return absl::make_unique<AudioDecoderIsacFixImpl>(c);
+  return std::make_unique<AudioDecoderIsacFixImpl>(c);
 }
 
 }  // namespace webrtc
diff --git a/api/audio_codecs/isac/audio_decoder_isac_float.cc b/api/audio_codecs/isac/audio_decoder_isac_float.cc
index ec774eb..4efc2ea 100644
--- a/api/audio_codecs/isac/audio_decoder_isac_float.cc
+++ b/api/audio_codecs/isac/audio_decoder_isac_float.cc
@@ -10,7 +10,8 @@
 
 #include "api/audio_codecs/isac/audio_decoder_isac_float.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "absl/strings/match.h"
 #include "modules/audio_coding/codecs/isac/main/include/audio_decoder_isac.h"
 
@@ -41,7 +42,7 @@
   RTC_DCHECK(config.IsOk());
   AudioDecoderIsacFloatImpl::Config c;
   c.sample_rate_hz = config.sample_rate_hz;
-  return absl::make_unique<AudioDecoderIsacFloatImpl>(c);
+  return std::make_unique<AudioDecoderIsacFloatImpl>(c);
 }
 
 }  // namespace webrtc
diff --git a/api/audio_codecs/isac/audio_encoder_isac_fix.cc b/api/audio_codecs/isac/audio_encoder_isac_fix.cc
index a10d1ee..7bcb78e 100644
--- a/api/audio_codecs/isac/audio_encoder_isac_fix.cc
+++ b/api/audio_codecs/isac/audio_encoder_isac_fix.cc
@@ -10,7 +10,8 @@
 
 #include "api/audio_codecs/isac/audio_encoder_isac_fix.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "absl/strings/match.h"
 #include "modules/audio_coding/codecs/isac/fix/include/audio_encoder_isacfix.h"
 #include "rtc_base/string_to_number.h"
@@ -56,7 +57,7 @@
   AudioEncoderIsacFixImpl::Config c;
   c.frame_size_ms = config.frame_size_ms;
   c.payload_type = payload_type;
-  return absl::make_unique<AudioEncoderIsacFixImpl>(c);
+  return std::make_unique<AudioEncoderIsacFixImpl>(c);
 }
 
 }  // namespace webrtc
diff --git a/api/audio_codecs/isac/audio_encoder_isac_float.cc b/api/audio_codecs/isac/audio_encoder_isac_float.cc
index 37982b1..6f684c8 100644
--- a/api/audio_codecs/isac/audio_encoder_isac_float.cc
+++ b/api/audio_codecs/isac/audio_encoder_isac_float.cc
@@ -10,7 +10,8 @@
 
 #include "api/audio_codecs/isac/audio_encoder_isac_float.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "absl/strings/match.h"
 #include "modules/audio_coding/codecs/isac/main/include/audio_encoder_isac.h"
 #include "rtc_base/string_to_number.h"
@@ -70,7 +71,7 @@
   c.sample_rate_hz = config.sample_rate_hz;
   c.frame_size_ms = config.frame_size_ms;
   c.bit_rate = config.bit_rate;
-  return absl::make_unique<AudioEncoderIsacFloatImpl>(c);
+  return std::make_unique<AudioEncoderIsacFloatImpl>(c);
 }
 
 }  // namespace webrtc
diff --git a/api/audio_codecs/opus/BUILD.gn b/api/audio_codecs/opus/BUILD.gn
index 01a4884..35c3cbf 100644
--- a/api/audio_codecs/opus/BUILD.gn
+++ b/api/audio_codecs/opus/BUILD.gn
@@ -72,7 +72,6 @@
     "../../../modules/audio_coding:webrtc_opus",
     "../../../rtc_base:rtc_base_approved",
     "../../../rtc_base/system:rtc_export",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
diff --git a/api/audio_codecs/opus/audio_decoder_opus.cc b/api/audio_codecs/opus/audio_decoder_opus.cc
index 82bb1b2..6b4e0d3 100644
--- a/api/audio_codecs/opus/audio_decoder_opus.cc
+++ b/api/audio_codecs/opus/audio_decoder_opus.cc
@@ -14,7 +14,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "modules/audio_coding/codecs/opus/audio_decoder_opus.h"
 
@@ -73,8 +72,8 @@
     Config config,
     absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
   RTC_DCHECK(config.IsOk());
-  return absl::make_unique<AudioDecoderOpusImpl>(config.num_channels,
-                                                 config.sample_rate_hz);
+  return std::make_unique<AudioDecoderOpusImpl>(config.num_channels,
+                                                config.sample_rate_hz);
 }
 
 }  // namespace webrtc
diff --git a/api/audio_codecs/test/BUILD.gn b/api/audio_codecs/test/BUILD.gn
index cc7a4d9..61234f5 100644
--- a/api/audio_codecs/test/BUILD.gn
+++ b/api/audio_codecs/test/BUILD.gn
@@ -38,7 +38,6 @@
       "../isac:audio_encoder_isac_float",
       "../opus:audio_decoder_opus",
       "../opus:audio_encoder_opus",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 }
diff --git a/api/audio_codecs/test/audio_decoder_factory_template_unittest.cc b/api/audio_codecs/test/audio_decoder_factory_template_unittest.cc
index fc7cc7f..0e2e8c2 100644
--- a/api/audio_codecs/test/audio_decoder_factory_template_unittest.cc
+++ b/api/audio_codecs/test/audio_decoder_factory_template_unittest.cc
@@ -10,7 +10,8 @@
 
 #include "api/audio_codecs/audio_decoder_factory_template.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/audio_codecs/L16/audio_decoder_L16.h"
 #include "api/audio_codecs/g711/audio_decoder_g711.h"
 #include "api/audio_codecs/g722/audio_decoder_g722.h"
@@ -65,7 +66,7 @@
   static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
       const Config&,
       absl::optional<AudioCodecPairId> /*codec_pair_id*/ = absl::nullopt) {
-    auto dec = absl::make_unique<testing::StrictMock<MockAudioDecoder>>();
+    auto dec = std::make_unique<testing::StrictMock<MockAudioDecoder>>();
     EXPECT_CALL(*dec, SampleRateHz())
         .WillOnce(::testing::Return(Params::CodecInfo().sample_rate_hz));
     EXPECT_CALL(*dec, Die());
diff --git a/api/audio_codecs/test/audio_encoder_factory_template_unittest.cc b/api/audio_codecs/test/audio_encoder_factory_template_unittest.cc
index b1a5a51..95ea855 100644
--- a/api/audio_codecs/test/audio_encoder_factory_template_unittest.cc
+++ b/api/audio_codecs/test/audio_encoder_factory_template_unittest.cc
@@ -10,7 +10,8 @@
 
 #include "api/audio_codecs/audio_encoder_factory_template.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/audio_codecs/L16/audio_encoder_L16.h"
 #include "api/audio_codecs/g711/audio_encoder_g711.h"
 #include "api/audio_codecs/g722/audio_encoder_g722.h"
@@ -66,7 +67,7 @@
       const Config&,
       int payload_type,
       absl::optional<AudioCodecPairId> /*codec_pair_id*/ = absl::nullopt) {
-    auto enc = absl::make_unique<testing::StrictMock<MockAudioEncoder>>();
+    auto enc = std::make_unique<testing::StrictMock<MockAudioEncoder>>();
     EXPECT_CALL(*enc, SampleRateHz())
         .WillOnce(::testing::Return(Params::CodecInfo().sample_rate_hz));
     return std::move(enc);
diff --git a/api/create_peerconnection_factory.cc b/api/create_peerconnection_factory.cc
index ff08ec8..6223150 100644
--- a/api/create_peerconnection_factory.cc
+++ b/api/create_peerconnection_factory.cc
@@ -10,9 +10,9 @@
 
 #include "api/create_peerconnection_factory.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/call/call_factory_interface.h"
 #include "api/peer_connection_interface.h"
 #include "api/rtc_event_log/rtc_event_log_factory.h"
@@ -43,7 +43,7 @@
   dependencies.signaling_thread = signaling_thread;
   dependencies.task_queue_factory = CreateDefaultTaskQueueFactory();
   dependencies.call_factory = CreateCallFactory();
-  dependencies.event_log_factory = absl::make_unique<RtcEventLogFactory>(
+  dependencies.event_log_factory = std::make_unique<RtcEventLogFactory>(
       dependencies.task_queue_factory.get());
 
   cricket::MediaEngineDependencies media_dependencies;
diff --git a/api/ice_transport_factory.cc b/api/ice_transport_factory.cc
index 1fb917d..c32d7d2 100644
--- a/api/ice_transport_factory.cc
+++ b/api/ice_transport_factory.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "p2p/base/ice_transport_internal.h"
 #include "p2p/base/p2p_transport_channel.h"
 #include "p2p/base/port_allocator.h"
@@ -59,7 +58,7 @@
 rtc::scoped_refptr<IceTransportInterface> CreateIceTransport(
     IceTransportInit init) {
   return new rtc::RefCountedObject<IceTransportWithTransportChannel>(
-      absl::make_unique<cricket::P2PTransportChannel>(
+      std::make_unique<cricket::P2PTransportChannel>(
           "", 0, init.port_allocator(), init.async_resolver_factory(),
           init.event_log()));
 }
diff --git a/api/rtc_event_log/BUILD.gn b/api/rtc_event_log/BUILD.gn
index c04ca64..e420190 100644
--- a/api/rtc_event_log/BUILD.gn
+++ b/api/rtc_event_log/BUILD.gn
@@ -37,7 +37,6 @@
     ":rtc_event_log",
     "../../rtc_base:checks",
     "../task_queue",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 
   if (rtc_enable_protobuf) {
diff --git a/api/rtc_event_log/rtc_event_log_factory.cc b/api/rtc_event_log/rtc_event_log_factory.cc
index da03e93..f88997b 100644
--- a/api/rtc_event_log/rtc_event_log_factory.cc
+++ b/api/rtc_event_log/rtc_event_log_factory.cc
@@ -10,9 +10,9 @@
 
 #include "api/rtc_event_log/rtc_event_log_factory.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/checks.h"
 
 #ifdef ENABLE_RTC_EVENT_LOG
@@ -29,9 +29,9 @@
 std::unique_ptr<RtcEventLog> RtcEventLogFactory::CreateRtcEventLog(
     RtcEventLog::EncodingType encoding_type) {
 #ifdef ENABLE_RTC_EVENT_LOG
-  return absl::make_unique<RtcEventLogImpl>(encoding_type, task_queue_factory_);
+  return std::make_unique<RtcEventLogImpl>(encoding_type, task_queue_factory_);
 #else
-  return absl::make_unique<RtcEventLogNull>();
+  return std::make_unique<RtcEventLogNull>();
 #endif
 }
 
diff --git a/api/rtc_event_log_output_file_unittest.cc b/api/rtc_event_log_output_file_unittest.cc
index bffda0c..071909b 100644
--- a/api/rtc_event_log_output_file_unittest.cc
+++ b/api/rtc_event_log_output_file_unittest.cc
@@ -15,7 +15,6 @@
 #include <memory>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/checks.h"
 #include "test/gtest.h"
 #include "test/testsupport/file_utils.h"
@@ -52,14 +51,13 @@
 };
 
 TEST_F(RtcEventLogOutputFileTest, NonDefectiveOutputsStartOutActive) {
-  auto output_file =
-      absl::make_unique<RtcEventLogOutputFile>(output_file_name_);
+  auto output_file = std::make_unique<RtcEventLogOutputFile>(output_file_name_);
   EXPECT_TRUE(output_file->IsActive());
 }
 
 TEST_F(RtcEventLogOutputFileTest, DefectiveOutputsStartOutInactive) {
   const std::string illegal_filename = "/////////";
-  auto output_file = absl::make_unique<RtcEventLogOutputFile>(illegal_filename);
+  auto output_file = std::make_unique<RtcEventLogOutputFile>(illegal_filename);
   EXPECT_FALSE(output_file->IsActive());
 }
 
@@ -67,8 +65,7 @@
 TEST_F(RtcEventLogOutputFileTest, UnlimitedOutputFile) {
   const std::string output_str = "one two three";
 
-  auto output_file =
-      absl::make_unique<RtcEventLogOutputFile>(output_file_name_);
+  auto output_file = std::make_unique<RtcEventLogOutputFile>(output_file_name_);
   output_file->Write(output_str);
   output_file.reset();  // Closing the file flushes the buffer to disk.
 
@@ -79,7 +76,7 @@
 TEST_F(RtcEventLogOutputFileTest, LimitedOutputFileCappedToCapacity) {
   // Fit two bytes, then the third should be rejected.
   auto output_file =
-      absl::make_unique<RtcEventLogOutputFile>(output_file_name_, 2);
+      std::make_unique<RtcEventLogOutputFile>(output_file_name_, 2);
 
   output_file->Write("1");
   output_file->Write("2");
@@ -99,7 +96,7 @@
   // Set a file size limit just shy of fitting the entire second line.
   const size_t size_limit = output_str_1.length() + output_str_2.length() - 1;
   auto output_file =
-      absl::make_unique<RtcEventLogOutputFile>(output_file_name_, size_limit);
+      std::make_unique<RtcEventLogOutputFile>(output_file_name_, size_limit);
 
   output_file->Write(output_str_1);
   output_file->Write(output_str_2);
@@ -110,20 +107,20 @@
 
 TEST_F(RtcEventLogOutputFileTest, UnsuccessfulWriteReturnsFalse) {
   auto output_file =
-      absl::make_unique<RtcEventLogOutputFile>(output_file_name_, 2);
+      std::make_unique<RtcEventLogOutputFile>(output_file_name_, 2);
   EXPECT_FALSE(output_file->Write("abc"));
 }
 
 TEST_F(RtcEventLogOutputFileTest, SuccessfulWriteReturnsTrue) {
   auto output_file =
-      absl::make_unique<RtcEventLogOutputFile>(output_file_name_, 3);
+      std::make_unique<RtcEventLogOutputFile>(output_file_name_, 3);
   EXPECT_TRUE(output_file->Write("abc"));
 }
 
 // Even if capacity is reached, a successful write leaves the output active.
 TEST_F(RtcEventLogOutputFileTest, FileStillActiveAfterSuccessfulWrite) {
   auto output_file =
-      absl::make_unique<RtcEventLogOutputFile>(output_file_name_, 3);
+      std::make_unique<RtcEventLogOutputFile>(output_file_name_, 3);
   ASSERT_TRUE(output_file->Write("abc"));
   EXPECT_TRUE(output_file->IsActive());
 }
@@ -132,13 +129,13 @@
 // not yet been reached.
 TEST_F(RtcEventLogOutputFileTest, FileInactiveAfterUnsuccessfulWrite) {
   auto output_file =
-      absl::make_unique<RtcEventLogOutputFile>(output_file_name_, 2);
+      std::make_unique<RtcEventLogOutputFile>(output_file_name_, 2);
   ASSERT_FALSE(output_file->Write("abc"));
   EXPECT_FALSE(output_file->IsActive());
 }
 
 TEST_F(RtcEventLogOutputFileTest, AllowReasonableFileSizeLimits) {
-  auto output_file = absl::make_unique<RtcEventLogOutputFile>(
+  auto output_file = std::make_unique<RtcEventLogOutputFile>(
       output_file_name_, RtcEventLogOutputFile::kMaxReasonableFileSize);
   EXPECT_TRUE(output_file->IsActive());
 }
@@ -158,8 +155,8 @@
   auto create_output_file = [&] {
     const size_t unreasonable_size =
         RtcEventLogOutputFile::kMaxReasonableFileSize + 1;
-    output_file = absl::make_unique<RtcEventLogOutputFile>(output_file_name_,
-                                                           unreasonable_size);
+    output_file = std::make_unique<RtcEventLogOutputFile>(output_file_name_,
+                                                          unreasonable_size);
   };
   EXPECT_DEATH(create_output_file(), "");
 }
diff --git a/api/task_queue/task_queue_test.cc b/api/task_queue/task_queue_test.cc
index 31cf31e..a8a799f 100644
--- a/api/task_queue/task_queue_test.cc
+++ b/api/task_queue/task_queue_test.cc
@@ -182,7 +182,7 @@
   };
 
   auto task =
-      absl::make_unique<ReusedTask>(&call_count, reply_queue.get(), &event);
+      std::make_unique<ReusedTask>(&call_count, reply_queue.get(), &event);
   post_queue->PostTask(std::move(task));
   EXPECT_TRUE(event.Wait(1000));
 }
diff --git a/api/test/create_network_emulation_manager.cc b/api/test/create_network_emulation_manager.cc
index 7a9cb04..72efec2 100644
--- a/api/test/create_network_emulation_manager.cc
+++ b/api/test/create_network_emulation_manager.cc
@@ -11,13 +11,14 @@
 
 #include "api/test/create_network_emulation_manager.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "test/network/network_emulation_manager.h"
 
 namespace webrtc {
 
 std::unique_ptr<NetworkEmulationManager> CreateNetworkEmulationManager() {
-  return absl::make_unique<test::NetworkEmulationManagerImpl>();
+  return std::make_unique<test::NetworkEmulationManagerImpl>();
 }
 
 }  // namespace webrtc
diff --git a/api/test/create_peerconnection_quality_test_fixture.cc b/api/test/create_peerconnection_quality_test_fixture.cc
index 9be5439..1e027bf 100644
--- a/api/test/create_peerconnection_quality_test_fixture.cc
+++ b/api/test/create_peerconnection_quality_test_fixture.cc
@@ -10,9 +10,9 @@
 
 #include "api/test/create_peerconnection_quality_test_fixture.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "test/pc/e2e/peer_connection_quality_test.h"
 
 namespace webrtc {
@@ -23,7 +23,7 @@
     std::string test_case_name,
     std::unique_ptr<AudioQualityAnalyzerInterface> audio_quality_analyzer,
     std::unique_ptr<VideoQualityAnalyzerInterface> video_quality_analyzer) {
-  return absl::make_unique<PeerConnectionE2EQualityTest>(
+  return std::make_unique<PeerConnectionE2EQualityTest>(
       std::move(test_case_name), std::move(audio_quality_analyzer),
       std::move(video_quality_analyzer));
 }
diff --git a/api/test/create_simulcast_test_fixture.cc b/api/test/create_simulcast_test_fixture.cc
index 897746d..024145d 100644
--- a/api/test/create_simulcast_test_fixture.cc
+++ b/api/test/create_simulcast_test_fixture.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/test/simulcast_test_fixture.h"
 #include "modules/video_coding/utility/simulcast_test_fixture_impl.h"
 
@@ -24,7 +23,7 @@
     std::unique_ptr<VideoEncoderFactory> encoder_factory,
     std::unique_ptr<VideoDecoderFactory> decoder_factory,
     SdpVideoFormat video_format) {
-  return absl::make_unique<SimulcastTestFixtureImpl>(
+  return std::make_unique<SimulcastTestFixtureImpl>(
       std::move(encoder_factory), std::move(decoder_factory), video_format);
 }
 
diff --git a/api/test/create_video_quality_test_fixture.cc b/api/test/create_video_quality_test_fixture.cc
index ee63435..1fa7d24 100644
--- a/api/test/create_video_quality_test_fixture.cc
+++ b/api/test/create_video_quality_test_fixture.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "video/video_quality_test.h"
 
 namespace webrtc {
@@ -21,21 +20,21 @@
 std::unique_ptr<VideoQualityTestFixtureInterface>
 CreateVideoQualityTestFixture() {
   // By default, we don't override the FEC module, so pass an empty factory.
-  return absl::make_unique<VideoQualityTest>(nullptr);
+  return std::make_unique<VideoQualityTest>(nullptr);
 }
 
 std::unique_ptr<VideoQualityTestFixtureInterface> CreateVideoQualityTestFixture(
     std::unique_ptr<FecControllerFactoryInterface> fec_controller_factory) {
-  auto components = absl::make_unique<
-      VideoQualityTestFixtureInterface::InjectionComponents>();
+  auto components =
+      std::make_unique<VideoQualityTestFixtureInterface::InjectionComponents>();
   components->fec_controller_factory = std::move(fec_controller_factory);
-  return absl::make_unique<VideoQualityTest>(std::move(components));
+  return std::make_unique<VideoQualityTest>(std::move(components));
 }
 
 std::unique_ptr<VideoQualityTestFixtureInterface> CreateVideoQualityTestFixture(
     std::unique_ptr<VideoQualityTestFixtureInterface::InjectionComponents>
         components) {
-  return absl::make_unique<VideoQualityTest>(std::move(components));
+  return std::make_unique<VideoQualityTest>(std::move(components));
 }
 
 }  // namespace webrtc
diff --git a/api/test/create_videocodec_test_fixture.cc b/api/test/create_videocodec_test_fixture.cc
index df8ad8b..1f618e5 100644
--- a/api/test/create_videocodec_test_fixture.cc
+++ b/api/test/create_videocodec_test_fixture.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/test/videocodec_test_fixture.h"
 #include "modules/video_coding/codecs/test/videocodec_test_fixture_impl.h"
 
@@ -24,14 +23,14 @@
 
 std::unique_ptr<VideoCodecTestFixture> CreateVideoCodecTestFixture(
     const Config& config) {
-  return absl::make_unique<VideoCodecTestFixtureImpl>(config);
+  return std::make_unique<VideoCodecTestFixtureImpl>(config);
 }
 
 std::unique_ptr<VideoCodecTestFixture> CreateVideoCodecTestFixture(
     const Config& config,
     std::unique_ptr<VideoDecoderFactory> decoder_factory,
     std::unique_ptr<VideoEncoderFactory> encoder_factory) {
-  return absl::make_unique<VideoCodecTestFixtureImpl>(
+  return std::make_unique<VideoCodecTestFixtureImpl>(
       config, std::move(decoder_factory), std::move(encoder_factory));
 }
 
diff --git a/api/test/fake_media_transport.h b/api/test/fake_media_transport.h
index 3bd4eba..593135d 100644
--- a/api/test/fake_media_transport.h
+++ b/api/test/fake_media_transport.h
@@ -17,7 +17,6 @@
 #include <vector>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "api/test/fake_datagram_transport.h"
 #include "api/transport/media/media_transport_interface.h"
 
@@ -165,7 +164,7 @@
       rtc::Thread* network_thread,
       const MediaTransportSettings& settings) override {
     std::unique_ptr<MediaTransportInterface> media_transport =
-        absl::make_unique<FakeMediaTransport>(settings, transport_offer_);
+        std::make_unique<FakeMediaTransport>(settings, transport_offer_);
     media_transport->Connect(packet_transport);
     return std::move(media_transport);
   }
@@ -174,7 +173,7 @@
       rtc::Thread* network_thread,
       const MediaTransportSettings& settings) override {
     std::unique_ptr<MediaTransportInterface> media_transport =
-        absl::make_unique<FakeMediaTransport>(
+        std::make_unique<FakeMediaTransport>(
             settings, transport_offer_, settings.remote_transport_parameters);
     return std::move(media_transport);
   }
diff --git a/api/test/loopback_media_transport.cc b/api/test/loopback_media_transport.cc
index 8c7f240..cadcff0 100644
--- a/api/test/loopback_media_transport.cc
+++ b/api/test/loopback_media_transport.cc
@@ -10,8 +10,9 @@
 
 #include "api/test/loopback_media_transport.h"
 
+#include <memory>
+
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "rtc_base/time_utils.h"
 
 namespace webrtc {
@@ -182,7 +183,7 @@
     return wrapped_factory_->CreateMediaTransport(packet_transport,
                                                   network_thread, settings);
   }
-  return {absl::make_unique<WrapperMediaTransport>(wrapped_media_transport_)};
+  return {std::make_unique<WrapperMediaTransport>(wrapped_media_transport_)};
 }
 
 RTCErrorOr<std::unique_ptr<DatagramTransportInterface>>
@@ -194,7 +195,7 @@
     return wrapped_factory_->CreateDatagramTransport(network_thread, settings);
   }
   return {
-      absl::make_unique<WrapperDatagramTransport>(wrapped_datagram_transport_)};
+      std::make_unique<WrapperDatagramTransport>(wrapped_datagram_transport_)};
 }
 
 std::string WrapperMediaTransportFactory::GetTransportName() const {
@@ -216,7 +217,7 @@
   if (wrapped_factory_) {
     return wrapped_factory_->CreateMediaTransport(network_thread, settings);
   }
-  return {absl::make_unique<WrapperMediaTransport>(wrapped_media_transport_)};
+  return {std::make_unique<WrapperMediaTransport>(wrapped_media_transport_)};
 }
 
 MediaTransportPair::MediaTransportPair(rtc::Thread* thread)
diff --git a/api/test/loopback_media_transport.h b/api/test/loopback_media_transport.h
index e00cc23b..1087d9a 100644
--- a/api/test/loopback_media_transport.h
+++ b/api/test/loopback_media_transport.h
@@ -16,7 +16,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/transport/datagram_transport_interface.h"
 #include "api/transport/media/media_transport_interface.h"
 #include "rtc_base/async_invoker.h"
@@ -98,11 +97,11 @@
   }
 
   std::unique_ptr<MediaTransportFactory> first_factory() {
-    return absl::make_unique<WrapperMediaTransportFactory>(&first_factory_);
+    return std::make_unique<WrapperMediaTransportFactory>(&first_factory_);
   }
 
   std::unique_ptr<MediaTransportFactory> second_factory() {
-    return absl::make_unique<WrapperMediaTransportFactory>(&second_factory_);
+    return std::make_unique<WrapperMediaTransportFactory>(&second_factory_);
   }
 
   void SetState(MediaTransportState state) {
diff --git a/api/test/neteq_simulator_factory.cc b/api/test/neteq_simulator_factory.cc
index 65dc3a8..112d55a 100644
--- a/api/test/neteq_simulator_factory.cc
+++ b/api/test/neteq_simulator_factory.cc
@@ -10,12 +10,12 @@
 
 #include "api/test/neteq_simulator_factory.h"
 
+#include <memory>
 #include <string>
 #include <vector>
 
 #include "absl/flags/flag.h"
 #include "absl/flags/parse.h"
-#include "absl/memory/memory.h"
 #include "modules/audio_coding/neteq/tools/neteq_test_factory.h"
 #include "rtc_base/checks.h"
 
@@ -33,7 +33,7 @@
 namespace test {
 
 NetEqSimulatorFactory::NetEqSimulatorFactory()
-    : factory_(absl::make_unique<NetEqTestFactory>()) {}
+    : factory_(std::make_unique<NetEqTestFactory>()) {}
 
 NetEqSimulatorFactory::~NetEqSimulatorFactory() = default;
 
diff --git a/api/test/test_dependency_factory.cc b/api/test/test_dependency_factory.cc
index 4294b1b..e72f55a 100644
--- a/api/test/test_dependency_factory.cc
+++ b/api/test/test_dependency_factory.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/thread_checker.h"
 
@@ -32,7 +31,7 @@
 const TestDependencyFactory& TestDependencyFactory::GetInstance() {
   RTC_DCHECK(GetThreadChecker()->IsCurrent());
   if (instance_ == nullptr) {
-    instance_ = absl::make_unique<TestDependencyFactory>();
+    instance_ = std::make_unique<TestDependencyFactory>();
   }
   return *instance_;
 }
diff --git a/api/test/video/BUILD.gn b/api/test/video/BUILD.gn
index 9b63a4a..a4a0d7b 100644
--- a/api/test/video/BUILD.gn
+++ b/api/test/video/BUILD.gn
@@ -19,6 +19,5 @@
   deps = [
     "../../../rtc_base:checks",
     "../../video_codecs:video_codecs_api",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
diff --git a/api/transport/BUILD.gn b/api/transport/BUILD.gn
index c4d6338..12bcf09 100644
--- a/api/transport/BUILD.gn
+++ b/api/transport/BUILD.gn
@@ -99,7 +99,6 @@
     "..:network_state_predictor_api",
     "../../modules/congestion_controller/goog_cc",
     "../../rtc_base:deprecation",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -125,7 +124,6 @@
       ":network_control",
       ":test_feedback_generator_interface",
       "../../test/network:feedback_generator",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 }
diff --git a/api/transport/goog_cc_factory.cc b/api/transport/goog_cc_factory.cc
index 2187da3..ccadb8b 100644
--- a/api/transport/goog_cc_factory.cc
+++ b/api/transport/goog_cc_factory.cc
@@ -10,9 +10,9 @@
 
 #include "api/transport/goog_cc_factory.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/congestion_controller/goog_cc/goog_cc_network_control.h"
 
 namespace webrtc {
@@ -47,8 +47,8 @@
         factory_config_.network_state_predictor_factory
             ->CreateNetworkStatePredictor();
   }
-  return absl::make_unique<GoogCcNetworkController>(config,
-                                                    std::move(goog_cc_config));
+  return std::make_unique<GoogCcNetworkController>(config,
+                                                   std::move(goog_cc_config));
 }
 
 TimeDelta GoogCcNetworkControllerFactory::GetProcessInterval() const {
diff --git a/api/transport/test/create_feedback_generator.cc b/api/transport/test/create_feedback_generator.cc
index 01e0fae..7c83823 100644
--- a/api/transport/test/create_feedback_generator.cc
+++ b/api/transport/test/create_feedback_generator.cc
@@ -9,14 +9,15 @@
  */
 #include "api/transport/test/create_feedback_generator.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "test/network/feedback_generator.h"
 
 namespace webrtc {
 
 std::unique_ptr<FeedbackGenerator> CreateFeedbackGenerator(
     FeedbackGenerator::Config confg) {
-  return absl::make_unique<FeedbackGeneratorImpl>(confg);
+  return std::make_unique<FeedbackGeneratorImpl>(confg);
 }
 
 }  // namespace webrtc
diff --git a/api/video/BUILD.gn b/api/video/BUILD.gn
index d988cb6..af2b897 100644
--- a/api/video/BUILD.gn
+++ b/api/video/BUILD.gn
@@ -209,7 +209,6 @@
     "../../video:video_stream_decoder_impl",
     "../task_queue",
     "../video_codecs:video_codecs_api",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -251,7 +250,6 @@
     "../../video:video_stream_encoder_impl",
     "../task_queue",
     "../video_codecs:video_codecs_api",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -273,7 +271,6 @@
     "../../modules/video_coding:webrtc_vp9_helpers",
     "../../rtc_base/system:fallthrough",
     "../video_codecs:video_codecs_api",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
diff --git a/api/video/builtin_video_bitrate_allocator_factory.cc b/api/video/builtin_video_bitrate_allocator_factory.cc
index 8991367..b2c15a1 100644
--- a/api/video/builtin_video_bitrate_allocator_factory.cc
+++ b/api/video/builtin_video_bitrate_allocator_factory.cc
@@ -10,7 +10,8 @@
 
 #include "api/video/builtin_video_bitrate_allocator_factory.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/video/video_bitrate_allocator.h"
 #include "api/video_codecs/video_codec.h"
 #include "modules/video_coding/codecs/vp9/svc_rate_allocator.h"
@@ -51,7 +52,7 @@
 
 std::unique_ptr<VideoBitrateAllocatorFactory>
 CreateBuiltinVideoBitrateAllocatorFactory() {
-  return absl::make_unique<BuiltinVideoBitrateAllocatorFactory>();
+  return std::make_unique<BuiltinVideoBitrateAllocatorFactory>();
 }
 
 }  // namespace webrtc
diff --git a/api/video/video_stream_decoder_create.cc b/api/video/video_stream_decoder_create.cc
index d17d739..8d70556 100644
--- a/api/video/video_stream_decoder_create.cc
+++ b/api/video/video_stream_decoder_create.cc
@@ -10,7 +10,8 @@
 
 #include "api/video/video_stream_decoder_create.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "video/video_stream_decoder_impl.h"
 
 namespace webrtc {
@@ -20,9 +21,9 @@
     VideoDecoderFactory* decoder_factory,
     TaskQueueFactory* task_queue_factory,
     std::map<int, std::pair<SdpVideoFormat, int>> decoder_settings) {
-  return absl::make_unique<VideoStreamDecoderImpl>(callbacks, decoder_factory,
-                                                   task_queue_factory,
-                                                   std::move(decoder_settings));
+  return std::make_unique<VideoStreamDecoderImpl>(callbacks, decoder_factory,
+                                                  task_queue_factory,
+                                                  std::move(decoder_settings));
 }
 
 }  // namespace webrtc
diff --git a/api/video/video_stream_encoder_create.cc b/api/video/video_stream_encoder_create.cc
index c75f20d..ac2f6b9 100644
--- a/api/video/video_stream_encoder_create.cc
+++ b/api/video/video_stream_encoder_create.cc
@@ -10,7 +10,8 @@
 
 #include "api/video/video_stream_encoder_create.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "video/overuse_frame_detector.h"
 #include "video/video_stream_encoder.h"
 
@@ -22,9 +23,9 @@
     uint32_t number_of_cores,
     VideoStreamEncoderObserver* encoder_stats_observer,
     const VideoStreamEncoderSettings& settings) {
-  return absl::make_unique<VideoStreamEncoder>(
+  return std::make_unique<VideoStreamEncoder>(
       clock, number_of_cores, encoder_stats_observer, settings,
-      absl::make_unique<OveruseFrameDetector>(encoder_stats_observer),
+      std::make_unique<OveruseFrameDetector>(encoder_stats_observer),
       task_queue_factory);
 }
 
diff --git a/api/video_codecs/BUILD.gn b/api/video_codecs/BUILD.gn
index 894d23f..795a5bb 100644
--- a/api/video_codecs/BUILD.gn
+++ b/api/video_codecs/BUILD.gn
@@ -82,7 +82,6 @@
     "../../api:scoped_refptr",
     "../../media:rtc_internal_video_codecs",
     "../../rtc_base/system:rtc_export",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -105,7 +104,6 @@
     "../../media:rtc_media_base",
     "../../rtc_base:checks",
     "../../rtc_base/system:rtc_export",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
   ]
 }
@@ -124,7 +122,6 @@
     "../../modules/video_coding:video_coding_utility",
     "../../modules/video_coding:webrtc_vp8_temporal_layers",
     "../../rtc_base:checks",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -153,7 +150,6 @@
     "../video:video_bitrate_allocation",
     "../video:video_frame",
     "../video:video_rtp_headers",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
diff --git a/api/video_codecs/builtin_video_decoder_factory.cc b/api/video_codecs/builtin_video_decoder_factory.cc
index e71e069..f831905 100644
--- a/api/video_codecs/builtin_video_decoder_factory.cc
+++ b/api/video_codecs/builtin_video_decoder_factory.cc
@@ -10,13 +10,14 @@
 
 #include "api/video_codecs/builtin_video_decoder_factory.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "media/engine/internal_decoder_factory.h"
 
 namespace webrtc {
 
 std::unique_ptr<VideoDecoderFactory> CreateBuiltinVideoDecoderFactory() {
-  return absl::make_unique<InternalDecoderFactory>();
+  return std::make_unique<InternalDecoderFactory>();
 }
 
 }  // namespace webrtc
diff --git a/api/video_codecs/builtin_video_encoder_factory.cc b/api/video_codecs/builtin_video_encoder_factory.cc
index 60c67fd..6888daa 100644
--- a/api/video_codecs/builtin_video_encoder_factory.cc
+++ b/api/video_codecs/builtin_video_encoder_factory.cc
@@ -10,9 +10,9 @@
 
 #include "api/video_codecs/builtin_video_encoder_factory.h"
 
+#include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "api/video_codecs/sdp_video_format.h"
 #include "api/video_codecs/video_encoder.h"
@@ -61,7 +61,7 @@
     std::unique_ptr<VideoEncoder> internal_encoder;
     if (IsFormatSupported(internal_encoder_factory_->GetSupportedFormats(),
                           format)) {
-      internal_encoder = absl::make_unique<EncoderSimulcastProxy>(
+      internal_encoder = std::make_unique<EncoderSimulcastProxy>(
           internal_encoder_factory_.get(), format);
     }
 
@@ -79,7 +79,7 @@
 }  // namespace
 
 std::unique_ptr<VideoEncoderFactory> CreateBuiltinVideoEncoderFactory() {
-  return absl::make_unique<BuiltinVideoEncoderFactory>();
+  return std::make_unique<BuiltinVideoEncoderFactory>();
 }
 
 }  // namespace webrtc
diff --git a/api/video_codecs/test/BUILD.gn b/api/video_codecs/test/BUILD.gn
index 5e8a033..d57cbbb 100644
--- a/api/video_codecs/test/BUILD.gn
+++ b/api/video_codecs/test/BUILD.gn
@@ -38,7 +38,6 @@
       "../../video:video_frame_i420",
       "../../video:video_rtp_headers",
       "//testing/gtest",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 }
diff --git a/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc b/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
index 7b7d607..a26c0c3 100644
--- a/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
+++ b/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
@@ -17,7 +17,6 @@
 #include <string>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/fec_controller_override.h"
 #include "api/scoped_refptr.h"
@@ -193,11 +192,11 @@
   std::vector<VideoFrameType> types(1, VideoFrameType::kVideoFrameKey);
 
   frame_ =
-      absl::make_unique<VideoFrame>(VideoFrame::Builder()
-                                        .set_video_frame_buffer(buffer)
-                                        .set_rotation(webrtc::kVideoRotation_0)
-                                        .set_timestamp_us(0)
-                                        .build());
+      std::make_unique<VideoFrame>(VideoFrame::Builder()
+                                       .set_video_frame_buffer(buffer)
+                                       .set_rotation(webrtc::kVideoRotation_0)
+                                       .set_timestamp_us(0)
+                                       .build());
   EXPECT_EQ(expected_ret, fallback_wrapper_->Encode(*frame_, &types));
 }
 
diff --git a/api/video_codecs/video_decoder_software_fallback_wrapper.cc b/api/video_codecs/video_decoder_software_fallback_wrapper.cc
index 329fdfb..53b2413 100644
--- a/api/video_codecs/video_decoder_software_fallback_wrapper.cc
+++ b/api/video_codecs/video_decoder_software_fallback_wrapper.cc
@@ -12,10 +12,10 @@
 
 #include <stdint.h>
 
+#include <memory>
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/video/encoded_image.h"
 #include "api/video_codecs/video_codec.h"
 #include "modules/video_coding/include/video_error_codes.h"
@@ -225,7 +225,7 @@
 std::unique_ptr<VideoDecoder> CreateVideoDecoderSoftwareFallbackWrapper(
     std::unique_ptr<VideoDecoder> sw_fallback_decoder,
     std::unique_ptr<VideoDecoder> hw_decoder) {
-  return absl::make_unique<VideoDecoderSoftwareFallbackWrapper>(
+  return std::make_unique<VideoDecoderSoftwareFallbackWrapper>(
       std::move(sw_fallback_decoder), std::move(hw_decoder));
 }
 
diff --git a/api/video_codecs/video_encoder_software_fallback_wrapper.cc b/api/video_codecs/video_encoder_software_fallback_wrapper.cc
index 4d7e6f0..fe32741 100644
--- a/api/video_codecs/video_encoder_software_fallback_wrapper.cc
+++ b/api/video_codecs/video_encoder_software_fallback_wrapper.cc
@@ -13,11 +13,11 @@
 #include <stdint.h>
 
 #include <cstdio>
+#include <memory>
 #include <string>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/fec_controller_override.h"
 #include "api/video/video_bitrate_allocation.h"
@@ -395,7 +395,7 @@
 std::unique_ptr<VideoEncoder> CreateVideoEncoderSoftwareFallbackWrapper(
     std::unique_ptr<VideoEncoder> sw_fallback_encoder,
     std::unique_ptr<VideoEncoder> hw_encoder) {
-  return absl::make_unique<VideoEncoderSoftwareFallbackWrapper>(
+  return std::make_unique<VideoEncoderSoftwareFallbackWrapper>(
       std::move(sw_fallback_encoder), std::move(hw_encoder));
 }
 
diff --git a/api/video_codecs/vp8_temporal_layers_factory.cc b/api/video_codecs/vp8_temporal_layers_factory.cc
index 0bd2c3d..1de925d 100644
--- a/api/video_codecs/vp8_temporal_layers_factory.cc
+++ b/api/video_codecs/vp8_temporal_layers_factory.cc
@@ -11,10 +11,10 @@
 #include "api/video_codecs/vp8_temporal_layers_factory.h"
 
 #include <algorithm>
+#include <memory>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/fec_controller_override.h"
 #include "modules/video_coding/codecs/vp8/default_temporal_layers.h"
 #include "modules/video_coding/codecs/vp8/screenshare_layers.h"
@@ -39,20 +39,20 @@
       // Legacy screenshare layers supports max 2 layers.
       num_temporal_layers = std::max(2, num_temporal_layers);
       controllers.push_back(
-          absl::make_unique<ScreenshareLayers>(num_temporal_layers));
+          std::make_unique<ScreenshareLayers>(num_temporal_layers));
     } else {
       controllers.push_back(
-          absl::make_unique<DefaultTemporalLayers>(num_temporal_layers));
+          std::make_unique<DefaultTemporalLayers>(num_temporal_layers));
     }
   }
 
-  return absl::make_unique<Vp8TemporalLayers>(std::move(controllers),
-                                              fec_controller_override);
+  return std::make_unique<Vp8TemporalLayers>(std::move(controllers),
+                                             fec_controller_override);
 }
 
 std::unique_ptr<Vp8FrameBufferControllerFactory>
 Vp8TemporalLayersFactory::Clone() const {
-  return absl::make_unique<Vp8TemporalLayersFactory>();
+  return std::make_unique<Vp8TemporalLayersFactory>();
 }
 
 }  // namespace webrtc
diff --git a/audio/BUILD.gn b/audio/BUILD.gn
index bf8e253..a4bc14d 100644
--- a/audio/BUILD.gn
+++ b/audio/BUILD.gn
@@ -108,7 +108,6 @@
       "../system_wrappers",
       "../test:test_common",
       "../test:test_support",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -174,7 +173,6 @@
       "../test:test_support",
       "utility:utility_tests",
       "//testing/gtest",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -206,7 +204,6 @@
         "../test/pc/e2e:network_quality_metrics_reporter",
         "//testing/gtest",
         "//third_party/abseil-cpp/absl/flags:flag",
-        "//third_party/abseil-cpp/absl/memory",
       ]
       if (is_android) {
         deps += [ "//testing/android/native_test:native_test_native_code" ]
@@ -281,7 +278,6 @@
       "../test:test_main",
       "../test:test_support",
       "//testing/gtest",
-      "//third_party/abseil-cpp/absl/memory",
     ]
 
     data = [
diff --git a/audio/audio_send_stream.cc b/audio/audio_send_stream.cc
index cd137d9..c6fe778 100644
--- a/audio/audio_send_stream.cc
+++ b/audio/audio_send_stream.cc
@@ -10,11 +10,11 @@
 
 #include "audio/audio_send_stream.h"
 
+#include <memory>
 #include <string>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/audio_codecs/audio_encoder.h"
 #include "api/audio_codecs/audio_encoder_factory.h"
 #include "api/audio_codecs/audio_format.h"
@@ -69,14 +69,14 @@
     return;
   }
 
-  auto rtclog_config = absl::make_unique<rtclog::StreamConfig>();
+  auto rtclog_config = std::make_unique<rtclog::StreamConfig>();
   rtclog_config->local_ssrc = config.rtp.ssrc;
   rtclog_config->rtp_extensions = config.rtp.extensions;
   if (config.send_codec_spec) {
     rtclog_config->codecs.emplace_back(config.send_codec_spec->format.name,
                                        config.send_codec_spec->payload_type, 0);
   }
-  event_log->Log(absl::make_unique<RtcEventAudioSendStreamConfig>(
+  event_log->Log(std::make_unique<RtcEventAudioSendStreamConfig>(
       std::move(rtclog_config)));
 }
 
diff --git a/audio/audio_send_stream_unittest.cc b/audio/audio_send_stream_unittest.cc
index 31fd7ba..3bb16c7 100644
--- a/audio/audio_send_stream_unittest.cc
+++ b/audio/audio_send_stream_unittest.cc
@@ -10,12 +10,12 @@
 
 #include "audio/audio_send_stream.h"
 
+#include <memory>
 #include <string>
 #include <thread>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/task_queue/default_task_queue_factory.h"
 #include "api/test/mock_frame_encryptor.h"
 #include "audio/audio_state.h"
@@ -331,7 +331,7 @@
                                                          size_t num_channels) {
   size_t samples_per_channel = sample_rate_hz / (1000 / duration_ms);
   std::vector<int16_t> audio_data(samples_per_channel * num_channels, 0);
-  std::unique_ptr<AudioFrame> audio_frame = absl::make_unique<AudioFrame>();
+  std::unique_ptr<AudioFrame> audio_frame = std::make_unique<AudioFrame>();
   audio_frame->UpdateFrame(0 /* RTP timestamp */, &audio_data[0],
                            samples_per_channel, sample_rate_hz,
                            AudioFrame::SpeechType::kNormalSpeech,
diff --git a/audio/audio_state.cc b/audio/audio_state.cc
index 52c4504..03cf730 100644
--- a/audio/audio_state.cc
+++ b/audio/audio_state.cc
@@ -11,10 +11,10 @@
 #include "audio/audio_state.h"
 
 #include <algorithm>
+#include <memory>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "audio/audio_receive_stream.h"
 #include "modules/audio_device/include/audio_device.h"
 #include "rtc_base/checks.h"
@@ -130,8 +130,7 @@
       }
     } else {
       config_.audio_device_module->StopPlayout();
-      null_audio_poller_ =
-          absl::make_unique<NullAudioPoller>(&audio_transport_);
+      null_audio_poller_ = std::make_unique<NullAudioPoller>(&audio_transport_);
     }
   }
 }
diff --git a/audio/channel_receive.cc b/audio/channel_receive.cc
index 603a52f..5bb568e 100644
--- a/audio/channel_receive.cc
+++ b/audio/channel_receive.cc
@@ -17,7 +17,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/crypto/frame_decryptor_interface.h"
 #include "api/rtc_event_log/rtc_event_log.h"
 #include "audio/audio_level.h"
@@ -339,7 +338,7 @@
   RTC_DCHECK_RUNS_SERIALIZED(&audio_thread_race_checker_);
   audio_frame->sample_rate_hz_ = sample_rate_hz;
 
-  event_log_->Log(absl::make_unique<RtcEventAudioPlayout>(remote_ssrc_));
+  event_log_->Log(std::make_unique<RtcEventAudioPlayout>(remote_ssrc_));
 
   // Get 10ms raw PCM data from the ACM (mixer limits output frequency)
   bool muted;
@@ -949,7 +948,7 @@
     absl::optional<AudioCodecPairId> codec_pair_id,
     rtc::scoped_refptr<FrameDecryptorInterface> frame_decryptor,
     const webrtc::CryptoOptions& crypto_options) {
-  return absl::make_unique<ChannelReceive>(
+  return std::make_unique<ChannelReceive>(
       clock, module_process_thread, audio_device_module, media_transport_config,
       rtcp_send_transport, rtc_event_log, local_ssrc, remote_ssrc,
       jitter_buffer_max_packets, jitter_buffer_fast_playout,
diff --git a/audio/channel_send.cc b/audio/channel_send.cc
index 982d932..f38df24 100644
--- a/audio/channel_send.cc
+++ b/audio/channel_send.cc
@@ -17,7 +17,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/array_view.h"
 #include "api/call/transport.h"
 #include "api/crypto/frame_encryptor_interface.h"
@@ -662,7 +661,7 @@
   _rtpRtcpModule = RtpRtcp::Create(configuration);
   _rtpRtcpModule->SetSendingMediaStatus(false);
 
-  rtp_sender_audio_ = absl::make_unique<RTPSenderAudio>(
+  rtp_sender_audio_ = std::make_unique<RTPSenderAudio>(
       configuration.clock, _rtpRtcpModule->RtpSender());
 
   // We want to invoke the 'TargetRateObserver' and |OnOverheadChanged|
@@ -1204,7 +1203,7 @@
     bool extmap_allow_mixed,
     int rtcp_report_interval_ms,
     uint32_t ssrc) {
-  return absl::make_unique<ChannelSend>(
+  return std::make_unique<ChannelSend>(
       clock, task_queue_factory, module_process_thread, media_transport_config,
       overhead_observer, rtp_transport, rtcp_rtt_stats, rtc_event_log,
       frame_encryptor, crypto_options, extmap_allow_mixed,
diff --git a/audio/test/audio_bwe_integration_test.cc b/audio/test/audio_bwe_integration_test.cc
index e0ec17b..ac8eb33 100644
--- a/audio/test/audio_bwe_integration_test.cc
+++ b/audio/test/audio_bwe_integration_test.cc
@@ -10,7 +10,8 @@
 
 #include "audio/test/audio_bwe_integration_test.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/task_queue/queued_task.h"
 #include "api/task_queue/task_queue_base.h"
 #include "call/fake_network_pipe.h"
@@ -63,9 +64,9 @@
   return new test::PacketTransport(
       task_queue, sender_call, this, test::PacketTransport::kSender,
       test::CallTest::payload_type_map_,
-      absl::make_unique<FakeNetworkPipe>(
+      std::make_unique<FakeNetworkPipe>(
           Clock::GetRealTimeClock(),
-          absl::make_unique<SimulatedNetwork>(GetNetworkPipeConfig())));
+          std::make_unique<SimulatedNetwork>(GetNetworkPipeConfig())));
 }
 
 test::PacketTransport* AudioBweTest::CreateReceiveTransport(
@@ -73,9 +74,9 @@
   return new test::PacketTransport(
       task_queue, nullptr, this, test::PacketTransport::kReceiver,
       test::CallTest::payload_type_map_,
-      absl::make_unique<FakeNetworkPipe>(
+      std::make_unique<FakeNetworkPipe>(
           Clock::GetRealTimeClock(),
-          absl::make_unique<SimulatedNetwork>(GetNetworkPipeConfig())));
+          std::make_unique<SimulatedNetwork>(GetNetworkPipeConfig())));
 }
 
 void AudioBweTest::PerformTest() {
@@ -143,8 +144,8 @@
   }
 
   void PerformTest() override {
-    stats_poller_.PostDelayedTask(
-        absl::make_unique<StatsPollTask>(sender_call_), 100);
+    stats_poller_.PostDelayedTask(std::make_unique<StatsPollTask>(sender_call_),
+                                  100);
     sender_call_->OnAudioTransportOverheadChanged(0);
     AudioBweTest::PerformTest();
   }
diff --git a/audio/test/audio_end_to_end_test.cc b/audio/test/audio_end_to_end_test.cc
index 8eb155c..40d1226 100644
--- a/audio/test/audio_end_to_end_test.cc
+++ b/audio/test/audio_end_to_end_test.cc
@@ -11,8 +11,8 @@
 #include "audio/test/audio_end_to_end_test.h"
 
 #include <algorithm>
+#include <memory>
 
-#include "absl/memory/memory.h"
 #include "call/fake_network_pipe.h"
 #include "call/simulated_network.h"
 #include "system_wrappers/include/sleep.h"
@@ -68,9 +68,9 @@
   return new test::PacketTransport(
       task_queue, sender_call, this, test::PacketTransport::kSender,
       test::CallTest::payload_type_map_,
-      absl::make_unique<FakeNetworkPipe>(
+      std::make_unique<FakeNetworkPipe>(
           Clock::GetRealTimeClock(),
-          absl::make_unique<SimulatedNetwork>(GetNetworkPipeConfig())));
+          std::make_unique<SimulatedNetwork>(GetNetworkPipeConfig())));
 }
 
 test::PacketTransport* AudioEndToEndTest::CreateReceiveTransport(
@@ -78,9 +78,9 @@
   return new test::PacketTransport(
       task_queue, nullptr, this, test::PacketTransport::kReceiver,
       test::CallTest::payload_type_map_,
-      absl::make_unique<FakeNetworkPipe>(
+      std::make_unique<FakeNetworkPipe>(
           Clock::GetRealTimeClock(),
-          absl::make_unique<SimulatedNetwork>(GetNetworkPipeConfig())));
+          std::make_unique<SimulatedNetwork>(GetNetworkPipeConfig())));
 }
 
 void AudioEndToEndTest::ModifyAudioConfigs(
diff --git a/audio/test/media_transport_test.cc b/audio/test/media_transport_test.cc
index aacee1e..9646039 100644
--- a/audio/test/media_transport_test.cc
+++ b/audio/test/media_transport_test.cc
@@ -8,7 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/audio_codecs/audio_decoder_factory_template.h"
 #include "api/audio_codecs/audio_encoder_factory_template.h"
 #include "api/audio_codecs/opus/audio_decoder_opus.h"
@@ -85,8 +86,8 @@
           task_queue_factory.get(),
           TestAudioDeviceModule::CreatePulsedNoiseCapturer(
               /* max_amplitude= */ 10000, kSamplingFrequency, kNumChannels),
-          absl::make_unique<TestRenderer>(kSamplingFrequency, kNumChannels,
-                                          kWantedSamples));
+          std::make_unique<TestRenderer>(kSamplingFrequency, kNumChannels,
+                                         kWantedSamples));
 
   AudioState::Config audio_config;
   audio_config.audio_mixer = AudioMixerImpl::Create();
diff --git a/audio/test/pc_low_bandwidth_audio_test.cc b/audio/test/pc_low_bandwidth_audio_test.cc
index 6f02384..e372fab 100644
--- a/audio/test/pc_low_bandwidth_audio_test.cc
+++ b/audio/test/pc_low_bandwidth_audio_test.cc
@@ -8,8 +8,9 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include <memory>
+
 #include "absl/flags/flag.h"
-#include "absl/memory/memory.h"
 #include "api/test/create_network_emulation_manager.h"
 #include "api/test/create_peerconnection_quality_test_fixture.h"
 #include "api/test/network_emulation_manager.h"
@@ -81,7 +82,7 @@
   fixture->AddPeer(network_links.second->network_thread(),
                    network_links.second->network_manager(), bob_configurer);
   fixture->AddQualityMetricsReporter(
-      absl::make_unique<webrtc_pc_e2e::NetworkQualityMetricsReporter>(
+      std::make_unique<webrtc_pc_e2e::NetworkQualityMetricsReporter>(
           network_links.first, network_links.second));
   return fixture;
 }
diff --git a/call/BUILD.gn b/call/BUILD.gn
index 6c2141b..8769efc 100644
--- a/call/BUILD.gn
+++ b/call/BUILD.gn
@@ -117,7 +117,6 @@
     "../modules/rtp_rtcp:rtp_rtcp_format",
     "../rtc_base:checks",
     "../rtc_base:rtc_base_approved",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -170,7 +169,6 @@
     "../system_wrappers:field_trial",
     "//third_party/abseil-cpp/absl/algorithm:container",
     "//third_party/abseil-cpp/absl/container:inlined_vector",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
     "//third_party/abseil-cpp/absl/types:variant",
   ]
@@ -269,7 +267,6 @@
     "../system_wrappers:field_trial",
     "../system_wrappers:metrics",
     "../video",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -317,7 +314,6 @@
     "../rtc_base:checks",
     "../rtc_base:rtc_base_approved",
     "../rtc_base/synchronization:sequence_checker",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -349,7 +345,6 @@
     "../rtc_base:rtc_base_approved",
     "../rtc_base/synchronization:sequence_checker",
     "../system_wrappers",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -475,7 +470,6 @@
       "../video",
       "//testing/gtest",
       "//third_party/abseil-cpp/absl/flags:flag",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -537,7 +531,6 @@
       "../test:test_support",
       "//testing/gtest",
       "//third_party/abseil-cpp/absl/algorithm:container",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 }
diff --git a/call/bitrate_estimator_tests.cc b/call/bitrate_estimator_tests.cc
index 803e1f9..8fa3a57 100644
--- a/call/bitrate_estimator_tests.cc
+++ b/call/bitrate_estimator_tests.cc
@@ -12,7 +12,6 @@
 #include <memory>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "call/call.h"
 #include "call/fake_network_pipe.h"
 #include "call/simulated_network.h"
@@ -108,15 +107,15 @@
 
       send_transport_.reset(new test::DirectTransport(
           &task_queue_,
-          absl::make_unique<FakeNetworkPipe>(
-              Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
+          std::make_unique<FakeNetworkPipe>(
+              Clock::GetRealTimeClock(), std::make_unique<SimulatedNetwork>(
                                              BuiltInNetworkBehaviorConfig())),
           sender_call_.get(), payload_type_map_));
       send_transport_->SetReceiver(receiver_call_->Receiver());
       receive_transport_.reset(new test::DirectTransport(
           &task_queue_,
-          absl::make_unique<FakeNetworkPipe>(
-              Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
+          std::make_unique<FakeNetworkPipe>(
+              Clock::GetRealTimeClock(), std::make_unique<SimulatedNetwork>(
                                              BuiltInNetworkBehaviorConfig())),
           receiver_call_.get(), payload_type_map_));
       receive_transport_->SetReceiver(sender_call_->Receiver());
@@ -171,14 +170,14 @@
           send_stream_(nullptr),
           frame_generator_capturer_(),
           decoder_factory_(
-              []() { return absl::make_unique<test::FakeDecoder>(); }) {
+              []() { return std::make_unique<test::FakeDecoder>(); }) {
       test_->GetVideoSendConfig()->rtp.ssrcs[0]++;
       send_stream_ = test_->sender_call_->CreateVideoSendStream(
           test_->GetVideoSendConfig()->Copy(),
           test_->GetVideoEncoderConfig()->Copy());
       RTC_DCHECK_EQ(1, test_->GetVideoEncoderConfig()->number_of_streams);
       frame_generator_capturer_ =
-          absl::make_unique<test::FrameGeneratorCapturer>(
+          std::make_unique<test::FrameGeneratorCapturer>(
               test->clock_,
               test::FrameGenerator::CreateSquareGenerator(
                   kDefaultWidth, kDefaultHeight, absl::nullopt, absl::nullopt),
diff --git a/call/call.cc b/call/call.cc
index 3964171..940c1a3 100644
--- a/call/call.cc
+++ b/call/call.cc
@@ -19,7 +19,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/rtc_event_log/rtc_event_log.h"
 #include "api/transport/network_control.h"
@@ -112,7 +111,7 @@
 
 std::unique_ptr<rtclog::StreamConfig> CreateRtcLogStreamConfig(
     const VideoReceiveStream::Config& config) {
-  auto rtclog_config = absl::make_unique<rtclog::StreamConfig>();
+  auto rtclog_config = std::make_unique<rtclog::StreamConfig>();
   rtclog_config->remote_ssrc = config.rtp.remote_ssrc;
   rtclog_config->local_ssrc = config.rtp.local_ssrc;
   rtclog_config->rtx_ssrc = config.rtp.rtx_ssrc;
@@ -131,7 +130,7 @@
 std::unique_ptr<rtclog::StreamConfig> CreateRtcLogStreamConfig(
     const VideoSendStream::Config& config,
     size_t ssrc_index) {
-  auto rtclog_config = absl::make_unique<rtclog::StreamConfig>();
+  auto rtclog_config = std::make_unique<rtclog::StreamConfig>();
   rtclog_config->local_ssrc = config.rtp.ssrcs[ssrc_index];
   if (ssrc_index < config.rtp.rtx.ssrcs.size()) {
     rtclog_config->rtx_ssrc = config.rtp.rtx.ssrcs[ssrc_index];
@@ -147,7 +146,7 @@
 
 std::unique_ptr<rtclog::StreamConfig> CreateRtcLogStreamConfig(
     const AudioReceiveStream::Config& config) {
-  auto rtclog_config = absl::make_unique<rtclog::StreamConfig>();
+  auto rtclog_config = std::make_unique<rtclog::StreamConfig>();
   rtclog_config->remote_ssrc = config.rtp.remote_ssrc;
   rtclog_config->local_ssrc = config.rtp.local_ssrc;
   rtclog_config->rtp_extensions = config.rtp.extensions;
@@ -416,7 +415,7 @@
   RTC_DCHECK(config.task_queue_factory);
   return new internal::Call(
       clock, config,
-      absl::make_unique<RtpTransportControllerSend>(
+      std::make_unique<RtpTransportControllerSend>(
           clock, config.event_log, config.network_state_predictor_factory,
           config.network_controller_factory, config.bitrate_config,
           std::move(pacer_thread), config.task_queue_factory),
@@ -684,7 +683,7 @@
   TRACE_EVENT0("webrtc", "Call::CreateAudioReceiveStream");
   RTC_DCHECK_RUN_ON(&configuration_sequence_checker_);
   RegisterRateObserver();
-  event_log_->Log(absl::make_unique<RtcEventAudioReceiveStreamConfig>(
+  event_log_->Log(std::make_unique<RtcEventAudioReceiveStreamConfig>(
       CreateRtcLogStreamConfig(config)));
   AudioReceiveStream* receive_stream = new AudioReceiveStream(
       clock_, &audio_receiver_controller_, transport_send_ptr_->packet_router(),
@@ -748,7 +747,7 @@
   video_send_delay_stats_->AddSsrcs(config);
   for (size_t ssrc_index = 0; ssrc_index < config.rtp.ssrcs.size();
        ++ssrc_index) {
-    event_log_->Log(absl::make_unique<RtcEventVideoSendStreamConfig>(
+    event_log_->Log(std::make_unique<RtcEventVideoSendStreamConfig>(
         CreateRtcLogStreamConfig(config, ssrc_index)));
   }
 
@@ -786,7 +785,7 @@
   std::unique_ptr<FecController> fec_controller =
       config_.fec_controller_factory
           ? config_.fec_controller_factory->CreateFecController()
-          : absl::make_unique<FecControllerDefault>(clock_);
+          : std::make_unique<FecControllerDefault>(clock_);
   return CreateVideoSendStream(std::move(config), std::move(encoder_config),
                                std::move(fec_controller));
 }
@@ -862,7 +861,7 @@
   }
   receive_stream->SignalNetworkState(video_network_state_);
   UpdateAggregateNetworkState();
-  event_log_->Log(absl::make_unique<RtcEventVideoReceiveStreamConfig>(
+  event_log_->Log(std::make_unique<RtcEventVideoReceiveStreamConfig>(
       CreateRtcLogStreamConfig(config)));
   return receive_stream;
 }
@@ -1222,7 +1221,7 @@
   }
 
   if (rtcp_delivered) {
-    event_log_->Log(absl::make_unique<RtcEventRtcpPacketIncoming>(
+    event_log_->Log(std::make_unique<RtcEventRtcpPacketIncoming>(
         rtc::MakeArrayView(packet, length)));
   }
 
@@ -1284,7 +1283,7 @@
       received_bytes_per_second_counter_.Add(length);
       received_audio_bytes_per_second_counter_.Add(length);
       event_log_->Log(
-          absl::make_unique<RtcEventRtpPacketIncoming>(parsed_packet));
+          std::make_unique<RtcEventRtpPacketIncoming>(parsed_packet));
       const int64_t arrival_time_ms = parsed_packet.arrival_time_ms();
       if (!first_received_rtp_audio_ms_) {
         first_received_rtp_audio_ms_.emplace(arrival_time_ms);
@@ -1298,7 +1297,7 @@
       received_bytes_per_second_counter_.Add(length);
       received_video_bytes_per_second_counter_.Add(length);
       event_log_->Log(
-          absl::make_unique<RtcEventRtpPacketIncoming>(parsed_packet));
+          std::make_unique<RtcEventRtpPacketIncoming>(parsed_packet));
       const int64_t arrival_time_ms = parsed_packet.arrival_time_ms();
       if (!first_received_rtp_video_ms_) {
         first_received_rtp_video_ms_.emplace(arrival_time_ms);
diff --git a/call/call_perf_tests.cc b/call/call_perf_tests.cc
index 1a9b5e5..5bdc6c1 100644
--- a/call/call_perf_tests.cc
+++ b/call/call_perf_tests.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "api/audio_codecs/builtin_audio_encoder_factory.h"
 #include "api/rtc_event_log/rtc_event_log.h"
 #include "api/test/simulated_network.h"
@@ -217,28 +216,28 @@
                    return pair.second == MediaType::VIDEO;
                  });
 
-    audio_send_transport = absl::make_unique<test::PacketTransport>(
+    audio_send_transport = std::make_unique<test::PacketTransport>(
         &task_queue_, sender_call_.get(), &observer,
         test::PacketTransport::kSender, audio_pt_map,
-        absl::make_unique<FakeNetworkPipe>(
+        std::make_unique<FakeNetworkPipe>(
             Clock::GetRealTimeClock(),
-            absl::make_unique<SimulatedNetwork>(audio_net_config)));
+            std::make_unique<SimulatedNetwork>(audio_net_config)));
     audio_send_transport->SetReceiver(receiver_call_->Receiver());
 
-    video_send_transport = absl::make_unique<test::PacketTransport>(
+    video_send_transport = std::make_unique<test::PacketTransport>(
         &task_queue_, sender_call_.get(), &observer,
         test::PacketTransport::kSender, video_pt_map,
-        absl::make_unique<FakeNetworkPipe>(
-            Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
-                                           BuiltInNetworkBehaviorConfig())));
+        std::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
+                                          std::make_unique<SimulatedNetwork>(
+                                              BuiltInNetworkBehaviorConfig())));
     video_send_transport->SetReceiver(receiver_call_->Receiver());
 
-    receive_transport = absl::make_unique<test::PacketTransport>(
+    receive_transport = std::make_unique<test::PacketTransport>(
         &task_queue_, receiver_call_.get(), &observer,
         test::PacketTransport::kReceiver, payload_type_map_,
-        absl::make_unique<FakeNetworkPipe>(
-            Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
-                                           BuiltInNetworkBehaviorConfig())));
+        std::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
+                                          std::make_unique<SimulatedNetwork>(
+                                              BuiltInNetworkBehaviorConfig())));
     receive_transport->SetReceiver(sender_call_->Receiver());
 
     CreateSendConfig(1, 0, 0, video_send_transport.get());
@@ -283,7 +282,7 @@
     }
     EXPECT_EQ(1u, video_receive_streams_.size());
     observer.set_receive_stream(video_receive_streams_[0]);
-    drifting_clock = absl::make_unique<DriftingClock>(clock_, video_ntp_speed);
+    drifting_clock = std::make_unique<DriftingClock>(clock_, video_ntp_speed);
     CreateFrameGeneratorCapturerWithDrift(drifting_clock.get(), video_rtp_speed,
                                           kDefaultFramerate, kDefaultWidth,
                                           kDefaultHeight);
@@ -383,9 +382,9 @@
       return new test::PacketTransport(
           task_queue, sender_call, this, test::PacketTransport::kSender,
           payload_type_map_,
-          absl::make_unique<FakeNetworkPipe>(
+          std::make_unique<FakeNetworkPipe>(
               Clock::GetRealTimeClock(),
-              absl::make_unique<SimulatedNetwork>(net_config_)));
+              std::make_unique<SimulatedNetwork>(net_config_)));
     }
 
     test::PacketTransport* CreateReceiveTransport(
@@ -394,9 +393,9 @@
       return new test::PacketTransport(
           task_queue, nullptr, this, test::PacketTransport::kReceiver,
           payload_type_map_,
-          absl::make_unique<FakeNetworkPipe>(
+          std::make_unique<FakeNetworkPipe>(
               Clock::GetRealTimeClock(),
-              absl::make_unique<SimulatedNetwork>(net_config_)));
+              std::make_unique<SimulatedNetwork>(net_config_)));
     }
 
     void OnFrame(const VideoFrame& video_frame) override {
@@ -890,26 +889,26 @@
         test::DEPRECATED_SingleThreadedTaskQueueForTesting* task_queue,
         Call* sender_call) override {
       auto network =
-          absl::make_unique<SimulatedNetwork>(GetFakeNetworkPipeConfig());
+          std::make_unique<SimulatedNetwork>(GetFakeNetworkPipeConfig());
       send_simulated_network_ = network.get();
       return new test::PacketTransport(
           task_queue, sender_call, this, test::PacketTransport::kSender,
           test::CallTest::payload_type_map_,
-          absl::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
-                                             std::move(network)));
+          std::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
+                                            std::move(network)));
     }
 
     test::PacketTransport* CreateReceiveTransport(
         test::DEPRECATED_SingleThreadedTaskQueueForTesting* task_queue)
         override {
       auto network =
-          absl::make_unique<SimulatedNetwork>(GetFakeNetworkPipeConfig());
+          std::make_unique<SimulatedNetwork>(GetFakeNetworkPipeConfig());
       receive_simulated_network_ = network.get();
       return new test::PacketTransport(
           task_queue, nullptr, this, test::PacketTransport::kReceiver,
           test::CallTest::payload_type_map_,
-          absl::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
-                                             std::move(network)));
+          std::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
+                                            std::move(network)));
     }
 
     void PerformTest() override {
diff --git a/call/degraded_call.cc b/call/degraded_call.cc
index 5de50fd..9c8d2be 100644
--- a/call/degraded_call.cc
+++ b/call/degraded_call.cc
@@ -10,9 +10,9 @@
 
 #include "call/degraded_call.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/location.h"
 
 namespace webrtc {
@@ -137,16 +137,16 @@
       send_simulated_network_(nullptr),
       receive_config_(receive_config) {
   if (receive_config_) {
-    auto network = absl::make_unique<SimulatedNetwork>(*receive_config_);
+    auto network = std::make_unique<SimulatedNetwork>(*receive_config_);
     receive_simulated_network_ = network.get();
     receive_pipe_ =
-        absl::make_unique<webrtc::FakeNetworkPipe>(clock_, std::move(network));
+        std::make_unique<webrtc::FakeNetworkPipe>(clock_, std::move(network));
     receive_pipe_->SetReceiver(call_->Receiver());
   }
   if (send_config_) {
-    auto network = absl::make_unique<SimulatedNetwork>(*send_config_);
+    auto network = std::make_unique<SimulatedNetwork>(*send_config_);
     send_simulated_network_ = network.get();
-    send_pipe_ = absl::make_unique<FakeNetworkPipeOnTaskQueue>(
+    send_pipe_ = std::make_unique<FakeNetworkPipeOnTaskQueue>(
         task_queue_factory_, clock_, std::move(network));
   }
 }
@@ -156,7 +156,7 @@
 AudioSendStream* DegradedCall::CreateAudioSendStream(
     const AudioSendStream::Config& config) {
   if (send_config_) {
-    auto transport_adapter = absl::make_unique<FakeNetworkPipeTransportAdapter>(
+    auto transport_adapter = std::make_unique<FakeNetworkPipeTransportAdapter>(
         send_pipe_.get(), call_.get(), clock_, config.send_transport);
     AudioSendStream::Config degrade_config = config;
     degrade_config.send_transport = transport_adapter.get();
@@ -190,7 +190,7 @@
     VideoEncoderConfig encoder_config) {
   std::unique_ptr<FakeNetworkPipeTransportAdapter> transport_adapter;
   if (send_config_) {
-    transport_adapter = absl::make_unique<FakeNetworkPipeTransportAdapter>(
+    transport_adapter = std::make_unique<FakeNetworkPipeTransportAdapter>(
         send_pipe_.get(), call_.get(), clock_, config.send_transport);
     config.send_transport = transport_adapter.get();
   }
@@ -208,7 +208,7 @@
     std::unique_ptr<FecController> fec_controller) {
   std::unique_ptr<FakeNetworkPipeTransportAdapter> transport_adapter;
   if (send_config_) {
-    transport_adapter = absl::make_unique<FakeNetworkPipeTransportAdapter>(
+    transport_adapter = std::make_unique<FakeNetworkPipeTransportAdapter>(
         send_pipe_.get(), call_.get(), clock_, config.send_transport);
     config.send_transport = transport_adapter.get();
   }
diff --git a/call/fake_network_pipe_unittest.cc b/call/fake_network_pipe_unittest.cc
index da84470..9c4a3bf 100644
--- a/call/fake_network_pipe_unittest.cc
+++ b/call/fake_network_pipe_unittest.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "call/simulated_network.h"
 #include "system_wrappers/include/clock.h"
 #include "test/gmock.h"
@@ -74,7 +73,7 @@
   config.queue_length_packets = 20;
   config.link_capacity_kbps = 80;
   MockReceiver receiver;
-  auto simulated_network = absl::make_unique<SimulatedNetwork>(config);
+  auto simulated_network = std::make_unique<SimulatedNetwork>(config);
   std::unique_ptr<FakeNetworkPipe> pipe(new FakeNetworkPipe(
       &fake_clock_, std::move(simulated_network), &receiver));
 
@@ -115,7 +114,7 @@
   config.queue_delay_ms = 100;
   config.link_capacity_kbps = 80;
   MockReceiver receiver;
-  auto simulated_network = absl::make_unique<SimulatedNetwork>(config);
+  auto simulated_network = std::make_unique<SimulatedNetwork>(config);
   std::unique_ptr<FakeNetworkPipe> pipe(new FakeNetworkPipe(
       &fake_clock_, std::move(simulated_network), &receiver));
 
@@ -150,7 +149,7 @@
   config.queue_length_packets = 2;
   config.link_capacity_kbps = 80;
   MockReceiver receiver;
-  auto simulated_network = absl::make_unique<SimulatedNetwork>(config);
+  auto simulated_network = std::make_unique<SimulatedNetwork>(config);
   std::unique_ptr<FakeNetworkPipe> pipe(new FakeNetworkPipe(
       &fake_clock_, std::move(simulated_network), &receiver));
 
@@ -175,7 +174,7 @@
   config.queue_delay_ms = 20;
   config.link_capacity_kbps = 80;
   MockReceiver receiver;
-  auto simulated_network = absl::make_unique<SimulatedNetwork>(config);
+  auto simulated_network = std::make_unique<SimulatedNetwork>(config);
   std::unique_ptr<FakeNetworkPipe> pipe(new FakeNetworkPipe(
       &fake_clock_, std::move(simulated_network), &receiver));
 
@@ -370,7 +369,7 @@
   config.loss_percent = kLossPercent;
   config.avg_burst_loss_length = kAvgBurstLength;
   ReorderTestReceiver receiver;
-  auto simulated_network = absl::make_unique<SimulatedNetwork>(config);
+  auto simulated_network = std::make_unique<SimulatedNetwork>(config);
   std::unique_ptr<FakeNetworkPipe> pipe(new FakeNetworkPipe(
       &fake_clock_, std::move(simulated_network), &receiver));
 
@@ -403,7 +402,7 @@
   BuiltInNetworkBehaviorConfig config;
   config.link_capacity_kbps = 800;
   MockReceiver receiver;
-  auto simulated_network = absl::make_unique<SimulatedNetwork>(config);
+  auto simulated_network = std::make_unique<SimulatedNetwork>(config);
   std::unique_ptr<FakeNetworkPipe> pipe(new FakeNetworkPipe(
       &fake_clock_, std::move(simulated_network), &receiver));
 
diff --git a/call/flexfec_receive_stream_unittest.cc b/call/flexfec_receive_stream_unittest.cc
index 45f4589..5e8ee47 100644
--- a/call/flexfec_receive_stream_unittest.cc
+++ b/call/flexfec_receive_stream_unittest.cc
@@ -14,7 +14,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/array_view.h"
 #include "api/call/transport.h"
 #include "api/rtp_headers.h"
@@ -89,7 +88,7 @@
   FlexfecReceiveStreamTest()
       : config_(CreateDefaultConfig(&rtcp_send_transport_)) {
     EXPECT_CALL(process_thread_, RegisterModule(_, _)).Times(1);
-    receive_stream_ = absl::make_unique<FlexfecReceiveStreamImpl>(
+    receive_stream_ = std::make_unique<FlexfecReceiveStreamImpl>(
         Clock::GetRealTimeClock(), &rtp_stream_receiver_controller_, config_,
         &recovered_packet_receiver_, &rtt_stats_, &process_thread_);
   }
diff --git a/call/rampup_tests.cc b/call/rampup_tests.cc
index b3f2063..841f4d6 100644
--- a/call/rampup_tests.cc
+++ b/call/rampup_tests.cc
@@ -13,7 +13,6 @@
 #include <memory>
 
 #include "absl/flags/flag.h"
-#include "absl/memory/memory.h"
 #include "api/rtc_event_log/rtc_event_log_factory.h"
 #include "api/rtc_event_log_output_file.h"
 #include "api/task_queue/default_task_queue_factory.h"
@@ -120,13 +119,13 @@
 test::PacketTransport* RampUpTester::CreateSendTransport(
     test::DEPRECATED_SingleThreadedTaskQueueForTesting* task_queue,
     Call* sender_call) {
-  auto network = absl::make_unique<SimulatedNetwork>(forward_transport_config_);
+  auto network = std::make_unique<SimulatedNetwork>(forward_transport_config_);
   send_simulated_network_ = network.get();
   send_transport_ = new test::PacketTransport(
       task_queue, sender_call, this, test::PacketTransport::kSender,
       test::CallTest::payload_type_map_,
-      absl::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
-                                         std::move(network)));
+      std::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
+                                        std::move(network)));
   return send_transport_;
 }
 
@@ -641,11 +640,11 @@
           RtcEventLog::EncodingType::Legacy);
       bool event_log_started =
           send_event_log_->StartLogging(
-              absl::make_unique<RtcEventLogOutputFile>(
+              std::make_unique<RtcEventLogOutputFile>(
                   dump_name + ".send.rtc.dat", RtcEventLog::kUnlimitedOutput),
               RtcEventLog::kImmediateOutput) &&
           recv_event_log_->StartLogging(
-              absl::make_unique<RtcEventLogOutputFile>(
+              std::make_unique<RtcEventLogOutputFile>(
                   dump_name + ".recv.rtc.dat", RtcEventLog::kUnlimitedOutput),
               RtcEventLog::kImmediateOutput);
       RTC_DCHECK(event_log_started);
diff --git a/call/receive_time_calculator.cc b/call/receive_time_calculator.cc
index 200d594..0675de0 100644
--- a/call/receive_time_calculator.cc
+++ b/call/receive_time_calculator.cc
@@ -10,10 +10,10 @@
 
 #include "call/receive_time_calculator.h"
 
+#include <memory>
 #include <string>
 #include <type_traits>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/experiments/field_trial_parser.h"
 #include "rtc_base/numerics/safe_minmax.h"
 #include "system_wrappers/include/field_trial.h"
@@ -47,7 +47,7 @@
 ReceiveTimeCalculator::CreateFromFieldTrial() {
   if (!IsEnabled(kBweReceiveTimeCorrection))
     return nullptr;
-  return absl::make_unique<ReceiveTimeCalculator>();
+  return std::make_unique<ReceiveTimeCalculator>();
 }
 
 int64_t ReceiveTimeCalculator::ReconcileReceiveTimes(int64_t packet_time_us,
diff --git a/call/rtp_demuxer_unittest.cc b/call/rtp_demuxer_unittest.cc
index 0a08c869..86b458a 100644
--- a/call/rtp_demuxer_unittest.cc
+++ b/call/rtp_demuxer_unittest.cc
@@ -14,7 +14,6 @@
 #include <set>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "call/ssrc_binding_observer.h"
 #include "call/test/mock_rtp_packet_sink_interface.h"
 #include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
@@ -134,7 +133,7 @@
   std::unique_ptr<RtpPacketReceived> CreatePacket(
       uint32_t ssrc,
       RtpPacketReceived::ExtensionManager* extension_manager) {
-    auto packet = absl::make_unique<RtpPacketReceived>(extension_manager);
+    auto packet = std::make_unique<RtpPacketReceived>(extension_manager);
     packet->SetSsrc(ssrc);
     packet->SetSequenceNumber(next_sequence_number_++);
     return packet;
diff --git a/call/rtp_stream_receiver_controller.cc b/call/rtp_stream_receiver_controller.cc
index 3fae021..0fc8b26 100644
--- a/call/rtp_stream_receiver_controller.cc
+++ b/call/rtp_stream_receiver_controller.cc
@@ -10,7 +10,8 @@
 
 #include "call/rtp_stream_receiver_controller.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "rtc_base/logging.h"
 
 namespace webrtc {
@@ -46,7 +47,7 @@
 std::unique_ptr<RtpStreamReceiverInterface>
 RtpStreamReceiverController::CreateReceiver(uint32_t ssrc,
                                             RtpPacketSinkInterface* sink) {
-  return absl::make_unique<Receiver>(this, ssrc, sink);
+  return std::make_unique<Receiver>(this, ssrc, sink);
 }
 
 bool RtpStreamReceiverController::OnRtpPacket(const RtpPacketReceived& packet) {
diff --git a/call/rtp_transport_controller_send.cc b/call/rtp_transport_controller_send.cc
index 82b345c..41954b9 100644
--- a/call/rtp_transport_controller_send.cc
+++ b/call/rtp_transport_controller_send.cc
@@ -9,10 +9,10 @@
  */
 #include "call/rtp_transport_controller_send.h"
 
+#include <memory>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/transport/goog_cc_factory.h"
 #include "api/transport/network_types.h"
@@ -72,7 +72,7 @@
       observer_(nullptr),
       controller_factory_override_(controller_factory),
       controller_factory_fallback_(
-          absl::make_unique<GoogCcNetworkControllerFactory>(predictor_factory)),
+          std::make_unique<GoogCcNetworkControllerFactory>(predictor_factory)),
       process_interval_(controller_factory_fallback_->GetProcessInterval()),
       last_report_block_time_(Timestamp::ms(clock_->TimeInMilliseconds())),
       reset_feedback_on_route_change_(
@@ -112,7 +112,7 @@
     RtcEventLog* event_log,
     std::unique_ptr<FecController> fec_controller,
     const RtpSenderFrameEncryptionConfig& frame_encryption_config) {
-  video_rtp_senders_.push_back(absl::make_unique<RtpVideoSender>(
+  video_rtp_senders_.push_back(std::make_unique<RtpVideoSender>(
       clock_, suspended_ssrcs, states, rtp_config, rtcp_report_interval_ms,
       send_transport, observers,
       // TODO(holmer): Remove this circular dependency by injecting
@@ -265,7 +265,7 @@
     transport_overhead_bytes_per_packet_ = network_route.packet_overhead;
 
     if (event_log_) {
-      event_log_->Log(absl::make_unique<RtcEventRouteChange>(
+      event_log_->Log(std::make_unique<RtcEventRouteChange>(
           network_route.connected, network_route.packet_overhead));
     }
     NetworkRouteChange msg;
@@ -490,7 +490,7 @@
 
   if (!network_available_ || !observer_)
     return;
-  control_handler_ = absl::make_unique<CongestionControlHandler>();
+  control_handler_ = std::make_unique<CongestionControlHandler>();
 
   initial_config_.constraints.at_time =
       Timestamp::ms(clock_->TimeInMilliseconds());
diff --git a/call/rtp_video_sender.cc b/call/rtp_video_sender.cc
index 420c442..a88cc2c 100644
--- a/call/rtp_video_sender.cc
+++ b/call/rtp_video_sender.cc
@@ -16,7 +16,6 @@
 #include <utility>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "api/array_view.h"
 #include "api/transport/field_trial_based_config.h"
 #include "call/rtp_transport_controller_send_interface.h"
@@ -118,7 +117,7 @@
                                     *configuration.local_media_ssrc) !=
                               flexfec_protected_ssrcs.end();
     configuration.flexfec_sender = enable_flexfec ? flexfec_sender : nullptr;
-    auto playout_delay_oracle = absl::make_unique<PlayoutDelayOracle>();
+    auto playout_delay_oracle = std::make_unique<PlayoutDelayOracle>();
 
     configuration.ack_observer = playout_delay_oracle.get();
     if (rtp_config.rtx.ssrcs.size() > i) {
@@ -130,7 +129,7 @@
     rtp_rtcp->SetSendingMediaStatus(false);
     rtp_rtcp->SetRTCPStatus(RtcpMode::kCompound);
 
-    auto sender_video = absl::make_unique<RTPSenderVideo>(
+    auto sender_video = std::make_unique<RTPSenderVideo>(
         configuration.clock, rtp_rtcp->RtpSender(),
         configuration.flexfec_sender, playout_delay_oracle.get(),
         frame_encryptor, crypto_options.sframe.require_frame_encryption,
@@ -192,7 +191,7 @@
   }
 
   RTC_DCHECK_EQ(1U, rtp.flexfec.protected_media_ssrcs.size());
-  return absl::make_unique<FlexfecSender>(
+  return std::make_unique<FlexfecSender>(
       rtp.flexfec.payload_type, rtp.flexfec.ssrc,
       rtp.flexfec.protected_media_ssrcs[0], rtp.mid, rtp.extensions,
       RTPSender::FecExtensionSizes(), rtp_state, clock);
diff --git a/call/rtp_video_sender_unittest.cc b/call/rtp_video_sender_unittest.cc
index 1fb24ab..17ee9c6 100644
--- a/call/rtp_video_sender_unittest.cc
+++ b/call/rtp_video_sender_unittest.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "api/task_queue/default_task_queue_factory.h"
 #include "call/rtp_transport_controller_send.h"
 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
@@ -137,7 +136,7 @@
                      VideoEncoderConfig::ContentType::kRealtimeVideo),
         retransmission_rate_limiter_(&clock_, kRetransmitWindowSizeMs) {
     std::map<uint32_t, RtpState> suspended_ssrcs;
-    router_ = absl::make_unique<RtpVideoSender>(
+    router_ = std::make_unique<RtpVideoSender>(
         &clock_, suspended_ssrcs, suspended_payload_states, config_.rtp,
         config_.rtcp_report_interval_ms, &transport_,
         CreateObservers(&call_stats_, &encoder_feedback_, &stats_proxy_,
@@ -145,7 +144,7 @@
                         frame_count_observer, &stats_proxy_, &stats_proxy_,
                         &send_delay_stats_),
         &transport_controller_, &event_log_, &retransmission_rate_limiter_,
-        absl::make_unique<FecControllerDefault>(&clock_), nullptr,
+        std::make_unique<FecControllerDefault>(&clock_), nullptr,
         CryptoOptions{});
   }
   RtpVideoSenderTestFixture(
diff --git a/common_audio/BUILD.gn b/common_audio/BUILD.gn
index d8d4494..849ecad 100644
--- a/common_audio/BUILD.gn
+++ b/common_audio/BUILD.gn
@@ -59,7 +59,6 @@
     "../system_wrappers:cpu_features_api",
     "third_party/fft4g",
     "//third_party/abseil-cpp/absl/container:inlined_vector",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 
diff --git a/common_audio/resampler/push_resampler.cc b/common_audio/resampler/push_resampler.cc
index 9b89867..17b876b 100644
--- a/common_audio/resampler/push_resampler.cc
+++ b/common_audio/resampler/push_resampler.cc
@@ -13,8 +13,9 @@
 #include <stdint.h>
 #include <string.h>
 
+#include <memory>
+
 #include "absl/container/inlined_vector.h"
-#include "absl/memory/memory.h"
 #include "common_audio/include/audio_util.h"
 #include "common_audio/resampler/push_sinc_resampler.h"
 #include "rtc_base/checks.h"
@@ -93,7 +94,7 @@
   for (size_t i = 0; i < num_channels; ++i) {
     channel_resamplers_.push_back(ChannelResampler());
     auto channel_resampler = channel_resamplers_.rbegin();
-    channel_resampler->resampler = absl::make_unique<PushSincResampler>(
+    channel_resampler->resampler = std::make_unique<PushSincResampler>(
         src_size_10ms_mono, dst_size_10ms_mono);
     channel_resampler->source.resize(src_size_10ms_mono);
     channel_resampler->destination.resize(dst_size_10ms_mono);
diff --git a/common_video/BUILD.gn b/common_video/BUILD.gn
index c0cd959..c2c0bc2 100644
--- a/common_video/BUILD.gn
+++ b/common_video/BUILD.gn
@@ -113,7 +113,6 @@
       "../test:test_support",
       "../test:video_test_common",
       "//testing/gtest",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/libyuv",
     ]
 
diff --git a/common_video/libyuv/libyuv_unittest.cc b/common_video/libyuv/libyuv_unittest.cc
index 68c4501..2a79928 100644
--- a/common_video/libyuv/libyuv_unittest.cc
+++ b/common_video/libyuv/libyuv_unittest.cc
@@ -15,7 +15,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/video/i420_buffer.h"
 #include "api/video/video_frame.h"
 #include "common_video/libyuv/include/webrtc_libyuv.h"
@@ -69,11 +68,11 @@
       test::ReadI420Buffer(width_, height_, source_file_));
 
   orig_frame_ =
-      absl::make_unique<VideoFrame>(VideoFrame::Builder()
-                                        .set_video_frame_buffer(buffer)
-                                        .set_rotation(webrtc::kVideoRotation_0)
-                                        .set_timestamp_us(0)
-                                        .build());
+      std::make_unique<VideoFrame>(VideoFrame::Builder()
+                                       .set_video_frame_buffer(buffer)
+                                       .set_rotation(webrtc::kVideoRotation_0)
+                                       .set_timestamp_us(0)
+                                       .build());
 }
 
 void TestLibYuv::TearDown() {
diff --git a/examples/BUILD.gn b/examples/BUILD.gn
index 0d54d30..f9c4b99 100644
--- a/examples/BUILD.gn
+++ b/examples/BUILD.gn
@@ -483,7 +483,6 @@
         "../sdk:ui_objc",
         "../sdk:videocapture_objc",
         "../sdk:videotoolbox_objc",
-        "//third_party/abseil-cpp/absl/memory",
       ]
 
       if (current_cpu == "arm64") {
diff --git a/examples/androidnativeapi/BUILD.gn b/examples/androidnativeapi/BUILD.gn
index 1d452ee..dad0840 100644
--- a/examples/androidnativeapi/BUILD.gn
+++ b/examples/androidnativeapi/BUILD.gn
@@ -62,7 +62,6 @@
       "//sdk/android:native_api_base",
       "//sdk/android:native_api_jni",
       "//sdk/android:native_api_video",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
diff --git a/examples/androidnativeapi/jni/android_call_client.cc b/examples/androidnativeapi/jni/android_call_client.cc
index 7bd6d3b..0396833 100644
--- a/examples/androidnativeapi/jni/android_call_client.cc
+++ b/examples/androidnativeapi/jni/android_call_client.cc
@@ -12,7 +12,8 @@
 
 #include <utility>
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/peer_connection_interface.h"
 #include "api/rtc_event_log/rtc_event_log_factory.h"
 #include "api/task_queue/default_task_queue_factory.h"
@@ -75,7 +76,7 @@
 }  // namespace
 
 AndroidCallClient::AndroidCallClient()
-    : call_started_(false), pc_observer_(absl::make_unique<PCObserver>(this)) {
+    : call_started_(false), pc_observer_(std::make_unique<PCObserver>(this)) {
   thread_checker_.Detach();
   CreatePeerConnectionFactory();
 }
@@ -155,15 +156,15 @@
   pcf_deps.signaling_thread = signaling_thread_.get();
   pcf_deps.task_queue_factory = webrtc::CreateDefaultTaskQueueFactory();
   pcf_deps.call_factory = webrtc::CreateCallFactory();
-  pcf_deps.event_log_factory = absl::make_unique<webrtc::RtcEventLogFactory>(
+  pcf_deps.event_log_factory = std::make_unique<webrtc::RtcEventLogFactory>(
       pcf_deps.task_queue_factory.get());
 
   cricket::MediaEngineDependencies media_deps;
   media_deps.task_queue_factory = pcf_deps.task_queue_factory.get();
   media_deps.video_encoder_factory =
-      absl::make_unique<webrtc::InternalEncoderFactory>();
+      std::make_unique<webrtc::InternalEncoderFactory>();
   media_deps.video_decoder_factory =
-      absl::make_unique<webrtc::InternalDecoderFactory>();
+      std::make_unique<webrtc::InternalDecoderFactory>();
   webrtc::SetMediaEngineDefaults(&media_deps);
   pcf_deps.media_engine = cricket::CreateMediaEngine(std::move(media_deps));
   RTC_LOG(LS_INFO) << "Media engine created: " << pcf_deps.media_engine.get();
diff --git a/examples/objcnativeapi/objc/objc_call_client.mm b/examples/objcnativeapi/objc/objc_call_client.mm
index 3d07cd0..4be30bb 100644
--- a/examples/objcnativeapi/objc/objc_call_client.mm
+++ b/examples/objcnativeapi/objc/objc_call_client.mm
@@ -10,6 +10,7 @@
 
 #include "examples/objcnativeapi/objc/objc_call_client.h"
 
+#include <memory>
 #include <utility>
 
 #import "sdk/objc/base/RTCVideoRenderer.h"
@@ -17,7 +18,6 @@
 #import "sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.h"
 #import "sdk/objc/helpers/RTCCameraPreviewView.h"
 
-#include "absl/memory/memory.h"
 #include "api/audio_codecs/builtin_audio_decoder_factory.h"
 #include "api/audio_codecs/builtin_audio_encoder_factory.h"
 #include "api/peer_connection_interface.h"
@@ -59,7 +59,7 @@
 }  // namespace
 
 ObjCCallClient::ObjCCallClient()
-    : call_started_(false), pc_observer_(absl::make_unique<PCObserver>(this)) {
+    : call_started_(false), pc_observer_(std::make_unique<PCObserver>(this)) {
   thread_checker_.Detach();
   CreatePeerConnectionFactory();
 }
@@ -131,7 +131,7 @@
   RTC_LOG(LS_INFO) << "Media engine created: " << dependencies.media_engine.get();
   dependencies.call_factory = webrtc::CreateCallFactory();
   dependencies.event_log_factory =
-      absl::make_unique<webrtc::RtcEventLogFactory>(dependencies.task_queue_factory.get());
+      std::make_unique<webrtc::RtcEventLogFactory>(dependencies.task_queue_factory.get());
   pcf_ = webrtc::CreateModularPeerConnectionFactory(std::move(dependencies));
   RTC_LOG(LS_INFO) << "PeerConnectionFactory created: " << pcf_;
 }
diff --git a/examples/unityplugin/simple_peer_connection.cc b/examples/unityplugin/simple_peer_connection.cc
index ed89489..8a719ba 100644
--- a/examples/unityplugin/simple_peer_connection.cc
+++ b/examples/unityplugin/simple_peer_connection.cc
@@ -133,10 +133,10 @@
         webrtc::CreateBuiltinAudioDecoderFactory(),
         std::unique_ptr<webrtc::VideoEncoderFactory>(
             new webrtc::MultiplexEncoderFactory(
-                absl::make_unique<webrtc::InternalEncoderFactory>())),
+                std::make_unique<webrtc::InternalEncoderFactory>())),
         std::unique_ptr<webrtc::VideoDecoderFactory>(
             new webrtc::MultiplexDecoderFactory(
-                absl::make_unique<webrtc::InternalDecoderFactory>())),
+                std::make_unique<webrtc::InternalDecoderFactory>())),
         nullptr, nullptr);
   }
   if (!g_peer_connection_factory.get()) {
diff --git a/logging/BUILD.gn b/logging/BUILD.gn
index 0f254a5..190b411 100644
--- a/logging/BUILD.gn
+++ b/logging/BUILD.gn
@@ -250,7 +250,6 @@
       "../rtc_base:rtc_task_queue",
       "../rtc_base:safe_minmax",
       "../rtc_base/synchronization:sequence_checker",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
   }
diff --git a/logging/rtc_event_log/encoder/delta_encoding.cc b/logging/rtc_event_log/encoder/delta_encoding.cc
index ca2589f..022fb9c 100644
--- a/logging/rtc_event_log/encoder/delta_encoding.cc
+++ b/logging/rtc_event_log/encoder/delta_encoding.cc
@@ -447,7 +447,7 @@
     : params_(params), base_(base), values_(values) {
   RTC_DCHECK(!values_.empty());
   writer_ =
-      absl::make_unique<BitWriter>(OutputLengthBytes(existent_values_count));
+      std::make_unique<BitWriter>(OutputLengthBytes(existent_values_count));
 }
 
 std::string FixedLengthDeltaEncoder::Encode() {
@@ -723,7 +723,7 @@
     return nullptr;
   }
 
-  auto reader = absl::make_unique<rtc::BitBuffer>(
+  auto reader = std::make_unique<rtc::BitBuffer>(
       reinterpret_cast<const uint8_t*>(&input[0]), input.length());
 
   // Encoding type
diff --git a/logging/rtc_event_log/encoder/rtc_event_log_encoder_unittest.cc b/logging/rtc_event_log/encoder/rtc_event_log_encoder_unittest.cc
index 6bccf57..0bea93d 100644
--- a/logging/rtc_event_log/encoder/rtc_event_log_encoder_unittest.cc
+++ b/logging/rtc_event_log/encoder/rtc_event_log_encoder_unittest.cc
@@ -10,10 +10,10 @@
 
 #include <deque>
 #include <limits>
+#include <memory>
 #include <string>
 #include <tuple>
 
-#include "absl/memory/memory.h"
 #include "logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.h"
 #include "logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.h"
 #include "logging/rtc_event_log/events/rtc_event_alr_state.h"
@@ -55,9 +55,9 @@
         verifier_(new_encoding_ ? RtcEventLog::EncodingType::NewFormat
                                 : RtcEventLog::EncodingType::Legacy) {
     if (new_encoding_)
-      encoder_ = absl::make_unique<RtcEventLogEncoderNewFormat>();
+      encoder_ = std::make_unique<RtcEventLogEncoderNewFormat>();
     else
-      encoder_ = absl::make_unique<RtcEventLogEncoderLegacy>();
+      encoder_ = std::make_unique<RtcEventLogEncoderLegacy>();
   }
   ~RtcEventLogEncoderTest() override = default;
 
@@ -244,11 +244,11 @@
       event_count_);
   for (size_t i = 0; i < event_count_; ++i) {
     if (i == 0 || !force_repeated_fields_) {
-      auto runtime_config = absl::make_unique<AudioEncoderRuntimeConfig>();
+      auto runtime_config = std::make_unique<AudioEncoderRuntimeConfig>();
       const int bitrate_bps = rtc::checked_cast<int>(
           prng_.Rand(0, std::numeric_limits<int32_t>::max()));
       runtime_config->bitrate_bps = bitrate_bps;
-      events[i] = absl::make_unique<RtcEventAudioNetworkAdaptation>(
+      events[i] = std::make_unique<RtcEventAudioNetworkAdaptation>(
           std::move(runtime_config));
     } else {
       events[i] = events[0]->Copy();
@@ -262,10 +262,10 @@
       event_count_);
   for (size_t i = 0; i < event_count_; ++i) {
     if (i == 0 || !force_repeated_fields_) {
-      auto runtime_config = absl::make_unique<AudioEncoderRuntimeConfig>();
+      auto runtime_config = std::make_unique<AudioEncoderRuntimeConfig>();
       const int frame_length_ms = prng_.Rand(1, 1000);
       runtime_config->frame_length_ms = frame_length_ms;
-      events[i] = absl::make_unique<RtcEventAudioNetworkAdaptation>(
+      events[i] = std::make_unique<RtcEventAudioNetworkAdaptation>(
           std::move(runtime_config));
     } else {
       events[i] = events[0]->Copy();
@@ -281,9 +281,9 @@
     if (i == 0 || !force_repeated_fields_) {
       // To simplify the test, we just check powers of two.
       const float plr = std::pow(0.5f, prng_.Rand(1, 8));
-      auto runtime_config = absl::make_unique<AudioEncoderRuntimeConfig>();
+      auto runtime_config = std::make_unique<AudioEncoderRuntimeConfig>();
       runtime_config->uplink_packet_loss_fraction = plr;
-      events[i] = absl::make_unique<RtcEventAudioNetworkAdaptation>(
+      events[i] = std::make_unique<RtcEventAudioNetworkAdaptation>(
           std::move(runtime_config));
     } else {
       events[i] = events[0]->Copy();
@@ -297,9 +297,9 @@
       event_count_);
   for (size_t i = 0; i < event_count_; ++i) {
     if (i == 0 || !force_repeated_fields_) {
-      auto runtime_config = absl::make_unique<AudioEncoderRuntimeConfig>();
+      auto runtime_config = std::make_unique<AudioEncoderRuntimeConfig>();
       runtime_config->enable_fec = prng_.Rand<bool>();
-      events[i] = absl::make_unique<RtcEventAudioNetworkAdaptation>(
+      events[i] = std::make_unique<RtcEventAudioNetworkAdaptation>(
           std::move(runtime_config));
     } else {
       events[i] = events[0]->Copy();
@@ -313,9 +313,9 @@
       event_count_);
   for (size_t i = 0; i < event_count_; ++i) {
     if (i == 0 || !force_repeated_fields_) {
-      auto runtime_config = absl::make_unique<AudioEncoderRuntimeConfig>();
+      auto runtime_config = std::make_unique<AudioEncoderRuntimeConfig>();
       runtime_config->enable_dtx = prng_.Rand<bool>();
-      events[i] = absl::make_unique<RtcEventAudioNetworkAdaptation>(
+      events[i] = std::make_unique<RtcEventAudioNetworkAdaptation>(
           std::move(runtime_config));
     } else {
       events[i] = events[0]->Copy();
@@ -329,9 +329,9 @@
       event_count_);
   for (size_t i = 0; i < event_count_; ++i) {
     if (i == 0 || !force_repeated_fields_) {
-      auto runtime_config = absl::make_unique<AudioEncoderRuntimeConfig>();
+      auto runtime_config = std::make_unique<AudioEncoderRuntimeConfig>();
       runtime_config->num_channels = prng_.Rand(1, 2);
-      events[i] = absl::make_unique<RtcEventAudioNetworkAdaptation>(
+      events[i] = std::make_unique<RtcEventAudioNetworkAdaptation>(
           std::move(runtime_config));
     } else {
       events[i] = events[0]->Copy();
@@ -345,7 +345,7 @@
       event_count_);
   for (size_t i = 0; i < event_count_; ++i) {
     if (i == 0 || !force_repeated_fields_) {
-      auto runtime_config = absl::make_unique<AudioEncoderRuntimeConfig>();
+      auto runtime_config = std::make_unique<AudioEncoderRuntimeConfig>();
       runtime_config->bitrate_bps = rtc::checked_cast<int>(
           prng_.Rand(0, std::numeric_limits<int32_t>::max()));
       runtime_config->frame_length_ms = prng_.Rand(1, 1000);
@@ -354,7 +354,7 @@
       runtime_config->enable_fec = prng_.Rand<bool>();
       runtime_config->enable_dtx = prng_.Rand<bool>();
       runtime_config->num_channels = prng_.Rand(1, 2);
-      events[i] = absl::make_unique<RtcEventAudioNetworkAdaptation>(
+      events[i] = std::make_unique<RtcEventAudioNetworkAdaptation>(
           std::move(runtime_config));
     } else {
       events[i] = events[0]->Copy();
@@ -773,10 +773,10 @@
       rtc::Buffer buffer = events[i].Build();
       if (direction == kIncomingPacket) {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketIncoming>(buffer));
+            std::make_unique<RtcEventRtcpPacketIncoming>(buffer));
       } else {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
+            std::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
       }
       fake_clock.AdvanceTime(TimeDelta::ms(prng_.Rand(0, 1000)));
     }
@@ -812,10 +812,10 @@
       rtc::Buffer buffer = events[i].Build();
       if (direction == kIncomingPacket) {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketIncoming>(buffer));
+            std::make_unique<RtcEventRtcpPacketIncoming>(buffer));
       } else {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
+            std::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
       }
       fake_clock.AdvanceTime(TimeDelta::ms(prng_.Rand(0, 1000)));
     }
@@ -851,10 +851,10 @@
       rtc::Buffer buffer = events[i].Build();
       if (direction == kIncomingPacket) {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketIncoming>(buffer));
+            std::make_unique<RtcEventRtcpPacketIncoming>(buffer));
       } else {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
+            std::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
       }
       fake_clock.AdvanceTime(TimeDelta::ms(prng_.Rand(0, 1000)));
     }
@@ -890,10 +890,10 @@
       rtc::Buffer buffer = events[i].Build();
       if (direction == kIncomingPacket) {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketIncoming>(buffer));
+            std::make_unique<RtcEventRtcpPacketIncoming>(buffer));
       } else {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
+            std::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
       }
       fake_clock.AdvanceTime(TimeDelta::ms(prng_.Rand(0, 1000)));
     }
@@ -928,10 +928,10 @@
       rtc::Buffer buffer = events[i].Build();
       if (direction == kIncomingPacket) {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketIncoming>(buffer));
+            std::make_unique<RtcEventRtcpPacketIncoming>(buffer));
       } else {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
+            std::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
       }
       fake_clock.AdvanceTime(TimeDelta::ms(prng_.Rand(0, 1000)));
     }
@@ -966,10 +966,10 @@
       rtc::Buffer buffer = events[i].Build();
       if (direction == kIncomingPacket) {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketIncoming>(buffer));
+            std::make_unique<RtcEventRtcpPacketIncoming>(buffer));
       } else {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
+            std::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
       }
       fake_clock.AdvanceTime(TimeDelta::ms(prng_.Rand(0, 1000)));
     }
@@ -1004,10 +1004,10 @@
       rtc::Buffer buffer = events[i].Build();
       if (direction == kIncomingPacket) {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketIncoming>(buffer));
+            std::make_unique<RtcEventRtcpPacketIncoming>(buffer));
       } else {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
+            std::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
       }
       fake_clock.AdvanceTime(TimeDelta::ms(prng_.Rand(0, 1000)));
     }
@@ -1043,10 +1043,10 @@
       rtc::Buffer buffer = events[i].Build();
       if (direction == kIncomingPacket) {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketIncoming>(buffer));
+            std::make_unique<RtcEventRtcpPacketIncoming>(buffer));
       } else {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
+            std::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
       }
       fake_clock.AdvanceTime(TimeDelta::ms(prng_.Rand(0, 1000)));
     }
@@ -1084,10 +1084,10 @@
       rtc::Buffer buffer = events[i].Build();
       if (direction == kIncomingPacket) {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketIncoming>(buffer));
+            std::make_unique<RtcEventRtcpPacketIncoming>(buffer));
       } else {
         history_.push_back(
-            absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
+            std::make_unique<RtcEventRtcpPacketOutgoing>(buffer));
       }
       fake_clock.AdvanceTime(TimeDelta::ms(prng_.Rand(0, 1000)));
     }
diff --git a/logging/rtc_event_log/events/rtc_event_audio_network_adaptation.cc b/logging/rtc_event_log/events/rtc_event_audio_network_adaptation.cc
index 571b9a9..7378316 100644
--- a/logging/rtc_event_log/events/rtc_event_audio_network_adaptation.cc
+++ b/logging/rtc_event_log/events/rtc_event_audio_network_adaptation.cc
@@ -27,7 +27,7 @@
 RtcEventAudioNetworkAdaptation::RtcEventAudioNetworkAdaptation(
     const RtcEventAudioNetworkAdaptation& other)
     : RtcEvent(other.timestamp_us_),
-      config_(absl::make_unique<AudioEncoderRuntimeConfig>(*other.config_)) {}
+      config_(std::make_unique<AudioEncoderRuntimeConfig>(*other.config_)) {}
 
 RtcEventAudioNetworkAdaptation::~RtcEventAudioNetworkAdaptation() = default;
 
diff --git a/logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.cc b/logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.cc
index fdef393..5cdfb47 100644
--- a/logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.cc
+++ b/logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.cc
@@ -27,7 +27,7 @@
 RtcEventAudioReceiveStreamConfig::RtcEventAudioReceiveStreamConfig(
     const RtcEventAudioReceiveStreamConfig& other)
     : RtcEvent(other.timestamp_us_),
-      config_(absl::make_unique<rtclog::StreamConfig>(*other.config_)) {}
+      config_(std::make_unique<rtclog::StreamConfig>(*other.config_)) {}
 
 RtcEventAudioReceiveStreamConfig::~RtcEventAudioReceiveStreamConfig() = default;
 
diff --git a/logging/rtc_event_log/events/rtc_event_audio_send_stream_config.cc b/logging/rtc_event_log/events/rtc_event_audio_send_stream_config.cc
index f1a85bf..f4403af 100644
--- a/logging/rtc_event_log/events/rtc_event_audio_send_stream_config.cc
+++ b/logging/rtc_event_log/events/rtc_event_audio_send_stream_config.cc
@@ -27,7 +27,7 @@
 RtcEventAudioSendStreamConfig::RtcEventAudioSendStreamConfig(
     const RtcEventAudioSendStreamConfig& other)
     : RtcEvent(other.timestamp_us_),
-      config_(absl::make_unique<rtclog::StreamConfig>(*other.config_)) {}
+      config_(std::make_unique<rtclog::StreamConfig>(*other.config_)) {}
 
 RtcEventAudioSendStreamConfig::~RtcEventAudioSendStreamConfig() = default;
 
diff --git a/logging/rtc_event_log/events/rtc_event_video_receive_stream_config.cc b/logging/rtc_event_log/events/rtc_event_video_receive_stream_config.cc
index 5dec97b..8942f8a 100644
--- a/logging/rtc_event_log/events/rtc_event_video_receive_stream_config.cc
+++ b/logging/rtc_event_log/events/rtc_event_video_receive_stream_config.cc
@@ -26,7 +26,7 @@
 RtcEventVideoReceiveStreamConfig::RtcEventVideoReceiveStreamConfig(
     const RtcEventVideoReceiveStreamConfig& other)
     : RtcEvent(other.timestamp_us_),
-      config_(absl::make_unique<rtclog::StreamConfig>(*other.config_)) {}
+      config_(std::make_unique<rtclog::StreamConfig>(*other.config_)) {}
 
 RtcEventVideoReceiveStreamConfig::~RtcEventVideoReceiveStreamConfig() = default;
 
diff --git a/logging/rtc_event_log/events/rtc_event_video_send_stream_config.cc b/logging/rtc_event_log/events/rtc_event_video_send_stream_config.cc
index dc4b167..2c33466 100644
--- a/logging/rtc_event_log/events/rtc_event_video_send_stream_config.cc
+++ b/logging/rtc_event_log/events/rtc_event_video_send_stream_config.cc
@@ -23,7 +23,7 @@
 RtcEventVideoSendStreamConfig::RtcEventVideoSendStreamConfig(
     const RtcEventVideoSendStreamConfig& other)
     : RtcEvent(other.timestamp_us_),
-      config_(absl::make_unique<rtclog::StreamConfig>(*other.config_)) {}
+      config_(std::make_unique<rtclog::StreamConfig>(*other.config_)) {}
 
 RtcEventVideoSendStreamConfig::~RtcEventVideoSendStreamConfig() = default;
 
diff --git a/logging/rtc_event_log/ice_logger.cc b/logging/rtc_event_log/ice_logger.cc
index 59076ce..390deda 100644
--- a/logging/rtc_event_log/ice_logger.cc
+++ b/logging/rtc_event_log/ice_logger.cc
@@ -10,7 +10,8 @@
 
 #include "logging/rtc_event_log/ice_logger.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/rtc_event_log/rtc_event_log.h"
 
 namespace webrtc {
@@ -26,7 +27,7 @@
     return;
   }
   candidate_pair_desc_by_id_[candidate_pair_id] = candidate_pair_desc;
-  event_log_->Log(absl::make_unique<RtcEventIceCandidatePairConfig>(
+  event_log_->Log(std::make_unique<RtcEventIceCandidatePairConfig>(
       type, candidate_pair_id, candidate_pair_desc));
 }
 
@@ -36,13 +37,13 @@
   if (event_log_ == nullptr) {
     return;
   }
-  event_log_->Log(absl::make_unique<RtcEventIceCandidatePair>(
+  event_log_->Log(std::make_unique<RtcEventIceCandidatePair>(
       type, candidate_pair_id, transaction_id));
 }
 
 void IceEventLog::DumpCandidatePairDescriptionToMemoryAsConfigEvents() const {
   for (const auto& desc_id_pair : candidate_pair_desc_by_id_) {
-    event_log_->Log(absl::make_unique<RtcEventIceCandidatePairConfig>(
+    event_log_->Log(std::make_unique<RtcEventIceCandidatePairConfig>(
         IceCandidatePairConfigType::kUpdated, desc_id_pair.first,
         desc_id_pair.second));
   }
diff --git a/logging/rtc_event_log/rtc_event_log_impl.cc b/logging/rtc_event_log/rtc_event_log_impl.cc
index 9c71ff7..f020a7e 100644
--- a/logging/rtc_event_log/rtc_event_log_impl.cc
+++ b/logging/rtc_event_log/rtc_event_log_impl.cc
@@ -12,10 +12,10 @@
 
 #include <functional>
 #include <limits>
+#include <memory>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/task_queue/queued_task.h"
 #include "api/task_queue/task_queue_base.h"
@@ -61,10 +61,10 @@
   switch (type) {
     case RtcEventLog::EncodingType::Legacy:
       RTC_LOG(LS_INFO) << "Creating legacy encoder for RTC event log.";
-      return absl::make_unique<RtcEventLogEncoderLegacy>();
+      return std::make_unique<RtcEventLogEncoderLegacy>();
     case RtcEventLog::EncodingType::NewFormat:
       RTC_LOG(LS_INFO) << "Creating new format encoder for RTC event log.";
-      return absl::make_unique<RtcEventLogEncoderNewFormat>();
+      return std::make_unique<RtcEventLogEncoderNewFormat>();
     default:
       RTC_LOG(LS_ERROR) << "Unknown RtcEventLog encoder type (" << int(type)
                         << ")";
@@ -82,7 +82,7 @@
       output_scheduled_(false),
       logging_state_started_(false),
       task_queue_(
-          absl::make_unique<rtc::TaskQueue>(task_queue_factory->CreateTaskQueue(
+          std::make_unique<rtc::TaskQueue>(task_queue_factory->CreateTaskQueue(
               "rtc_event_log",
               TaskQueueFactory::Priority::NORMAL))) {}
 
@@ -128,9 +128,8 @@
   RTC_DCHECK_RUN_ON(&logging_state_checker_);
   logging_state_started_ = true;
 
-  task_queue_->PostTask(
-      absl::make_unique<ResourceOwningTask<RtcEventLogOutput>>(
-          std::move(output), start));
+  task_queue_->PostTask(std::make_unique<ResourceOwningTask<RtcEventLogOutput>>(
+      std::move(output), start));
 
   return true;
 }
@@ -176,7 +175,7 @@
       ScheduleOutput();
   };
 
-  task_queue_->PostTask(absl::make_unique<ResourceOwningTask<RtcEvent>>(
+  task_queue_->PostTask(std::make_unique<ResourceOwningTask<RtcEvent>>(
       std::move(event), event_handler));
 }
 
diff --git a/logging/rtc_event_log/rtc_event_log_unittest.cc b/logging/rtc_event_log/rtc_event_log_unittest.cc
index e44d818..eb5aa97 100644
--- a/logging/rtc_event_log/rtc_event_log_unittest.cc
+++ b/logging/rtc_event_log/rtc_event_log_unittest.cc
@@ -17,7 +17,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/rtc_event_log/rtc_event_log.h"
 #include "api/rtc_event_log/rtc_event_log_factory.h"
 #include "api/rtc_event_log_output_file.h"
@@ -331,7 +330,7 @@
     if (remaining_events == remaining_events_at_start) {
       clock_.AdvanceTime(TimeDelta::ms(prng_.Rand(20)));
       event_log->StartLogging(
-          absl::make_unique<RtcEventLogOutputFile>(temp_filename_, 10000000),
+          std::make_unique<RtcEventLogOutputFile>(temp_filename_, 10000000),
           output_period_ms_);
       start_time_us_ = rtc::TimeMicros();
       utc_start_time_us_ = rtc::TimeUTCMicros();
@@ -843,7 +842,7 @@
   const std::string temp_filename = test::OutputPath() + test_name;
 
   std::unique_ptr<rtc::ScopedFakeClock> fake_clock =
-      absl::make_unique<rtc::ScopedFakeClock>();
+      std::make_unique<rtc::ScopedFakeClock>();
   fake_clock->SetTime(Timestamp::seconds(kStartTimeSeconds));
 
   auto task_queue_factory = CreateDefaultTaskQueueFactory();
@@ -860,14 +859,14 @@
     // simplicity.
     // We base the various values on the index. We use this for some basic
     // consistency checks when we read back.
-    log_dumper->Log(absl::make_unique<RtcEventProbeResultSuccess>(
+    log_dumper->Log(std::make_unique<RtcEventProbeResultSuccess>(
         i, kStartBitrate + i * 1000));
     fake_clock->AdvanceTime(TimeDelta::ms(10));
   }
   int64_t start_time_us = rtc::TimeMicros();
   int64_t utc_start_time_us = rtc::TimeUTCMicros();
   log_dumper->StartLogging(
-      absl::make_unique<RtcEventLogOutputFile>(temp_filename, 10000000),
+      std::make_unique<RtcEventLogOutputFile>(temp_filename, 10000000),
       RtcEventLog::kImmediateOutput);
   fake_clock->AdvanceTime(TimeDelta::ms(10));
   int64_t stop_time_us = rtc::TimeMicros();
@@ -901,7 +900,7 @@
   // recreate the clock. However we must ensure that the old fake_clock is
   // destroyed before the new one is created, so we have to reset() first.
   fake_clock.reset();
-  fake_clock = absl::make_unique<rtc::ScopedFakeClock>();
+  fake_clock = std::make_unique<rtc::ScopedFakeClock>();
   fake_clock->SetTime(Timestamp::us(first_timestamp_us));
   for (size_t i = 1; i < probe_success_events.size(); i++) {
     fake_clock->AdvanceTime(TimeDelta::ms(10));
diff --git a/logging/rtc_event_log/rtc_event_log_unittest_helper.cc b/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
index 8302305..56b1f65 100644
--- a/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
+++ b/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
@@ -21,7 +21,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/array_view.h"
 #include "api/rtp_headers.h"
@@ -90,18 +89,18 @@
 }  // namespace
 
 std::unique_ptr<RtcEventAlrState> EventGenerator::NewAlrState() {
-  return absl::make_unique<RtcEventAlrState>(prng_.Rand<bool>());
+  return std::make_unique<RtcEventAlrState>(prng_.Rand<bool>());
 }
 
 std::unique_ptr<RtcEventAudioPlayout> EventGenerator::NewAudioPlayout(
     uint32_t ssrc) {
-  return absl::make_unique<RtcEventAudioPlayout>(ssrc);
+  return std::make_unique<RtcEventAudioPlayout>(ssrc);
 }
 
 std::unique_ptr<RtcEventAudioNetworkAdaptation>
 EventGenerator::NewAudioNetworkAdaptation() {
   std::unique_ptr<AudioEncoderRuntimeConfig> config =
-      absl::make_unique<AudioEncoderRuntimeConfig>();
+      std::make_unique<AudioEncoderRuntimeConfig>();
 
   config->bitrate_bps = prng_.Rand(0, 3000000);
   config->enable_fec = prng_.Rand<bool>();
@@ -110,7 +109,7 @@
   config->num_channels = prng_.Rand(1, 2);
   config->uplink_packet_loss_fraction = prng_.Rand<float>();
 
-  return absl::make_unique<RtcEventAudioNetworkAdaptation>(std::move(config));
+  return std::make_unique<RtcEventAudioNetworkAdaptation>(std::move(config));
 }
 
 std::unique_ptr<RtcEventBweUpdateDelayBased>
@@ -119,7 +118,7 @@
   int32_t bitrate_bps = prng_.Rand(0, kMaxBweBps);
   BandwidthUsage state = static_cast<BandwidthUsage>(
       prng_.Rand(static_cast<uint32_t>(BandwidthUsage::kLast) - 1));
-  return absl::make_unique<RtcEventBweUpdateDelayBased>(bitrate_bps, state);
+  return std::make_unique<RtcEventBweUpdateDelayBased>(bitrate_bps, state);
 }
 
 std::unique_ptr<RtcEventBweUpdateLossBased>
@@ -130,7 +129,7 @@
   uint8_t fraction_lost = prng_.Rand<uint8_t>();
   int32_t total_packets = prng_.Rand(1, kMaxPackets);
 
-  return absl::make_unique<RtcEventBweUpdateLossBased>(
+  return std::make_unique<RtcEventBweUpdateLossBased>(
       bitrate_bps, fraction_lost, total_packets);
 }
 
@@ -139,13 +138,13 @@
   DtlsTransportState state = static_cast<DtlsTransportState>(
       prng_.Rand(static_cast<uint32_t>(DtlsTransportState::kNumValues) - 1));
 
-  return absl::make_unique<RtcEventDtlsTransportState>(state);
+  return std::make_unique<RtcEventDtlsTransportState>(state);
 }
 
 std::unique_ptr<RtcEventDtlsWritableState>
 EventGenerator::NewDtlsWritableState() {
   bool writable = prng_.Rand<bool>();
-  return absl::make_unique<RtcEventDtlsWritableState>(writable);
+  return std::make_unique<RtcEventDtlsWritableState>(writable);
 }
 
 std::unique_ptr<RtcEventProbeClusterCreated>
@@ -157,8 +156,8 @@
   int min_probes = prng_.Rand(5, 50);
   int min_bytes = prng_.Rand(500, 50000);
 
-  return absl::make_unique<RtcEventProbeClusterCreated>(id, bitrate_bps,
-                                                        min_probes, min_bytes);
+  return std::make_unique<RtcEventProbeClusterCreated>(id, bitrate_bps,
+                                                       min_probes, min_bytes);
 }
 
 std::unique_ptr<RtcEventProbeResultFailure>
@@ -168,7 +167,7 @@
   ProbeFailureReason reason = static_cast<ProbeFailureReason>(
       prng_.Rand(static_cast<uint32_t>(ProbeFailureReason::kLast) - 1));
 
-  return absl::make_unique<RtcEventProbeResultFailure>(id, reason);
+  return std::make_unique<RtcEventProbeResultFailure>(id, reason);
 }
 
 std::unique_ptr<RtcEventProbeResultSuccess>
@@ -178,7 +177,7 @@
   int id = prng_.Rand(1, kMaxNumProbes);
   int bitrate_bps = prng_.Rand(0, kMaxBweBps);
 
-  return absl::make_unique<RtcEventProbeResultSuccess>(id, bitrate_bps);
+  return std::make_unique<RtcEventProbeResultSuccess>(id, bitrate_bps);
 }
 
 std::unique_ptr<RtcEventIceCandidatePairConfig>
@@ -215,7 +214,7 @@
       static_cast<IceCandidatePairConfigType>(prng_.Rand(
           static_cast<uint32_t>(IceCandidatePairConfigType::kNumValues) - 1));
   uint32_t pair_id = prng_.Rand<uint32_t>();
-  return absl::make_unique<RtcEventIceCandidatePairConfig>(type, pair_id, desc);
+  return std::make_unique<RtcEventIceCandidatePairConfig>(type, pair_id, desc);
 }
 
 std::unique_ptr<RtcEventIceCandidatePair>
@@ -226,8 +225,8 @@
   uint32_t pair_id = prng_.Rand<uint32_t>();
   uint32_t transaction_id = prng_.Rand<uint32_t>();
 
-  return absl::make_unique<RtcEventIceCandidatePair>(type, pair_id,
-                                                     transaction_id);
+  return std::make_unique<RtcEventIceCandidatePair>(type, pair_id,
+                                                    transaction_id);
 }
 
 rtcp::ReportBlock EventGenerator::NewReportBlock() {
@@ -352,8 +351,8 @@
 }
 
 std::unique_ptr<RtcEventRouteChange> EventGenerator::NewRouteChange() {
-  return absl::make_unique<RtcEventRouteChange>(prng_.Rand<bool>(),
-                                                prng_.Rand(0, 128));
+  return std::make_unique<RtcEventRouteChange>(prng_.Rand<bool>(),
+                                               prng_.Rand(0, 128));
 }
 
 std::unique_ptr<RtcEventRtcpPacketIncoming>
@@ -375,47 +374,47 @@
     case SupportedRtcpTypes::kSenderReport: {
       rtcp::SenderReport sender_report = NewSenderReport();
       rtc::Buffer buffer = sender_report.Build();
-      return absl::make_unique<RtcEventRtcpPacketIncoming>(buffer);
+      return std::make_unique<RtcEventRtcpPacketIncoming>(buffer);
     }
     case SupportedRtcpTypes::kReceiverReport: {
       rtcp::ReceiverReport receiver_report = NewReceiverReport();
       rtc::Buffer buffer = receiver_report.Build();
-      return absl::make_unique<RtcEventRtcpPacketIncoming>(buffer);
+      return std::make_unique<RtcEventRtcpPacketIncoming>(buffer);
     }
     case SupportedRtcpTypes::kExtendedReports: {
       rtcp::ExtendedReports extended_report = NewExtendedReports();
       rtc::Buffer buffer = extended_report.Build();
-      return absl::make_unique<RtcEventRtcpPacketIncoming>(buffer);
+      return std::make_unique<RtcEventRtcpPacketIncoming>(buffer);
     }
     case SupportedRtcpTypes::kFir: {
       rtcp::Fir fir = NewFir();
       rtc::Buffer buffer = fir.Build();
-      return absl::make_unique<RtcEventRtcpPacketIncoming>(buffer);
+      return std::make_unique<RtcEventRtcpPacketIncoming>(buffer);
     }
     case SupportedRtcpTypes::kPli: {
       rtcp::Pli pli = NewPli();
       rtc::Buffer buffer = pli.Build();
-      return absl::make_unique<RtcEventRtcpPacketIncoming>(buffer);
+      return std::make_unique<RtcEventRtcpPacketIncoming>(buffer);
     }
     case SupportedRtcpTypes::kNack: {
       rtcp::Nack nack = NewNack();
       rtc::Buffer buffer = nack.Build();
-      return absl::make_unique<RtcEventRtcpPacketIncoming>(buffer);
+      return std::make_unique<RtcEventRtcpPacketIncoming>(buffer);
     }
     case SupportedRtcpTypes::kRemb: {
       rtcp::Remb remb = NewRemb();
       rtc::Buffer buffer = remb.Build();
-      return absl::make_unique<RtcEventRtcpPacketIncoming>(buffer);
+      return std::make_unique<RtcEventRtcpPacketIncoming>(buffer);
     }
     case SupportedRtcpTypes::kTransportFeedback: {
       rtcp::TransportFeedback transport_feedback = NewTransportFeedback();
       rtc::Buffer buffer = transport_feedback.Build();
-      return absl::make_unique<RtcEventRtcpPacketIncoming>(buffer);
+      return std::make_unique<RtcEventRtcpPacketIncoming>(buffer);
     }
     default:
       RTC_NOTREACHED();
       rtc::Buffer buffer;
-      return absl::make_unique<RtcEventRtcpPacketIncoming>(buffer);
+      return std::make_unique<RtcEventRtcpPacketIncoming>(buffer);
   }
 }
 
@@ -438,59 +437,59 @@
     case SupportedRtcpTypes::kSenderReport: {
       rtcp::SenderReport sender_report = NewSenderReport();
       rtc::Buffer buffer = sender_report.Build();
-      return absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
+      return std::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
     }
     case SupportedRtcpTypes::kReceiverReport: {
       rtcp::ReceiverReport receiver_report = NewReceiverReport();
       rtc::Buffer buffer = receiver_report.Build();
-      return absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
+      return std::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
     }
     case SupportedRtcpTypes::kExtendedReports: {
       rtcp::ExtendedReports extended_report = NewExtendedReports();
       rtc::Buffer buffer = extended_report.Build();
-      return absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
+      return std::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
     }
     case SupportedRtcpTypes::kFir: {
       rtcp::Fir fir = NewFir();
       rtc::Buffer buffer = fir.Build();
-      return absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
+      return std::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
     }
     case SupportedRtcpTypes::kPli: {
       rtcp::Pli pli = NewPli();
       rtc::Buffer buffer = pli.Build();
-      return absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
+      return std::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
     }
     case SupportedRtcpTypes::kNack: {
       rtcp::Nack nack = NewNack();
       rtc::Buffer buffer = nack.Build();
-      return absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
+      return std::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
     }
     case SupportedRtcpTypes::kRemb: {
       rtcp::Remb remb = NewRemb();
       rtc::Buffer buffer = remb.Build();
-      return absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
+      return std::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
     }
     case SupportedRtcpTypes::kTransportFeedback: {
       rtcp::TransportFeedback transport_feedback = NewTransportFeedback();
       rtc::Buffer buffer = transport_feedback.Build();
-      return absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
+      return std::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
     }
     default:
       RTC_NOTREACHED();
       rtc::Buffer buffer;
-      return absl::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
+      return std::make_unique<RtcEventRtcpPacketOutgoing>(buffer);
   }
 }
 
 std::unique_ptr<RtcEventGenericPacketSent>
 EventGenerator::NewGenericPacketSent() {
-  return absl::make_unique<RtcEventGenericPacketSent>(
+  return std::make_unique<RtcEventGenericPacketSent>(
       sent_packet_number_++, prng_.Rand(40, 50), prng_.Rand(0, 150),
       prng_.Rand(0, 1000));
 }
 std::unique_ptr<RtcEventGenericPacketReceived>
 EventGenerator::NewGenericPacketReceived() {
-  return absl::make_unique<RtcEventGenericPacketReceived>(
+  return std::make_unique<RtcEventGenericPacketReceived>(
       received_packet_number_++, prng_.Rand(40, 250));
 }
 std::unique_ptr<RtcEventGenericAckReceived>
@@ -586,7 +585,7 @@
   RandomizeRtpPacket(payload_size, padding_size, ssrc, extension_map,
                      &rtp_packet, all_configured_exts);
 
-  return absl::make_unique<RtcEventRtpPacketIncoming>(rtp_packet);
+  return std::make_unique<RtcEventRtpPacketIncoming>(rtp_packet);
 }
 
 std::unique_ptr<RtcEventRtpPacketOutgoing> EventGenerator::NewRtpPacketOutgoing(
@@ -617,8 +616,8 @@
                      &rtp_packet, all_configured_exts);
 
   int probe_cluster_id = prng_.Rand(0, 100000);
-  return absl::make_unique<RtcEventRtpPacketOutgoing>(rtp_packet,
-                                                      probe_cluster_id);
+  return std::make_unique<RtcEventRtpPacketOutgoing>(rtp_packet,
+                                                     probe_cluster_id);
 }
 
 RtpHeaderExtensionMap EventGenerator::NewRtpHeaderExtensionMap(
@@ -652,7 +651,7 @@
 EventGenerator::NewAudioReceiveStreamConfig(
     uint32_t ssrc,
     const RtpHeaderExtensionMap& extensions) {
-  auto config = absl::make_unique<rtclog::StreamConfig>();
+  auto config = std::make_unique<rtclog::StreamConfig>();
   // Add SSRCs for the stream.
   config->remote_ssrc = ssrc;
   config->local_ssrc = prng_.Rand<uint32_t>();
@@ -664,14 +663,14 @@
     }
   }
 
-  return absl::make_unique<RtcEventAudioReceiveStreamConfig>(std::move(config));
+  return std::make_unique<RtcEventAudioReceiveStreamConfig>(std::move(config));
 }
 
 std::unique_ptr<RtcEventAudioSendStreamConfig>
 EventGenerator::NewAudioSendStreamConfig(
     uint32_t ssrc,
     const RtpHeaderExtensionMap& extensions) {
-  auto config = absl::make_unique<rtclog::StreamConfig>();
+  auto config = std::make_unique<rtclog::StreamConfig>();
   // Add SSRC to the stream.
   config->local_ssrc = ssrc;
   // Add header extensions.
@@ -681,14 +680,14 @@
       config->rtp_extensions.emplace_back(kExtensions[i].name, id);
     }
   }
-  return absl::make_unique<RtcEventAudioSendStreamConfig>(std::move(config));
+  return std::make_unique<RtcEventAudioSendStreamConfig>(std::move(config));
 }
 
 std::unique_ptr<RtcEventVideoReceiveStreamConfig>
 EventGenerator::NewVideoReceiveStreamConfig(
     uint32_t ssrc,
     const RtpHeaderExtensionMap& extensions) {
-  auto config = absl::make_unique<rtclog::StreamConfig>();
+  auto config = std::make_unique<rtclog::StreamConfig>();
 
   // Add SSRCs for the stream.
   config->remote_ssrc = ssrc;
@@ -707,14 +706,14 @@
       config->rtp_extensions.emplace_back(kExtensions[i].name, id);
     }
   }
-  return absl::make_unique<RtcEventVideoReceiveStreamConfig>(std::move(config));
+  return std::make_unique<RtcEventVideoReceiveStreamConfig>(std::move(config));
 }
 
 std::unique_ptr<RtcEventVideoSendStreamConfig>
 EventGenerator::NewVideoSendStreamConfig(
     uint32_t ssrc,
     const RtpHeaderExtensionMap& extensions) {
-  auto config = absl::make_unique<rtclog::StreamConfig>();
+  auto config = std::make_unique<rtclog::StreamConfig>();
 
   config->codecs.emplace_back(prng_.Rand<bool>() ? "VP8" : "H264",
                               prng_.Rand(127), prng_.Rand(127));
@@ -727,7 +726,7 @@
       config->rtp_extensions.emplace_back(kExtensions[i].name, id);
     }
   }
-  return absl::make_unique<RtcEventVideoSendStreamConfig>(std::move(config));
+  return std::make_unique<RtcEventVideoSendStreamConfig>(std::move(config));
 }
 
 void EventVerifier::VerifyLoggedAlrStateEvent(
diff --git a/logging/rtc_event_log/rtc_event_processor.h b/logging/rtc_event_log/rtc_event_processor.h
index 9441681..abb7370 100644
--- a/logging/rtc_event_log/rtc_event_processor.h
+++ b/logging/rtc_event_log/rtc_event_processor.h
@@ -18,7 +18,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/function_view.h"
 #include "rtc_base/checks.h"
 
@@ -109,7 +108,7 @@
     if (iterable.begin() == iterable.end())
       return;
     event_lists_.push_back(
-        absl::make_unique<event_processor_impl::ProcessableEventList<
+        std::make_unique<event_processor_impl::ProcessableEventList<
             typename Iterable::const_iterator, typename Iterable::value_type>>(
             iterable.begin(), iterable.end(), handler,
             insertion_order_index_++));
diff --git a/media/BUILD.gn b/media/BUILD.gn
index 8de518d..1a25a84 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -234,7 +234,6 @@
     "../rtc_base:rtc_base_approved",
     "../rtc_base/system:rtc_export",
     "../test:fake_video_codecs",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
   ]
   sources = [
@@ -308,7 +307,6 @@
     "../system_wrappers:field_trial",
     "../system_wrappers:metrics",
     "//third_party/abseil-cpp/absl/algorithm:container",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
@@ -461,7 +459,6 @@
       "../test:test_support",
       "//testing/gtest",
       "//third_party/abseil-cpp/absl/algorithm:container",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/strings",
     ]
     sources = [
diff --git a/media/base/fake_media_engine.cc b/media/base/fake_media_engine.cc
index ed1c756..86f6fd9 100644
--- a/media/base/fake_media_engine.cc
+++ b/media/base/fake_media_engine.cc
@@ -10,10 +10,10 @@
 
 #include "media/base/fake_media_engine.h"
 
+#include <memory>
 #include <utility>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "rtc_base/checks.h"
 
@@ -228,7 +228,7 @@
       RTC_CHECK(it->second->source() == source);
     } else {
       local_sinks_.insert(std::make_pair(
-          ssrc, absl::make_unique<VoiceChannelAudioSink>(source)));
+          ssrc, std::make_unique<VoiceChannelAudioSink>(source)));
     }
   } else {
     if (it != local_sinks_.end()) {
@@ -595,8 +595,8 @@
 }
 
 FakeMediaEngine::FakeMediaEngine()
-    : CompositeMediaEngine(absl::make_unique<FakeVoiceEngine>(),
-                           absl::make_unique<FakeVideoEngine>()),
+    : CompositeMediaEngine(std::make_unique<FakeVoiceEngine>(),
+                           std::make_unique<FakeVideoEngine>()),
       voice_(static_cast<FakeVoiceEngine*>(&voice())),
       video_(static_cast<FakeVideoEngine*>(&video())) {}
 FakeMediaEngine::~FakeMediaEngine() {}
diff --git a/media/base/video_adapter_unittest.cc b/media/base/video_adapter_unittest.cc
index 1f17c88..2bfe803 100644
--- a/media/base/video_adapter_unittest.cc
+++ b/media/base/video_adapter_unittest.cc
@@ -14,7 +14,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/video/video_frame.h"
 #include "media/base/fake_frame_source.h"
 #include "rtc_base/time_utils.h"
@@ -31,12 +30,12 @@
                          public ::testing::WithParamInterface<bool> {
  public:
   VideoAdapterTest()
-      : frame_source_(absl::make_unique<FakeFrameSource>(
+      : frame_source_(std::make_unique<FakeFrameSource>(
             kWidth,
             kHeight,
             VideoFormat::FpsToInterval(kDefaultFps) /
                 rtc::kNumNanosecsPerMicrosec)),
-        adapter_wrapper_(absl::make_unique<VideoAdapterWrapper>(&adapter_)),
+        adapter_wrapper_(std::make_unique<VideoAdapterWrapper>(&adapter_)),
         use_new_format_request_(GetParam()) {}
 
  protected:
diff --git a/media/engine/fake_video_codec_factory.cc b/media/engine/fake_video_codec_factory.cc
index d7b6446..ba7513b 100644
--- a/media/engine/fake_video_codec_factory.cc
+++ b/media/engine/fake_video_codec_factory.cc
@@ -10,7 +10,8 @@
 
 #include "media/engine/fake_video_codec_factory.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/video_codecs/sdp_video_format.h"
 #include "api/video_codecs/video_decoder.h"
 #include "api/video_codecs/video_encoder.h"
@@ -34,7 +35,7 @@
 
 // static
 std::unique_ptr<VideoEncoder> FakeVideoEncoderFactory::CreateVideoEncoder() {
-  return absl::make_unique<test::FakeEncoder>(Clock::GetRealTimeClock());
+  return std::make_unique<test::FakeEncoder>(Clock::GetRealTimeClock());
 }
 
 std::vector<SdpVideoFormat> FakeVideoEncoderFactory::GetSupportedFormats()
@@ -50,14 +51,14 @@
 
 std::unique_ptr<VideoEncoder> FakeVideoEncoderFactory::CreateVideoEncoder(
     const SdpVideoFormat& format) {
-  return absl::make_unique<test::FakeEncoder>(Clock::GetRealTimeClock());
+  return std::make_unique<test::FakeEncoder>(Clock::GetRealTimeClock());
 }
 
 FakeVideoDecoderFactory::FakeVideoDecoderFactory() = default;
 
 // static
 std::unique_ptr<VideoDecoder> FakeVideoDecoderFactory::CreateVideoDecoder() {
-  return absl::make_unique<test::FakeDecoder>();
+  return std::make_unique<test::FakeDecoder>();
 }
 
 std::vector<SdpVideoFormat> FakeVideoDecoderFactory::GetSupportedFormats()
@@ -68,7 +69,7 @@
 
 std::unique_ptr<VideoDecoder> FakeVideoDecoderFactory::CreateVideoDecoder(
     const SdpVideoFormat& format) {
-  return absl::make_unique<test::FakeDecoder>();
+  return std::make_unique<test::FakeDecoder>();
 }
 
 }  // namespace webrtc
diff --git a/media/engine/fake_webrtc_video_engine.cc b/media/engine/fake_webrtc_video_engine.cc
index 3a04c7f..0ee2bcc 100644
--- a/media/engine/fake_webrtc_video_engine.cc
+++ b/media/engine/fake_webrtc_video_engine.cc
@@ -11,8 +11,8 @@
 #include "media/engine/fake_webrtc_video_engine.h"
 
 #include <algorithm>
+#include <memory>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "media/base/codec.h"
 #include "media/base/media_constants.h"
@@ -98,7 +98,7 @@
   if (IsFormatSupported(supported_codec_formats_, format)) {
     num_created_decoders_++;
     std::unique_ptr<FakeWebRtcVideoDecoder> decoder =
-        absl::make_unique<FakeWebRtcVideoDecoder>(this);
+        std::make_unique<FakeWebRtcVideoDecoder>(this);
     decoders_.push_back(decoder.get());
     return decoder;
   }
@@ -225,12 +225,11 @@
       // encoders. Enter vp8_factory_mode so that we now create these encoders
       // instead of more adapters.
       vp8_factory_mode_ = true;
-      encoder =
-          absl::make_unique<webrtc::SimulcastEncoderAdapter>(this, format);
+      encoder = std::make_unique<webrtc::SimulcastEncoderAdapter>(this, format);
     } else {
       num_created_encoders_++;
       created_video_encoder_event_.Set();
-      encoder = absl::make_unique<FakeWebRtcVideoEncoder>(this);
+      encoder = std::make_unique<FakeWebRtcVideoEncoder>(this);
       encoders_.push_back(static_cast<FakeWebRtcVideoEncoder*>(encoder.get()));
     }
   }
diff --git a/media/engine/null_webrtc_video_engine_unittest.cc b/media/engine/null_webrtc_video_engine_unittest.cc
index 0d1833f..584cafe 100644
--- a/media/engine/null_webrtc_video_engine_unittest.cc
+++ b/media/engine/null_webrtc_video_engine_unittest.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/task_queue/default_task_queue_factory.h"
 #include "api/task_queue/task_queue_factory.h"
 #include "media/engine/webrtc_voice_engine.h"
@@ -31,14 +30,14 @@
   std::unique_ptr<webrtc::TaskQueueFactory> task_queue_factory =
       webrtc::CreateDefaultTaskQueueFactory();
   ::testing::NiceMock<webrtc::test::MockAudioDeviceModule> adm;
-  auto audio_engine = absl::make_unique<WebRtcVoiceEngine>(
+  auto audio_engine = std::make_unique<WebRtcVoiceEngine>(
       task_queue_factory.get(), &adm,
       webrtc::MockAudioEncoderFactory::CreateUnusedFactory(),
       webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr,
       webrtc::AudioProcessingBuilder().Create());
 
   CompositeMediaEngine engine(std::move(audio_engine),
-                              absl::make_unique<NullWebRtcVideoEngine>());
+                              std::make_unique<NullWebRtcVideoEngine>());
 
   EXPECT_TRUE(engine.Init());
 }
diff --git a/media/engine/simulcast_encoder_adapter_unittest.cc b/media/engine/simulcast_encoder_adapter_unittest.cc
index f6d57e8..60fc814 100644
--- a/media/engine/simulcast_encoder_adapter_unittest.cc
+++ b/media/engine/simulcast_encoder_adapter_unittest.cc
@@ -14,7 +14,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/test/create_simulcast_test_fixture.h"
 #include "api/test/simulcast_test_fixture.h"
 #include "api/test/video/function_video_decoder_factory.h"
@@ -51,14 +50,14 @@
 std::unique_ptr<SimulcastTestFixture> CreateSpecificSimulcastTestFixture(
     VideoEncoderFactory* internal_encoder_factory) {
   std::unique_ptr<VideoEncoderFactory> encoder_factory =
-      absl::make_unique<FunctionVideoEncoderFactory>(
+      std::make_unique<FunctionVideoEncoderFactory>(
           [internal_encoder_factory]() {
-            return absl::make_unique<SimulcastEncoderAdapter>(
+            return std::make_unique<SimulcastEncoderAdapter>(
                 internal_encoder_factory,
                 SdpVideoFormat(cricket::kVp8CodecName));
           });
   std::unique_ptr<VideoDecoderFactory> decoder_factory =
-      absl::make_unique<FunctionVideoDecoderFactory>(
+      std::make_unique<FunctionVideoDecoderFactory>(
           []() { return VP8Decoder::Create(); });
   return CreateSimulcastTestFixture(std::move(encoder_factory),
                                     std::move(decoder_factory),
diff --git a/media/engine/webrtc_media_engine.cc b/media/engine/webrtc_media_engine.cc
index 3b38759..4f274d4 100644
--- a/media/engine/webrtc_media_engine.cc
+++ b/media/engine/webrtc_media_engine.cc
@@ -10,10 +10,10 @@
 
 #include "media/engine/webrtc_media_engine.h"
 
+#include <memory>
 #include <utility>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "media/engine/webrtc_voice_engine.h"
 #include "system_wrappers/include/field_trial.h"
 
@@ -27,21 +27,21 @@
 
 std::unique_ptr<MediaEngineInterface> CreateMediaEngine(
     MediaEngineDependencies dependencies) {
-  auto audio_engine = absl::make_unique<WebRtcVoiceEngine>(
+  auto audio_engine = std::make_unique<WebRtcVoiceEngine>(
       dependencies.task_queue_factory, std::move(dependencies.adm),
       std::move(dependencies.audio_encoder_factory),
       std::move(dependencies.audio_decoder_factory),
       std::move(dependencies.audio_mixer),
       std::move(dependencies.audio_processing));
 #ifdef HAVE_WEBRTC_VIDEO
-  auto video_engine = absl::make_unique<WebRtcVideoEngine>(
+  auto video_engine = std::make_unique<WebRtcVideoEngine>(
       std::move(dependencies.video_encoder_factory),
       std::move(dependencies.video_decoder_factory));
 #else
-  auto video_engine = absl::make_unique<NullWebRtcVideoEngine>();
+  auto video_engine = std::make_unique<NullWebRtcVideoEngine>();
 #endif
-  return absl::make_unique<CompositeMediaEngine>(std::move(audio_engine),
-                                                 std::move(video_engine));
+  return std::make_unique<CompositeMediaEngine>(std::move(audio_engine),
+                                                std::move(video_engine));
 }
 
 namespace {
diff --git a/media/engine/webrtc_video_engine_unittest.cc b/media/engine/webrtc_video_engine_unittest.cc
index aac6631..98a0d9d 100644
--- a/media/engine/webrtc_video_engine_unittest.cc
+++ b/media/engine/webrtc_video_engine_unittest.cc
@@ -231,7 +231,7 @@
       : override_field_trials_(
             field_trials.empty()
                 ? nullptr
-                : absl::make_unique<webrtc::test::ScopedFieldTrials>(
+                : std::make_unique<webrtc::test::ScopedFieldTrials>(
                       field_trials)),
         task_queue_factory_(webrtc::CreateDefaultTaskQueueFactory()),
         call_(webrtc::Call::Create([&] {
@@ -891,7 +891,7 @@
 
 TEST_F(WebRtcVideoEngineTest, SimulcastEnabledForH264BehindFieldTrial) {
   RTC_DCHECK(!override_field_trials_);
-  override_field_trials_ = absl::make_unique<webrtc::test::ScopedFieldTrials>(
+  override_field_trials_ = std::make_unique<webrtc::test::ScopedFieldTrials>(
       "WebRTC-H264Simulcast/Enabled/");
   encoder_factory_->AddSupportedVideoCodecType("H264");
 
@@ -937,7 +937,7 @@
 
   // FlexFEC is active with field trial.
   RTC_DCHECK(!override_field_trials_);
-  override_field_trials_ = absl::make_unique<webrtc::test::ScopedFieldTrials>(
+  override_field_trials_ = std::make_unique<webrtc::test::ScopedFieldTrials>(
       "WebRTC-FlexFEC-03-Advertised/Enabled/");
   EXPECT_THAT(engine_.codecs(), Contains(flexfec));
 }
@@ -1083,7 +1083,7 @@
       new webrtc::MockVideoDecoderFactory();
   std::unique_ptr<webrtc::MockVideoBitrateAllocatorFactory>
       rate_allocator_factory =
-          absl::make_unique<webrtc::MockVideoBitrateAllocatorFactory>();
+          std::make_unique<webrtc::MockVideoBitrateAllocatorFactory>();
   EXPECT_CALL(*rate_allocator_factory,
               CreateVideoBitrateAllocatorProxy(Field(
                   &webrtc::VideoCodec::codecType, webrtc::kVideoCodecVP8)))
@@ -1205,7 +1205,7 @@
       new webrtc::MockVideoDecoderFactory();
   std::unique_ptr<webrtc::MockVideoBitrateAllocatorFactory>
       rate_allocator_factory =
-          absl::make_unique<webrtc::MockVideoBitrateAllocatorFactory>();
+          std::make_unique<webrtc::MockVideoBitrateAllocatorFactory>();
   WebRtcVideoEngine engine(
       (std::unique_ptr<webrtc::VideoEncoderFactory>(encoder_factory)),
       (std::unique_ptr<webrtc::VideoDecoderFactory>(decoder_factory)));
@@ -1334,8 +1334,8 @@
     parameters.codecs = engine_.codecs();
     channel_->SetRecvParameters(parameters);
     EXPECT_TRUE(channel_->AddSendStream(DefaultSendStreamParams()));
-    frame_forwarder_ = absl::make_unique<webrtc::test::FrameForwarder>();
-    frame_source_ = absl::make_unique<cricket::FakeFrameSource>(
+    frame_forwarder_ = std::make_unique<webrtc::test::FrameForwarder>();
+    frame_source_ = std::make_unique<cricket::FakeFrameSource>(
         640, 480, rtc::kNumMicrosecsPerSec / kFramerate);
     EXPECT_TRUE(channel_->SetVideoSend(kSsrc, nullptr, frame_forwarder_.get()));
   }
@@ -1364,7 +1364,7 @@
     // We dont add recv for the second stream.
 
     // Setup the receive and renderer for second stream after send.
-    frame_forwarder_2_ = absl::make_unique<webrtc::test::FrameForwarder>();
+    frame_forwarder_2_ = std::make_unique<webrtc::test::FrameForwarder>();
     EXPECT_TRUE(
         channel_->SetVideoSend(kSsrc + 2, nullptr, frame_forwarder_2_.get()));
   }
@@ -1372,7 +1372,7 @@
   bool SetDefaultCodec() { return SetOneCodec(DefaultCodec()); }
 
   bool SetOneCodec(const cricket::VideoCodec& codec) {
-    frame_source_ = absl::make_unique<cricket::FakeFrameSource>(
+    frame_source_ = std::make_unique<cricket::FakeFrameSource>(
         kVideoWidth, kVideoHeight, rtc::kNumMicrosecsPerSec / kFramerate);
 
     bool sending = channel_->sending();
@@ -2875,7 +2875,7 @@
 
 TEST_F(WebRtcVideoChannelTest, LossNotificationIsEnabledByFieldTrial) {
   RTC_DCHECK(!override_field_trials_);
-  override_field_trials_ = absl::make_unique<webrtc::test::ScopedFieldTrials>(
+  override_field_trials_ = std::make_unique<webrtc::test::ScopedFieldTrials>(
       "WebRTC-RtcpLossNotification/Enabled/");
   SetUp();
   TestLossNotificationState(true);
@@ -2883,7 +2883,7 @@
 
 TEST_F(WebRtcVideoChannelTest, LossNotificationCanBeEnabledAndDisabled) {
   RTC_DCHECK(!override_field_trials_);
-  override_field_trials_ = absl::make_unique<webrtc::test::ScopedFieldTrials>(
+  override_field_trials_ = std::make_unique<webrtc::test::ScopedFieldTrials>(
       "WebRTC-RtcpLossNotification/Enabled/");
   SetUp();
 
@@ -3494,7 +3494,7 @@
 
 TEST_F(WebRtcVideoChannelTest, VerifyMinBitrateWithForcedFallbackFieldTrial) {
   RTC_DCHECK(!override_field_trials_);
-  override_field_trials_ = absl::make_unique<webrtc::test::ScopedFieldTrials>(
+  override_field_trials_ = std::make_unique<webrtc::test::ScopedFieldTrials>(
       "WebRTC-VP8-Forced-Fallback-Encoder-v2/Enabled-1,2,34567/");
   std::vector<webrtc::VideoStream> streams = AddSendStream()->GetVideoStreams();
   ASSERT_EQ(1u, streams.size());
@@ -3504,7 +3504,7 @@
 TEST_F(WebRtcVideoChannelTest,
        BalancedDegradationPreferenceNotSupportedWithoutFieldtrial) {
   RTC_DCHECK(!override_field_trials_);
-  override_field_trials_ = absl::make_unique<webrtc::test::ScopedFieldTrials>(
+  override_field_trials_ = std::make_unique<webrtc::test::ScopedFieldTrials>(
       "WebRTC-Video-BalancedDegradation/Disabled/");
   const bool kResolutionScalingEnabled = true;
   const bool kFpsScalingEnabled = false;
@@ -3514,7 +3514,7 @@
 TEST_F(WebRtcVideoChannelTest,
        BalancedDegradationPreferenceSupportedBehindFieldtrial) {
   RTC_DCHECK(!override_field_trials_);
-  override_field_trials_ = absl::make_unique<webrtc::test::ScopedFieldTrials>(
+  override_field_trials_ = std::make_unique<webrtc::test::ScopedFieldTrials>(
       "WebRTC-Video-BalancedDegradation/Enabled/");
   const bool kResolutionScalingEnabled = true;
   const bool kFpsScalingEnabled = true;
@@ -7489,7 +7489,7 @@
         encoder_factory_(new cricket::FakeWebRtcVideoEncoderFactory),
         decoder_factory_(new cricket::FakeWebRtcVideoDecoderFactory),
         mock_rate_allocator_factory_(
-            absl::make_unique<webrtc::MockVideoBitrateAllocatorFactory>()),
+            std::make_unique<webrtc::MockVideoBitrateAllocatorFactory>()),
         engine_(std::unique_ptr<cricket::FakeWebRtcVideoEncoderFactory>(
                     encoder_factory_),
                 std::unique_ptr<cricket::FakeWebRtcVideoDecoderFactory>(
diff --git a/modules/audio_coding/BUILD.gn b/modules/audio_coding/BUILD.gn
index cb57710..8c5fb00 100644
--- a/modules/audio_coding/BUILD.gn
+++ b/modules/audio_coding/BUILD.gn
@@ -103,7 +103,6 @@
     "../../api/audio_codecs:audio_codecs_api",
     "../../common_audio",
     "../../rtc_base:checks",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -764,7 +763,6 @@
     "../../rtc_base:rtc_numerics",
     "../../rtc_base:safe_minmax",
     "../../system_wrappers:field_trial",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
@@ -916,7 +914,6 @@
     "../../rtc_base/system:file_wrapper",
     "../../system_wrappers",
     "../../system_wrappers:field_trial",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 
@@ -1024,7 +1021,6 @@
     "../../system_wrappers",
     "../../system_wrappers:field_trial",
     "../../system_wrappers:metrics",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
@@ -1098,7 +1094,6 @@
     "../../test:rtp_test_utils",
     "../rtp_rtcp",
     "../rtp_rtcp:rtp_rtcp_format",
-    "//third_party/abseil-cpp/absl/memory:memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 
@@ -1181,7 +1176,6 @@
       "../../rtc_base:rtc_base_approved",
       "../rtp_rtcp",
       "../rtp_rtcp:rtp_rtcp_format",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
     public_deps = [
@@ -1324,7 +1318,6 @@
       "../../system_wrappers",
       "../../test:fileutils",
       "../../test:test_support",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/strings",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
@@ -1475,7 +1468,6 @@
         "../../rtc_base:rtc_base_approved",
         "../../test:audio_codec_mocks",
         "../../test:test_support",
-        "//third_party/abseil-cpp/absl/memory",
       ]
     }
 
@@ -1599,9 +1591,9 @@
     testonly = true
 
     deps = audio_coding_deps + [
+             "//third_party/abseil-cpp/absl/memory",
              "//third_party/abseil-cpp/absl/flags:flag",
              "//third_party/abseil-cpp/absl/flags:parse",
-             "//third_party/abseil-cpp/absl/memory",
              ":audio_coding",
              ":audio_encoder_cng",
              ":neteq_input_audio_tools",
diff --git a/modules/audio_coding/acm2/audio_coding_module_unittest.cc b/modules/audio_coding/acm2/audio_coding_module_unittest.cc
index 6b75c35..5b68085 100644
--- a/modules/audio_coding/acm2/audio_coding_module_unittest.cc
+++ b/modules/audio_coding/acm2/audio_coding_module_unittest.cc
@@ -17,7 +17,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/audio_codecs/audio_encoder.h"
 #include "api/audio_codecs/builtin_audio_decoder_factory.h"
 #include "api/audio_codecs/builtin_audio_encoder_factory.h"
@@ -1663,7 +1662,7 @@
   config.num_channels = 1;
   config.payload_type = 0;
   AudioEncoderPcmU encoder(config);
-  auto mock_encoder = absl::make_unique<MockAudioEncoder>();
+  auto mock_encoder = std::make_unique<MockAudioEncoder>();
   // Set expectations on the mock encoder and also delegate the calls to the
   // real encoder.
   EXPECT_CALL(*mock_encoder, SampleRateHz())
diff --git a/modules/audio_coding/audio_network_adaptor/event_log_writer.cc b/modules/audio_coding/audio_network_adaptor/event_log_writer.cc
index d6893cd..0a79484 100644
--- a/modules/audio_coding/audio_network_adaptor/event_log_writer.cc
+++ b/modules/audio_coding/audio_network_adaptor/event_log_writer.cc
@@ -14,9 +14,9 @@
 
 #include <algorithm>
 #include <cstdlib>
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/rtc_event_log/rtc_event.h"
 #include "api/rtc_event_log/rtc_event_log.h"
@@ -69,9 +69,9 @@
 }
 
 void EventLogWriter::LogEncoderConfig(const AudioEncoderRuntimeConfig& config) {
-  auto config_copy = absl::make_unique<AudioEncoderRuntimeConfig>(config);
-  event_log_->Log(absl::make_unique<RtcEventAudioNetworkAdaptation>(
-      std::move(config_copy)));
+  auto config_copy = std::make_unique<AudioEncoderRuntimeConfig>(config);
+  event_log_->Log(
+      std::make_unique<RtcEventAudioNetworkAdaptation>(std::move(config_copy)));
   last_logged_config_ = config;
 }
 
diff --git a/modules/audio_coding/codecs/cng/audio_encoder_cng.cc b/modules/audio_coding/codecs/cng/audio_encoder_cng.cc
index 9a29261..a4e0ffb 100644
--- a/modules/audio_coding/codecs/cng/audio_encoder_cng.cc
+++ b/modules/audio_coding/codecs/cng/audio_encoder_cng.cc
@@ -14,7 +14,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/audio_coding/codecs/cng/webrtc_cng.h"
 #include "rtc_base/checks.h"
 
@@ -317,7 +316,7 @@
 
 std::unique_ptr<AudioEncoder> CreateComfortNoiseEncoder(
     AudioEncoderCngConfig&& config) {
-  return absl::make_unique<AudioEncoderCng>(std::move(config));
+  return std::make_unique<AudioEncoderCng>(std::move(config));
 }
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/codecs/opus/audio_encoder_multi_channel_opus_impl.cc b/modules/audio_coding/codecs/opus/audio_encoder_multi_channel_opus_impl.cc
index 84a62a1..0614a0b 100644
--- a/modules/audio_coding/codecs/opus/audio_encoder_multi_channel_opus_impl.cc
+++ b/modules/audio_coding/codecs/opus/audio_encoder_multi_channel_opus_impl.cc
@@ -24,7 +24,6 @@
 #include <string>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "modules/audio_coding/codecs/opus/audio_coder_opus_common.h"
 #include "rtc_base/arraysize.h"
@@ -134,8 +133,8 @@
   if (!config.IsOk()) {
     return nullptr;
   }
-  return absl::make_unique<AudioEncoderMultiChannelOpusImpl>(config,
-                                                             payload_type);
+  return std::make_unique<AudioEncoderMultiChannelOpusImpl>(config,
+                                                            payload_type);
 }
 
 AudioEncoderMultiChannelOpusImpl::AudioEncoderMultiChannelOpusImpl(
diff --git a/modules/audio_coding/codecs/opus/audio_encoder_opus.cc b/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
index f901d3c..70081d7 100644
--- a/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
+++ b/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
@@ -12,10 +12,10 @@
 
 #include <algorithm>
 #include <iterator>
+#include <memory>
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.h"
 #include "modules/audio_coding/audio_network_adaptor/controller_manager.h"
@@ -244,15 +244,13 @@
     if (sscanf(field_trial_string.c_str(), "Enabled-%d-%d-%f", &min_rate,
                &max_rate, &slope) == 3 &&
         IsValidPacketLossRate(min_rate) && IsValidPacketLossRate(max_rate)) {
-      return absl::make_unique<
-          AudioEncoderOpusImpl::NewPacketLossRateOptimizer>(
+      return std::make_unique<AudioEncoderOpusImpl::NewPacketLossRateOptimizer>(
           ToFraction(min_rate), ToFraction(max_rate), slope);
     }
     RTC_LOG(LS_WARNING) << "Invalid parameters for "
                         << kPacketLossOptimizationName
                         << ", using default values.";
-    return absl::make_unique<
-        AudioEncoderOpusImpl::NewPacketLossRateOptimizer>();
+    return std::make_unique<AudioEncoderOpusImpl::NewPacketLossRateOptimizer>();
   }
   return nullptr;
 }
@@ -300,7 +298,7 @@
     const AudioEncoderOpusConfig& config,
     int payload_type) {
   RTC_DCHECK(config.IsOk());
-  return absl::make_unique<AudioEncoderOpusImpl>(config, payload_type);
+  return std::make_unique<AudioEncoderOpusImpl>(config, payload_type);
 }
 
 absl::optional<AudioEncoderOpusConfig> AudioEncoderOpusImpl::SdpToConfig(
@@ -417,7 +415,7 @@
             return DefaultAudioNetworkAdaptorCreator(config_string, event_log);
           },
           // We choose 5sec as initial time constant due to empirical data.
-          absl::make_unique<SmoothingFilterImpl>(5000)) {}
+          std::make_unique<SmoothingFilterImpl>(5000)) {}
 
 AudioEncoderOpusImpl::AudioEncoderOpusImpl(
     const AudioEncoderOpusConfig& config,
diff --git a/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc b/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc
index 3870ecd..698b441 100644
--- a/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc
+++ b/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc
@@ -14,7 +14,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "common_audio/mocks/mock_smoothing_filter.h"
 #include "modules/audio_coding/audio_network_adaptor/mock/mock_audio_network_adaptor.h"
 #include "modules/audio_coding/codecs/opus/audio_encoder_opus.h"
@@ -55,7 +54,7 @@
 std::unique_ptr<AudioEncoderOpusStates> CreateCodec(int sample_rate_hz,
                                                     size_t num_channels) {
   std::unique_ptr<AudioEncoderOpusStates> states =
-      absl::make_unique<AudioEncoderOpusStates>();
+      std::make_unique<AudioEncoderOpusStates>();
   states->mock_audio_network_adaptor = nullptr;
   states->fake_clock.reset(new rtc::ScopedFakeClock());
   states->fake_clock->SetTime(Timestamp::us(kInitialTimeUs));
diff --git a/modules/audio_coding/neteq/delay_manager.cc b/modules/audio_coding/neteq/delay_manager.cc
index afa2a3f..3fda038 100644
--- a/modules/audio_coding/neteq/delay_manager.cc
+++ b/modules/audio_coding/neteq/delay_manager.cc
@@ -15,10 +15,10 @@
 #include <stdlib.h>
 
 #include <algorithm>
+#include <memory>
 #include <numeric>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "modules/audio_coding/neteq/delay_peak_detector.h"
 #include "modules/audio_coding/neteq/histogram.h"
 #include "modules/audio_coding/neteq/statistics_calculator.h"
@@ -149,9 +149,9 @@
   const HistogramMode mode = RELATIVE_ARRIVAL_DELAY;
   DelayHistogramConfig config = GetDelayHistogramConfig();
   const int quantile = config.quantile;
-  std::unique_ptr<Histogram> histogram = absl::make_unique<Histogram>(
+  std::unique_ptr<Histogram> histogram = std::make_unique<Histogram>(
       kDelayBuckets, config.forget_factor, config.start_forget_weight);
-  return absl::make_unique<DelayManager>(
+  return std::make_unique<DelayManager>(
       max_packets_in_buffer, base_minimum_delay_ms, quantile, mode,
       enable_rtx_handling, peak_detector, tick_timer, statistics,
       std::move(histogram));
diff --git a/modules/audio_coding/neteq/delay_manager_unittest.cc b/modules/audio_coding/neteq/delay_manager_unittest.cc
index 6979789..c691fd5 100644
--- a/modules/audio_coding/neteq/delay_manager_unittest.cc
+++ b/modules/audio_coding/neteq/delay_manager_unittest.cc
@@ -14,7 +14,8 @@
 
 #include <math.h>
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "modules/audio_coding/neteq/histogram.h"
 #include "modules/audio_coding/neteq/mock/mock_delay_peak_detector.h"
 #include "modules/audio_coding/neteq/mock/mock_histogram.h"
@@ -80,7 +81,7 @@
   if (use_mock_histogram_) {
     mock_histogram_ = new MockHistogram(kMaxIat, kForgetFactor);
     std::unique_ptr<Histogram> histogram(mock_histogram_);
-    dm_ = absl::make_unique<DelayManager>(
+    dm_ = std::make_unique<DelayManager>(
         kMaxNumberOfPackets, kMinDelayMs, kDefaultHistogramQuantile,
         histogram_mode_, enable_rtx_handling_, &detector_, &tick_timer_,
         &stats_, std::move(histogram));
diff --git a/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc b/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc
index 21b15a9..49eb1cc 100644
--- a/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc
+++ b/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc
@@ -11,10 +11,10 @@
 // Test to verify correct operation when using the decoder-internal PLC.
 
 #include <algorithm>
+#include <memory>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "modules/audio_coding/codecs/pcm16b/audio_encoder_pcm16b.h"
 #include "modules/audio_coding/neteq/tools/audio_checksum.h"
@@ -156,31 +156,31 @@
   // The input is mostly useless. It sends zero-samples to a PCM16b encoder,
   // but the actual encoded samples will never be used by the decoder in the
   // test. See below about the decoder.
-  auto generator = absl::make_unique<ZeroSampleGenerator>();
+  auto generator = std::make_unique<ZeroSampleGenerator>();
   constexpr int kSampleRateHz = 32000;
   constexpr int kPayloadType = 100;
   AudioEncoderPcm16B::Config encoder_config;
   encoder_config.sample_rate_hz = kSampleRateHz;
   encoder_config.payload_type = kPayloadType;
-  auto encoder = absl::make_unique<AudioEncoderPcm16B>(encoder_config);
+  auto encoder = std::make_unique<AudioEncoderPcm16B>(encoder_config);
   constexpr int kRunTimeMs = 10000;
-  auto input = absl::make_unique<EncodeNetEqInput>(
+  auto input = std::make_unique<EncodeNetEqInput>(
       std::move(generator), std::move(encoder), kRunTimeMs);
   // Wrap the input in a loss function.
   auto lossy_input =
-      absl::make_unique<LossyInput>(loss_cadence, std::move(input));
+      std::make_unique<LossyInput>(loss_cadence, std::move(input));
 
   // Settinng up decoders.
   NetEqTest::DecoderMap decoders;
   // Using a fake decoder which simply reads the output audio from a file.
-  auto input_file = absl::make_unique<InputAudioFile>(
+  auto input_file = std::make_unique<InputAudioFile>(
       webrtc::test::ResourcePath("audio_coding/testfile32kHz", "pcm"));
   AudioDecoderPlc dec(std::move(input_file), kSampleRateHz);
   // Masquerading as a PCM16b decoder.
   decoders.emplace(kPayloadType, SdpAudioFormat("l16", 32000, 1));
 
   // Output is simply a checksum calculator.
-  auto output = absl::make_unique<AudioChecksumWithOutput>(checksum);
+  auto output = std::make_unique<AudioChecksumWithOutput>(checksum);
 
   // No callback objects.
   NetEqTest::Callbacks callbacks;
diff --git a/modules/audio_coding/neteq/neteq_impl_unittest.cc b/modules/audio_coding/neteq/neteq_impl_unittest.cc
index ded54bf..39c4e52 100644
--- a/modules/audio_coding/neteq/neteq_impl_unittest.cc
+++ b/modules/audio_coding/neteq/neteq_impl_unittest.cc
@@ -14,7 +14,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/audio_codecs/builtin_audio_decoder_factory.h"
 #include "modules/audio_coding/neteq/accelerate.h"
 #include "modules/audio_coding/neteq/expand.h"
@@ -109,7 +108,7 @@
           config_.max_packets_in_buffer, config_.min_delay_ms, 1020054733,
           DelayManager::HistogramMode::INTER_ARRIVAL_TIME,
           config_.enable_rtx_handling, delay_peak_detector_, tick_timer_,
-          deps.stats.get(), absl::make_unique<Histogram>(50, 32745)));
+          deps.stats.get(), std::make_unique<Histogram>(50, 32745)));
       mock_delay_manager_ = mock.get();
       deps.delay_manager = std::move(mock);
     }
@@ -1567,7 +1566,7 @@
         new rtc::RefCountedObject<test::FunctionAudioDecoderFactory>(
             [sampling_freq, speech_type]() {
               std::unique_ptr<AudioDecoder> decoder =
-                  absl::make_unique<Decoder120ms>(sampling_freq, speech_type);
+                  std::make_unique<Decoder120ms>(sampling_freq, speech_type);
               RTC_CHECK_EQ(2, decoder->Channels());
               return decoder;
             });
diff --git a/modules/audio_coding/neteq/packet_buffer_unittest.cc b/modules/audio_coding/neteq/packet_buffer_unittest.cc
index 688ce8d..0b638bf 100644
--- a/modules/audio_coding/neteq/packet_buffer_unittest.cc
+++ b/modules/audio_coding/neteq/packet_buffer_unittest.cc
@@ -12,7 +12,8 @@
 
 #include "modules/audio_coding/neteq/packet_buffer.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/audio_codecs/builtin_audio_decoder_factory.h"
 #include "modules/audio_coding/neteq/mock/mock_decoder_database.h"
 #include "modules/audio_coding/neteq/mock/mock_statistics_calculator.h"
@@ -704,7 +705,7 @@
   Packet packet_1 = gen.NextPacket(kPayloadSizeBytes, nullptr);
 
   std::unique_ptr<MockEncodedAudioFrame> mock_audio_frame =
-      absl::make_unique<MockEncodedAudioFrame>();
+      std::make_unique<MockEncodedAudioFrame>();
   EXPECT_CALL(*mock_audio_frame, Duration())
       .WillRepeatedly(Return(kFrameSizeSamples));
   Packet packet_2 =
diff --git a/modules/audio_coding/neteq/tools/neteq_test_factory.cc b/modules/audio_coding/neteq/tools/neteq_test_factory.cc
index 8147142..3c3add4 100644
--- a/modules/audio_coding/neteq/tools/neteq_test_factory.cc
+++ b/modules/audio_coding/neteq/tools/neteq_test_factory.cc
@@ -22,7 +22,6 @@
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/audio_codecs/builtin_audio_decoder_factory.h"
 #include "modules/audio_coding/neteq/include/neteq.h"
 #include "modules/audio_coding/neteq/tools/audio_sink.h"
@@ -194,19 +193,19 @@
   // If an output file is requested, open it.
   std::unique_ptr<AudioSink> output;
   if (!config.output_audio_filename.has_value()) {
-    output = absl::make_unique<VoidAudioSink>();
+    output = std::make_unique<VoidAudioSink>();
     std::cout << "No output audio file" << std::endl;
   } else if (config.output_audio_filename->size() >= 4 &&
              config.output_audio_filename->substr(
                  config.output_audio_filename->size() - 4) == ".wav") {
     // Open a wav file with the known sample rate.
-    output = absl::make_unique<OutputWavFile>(*config.output_audio_filename,
-                                              *sample_rate_hz);
+    output = std::make_unique<OutputWavFile>(*config.output_audio_filename,
+                                             *sample_rate_hz);
     std::cout << "Output WAV file: " << *config.output_audio_filename
               << std::endl;
   } else {
     // Open a pcm file.
-    output = absl::make_unique<OutputAudioFile>(*config.output_audio_filename);
+    output = std::make_unique<OutputAudioFile>(*config.output_audio_filename);
     std::cout << "Output PCM file: " << *config.output_audio_filename
               << std::endl;
   }
@@ -254,9 +253,8 @@
           std::unique_ptr<AudioDecoder> decoder =
               decoder_factory->MakeAudioDecoder(format, codec_pair_id);
           if (!decoder && format.name == "replacement") {
-            decoder = absl::make_unique<FakeDecodeFromFile>(
-                absl::make_unique<InputAudioFile>(
-                    config.replacement_audio_file),
+            decoder = std::make_unique<FakeDecodeFromFile>(
+                std::make_unique<InputAudioFile>(config.replacement_audio_file),
                 format.clockrate_hz, format.num_channels > 1);
           }
           return decoder;
@@ -274,11 +272,11 @@
   // Create a text log file if needed.
   std::unique_ptr<std::ofstream> text_log;
   if (config.textlog_filename.has_value()) {
-    text_log = absl::make_unique<std::ofstream>(*config.textlog_filename);
+    text_log = std::make_unique<std::ofstream>(*config.textlog_filename);
   }
 
   NetEqTest::Callbacks callbacks;
-  stats_plotter_ = absl::make_unique<NetEqStatsPlotter>(
+  stats_plotter_ = std::make_unique<NetEqStatsPlotter>(
       config.matlabplot, config.pythonplot, config.concealment_events,
       config.plot_scripts_basename.value_or(""));
 
@@ -291,9 +289,9 @@
   neteq_config.sample_rate_hz = *sample_rate_hz;
   neteq_config.max_packets_in_buffer = config.max_nr_packets_in_buffer;
   neteq_config.enable_fast_accelerate = config.enable_fast_accelerate;
-  return absl::make_unique<NetEqTest>(neteq_config, decoder_factory, codecs,
-                                      std::move(text_log), std::move(input),
-                                      std::move(output), callbacks);
+  return std::make_unique<NetEqTest>(neteq_config, decoder_factory, codecs,
+                                     std::move(text_log), std::move(input),
+                                     std::move(output), callbacks);
 }
 
 }  // namespace test
diff --git a/modules/audio_coding/neteq/tools/rtc_event_log_source.cc b/modules/audio_coding/neteq/tools/rtc_event_log_source.cc
index f864aa1..30f4f95 100644
--- a/modules/audio_coding/neteq/tools/rtc_event_log_source.cc
+++ b/modules/audio_coding/neteq/tools/rtc_event_log_source.cc
@@ -14,10 +14,10 @@
 
 #include <iostream>
 #include <limits>
+#include <memory>
 #include <set>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "logging/rtc_event_log/rtc_event_processor.h"
 #include "modules/audio_coding/neteq/tools/packet.h"
 #include "rtc_base/checks.h"
@@ -96,7 +96,7 @@
        &packet_ssrcs](const webrtc::LoggedRtpPacketIncoming& incoming) {
         if (!filter_.test(incoming.rtp.header.payloadType) &&
             incoming.log_time_us() < first_log_end_time_us) {
-          rtp_packets_.emplace_back(absl::make_unique<Packet>(
+          rtp_packets_.emplace_back(std::make_unique<Packet>(
               incoming.rtp.header, incoming.rtp.total_length,
               incoming.rtp.total_length - incoming.rtp.header_length,
               static_cast<double>(incoming.log_time_ms())));
diff --git a/modules/audio_coding/neteq/tools/rtp_file_source.cc b/modules/audio_coding/neteq/tools/rtp_file_source.cc
index 410af27..f578065 100644
--- a/modules/audio_coding/neteq/tools/rtp_file_source.cc
+++ b/modules/audio_coding/neteq/tools/rtp_file_source.cc
@@ -18,7 +18,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "modules/audio_coding/neteq/tools/packet.h"
 #include "rtc_base/checks.h"
 #include "test/rtp_file_reader.h"
@@ -66,7 +65,7 @@
     std::unique_ptr<uint8_t[]> packet_memory(new uint8_t[temp_packet.length]);
     memcpy(packet_memory.get(), temp_packet.data, temp_packet.length);
     RtpUtility::RtpHeaderParser parser(packet_memory.get(), temp_packet.length);
-    auto packet = absl::make_unique<Packet>(
+    auto packet = std::make_unique<Packet>(
         packet_memory.release(), temp_packet.length,
         temp_packet.original_length, temp_packet.time_ms, parser,
         &rtp_header_extension_map_);
diff --git a/modules/audio_coding/test/TestRedFec.cc b/modules/audio_coding/test/TestRedFec.cc
index 5155958..d2c8d8a 100644
--- a/modules/audio_coding/test/TestRedFec.cc
+++ b/modules/audio_coding/test/TestRedFec.cc
@@ -10,9 +10,9 @@
 
 #include "modules/audio_coding/test/TestRedFec.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "api/audio_codecs/L16/audio_decoder_L16.h"
 #include "api/audio_codecs/L16/audio_encoder_L16.h"
@@ -190,7 +190,7 @@
       AudioEncoderCopyRed::Config config;
       config.payload_type = red_payload_type;
       config.speech_encoder = std::move(encoder);
-      encoder = absl::make_unique<AudioEncoderCopyRed>(std::move(config));
+      encoder = std::make_unique<AudioEncoderCopyRed>(std::move(config));
       receive_codecs.emplace(
           std::make_pair(red_payload_type,
                          SdpAudioFormat("red", codec_format.clockrate_hz, 1)));
diff --git a/modules/audio_device/BUILD.gn b/modules/audio_device/BUILD.gn
index 64a9ddc..b320148 100644
--- a/modules/audio_device/BUILD.gn
+++ b/modules/audio_device/BUILD.gn
@@ -148,7 +148,6 @@
       "../../api/task_queue",
       "../../rtc_base:checks",
       "../../rtc_base:rtc_base_approved",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
   }
@@ -181,7 +180,6 @@
     "../../system_wrappers:field_trial",
     "../../system_wrappers:metrics",
     "../utility",
-    "//third_party/abseil-cpp/absl/memory",
   ]
   if (rtc_include_internal_audio_device && is_ios) {
     deps += [ "../../sdk:audio_device" ]
@@ -393,7 +391,6 @@
     ]
     if (is_linux || is_mac || is_win) {
       sources += [ "audio_device_unittest.cc" ]
-      deps += [ "//third_party/abseil-cpp/absl/memory" ]
     }
     if (is_win) {
       sources += [ "win/core_audio_utility_win_unittest.cc" ]
diff --git a/modules/audio_device/android/aaudio_player.cc b/modules/audio_device/android/aaudio_player.cc
index 7e3721f..def0322 100644
--- a/modules/audio_device/android/aaudio_player.cc
+++ b/modules/audio_device/android/aaudio_player.cc
@@ -10,7 +10,8 @@
 
 #include "modules/audio_device/android/aaudio_player.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/array_view.h"
 #include "modules/audio_device/android/audio_manager.h"
 #include "modules/audio_device/fine_audio_buffer.h"
@@ -123,7 +124,7 @@
   // Create a modified audio buffer class which allows us to ask for any number
   // of samples (and not only multiple of 10ms) to match the optimal buffer
   // size per callback used by AAudio.
-  fine_audio_buffer_ = absl::make_unique<FineAudioBuffer>(audio_device_buffer_);
+  fine_audio_buffer_ = std::make_unique<FineAudioBuffer>(audio_device_buffer_);
 }
 
 int AAudioPlayer::SpeakerVolumeIsAvailable(bool& available) {
diff --git a/modules/audio_device/android/aaudio_recorder.cc b/modules/audio_device/android/aaudio_recorder.cc
index 2aca3fe..3c5dae9 100644
--- a/modules/audio_device/android/aaudio_recorder.cc
+++ b/modules/audio_device/android/aaudio_recorder.cc
@@ -10,7 +10,8 @@
 
 #include "modules/audio_device/android/aaudio_recorder.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/array_view.h"
 #include "modules/audio_device/android/audio_manager.h"
 #include "modules/audio_device/fine_audio_buffer.h"
@@ -110,7 +111,7 @@
   // Create a modified audio buffer class which allows us to deliver any number
   // of samples (and not only multiples of 10ms which WebRTC uses) to match the
   // native AAudio buffer size.
-  fine_audio_buffer_ = absl::make_unique<FineAudioBuffer>(audio_device_buffer_);
+  fine_audio_buffer_ = std::make_unique<FineAudioBuffer>(audio_device_buffer_);
 }
 
 int AAudioRecorder::EnableBuiltInAEC(bool enable) {
diff --git a/modules/audio_device/android/opensles_player.cc b/modules/audio_device/android/opensles_player.cc
index 6136570..b5851f7 100644
--- a/modules/audio_device/android/opensles_player.cc
+++ b/modules/audio_device/android/opensles_player.cc
@@ -12,7 +12,8 @@
 
 #include <android/log.h>
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/array_view.h"
 #include "modules/audio_device/android/audio_common.h"
 #include "modules/audio_device/android/audio_manager.h"
@@ -216,7 +217,7 @@
   ALOGD("native buffer size: %" RTC_PRIuS, buffer_size_in_samples);
   ALOGD("native buffer size in ms: %.2f",
         audio_parameters_.GetBufferSizeInMilliseconds());
-  fine_audio_buffer_ = absl::make_unique<FineAudioBuffer>(audio_device_buffer_);
+  fine_audio_buffer_ = std::make_unique<FineAudioBuffer>(audio_device_buffer_);
   // Allocated memory for audio buffers.
   for (int i = 0; i < kNumOfOpenSLESBuffers; ++i) {
     audio_buffers_[i].reset(new SLint16[buffer_size_in_samples]);
diff --git a/modules/audio_device/android/opensles_recorder.cc b/modules/audio_device/android/opensles_recorder.cc
index 05b5581..8becd20 100644
--- a/modules/audio_device/android/opensles_recorder.cc
+++ b/modules/audio_device/android/opensles_recorder.cc
@@ -12,7 +12,8 @@
 
 #include <android/log.h>
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/array_view.h"
 #include "modules/audio_device/android/audio_common.h"
 #include "modules/audio_device/android/audio_manager.h"
@@ -341,7 +342,7 @@
         audio_parameters_.GetBytesPerBuffer());
   ALOGD("native sample rate: %d", audio_parameters_.sample_rate());
   RTC_DCHECK(audio_device_buffer_);
-  fine_audio_buffer_ = absl::make_unique<FineAudioBuffer>(audio_device_buffer_);
+  fine_audio_buffer_ = std::make_unique<FineAudioBuffer>(audio_device_buffer_);
   // Allocate queue of audio buffers that stores recorded audio samples.
   const int buffer_size_samples =
       audio_parameters_.frames_per_buffer() * audio_parameters_.channels();
diff --git a/modules/audio_device/audio_device_unittest.cc b/modules/audio_device/audio_device_unittest.cc
index cd6be0a..3e75d76 100644
--- a/modules/audio_device/audio_device_unittest.cc
+++ b/modules/audio_device/audio_device_unittest.cc
@@ -15,7 +15,6 @@
 #include <memory>
 #include <numeric>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/array_view.h"
 #include "api/scoped_refptr.h"
@@ -595,7 +594,7 @@
       // We must initialize the COM library on a thread before we calling any of
       // the library functions. All COM functions in the ADM will return
       // CO_E_NOTINITIALIZED otherwise.
-      com_initializer_ = absl::make_unique<webrtc_win::ScopedCOMInitializer>(
+      com_initializer_ = std::make_unique<webrtc_win::ScopedCOMInitializer>(
           webrtc_win::ScopedCOMInitializer::kMTA);
       EXPECT_TRUE(com_initializer_->Succeeded());
       EXPECT_TRUE(webrtc_win::core_audio_utility::IsSupported());
diff --git a/modules/audio_device/include/audio_device_factory.cc b/modules/audio_device/include/audio_device_factory.cc
index df5129f..909506b 100644
--- a/modules/audio_device/include/audio_device_factory.cc
+++ b/modules/audio_device/include/audio_device_factory.cc
@@ -10,6 +10,8 @@
 
 #include "modules/audio_device/include/audio_device_factory.h"
 
+#include <memory>
+
 #if defined(WEBRTC_WIN)
 #include "modules/audio_device/win/audio_device_module_win.h"
 #include "modules/audio_device/win/core_audio_input_win.h"
@@ -17,7 +19,6 @@
 #include "modules/audio_device/win/core_audio_utility_win.h"
 #endif
 
-#include "absl/memory/memory.h"
 #include "api/task_queue/task_queue_factory.h"
 #include "rtc_base/logging.h"
 
@@ -44,8 +45,8 @@
     return nullptr;
   }
   return CreateWindowsCoreAudioAudioDeviceModuleFromInputAndOutput(
-      absl::make_unique<webrtc_win::CoreAudioInput>(automatic_restart),
-      absl::make_unique<webrtc_win::CoreAudioOutput>(automatic_restart),
+      std::make_unique<webrtc_win::CoreAudioInput>(automatic_restart),
+      std::make_unique<webrtc_win::CoreAudioOutput>(automatic_restart),
       task_queue_factory);
 }
 
diff --git a/modules/audio_device/include/audio_device_factory.h b/modules/audio_device/include/audio_device_factory.h
index 4d4cb5e..fb1ac41 100644
--- a/modules/audio_device/include/audio_device_factory.h
+++ b/modules/audio_device/include/audio_device_factory.h
@@ -11,7 +11,8 @@
 #ifndef MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_FACTORY_H_
 #define MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_FACTORY_H_
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/task_queue/task_queue_factory.h"
 #include "modules/audio_device/include/audio_device.h"
 
@@ -29,7 +30,7 @@
 //   rtc::scoped_refptr<AudioDeviceModule> CreateAudioDevice() {
 //     task_queue_factory_ = CreateDefaultTaskQueueFactory();
 //     // Tell COM that this thread shall live in the MTA.
-//     com_initializer_ = absl::make_unique<webrtc_win::ScopedCOMInitializer>(
+//     com_initializer_ = std::make_unique<webrtc_win::ScopedCOMInitializer>(
 //         webrtc_win::ScopedCOMInitializer::kMTA);
 //     if (!com_initializer_->Succeeded()) {
 //       return nullptr;
diff --git a/modules/audio_device/include/test_audio_device.cc b/modules/audio_device/include/test_audio_device.cc
index fd9bf64..4c7e49b 100644
--- a/modules/audio_device/include/test_audio_device.cc
+++ b/modules/audio_device/include/test_audio_device.cc
@@ -18,7 +18,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/array_view.h"
 #include "common_audio/wav_file.h"
 #include "modules/audio_device/include/audio_device_default.h"
@@ -89,7 +88,7 @@
 
   int32_t Init() override {
     task_queue_ =
-        absl::make_unique<rtc::TaskQueue>(task_queue_factory_->CreateTaskQueue(
+        std::make_unique<rtc::TaskQueue>(task_queue_factory_->CreateTaskQueue(
             "TestAudioDeviceModuleImpl", TaskQueueFactory::Priority::NORMAL));
 
     RepeatingTaskHandle::Start(task_queue_->Get(), [this]() {
@@ -271,7 +270,7 @@
                 int sampling_frequency_in_hz,
                 int num_channels,
                 bool repeat)
-      : WavFileReader(absl::make_unique<WavReader>(filename),
+      : WavFileReader(std::make_unique<WavReader>(filename),
                       sampling_frequency_in_hz,
                       num_channels,
                       repeat) {}
@@ -324,9 +323,9 @@
   WavFileWriter(std::string filename,
                 int sampling_frequency_in_hz,
                 int num_channels)
-      : WavFileWriter(absl::make_unique<WavWriter>(filename,
-                                                   sampling_frequency_in_hz,
-                                                   num_channels),
+      : WavFileWriter(std::make_unique<WavWriter>(filename,
+                                                  sampling_frequency_in_hz,
+                                                  num_channels),
                       sampling_frequency_in_hz,
                       num_channels) {}
 
@@ -456,23 +455,23 @@
 TestAudioDeviceModule::CreatePulsedNoiseCapturer(int16_t max_amplitude,
                                                  int sampling_frequency_in_hz,
                                                  int num_channels) {
-  return absl::make_unique<PulsedNoiseCapturerImpl>(
+  return std::make_unique<PulsedNoiseCapturerImpl>(
       max_amplitude, sampling_frequency_in_hz, num_channels);
 }
 
 std::unique_ptr<TestAudioDeviceModule::Renderer>
 TestAudioDeviceModule::CreateDiscardRenderer(int sampling_frequency_in_hz,
                                              int num_channels) {
-  return absl::make_unique<DiscardRenderer>(sampling_frequency_in_hz,
-                                            num_channels);
+  return std::make_unique<DiscardRenderer>(sampling_frequency_in_hz,
+                                           num_channels);
 }
 
 std::unique_ptr<TestAudioDeviceModule::Capturer>
 TestAudioDeviceModule::CreateWavFileReader(std::string filename,
                                            int sampling_frequency_in_hz,
                                            int num_channels) {
-  return absl::make_unique<WavFileReader>(filename, sampling_frequency_in_hz,
-                                          num_channels, false);
+  return std::make_unique<WavFileReader>(filename, sampling_frequency_in_hz,
+                                         num_channels, false);
 }
 
 std::unique_ptr<TestAudioDeviceModule::Capturer>
@@ -480,23 +479,23 @@
   WavReader reader(filename);
   int sampling_frequency_in_hz = reader.sample_rate();
   int num_channels = rtc::checked_cast<int>(reader.num_channels());
-  return absl::make_unique<WavFileReader>(filename, sampling_frequency_in_hz,
-                                          num_channels, repeat);
+  return std::make_unique<WavFileReader>(filename, sampling_frequency_in_hz,
+                                         num_channels, repeat);
 }
 
 std::unique_ptr<TestAudioDeviceModule::Renderer>
 TestAudioDeviceModule::CreateWavFileWriter(std::string filename,
                                            int sampling_frequency_in_hz,
                                            int num_channels) {
-  return absl::make_unique<WavFileWriter>(filename, sampling_frequency_in_hz,
-                                          num_channels);
+  return std::make_unique<WavFileWriter>(filename, sampling_frequency_in_hz,
+                                         num_channels);
 }
 
 std::unique_ptr<TestAudioDeviceModule::Renderer>
 TestAudioDeviceModule::CreateBoundedWavFileWriter(std::string filename,
                                                   int sampling_frequency_in_hz,
                                                   int num_channels) {
-  return absl::make_unique<BoundedWavFileWriter>(
+  return std::make_unique<BoundedWavFileWriter>(
       filename, sampling_frequency_in_hz, num_channels);
 }
 
diff --git a/modules/audio_device/mac/audio_device_mac.cc b/modules/audio_device/mac/audio_device_mac.cc
index 6b4ba92..345935f 100644
--- a/modules/audio_device/mac/audio_device_mac.cc
+++ b/modules/audio_device/mac/audio_device_mac.cc
@@ -15,7 +15,8 @@
 #include <mach/mach.h>         // mach_task_self()
 #include <sys/sysctl.h>        // sysctlbyname()
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "modules/audio_device/audio_device_config.h"
 #include "modules/third_party/portaudio/pa_ringbuffer.h"
 #include "rtc_base/arraysize.h"
@@ -1557,7 +1558,7 @@
   }
 
   UInt32 numberDevices = size / sizeof(AudioDeviceID);
-  const auto deviceIds = absl::make_unique<AudioDeviceID[]>(numberDevices);
+  const auto deviceIds = std::make_unique<AudioDeviceID[]>(numberDevices);
   AudioBufferList* bufferList = NULL;
   UInt32 numberScopedDevices = 0;
 
diff --git a/modules/audio_device/win/audio_device_module_win.cc b/modules/audio_device/win/audio_device_module_win.cc
index cc23ae6..b77a24a 100644
--- a/modules/audio_device/win/audio_device_module_win.cc
+++ b/modules/audio_device/win/audio_device_module_win.cc
@@ -10,9 +10,9 @@
 
 #include "modules/audio_device/win/audio_device_module_win.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/audio_device/audio_device_buffer.h"
 #include "modules/audio_device/include/audio_device.h"
 #include "rtc_base/checks.h"
@@ -133,7 +133,7 @@
       return 0;
     }
     audio_device_buffer_ =
-        absl::make_unique<AudioDeviceBuffer>(task_queue_factory_);
+        std::make_unique<AudioDeviceBuffer>(task_queue_factory_);
     AttachAudioBuffer();
     InitStatus status;
     if (output_->Init() != 0) {
diff --git a/modules/audio_device/win/core_audio_base_win.cc b/modules/audio_device/win/core_audio_base_win.cc
index b18d97d..56abe85 100644
--- a/modules/audio_device/win/core_audio_base_win.cc
+++ b/modules/audio_device/win/core_audio_base_win.cc
@@ -11,9 +11,9 @@
 #include "modules/audio_device/win/core_audio_base_win.h"
 #include "modules/audio_device/audio_device_buffer.h"
 
+#include <memory>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/arraysize.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
@@ -516,7 +516,7 @@
   // Start an audio thread but only if one does not already exist (which is the
   // case during restart).
   if (!audio_thread_) {
-    audio_thread_ = absl::make_unique<rtc::PlatformThread>(
+    audio_thread_ = std::make_unique<rtc::PlatformThread>(
         Run, this, IsInput() ? "wasapi_capture_thread" : "wasapi_render_thread",
         rtc::kRealtimePriority);
     RTC_DCHECK(audio_thread_);
diff --git a/modules/audio_device/win/core_audio_input_win.cc b/modules/audio_device/win/core_audio_input_win.cc
index 91a1d16..5350076 100644
--- a/modules/audio_device/win/core_audio_input_win.cc
+++ b/modules/audio_device/win/core_audio_input_win.cc
@@ -10,7 +10,8 @@
 
 #include "modules/audio_device/win/core_audio_input_win.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "modules/audio_device/audio_device_buffer.h"
 #include "modules/audio_device/fine_audio_buffer.h"
 #include "rtc_base/checks.h"
@@ -121,7 +122,7 @@
   // of samples (and not only multiple of 10ms) to match the optimal buffer
   // size per callback used by Core Audio.
   // TODO(henrika): can we share one FineAudioBuffer with the output side?
-  fine_audio_buffer_ = absl::make_unique<FineAudioBuffer>(audio_device_buffer_);
+  fine_audio_buffer_ = std::make_unique<FineAudioBuffer>(audio_device_buffer_);
 
   // Create an IAudioCaptureClient for an initialized IAudioClient.
   // The IAudioCaptureClient interface enables a client to read input data from
diff --git a/modules/audio_device/win/core_audio_output_win.cc b/modules/audio_device/win/core_audio_output_win.cc
index f3b0151..aeada67 100644
--- a/modules/audio_device/win/core_audio_output_win.cc
+++ b/modules/audio_device/win/core_audio_output_win.cc
@@ -10,7 +10,8 @@
 
 #include "modules/audio_device/win/core_audio_output_win.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "modules/audio_device/audio_device_buffer.h"
 #include "modules/audio_device/fine_audio_buffer.h"
 #include "rtc_base/bind.h"
@@ -120,7 +121,7 @@
   // of samples (and not only multiple of 10ms) to match the optimal
   // buffer size per callback used by Core Audio.
   // TODO(henrika): can we share one FineAudioBuffer with the input side?
-  fine_audio_buffer_ = absl::make_unique<FineAudioBuffer>(audio_device_buffer_);
+  fine_audio_buffer_ = std::make_unique<FineAudioBuffer>(audio_device_buffer_);
 
   // Create an IAudioRenderClient for an initialized IAudioClient.
   // The IAudioRenderClient interface enables us to write output data to
diff --git a/modules/audio_mixer/BUILD.gn b/modules/audio_mixer/BUILD.gn
index 9e8fab4..99bc2d1 100644
--- a/modules/audio_mixer/BUILD.gn
+++ b/modules/audio_mixer/BUILD.gn
@@ -52,7 +52,6 @@
     "../audio_processing:apm_logging",
     "../audio_processing:audio_frame_view",
     "../audio_processing/agc2:fixed_digital",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -116,7 +115,6 @@
       "../../rtc_base:rtc_base_approved",
       "../../rtc_base:task_queue_for_test",
       "../../test:test_support",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
diff --git a/modules/audio_mixer/audio_mixer_impl_unittest.cc b/modules/audio_mixer/audio_mixer_impl_unittest.cc
index 16ff338..cfb3319 100644
--- a/modules/audio_mixer/audio_mixer_impl_unittest.cc
+++ b/modules/audio_mixer/audio_mixer_impl_unittest.cc
@@ -17,7 +17,6 @@
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/audio/audio_mixer.h"
 #include "modules/audio_mixer/default_output_rate_calculator.h"
 #include "rtc_base/bind.h"
@@ -611,7 +610,7 @@
       AudioFrame::kMaxDataSizeSamples / kSamplesPerChannel;
   MockMixerAudioSource source;
   const auto mixer = AudioMixerImpl::Create(
-      absl::make_unique<HighOutputRateCalculator>(), true);
+      std::make_unique<HighOutputRateCalculator>(), true);
   mixer->AddSource(&source);
   ResetFrame(source.fake_frame());
   mixer->Mix(1, &frame_for_mixing);
diff --git a/modules/audio_mixer/frame_combiner.cc b/modules/audio_mixer/frame_combiner.cc
index f7ce952..e52904f 100644
--- a/modules/audio_mixer/frame_combiner.cc
+++ b/modules/audio_mixer/frame_combiner.cc
@@ -14,9 +14,9 @@
 #include <array>
 #include <cstdint>
 #include <iterator>
+#include <memory>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "api/array_view.h"
 #include "common_audio/include/audio_util.h"
 #include "modules/audio_mixer/audio_frame_manipulator.h"
@@ -129,8 +129,8 @@
 FrameCombiner::FrameCombiner(bool use_limiter)
     : data_dumper_(new ApmDataDumper(0)),
       mixing_buffer_(
-          absl::make_unique<std::array<std::array<float, kMaximumChannelSize>,
-                                       kMaximumNumberOfChannels>>()),
+          std::make_unique<std::array<std::array<float, kMaximumChannelSize>,
+                                      kMaximumNumberOfChannels>>()),
       limiter_(static_cast<size_t>(48000), data_dumper_.get(), "AudioMixer"),
       use_limiter_(use_limiter) {
   static_assert(kMaximumChannelSize * kMaximumNumberOfChannels <=
diff --git a/modules/audio_processing/BUILD.gn b/modules/audio_processing/BUILD.gn
index 1341f76..d2be4f8 100644
--- a/modules/audio_processing/BUILD.gn
+++ b/modules/audio_processing/BUILD.gn
@@ -58,7 +58,6 @@
     "../../rtc_base:rtc_base_approved",
     "../../rtc_base/system:arch",
     "../../rtc_base/system:rtc_export",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -202,7 +201,6 @@
     "agc2:fixed_digital",
     "agc2:gain_applier",
     "vad",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 
@@ -301,7 +299,6 @@
     "../../common_audio",
     "../../rtc_base:rtc_base_approved",
     "../../system_wrappers",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -503,7 +500,6 @@
       "utility:pffft_wrapper_unittest",
       "vad:vad_unittests",
       "//testing/gtest",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
 
@@ -609,7 +605,6 @@
       "../../rtc_base:rtc_base_approved",
       "../../rtc_base:safe_minmax",
       "agc:gain_map",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
   }
@@ -655,7 +650,6 @@
         "//testing/gtest",
         "//third_party/abseil-cpp/absl/flags:flag",
         "//third_party/abseil-cpp/absl/flags:parse",
-        "//third_party/abseil-cpp/absl/memory",
         "//third_party/abseil-cpp/absl/strings",
         "//third_party/abseil-cpp/absl/types:optional",
       ]
@@ -670,7 +664,6 @@
         ":audio_processing",
         "../../api:audioproc_f_api",
         "../../rtc_base:rtc_base_approved",
-        "//third_party/abseil-cpp/absl/memory",
       ]
     }  # audioproc_f
   }
@@ -766,7 +759,6 @@
         "../../rtc_base:protobuf_utils",
         "../../rtc_base:rtc_base_approved",
         "../../rtc_base/system:arch",
-        "//third_party/abseil-cpp/absl/memory:memory",
       ]
     }
 
diff --git a/modules/audio_processing/aec_dump/BUILD.gn b/modules/audio_processing/aec_dump/BUILD.gn
index 554fee5..419a5ec 100644
--- a/modules/audio_processing/aec_dump/BUILD.gn
+++ b/modules/audio_processing/aec_dump/BUILD.gn
@@ -48,7 +48,6 @@
     "../",
     "../../../rtc_base:rtc_base_approved",
     "//testing/gtest",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -74,7 +73,6 @@
       "../../../rtc_base:rtc_task_queue",
       "../../../rtc_base/system:file_wrapper",
       "../../../system_wrappers",
-      "//third_party/abseil-cpp/absl/memory",
     ]
 
     deps += [ "../:audioproc_debug_proto" ]
diff --git a/modules/audio_processing/aec_dump/aec_dump_impl.cc b/modules/audio_processing/aec_dump/aec_dump_impl.cc
index 904033a..a7ac552 100644
--- a/modules/audio_processing/aec_dump/aec_dump_impl.cc
+++ b/modules/audio_processing/aec_dump/aec_dump_impl.cc
@@ -10,9 +10,9 @@
 
 #include "modules/audio_processing/aec_dump/aec_dump_impl.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/audio_processing/aec_dump/aec_dump_factory.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/event.h"
@@ -212,8 +212,8 @@
 }
 
 std::unique_ptr<WriteToFileTask> AecDumpImpl::CreateWriteToFileTask() {
-  return absl::make_unique<WriteToFileTask>(&debug_file_,
-                                            &num_bytes_left_for_log_);
+  return std::make_unique<WriteToFileTask>(&debug_file_,
+                                           &num_bytes_left_for_log_);
 }
 
 std::unique_ptr<AecDump> AecDumpFactory::Create(webrtc::FileWrapper file,
@@ -223,8 +223,8 @@
   if (!file.is_open())
     return nullptr;
 
-  return absl::make_unique<AecDumpImpl>(std::move(file), max_log_size_bytes,
-                                        worker_queue);
+  return std::make_unique<AecDumpImpl>(std::move(file), max_log_size_bytes,
+                                       worker_queue);
 }
 
 std::unique_ptr<AecDump> AecDumpFactory::Create(std::string file_name,
diff --git a/modules/audio_processing/aec_dump/aec_dump_integration_test.cc b/modules/audio_processing/aec_dump/aec_dump_integration_test.cc
index a32867f..f3544b5 100644
--- a/modules/audio_processing/aec_dump/aec_dump_integration_test.cc
+++ b/modules/audio_processing/aec_dump/aec_dump_integration_test.cc
@@ -8,9 +8,9 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/audio_processing/aec_dump/mock_aec_dump.h"
 #include "modules/audio_processing/include/audio_processing.h"
 
@@ -31,14 +31,14 @@
 
 std::unique_ptr<webrtc::test::MockAecDump> CreateMockAecDump() {
   auto mock_aec_dump =
-      absl::make_unique<testing::StrictMock<webrtc::test::MockAecDump>>();
+      std::make_unique<testing::StrictMock<webrtc::test::MockAecDump>>();
   EXPECT_CALL(*mock_aec_dump.get(), WriteConfig(_)).Times(AtLeast(1));
   EXPECT_CALL(*mock_aec_dump.get(), WriteInitMessage(_, _)).Times(AtLeast(1));
   return std::unique_ptr<webrtc::test::MockAecDump>(std::move(mock_aec_dump));
 }
 
 std::unique_ptr<webrtc::AudioFrame> CreateFakeFrame() {
-  auto fake_frame = absl::make_unique<webrtc::AudioFrame>();
+  auto fake_frame = std::make_unique<webrtc::AudioFrame>();
   fake_frame->num_channels_ = 1;
   fake_frame->sample_rate_hz_ = 48000;
   fake_frame->samples_per_channel_ = 480;
diff --git a/modules/audio_processing/agc2/BUILD.gn b/modules/audio_processing/agc2/BUILD.gn
index 5431a15..5a8e81a 100644
--- a/modules/audio_processing/agc2/BUILD.gn
+++ b/modules/audio_processing/agc2/BUILD.gn
@@ -235,7 +235,6 @@
     "../../../rtc_base:gunit_helpers",
     "../../../rtc_base:rtc_base_approved",
     "../../../system_wrappers:metrics",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
diff --git a/modules/audio_processing/agc2/rnn_vad/BUILD.gn b/modules/audio_processing/agc2/rnn_vad/BUILD.gn
index 670bbb6..63ce0c1 100644
--- a/modules/audio_processing/agc2/rnn_vad/BUILD.gn
+++ b/modules/audio_processing/agc2/rnn_vad/BUILD.gn
@@ -57,7 +57,6 @@
       "../../../../rtc_base:checks",
       "../../../../test:fileutils",
       "../../../../test:test_support",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
diff --git a/modules/audio_processing/agc2/rnn_vad/test_utils.cc b/modules/audio_processing/agc2/rnn_vad/test_utils.cc
index 8236d5f..6e0eb5b 100644
--- a/modules/audio_processing/agc2/rnn_vad/test_utils.cc
+++ b/modules/audio_processing/agc2/rnn_vad/test_utils.cc
@@ -10,7 +10,8 @@
 
 #include "modules/audio_processing/agc2/rnn_vad/test_utils.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "rtc_base/checks.h"
 #include "test/gtest.h"
 #include "test/testsupport/file_utils.h"
@@ -48,7 +49,7 @@
 
 std::pair<std::unique_ptr<BinaryFileReader<int16_t, float>>, const size_t>
 CreatePcmSamplesReader(const size_t frame_length) {
-  auto ptr = absl::make_unique<BinaryFileReader<int16_t, float>>(
+  auto ptr = std::make_unique<BinaryFileReader<int16_t, float>>(
       test::ResourcePath("audio_processing/agc2/rnn_vad/samples", "pcm"),
       frame_length);
   // The last incomplete frame is ignored.
@@ -57,14 +58,14 @@
 
 ReaderPairType CreatePitchBuffer24kHzReader() {
   constexpr size_t cols = 864;
-  auto ptr = absl::make_unique<BinaryFileReader<float>>(
+  auto ptr = std::make_unique<BinaryFileReader<float>>(
       ResourcePath("audio_processing/agc2/rnn_vad/pitch_buf_24k", "dat"), cols);
   return {std::move(ptr), rtc::CheckedDivExact(ptr->data_length(), cols)};
 }
 
 ReaderPairType CreateLpResidualAndPitchPeriodGainReader() {
   constexpr size_t num_lp_residual_coeffs = 864;
-  auto ptr = absl::make_unique<BinaryFileReader<float>>(
+  auto ptr = std::make_unique<BinaryFileReader<float>>(
       ResourcePath("audio_processing/agc2/rnn_vad/pitch_lp_res", "dat"),
       num_lp_residual_coeffs);
   return {std::move(ptr),
@@ -72,7 +73,7 @@
 }
 
 ReaderPairType CreateVadProbsReader() {
-  auto ptr = absl::make_unique<BinaryFileReader<float>>(
+  auto ptr = std::make_unique<BinaryFileReader<float>>(
       test::ResourcePath("audio_processing/agc2/rnn_vad/vad_prob", "dat"));
   return {std::move(ptr), ptr->data_length()};
 }
diff --git a/modules/audio_processing/audio_processing_impl.cc b/modules/audio_processing/audio_processing_impl.cc
index 55bdaae..cdc37c6 100644
--- a/modules/audio_processing/audio_processing_impl.cc
+++ b/modules/audio_processing/audio_processing_impl.cc
@@ -12,11 +12,11 @@
 
 #include <algorithm>
 #include <cstdint>
+#include <memory>
 #include <string>
 #include <type_traits>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/array_view.h"
 #include "common_audio/audio_converter.h"
@@ -1845,7 +1845,7 @@
       private_submodules_->echo_controller =
           echo_control_factory_->Create(proc_sample_rate_hz());
     } else {
-      private_submodules_->echo_controller = absl::make_unique<EchoCanceller3>(
+      private_submodules_->echo_controller = std::make_unique<EchoCanceller3>(
           EchoCanceller3Config(), proc_sample_rate_hz(),
           /*num_render_channels=*/1, /*num_capture_channels=*/1);
     }
diff --git a/modules/audio_processing/audio_processing_impl_unittest.cc b/modules/audio_processing/audio_processing_impl_unittest.cc
index 72bd6735..292b632 100644
--- a/modules/audio_processing/audio_processing_impl_unittest.cc
+++ b/modules/audio_processing/audio_processing_impl_unittest.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/scoped_refptr.h"
 #include "modules/audio_processing/include/audio_processing.h"
 #include "modules/audio_processing/test/echo_control_mock.h"
@@ -51,12 +50,12 @@
 // to the creation of a new EchoControl object.
 class MockEchoControlFactory : public EchoControlFactory {
  public:
-  MockEchoControlFactory() : next_mock_(absl::make_unique<MockEchoControl>()) {}
+  MockEchoControlFactory() : next_mock_(std::make_unique<MockEchoControl>()) {}
   // Returns a pointer to the next MockEchoControl that this factory creates.
   MockEchoControl* GetNext() const { return next_mock_.get(); }
   std::unique_ptr<EchoControl> Create(int sample_rate_hz) override {
     std::unique_ptr<EchoControl> mock = std::move(next_mock_);
-    next_mock_ = absl::make_unique<MockEchoControl>();
+    next_mock_ = std::make_unique<MockEchoControl>();
     return mock;
   }
 
@@ -215,7 +214,7 @@
      EchoControllerObservesPreAmplifierEchoPathGainChange) {
   // Tests that the echo controller observes an echo path gain change when the
   // pre-amplifier submodule changes the gain.
-  auto echo_control_factory = absl::make_unique<MockEchoControlFactory>();
+  auto echo_control_factory = std::make_unique<MockEchoControlFactory>();
   const auto* echo_control_factory_ptr = echo_control_factory.get();
 
   std::unique_ptr<AudioProcessing> apm(
@@ -258,7 +257,7 @@
      EchoControllerObservesAnalogAgc1EchoPathGainChange) {
   // Tests that the echo controller observes an echo path gain change when the
   // AGC1 analog adaptive submodule changes the analog gain.
-  auto echo_control_factory = absl::make_unique<MockEchoControlFactory>();
+  auto echo_control_factory = std::make_unique<MockEchoControlFactory>();
   const auto* echo_control_factory_ptr = echo_control_factory.get();
 
   std::unique_ptr<AudioProcessing> apm(
@@ -299,7 +298,7 @@
 TEST(AudioProcessingImplTest, EchoControllerObservesPlayoutVolumeChange) {
   // Tests that the echo controller observes an echo path gain change when a
   // playout volume change is reported.
-  auto echo_control_factory = absl::make_unique<MockEchoControlFactory>();
+  auto echo_control_factory = std::make_unique<MockEchoControlFactory>();
   const auto* echo_control_factory_ptr = echo_control_factory.get();
 
   std::unique_ptr<AudioProcessing> apm(
diff --git a/modules/audio_processing/gain_controller2_unittest.cc b/modules/audio_processing/gain_controller2_unittest.cc
index 3295328..9369a8a 100644
--- a/modules/audio_processing/gain_controller2_unittest.cc
+++ b/modules/audio_processing/gain_controller2_unittest.cc
@@ -11,8 +11,8 @@
 #include "modules/audio_processing/gain_controller2.h"
 
 #include <algorithm>
+#include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/array_view.h"
 #include "modules/audio_processing/agc2/agc2_testing_common.h"
 #include "modules/audio_processing/audio_buffer.h"
@@ -62,7 +62,7 @@
 std::unique_ptr<GainController2> CreateAgc2FixedDigitalMode(
     float fixed_gain_db,
     size_t sample_rate_hz) {
-  auto agc2 = absl::make_unique<GainController2>();
+  auto agc2 = std::make_unique<GainController2>();
   agc2->ApplyConfig(CreateAgc2FixedDigitalModeConfig(fixed_gain_db));
   agc2->Initialize(sample_rate_hz);
   return agc2;
diff --git a/modules/audio_processing/include/audio_generator_factory.cc b/modules/audio_processing/include/audio_generator_factory.cc
index 69a5401..d132f89 100644
--- a/modules/audio_processing/include/audio_generator_factory.cc
+++ b/modules/audio_processing/include/audio_generator_factory.cc
@@ -10,7 +10,8 @@
 
 #include "modules/audio_processing/include/audio_generator_factory.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "common_audio/wav_file.h"
 #include "modules/audio_processing/audio_generator/file_audio_generator.h"
 
@@ -19,7 +20,7 @@
 std::unique_ptr<AudioGenerator> AudioGeneratorFactory::Create(
     const std::string& file_name) {
   std::unique_ptr<WavReader> input_audio_file(new WavReader(file_name));
-  return absl::make_unique<FileAudioGenerator>(std::move(input_audio_file));
+  return std::make_unique<FileAudioGenerator>(std::move(input_audio_file));
 }
 
 }  // namespace webrtc
diff --git a/modules/audio_processing/test/aec_dump_based_simulator.cc b/modules/audio_processing/test/aec_dump_based_simulator.cc
index 0d6bdd1..ba39274 100644
--- a/modules/audio_processing/test/aec_dump_based_simulator.cc
+++ b/modules/audio_processing/test/aec_dump_based_simulator.cc
@@ -11,8 +11,8 @@
 #include "modules/audio_processing/test/aec_dump_based_simulator.h"
 
 #include <iostream>
+#include <memory>
 
-#include "absl/memory/memory.h"
 #include "modules/audio_processing/echo_cancellation_impl.h"
 #include "modules/audio_processing/echo_control_mobile_impl.h"
 #include "modules/audio_processing/test/protobuf_utils.h"
@@ -609,7 +609,7 @@
                                            "_" +
                                            std::to_string(output_reset_counter_)
                                      : *settings_.call_order_output_filename;
-    call_order_output_file_ = absl::make_unique<std::ofstream>(filename);
+    call_order_output_file_ = std::make_unique<std::ofstream>(filename);
   }
 }
 
diff --git a/modules/audio_processing/test/api_call_statistics.cc b/modules/audio_processing/test/api_call_statistics.cc
index 5e95668..736b77b 100644
--- a/modules/audio_processing/test/api_call_statistics.cc
+++ b/modules/audio_processing/test/api_call_statistics.cc
@@ -16,7 +16,6 @@
 #include <limits>
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/time_utils.h"
 
 namespace webrtc {
@@ -75,7 +74,7 @@
 
 void ApiCallStatistics::WriteReportToFile(const std::string& filename) const {
   std::unique_ptr<std::ofstream> out =
-      absl::make_unique<std::ofstream>(filename);
+      std::make_unique<std::ofstream>(filename);
   for (auto v : calls_) {
     if (v.call_type == CallType::kRender) {
       *out << "render, ";
diff --git a/modules/audio_processing/test/audio_processing_simulator.cc b/modules/audio_processing/test/audio_processing_simulator.cc
index 1565e71..e3534cc 100644
--- a/modules/audio_processing/test/audio_processing_simulator.cc
+++ b/modules/audio_processing/test/audio_processing_simulator.cc
@@ -13,11 +13,11 @@
 #include <algorithm>
 #include <fstream>
 #include <iostream>
+#include <memory>
 #include <string>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/audio/echo_canceller3_config_json.h"
 #include "api/audio/echo_canceller3_factory.h"
 #include "common_audio/include/audio_util.h"
@@ -139,7 +139,7 @@
     std::unique_ptr<AudioProcessingBuilder> ap_builder)
     : settings_(settings),
       ap_builder_(ap_builder ? std::move(ap_builder)
-                             : absl::make_unique<AudioProcessingBuilder>()),
+                             : std::make_unique<AudioProcessingBuilder>()),
       analog_mic_level_(settings.initial_mic_level),
       fake_recording_device_(
           settings.initial_mic_level,
@@ -341,7 +341,7 @@
                       static_cast<size_t>(out_config_.num_channels())));
     buffer_file_writer_.reset(new ChannelBufferWavWriter(std::move(out_file)));
   } else if (settings_.aec_dump_input_string.has_value()) {
-    buffer_memory_writer_ = absl::make_unique<ChannelBufferVectorWriter>(
+    buffer_memory_writer_ = std::make_unique<ChannelBufferVectorWriter>(
         settings_.processed_capture_samples);
   }
 
diff --git a/modules/audio_processing/test/audioproc_float_main.cc b/modules/audio_processing/test/audioproc_float_main.cc
index 900b927..3cc6d43 100644
--- a/modules/audio_processing/test/audioproc_float_main.cc
+++ b/modules/audio_processing/test/audioproc_float_main.cc
@@ -8,11 +8,12 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/test/audioproc_float.h"
 #include "modules/audio_processing/include/audio_processing.h"
 
 int main(int argc, char* argv[]) {
   return webrtc::test::AudioprocFloat(
-      absl::make_unique<webrtc::AudioProcessingBuilder>(), argc, argv);
+      std::make_unique<webrtc::AudioProcessingBuilder>(), argc, argv);
 }
diff --git a/modules/audio_processing/test/conversational_speech/BUILD.gn b/modules/audio_processing/test/conversational_speech/BUILD.gn
index 7a278a3..298e684 100644
--- a/modules/audio_processing/test/conversational_speech/BUILD.gn
+++ b/modules/audio_processing/test/conversational_speech/BUILD.gn
@@ -26,7 +26,6 @@
     "../../../../test:test_support",
     "//third_party/abseil-cpp/absl/flags:flag",
     "//third_party/abseil-cpp/absl/flags:parse",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -52,7 +51,6 @@
     "../../../../rtc_base:checks",
     "../../../../rtc_base:rtc_base_approved",
     "../../../../test:fileutils",
-    "//third_party/abseil-cpp/absl/memory",
   ]
   visibility = [ ":*" ]  # Only targets in this file can depend on this.
 }
diff --git a/modules/audio_processing/test/conversational_speech/generator.cc b/modules/audio_processing/test/conversational_speech/generator.cc
index abbea8c..d0bc2f2 100644
--- a/modules/audio_processing/test/conversational_speech/generator.cc
+++ b/modules/audio_processing/test/conversational_speech/generator.cc
@@ -11,9 +11,10 @@
 #include <iostream>
 #include <vector>
 
+#include <memory>
+
 #include "absl/flags/flag.h"
 #include "absl/flags/parse.h"
-#include "absl/memory/memory.h"
 #include "modules/audio_processing/test/conversational_speech/config.h"
 #include "modules/audio_processing/test/conversational_speech/multiend_call.h"
 #include "modules/audio_processing/test/conversational_speech/simulator.h"
@@ -59,7 +60,7 @@
 
   // Parse timing and audio tracks.
   auto wavreader_factory =
-      absl::make_unique<conversational_speech::WavReaderFactory>();
+      std::make_unique<conversational_speech::WavReaderFactory>();
   conversational_speech::MultiEndCall multiend_call(
       timing, config.audiotracks_path(), std::move(wavreader_factory));
 
diff --git a/modules/audio_processing/test/conversational_speech/simulator.cc b/modules/audio_processing/test/conversational_speech/simulator.cc
index 81b73fb..0591252 100644
--- a/modules/audio_processing/test/conversational_speech/simulator.cc
+++ b/modules/audio_processing/test/conversational_speech/simulator.cc
@@ -13,11 +13,11 @@
 #include <math.h>
 
 #include <algorithm>
+#include <memory>
 #include <set>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/array_view.h"
 #include "common_audio/include/audio_util.h"
 #include "common_audio/wav_file.h"
@@ -42,7 +42,7 @@
                            const std::string& output_path) {
   // Create map.
   auto speaker_output_file_paths_map =
-      absl::make_unique<std::map<std::string, SpeakerOutputFilePaths>>();
+      std::make_unique<std::map<std::string, SpeakerOutputFilePaths>>();
 
   // Add near-end and far-end output paths into the map.
   for (const auto& speaker_name : speaker_names) {
@@ -89,7 +89,7 @@
                        int sample_rate) {
   // Create map.
   auto speaker_wav_writers_map =
-      absl::make_unique<std::map<std::string, SpeakerWavWriters>>();
+      std::make_unique<std::map<std::string, SpeakerWavWriters>>();
 
   // Add SpeakerWavWriters instance into the map.
   for (auto it = speaker_output_file_paths.begin();
@@ -108,7 +108,7 @@
         audiotrack_readers) {
   // Create map.
   auto audiotracks_map =
-      absl::make_unique<std::map<std::string, std::vector<int16_t>>>();
+      std::make_unique<std::map<std::string, std::vector<int16_t>>>();
 
   // Add audio track vectors.
   for (auto it = audiotrack_readers.begin(); it != audiotrack_readers.end();
diff --git a/modules/audio_processing/test/fake_recording_device.cc b/modules/audio_processing/test/fake_recording_device.cc
index ee134ea..b82cb1d 100644
--- a/modules/audio_processing/test/fake_recording_device.cc
+++ b/modules/audio_processing/test/fake_recording_device.cc
@@ -11,8 +11,8 @@
 #include "modules/audio_processing/test/fake_recording_device.h"
 
 #include <algorithm>
+#include <memory>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "modules/audio_processing/agc/gain_map_internal.h"
 #include "rtc_base/logging.h"
@@ -141,13 +141,13 @@
   switch (device_kind) {
     case 0:
       worker_ =
-          absl::make_unique<FakeRecordingDeviceIdentity>(initial_mic_level);
+          std::make_unique<FakeRecordingDeviceIdentity>(initial_mic_level);
       break;
     case 1:
-      worker_ = absl::make_unique<FakeRecordingDeviceLinear>(initial_mic_level);
+      worker_ = std::make_unique<FakeRecordingDeviceLinear>(initial_mic_level);
       break;
     case 2:
-      worker_ = absl::make_unique<FakeRecordingDeviceAgc1>(initial_mic_level);
+      worker_ = std::make_unique<FakeRecordingDeviceAgc1>(initial_mic_level);
       break;
     default:
       RTC_NOTREACHED();
diff --git a/modules/audio_processing/test/fake_recording_device_unittest.cc b/modules/audio_processing/test/fake_recording_device_unittest.cc
index da62beb..74bb47f 100644
--- a/modules/audio_processing/test/fake_recording_device_unittest.cc
+++ b/modules/audio_processing/test/fake_recording_device_unittest.cc
@@ -15,7 +15,6 @@
 #include <string>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/array_view.h"
 #include "rtc_base/strings/string_builder.h"
 #include "test/gtest.h"
@@ -48,7 +47,7 @@
 std::unique_ptr<ChannelBuffer<float>> CreateChannelBufferWithData(
     const std::vector<std::vector<float>>& data) {
   auto buff =
-      absl::make_unique<ChannelBuffer<float>>(data[0].size(), data.size());
+      std::make_unique<ChannelBuffer<float>>(data[0].size(), data.size());
   WritesDataIntoChannelBuffer(data, buff.get());
   return buff;
 }
diff --git a/modules/audio_processing/test/protobuf_utils.cc b/modules/audio_processing/test/protobuf_utils.cc
index 3042bce..7557496 100644
--- a/modules/audio_processing/test/protobuf_utils.cc
+++ b/modules/audio_processing/test/protobuf_utils.cc
@@ -10,7 +10,8 @@
 
 #include "modules/audio_processing/test/protobuf_utils.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "rtc_base/system/arch.h"
 
 namespace {
@@ -27,7 +28,7 @@
   if (size <= 0)
     return 0;
 
-  *bytes = absl::make_unique<uint8_t[]>(size);
+  *bytes = std::make_unique<uint8_t[]>(size);
   input->read(reinterpret_cast<char*>(bytes->get()),
               size * sizeof((*bytes)[0]));
   size_read = input->gcount();
@@ -49,7 +50,7 @@
   if (size <= 0)
     return 0;
 
-  *bytes = absl::make_unique<uint8_t[]>(size);
+  *bytes = std::make_unique<uint8_t[]>(size);
   return fread(bytes->get(), sizeof((*bytes)[0]), size, file);
 }
 
diff --git a/modules/bitrate_controller/BUILD.gn b/modules/bitrate_controller/BUILD.gn
index ce1dcf0..52dee8a 100644
--- a/modules/bitrate_controller/BUILD.gn
+++ b/modules/bitrate_controller/BUILD.gn
@@ -36,7 +36,6 @@
     "../../system_wrappers:field_trial",
     "../../system_wrappers:metrics",
     "../remote_bitrate_estimator",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
diff --git a/modules/bitrate_controller/send_side_bandwidth_estimation.cc b/modules/bitrate_controller/send_side_bandwidth_estimation.cc
index 0d072ad..b3c6a75 100644
--- a/modules/bitrate_controller/send_side_bandwidth_estimation.cc
+++ b/modules/bitrate_controller/send_side_bandwidth_estimation.cc
@@ -13,9 +13,9 @@
 #include <algorithm>
 #include <cstdio>
 #include <limits>
+#include <memory>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "api/rtc_event_log/rtc_event.h"
 #include "api/rtc_event_log/rtc_event_log.h"
 #include "logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.h"
@@ -653,7 +653,7 @@
   if (bitrate != current_bitrate_ ||
       last_fraction_loss_ != last_logged_fraction_loss_ ||
       at_time - last_rtc_event_log_ > kRtcEventLogPeriod) {
-    event_log_->Log(absl::make_unique<RtcEventBweUpdateLossBased>(
+    event_log_->Log(std::make_unique<RtcEventBweUpdateLossBased>(
         bitrate.bps(), last_fraction_loss_,
         expected_packets_since_last_loss_update_));
     last_logged_fraction_loss_ = last_fraction_loss_;
diff --git a/modules/congestion_controller/bbr/BUILD.gn b/modules/congestion_controller/bbr/BUILD.gn
index c3c9e10..f44f2bf 100644
--- a/modules/congestion_controller/bbr/BUILD.gn
+++ b/modules/congestion_controller/bbr/BUILD.gn
@@ -18,7 +18,6 @@
     "../../../api/transport:network_control",
     "../../../api/units:time_delta",
     "../../../rtc_base:rtc_base_approved",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
diff --git a/modules/congestion_controller/bbr/bbr_factory.cc b/modules/congestion_controller/bbr/bbr_factory.cc
index 43fc86d..c201237 100644
--- a/modules/congestion_controller/bbr/bbr_factory.cc
+++ b/modules/congestion_controller/bbr/bbr_factory.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "modules/congestion_controller/bbr/bbr_network_controller.h"
 
 namespace webrtc {
@@ -21,7 +20,7 @@
 
 std::unique_ptr<NetworkControllerInterface> BbrNetworkControllerFactory::Create(
     NetworkControllerConfig config) {
-  return absl::make_unique<bbr::BbrNetworkController>(config);
+  return std::make_unique<bbr::BbrNetworkController>(config);
 }
 
 TimeDelta BbrNetworkControllerFactory::GetProcessInterval() const {
diff --git a/modules/congestion_controller/goog_cc/BUILD.gn b/modules/congestion_controller/goog_cc/BUILD.gn
index d932e64..c3f7d8c 100644
--- a/modules/congestion_controller/goog_cc/BUILD.gn
+++ b/modules/congestion_controller/goog_cc/BUILD.gn
@@ -50,7 +50,6 @@
     "../../../system_wrappers",
     "../../bitrate_controller",
     "../../remote_bitrate_estimator",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -98,7 +97,6 @@
     "../../../rtc_base/experiments:alr_experiment",
     "../../../rtc_base/experiments:field_trial_parser",
     "../../pacing:interval_budget",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -134,7 +132,6 @@
     "../../../rtc_base:safe_minmax",
     "../../../rtc_base/experiments:field_trial_parser",
     "../../remote_bitrate_estimator",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -160,7 +157,6 @@
     "../../../system_wrappers:metrics",
     "../../pacing",
     "../../remote_bitrate_estimator",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -187,7 +183,6 @@
     "../../../rtc_base/experiments:field_trial_parser",
     "../../../rtc_base/system:unused",
     "../../../system_wrappers:metrics",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -254,7 +249,6 @@
       "../../../test/scenario",
       "../../pacing",
       "//testing/gmock",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
diff --git a/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.cc b/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.cc
index dcfb3d7..f3c992f 100644
--- a/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.cc
+++ b/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.cc
@@ -13,9 +13,9 @@
 #include <stddef.h>
 
 #include <algorithm>
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/numerics/safe_conversions.h"
 
@@ -25,7 +25,7 @@
     const WebRtcKeyValueConfig* key_value_config)
     : AcknowledgedBitrateEstimator(
           key_value_config,
-          absl::make_unique<BitrateEstimator>(key_value_config)) {}
+          std::make_unique<BitrateEstimator>(key_value_config)) {}
 
 AcknowledgedBitrateEstimator::~AcknowledgedBitrateEstimator() {}
 
diff --git a/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator_unittest.cc b/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator_unittest.cc
index e16849d..83ead59 100644
--- a/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator_unittest.cc
+++ b/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator_unittest.cc
@@ -10,9 +10,9 @@
 
 #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/transport/field_trial_based_config.h"
 #include "rtc_base/fake_clock.h"
 #include "test/gmock.h"
@@ -50,10 +50,10 @@
 AcknowledgedBitrateEstimatorTestStates CreateTestStates() {
   AcknowledgedBitrateEstimatorTestStates states;
   auto mock_bitrate_estimator =
-      absl::make_unique<MockBitrateEstimator>(&states.field_trial_config);
+      std::make_unique<MockBitrateEstimator>(&states.field_trial_config);
   states.mock_bitrate_estimator = mock_bitrate_estimator.get();
   states.acknowledged_bitrate_estimator =
-      absl::make_unique<AcknowledgedBitrateEstimator>(
+      std::make_unique<AcknowledgedBitrateEstimator>(
           &states.field_trial_config, std::move(mock_bitrate_estimator));
   return states;
 }
diff --git a/modules/congestion_controller/goog_cc/alr_detector.cc b/modules/congestion_controller/goog_cc/alr_detector.cc
index ff50429..6a62954 100644
--- a/modules/congestion_controller/goog_cc/alr_detector.cc
+++ b/modules/congestion_controller/goog_cc/alr_detector.cc
@@ -12,8 +12,8 @@
 
 #include <cstdint>
 #include <cstdio>
+#include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/rtc_event_log/rtc_event.h"
 #include "api/rtc_event_log/rtc_event_log.h"
 #include "logging/rtc_event_log/events/rtc_event_alr_state.h"
@@ -93,7 +93,7 @@
   }
   if (event_log_ && state_changed) {
     event_log_->Log(
-        absl::make_unique<RtcEventAlrState>(alr_started_time_ms_.has_value()));
+        std::make_unique<RtcEventAlrState>(alr_started_time_ms_.has_value()));
   }
 }
 
diff --git a/modules/congestion_controller/goog_cc/delay_based_bwe.cc b/modules/congestion_controller/goog_cc/delay_based_bwe.cc
index 706e2db..2b62891 100644
--- a/modules/congestion_controller/goog_cc/delay_based_bwe.cc
+++ b/modules/congestion_controller/goog_cc/delay_based_bwe.cc
@@ -13,10 +13,10 @@
 #include <algorithm>
 #include <cstdint>
 #include <cstdio>
+#include <memory>
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/rtc_event_log/rtc_event.h"
 #include "api/rtc_event_log/rtc_event_log.h"
 #include "logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.h"
@@ -224,7 +224,7 @@
     BWE_TEST_LOGGING_PLOT(1, "target_bitrate_bps", at_time.ms(), bitrate.bps());
 
     if (event_log_) {
-      event_log_->Log(absl::make_unique<RtcEventBweUpdateDelayBased>(
+      event_log_->Log(std::make_unique<RtcEventBweUpdateDelayBased>(
           bitrate.bps(), detector_state));
     }
 
diff --git a/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc b/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc
index 3ad6db1..e8e2ffd 100644
--- a/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc
+++ b/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc
@@ -11,8 +11,8 @@
 
 #include <algorithm>
 #include <cstdint>
+#include <memory>
 
-#include "absl/memory/memory.h"
 #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
 #include "rtc_base/checks.h"
 
@@ -149,8 +149,7 @@
     : field_trial(),
       clock_(100000000),
       acknowledged_bitrate_estimator_(
-          absl::make_unique<AcknowledgedBitrateEstimator>(
-              &field_trial_config_)),
+          std::make_unique<AcknowledgedBitrateEstimator>(&field_trial_config_)),
       probe_bitrate_estimator_(new ProbeBitrateEstimator(nullptr)),
       bitrate_estimator_(
           new DelayBasedBwe(&field_trial_config_, nullptr, nullptr)),
@@ -161,11 +160,10 @@
 
 DelayBasedBweTest::DelayBasedBweTest(const std::string& field_trial_string)
     : field_trial(
-          absl::make_unique<test::ScopedFieldTrials>(field_trial_string)),
+          std::make_unique<test::ScopedFieldTrials>(field_trial_string)),
       clock_(100000000),
       acknowledged_bitrate_estimator_(
-          absl::make_unique<AcknowledgedBitrateEstimator>(
-              &field_trial_config_)),
+          std::make_unique<AcknowledgedBitrateEstimator>(&field_trial_config_)),
       probe_bitrate_estimator_(new ProbeBitrateEstimator(nullptr)),
       bitrate_estimator_(
           new DelayBasedBwe(&field_trial_config_, nullptr, nullptr)),
diff --git a/modules/congestion_controller/goog_cc/goog_cc_network_control.cc b/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
index 6fb340f..fea7fc3 100644
--- a/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
+++ b/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
@@ -21,7 +21,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/units/time_delta.h"
 #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
 #include "modules/congestion_controller/goog_cc/alr_detector.h"
@@ -80,13 +79,13 @@
           new ProbeController(key_value_config_, config.event_log)),
       congestion_window_pushback_controller_(
           rate_control_settings_.UseCongestionWindowPushback()
-              ? absl::make_unique<CongestionWindowPushbackController>(
+              ? std::make_unique<CongestionWindowPushbackController>(
                     key_value_config_)
               : nullptr),
       bandwidth_estimation_(
-          absl::make_unique<SendSideBandwidthEstimation>(event_log_)),
+          std::make_unique<SendSideBandwidthEstimation>(event_log_)),
       alr_detector_(
-          absl::make_unique<AlrDetector>(key_value_config_, config.event_log)),
+          std::make_unique<AlrDetector>(key_value_config_, config.event_log)),
       probe_bitrate_estimator_(new ProbeBitrateEstimator(config.event_log)),
       network_estimator_(std::move(goog_cc_config.network_state_estimator)),
       network_state_predictor_(
@@ -95,7 +94,7 @@
                                          event_log_,
                                          network_state_predictor_.get())),
       acknowledged_bitrate_estimator_(
-          absl::make_unique<AcknowledgedBitrateEstimator>(key_value_config_)),
+          std::make_unique<AcknowledgedBitrateEstimator>(key_value_config_)),
       initial_config_(config),
       last_raw_target_rate_(*config.constraints.starting_rate),
       last_pushback_target_rate_(last_raw_target_rate_),
diff --git a/modules/congestion_controller/goog_cc/probe_bitrate_estimator.cc b/modules/congestion_controller/goog_cc/probe_bitrate_estimator.cc
index 23aec87..7a15780 100644
--- a/modules/congestion_controller/goog_cc/probe_bitrate_estimator.cc
+++ b/modules/congestion_controller/goog_cc/probe_bitrate_estimator.cc
@@ -11,8 +11,8 @@
 #include "modules/congestion_controller/goog_cc/probe_bitrate_estimator.h"
 
 #include <algorithm>
+#include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/rtc_event_log/rtc_event_log.h"
 #include "logging/rtc_event_log/events/rtc_event_probe_result_failure.h"
 #include "logging/rtc_event_log/events/rtc_event_probe_result_success.h"
@@ -112,7 +112,7 @@
                      << " [receive interval: " << ToString(receive_interval)
                      << "]";
     if (event_log_) {
-      event_log_->Log(absl::make_unique<RtcEventProbeResultFailure>(
+      event_log_->Log(std::make_unique<RtcEventProbeResultFailure>(
           cluster_id, ProbeFailureReason::kInvalidSendReceiveInterval));
     }
     return absl::nullopt;
@@ -145,7 +145,7 @@
                      << ToString(send_rate) << " = " << ratio
                      << " > kMaxValidRatio (" << kMaxValidRatio << ")]";
     if (event_log_) {
-      event_log_->Log(absl::make_unique<RtcEventProbeResultFailure>(
+      event_log_->Log(std::make_unique<RtcEventProbeResultFailure>(
           cluster_id, ProbeFailureReason::kInvalidSendReceiveRatio));
     }
     return absl::nullopt;
@@ -169,7 +169,7 @@
   }
   if (event_log_) {
     event_log_->Log(
-        absl::make_unique<RtcEventProbeResultSuccess>(cluster_id, res.bps()));
+        std::make_unique<RtcEventProbeResultSuccess>(cluster_id, res.bps()));
   }
   last_estimate_ = res;
   estimated_data_rate_ = res;
diff --git a/modules/congestion_controller/goog_cc/probe_controller.cc b/modules/congestion_controller/goog_cc/probe_controller.cc
index 65150db..02b5833 100644
--- a/modules/congestion_controller/goog_cc/probe_controller.cc
+++ b/modules/congestion_controller/goog_cc/probe_controller.cc
@@ -12,9 +12,9 @@
 
 #include <algorithm>
 #include <initializer_list>
+#include <memory>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "api/units/data_rate.h"
 #include "api/units/time_delta.h"
 #include "api/units/timestamp.h"
@@ -82,7 +82,7 @@
 
   size_t min_bytes = static_cast<int32_t>(probe.target_data_rate.bps() *
                                           probe.target_duration.ms() / 8000);
-  event_log->Log(absl::make_unique<RtcEventProbeClusterCreated>(
+  event_log->Log(std::make_unique<RtcEventProbeClusterCreated>(
       probe.id, probe.target_data_rate.bps(), probe.target_probe_count,
       min_bytes));
 }
diff --git a/modules/congestion_controller/pcc/BUILD.gn b/modules/congestion_controller/pcc/BUILD.gn
index 2a30a22..6a2f764 100644
--- a/modules/congestion_controller/pcc/BUILD.gn
+++ b/modules/congestion_controller/pcc/BUILD.gn
@@ -18,7 +18,6 @@
     "../../../api/transport:network_control",
     "../../../api/units:time_delta",
     "../../../rtc_base:rtc_base_approved",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -38,7 +37,6 @@
     "../../../api/units:timestamp",
     "../../../rtc_base:checks",
     "../../../rtc_base:rtc_base_approved",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -96,7 +94,6 @@
     "../../../api/transport:network_control",
     "../../../api/units:data_rate",
     "../../../rtc_base:rtc_base_approved",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -126,7 +123,6 @@
       "../../../rtc_base:rtc_base_approved",
       "../../../test:test_support",
       "../../../test/scenario",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 }
diff --git a/modules/congestion_controller/pcc/bitrate_controller.cc b/modules/congestion_controller/pcc/bitrate_controller.cc
index 2d2269f..44f306d 100644
--- a/modules/congestion_controller/pcc/bitrate_controller.cc
+++ b/modules/congestion_controller/pcc/bitrate_controller.cc
@@ -13,10 +13,10 @@
 #include <algorithm>
 #include <cmath>
 #include <cstdlib>
+#include <memory>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 
 namespace webrtc {
 namespace pcc {
@@ -33,7 +33,7 @@
     : PccBitrateController(initial_conversion_factor,
                            initial_dynamic_boundary,
                            dynamic_boundary_increment,
-                           absl::make_unique<ModifiedVivaceUtilityFunction>(
+                           std::make_unique<ModifiedVivaceUtilityFunction>(
                                rtt_gradient_coefficient,
                                loss_coefficient,
                                throughput_coefficient,
diff --git a/modules/congestion_controller/pcc/bitrate_controller_unittest.cc b/modules/congestion_controller/pcc/bitrate_controller_unittest.cc
index 73d0f75..7188ea3 100644
--- a/modules/congestion_controller/pcc/bitrate_controller_unittest.cc
+++ b/modules/congestion_controller/pcc/bitrate_controller_unittest.cc
@@ -10,9 +10,9 @@
 
 #include "modules/congestion_controller/pcc/bitrate_controller.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/congestion_controller/pcc/monitor_interval.h"
 #include "test/gmock.h"
 #include "test/gtest.h"
@@ -109,7 +109,7 @@
 
 TEST(PccBitrateControllerTest, NoChangesWhenUtilityFunctionDoesntChange) {
   std::unique_ptr<MockUtilityFunction> mock_utility_function =
-      absl::make_unique<MockUtilityFunction>();
+      std::make_unique<MockUtilityFunction>();
   EXPECT_CALL(*mock_utility_function, Compute(::testing::_))
       .Times(2)
       .WillOnce(::testing::Return(100))
@@ -140,7 +140,7 @@
 
 TEST(PccBitrateControllerTest, NoBoundaryWhenSmallGradient) {
   std::unique_ptr<MockUtilityFunction> mock_utility_function =
-      absl::make_unique<MockUtilityFunction>();
+      std::make_unique<MockUtilityFunction>();
   constexpr double kFirstMonitorIntervalUtility = 0;
   const double kSecondMonitorIntervalUtility =
       2 * kTargetSendingRate.bps() * kEpsilon;
@@ -177,7 +177,7 @@
 
 TEST(PccBitrateControllerTest, FaceBoundaryWhenLargeGradient) {
   std::unique_ptr<MockUtilityFunction> mock_utility_function =
-      absl::make_unique<MockUtilityFunction>();
+      std::make_unique<MockUtilityFunction>();
   constexpr double kFirstMonitorIntervalUtility = 0;
   const double kSecondMonitorIntervalUtility =
       10 * kInitialDynamicBoundary * kTargetSendingRate.bps() * 2 *
@@ -219,7 +219,7 @@
 
 TEST(PccBitrateControllerTest, SlowStartMode) {
   std::unique_ptr<MockUtilityFunction> mock_utility_function =
-      absl::make_unique<MockUtilityFunction>();
+      std::make_unique<MockUtilityFunction>();
   constexpr double kFirstUtilityFunction = 1000;
   EXPECT_CALL(*mock_utility_function, Compute(::testing::_))
       .Times(4)
@@ -256,7 +256,7 @@
 
 TEST(PccBitrateControllerTest, StepSizeIncrease) {
   std::unique_ptr<MockUtilityFunction> mock_utility_function =
-      absl::make_unique<MockUtilityFunction>();
+      std::make_unique<MockUtilityFunction>();
   constexpr double kFirstMiUtilityFunction = 0;
   const double kSecondMiUtilityFunction =
       2 * kTargetSendingRate.bps() * kEpsilon;
diff --git a/modules/congestion_controller/pcc/pcc_factory.cc b/modules/congestion_controller/pcc/pcc_factory.cc
index fb92859..c35c6e8 100644
--- a/modules/congestion_controller/pcc/pcc_factory.cc
+++ b/modules/congestion_controller/pcc/pcc_factory.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "modules/congestion_controller/pcc/pcc_network_controller.h"
 
 namespace webrtc {
@@ -21,7 +20,7 @@
 
 std::unique_ptr<NetworkControllerInterface> PccNetworkControllerFactory::Create(
     NetworkControllerConfig config) {
-  return absl::make_unique<pcc::PccNetworkController>(config);
+  return std::make_unique<pcc::PccNetworkController>(config);
 }
 
 TimeDelta PccNetworkControllerFactory::GetProcessInterval() const {
diff --git a/modules/congestion_controller/rtp/BUILD.gn b/modules/congestion_controller/rtp/BUILD.gn
index 04c4234..4caef7e 100644
--- a/modules/congestion_controller/rtp/BUILD.gn
+++ b/modules/congestion_controller/rtp/BUILD.gn
@@ -33,7 +33,6 @@
     "../../../rtc_base/synchronization:sequence_checker",
     "../../../system_wrappers:field_trial",
     "../../pacing",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 
diff --git a/modules/desktop_capture/BUILD.gn b/modules/desktop_capture/BUILD.gn
index 19b2827..bf2da63 100644
--- a/modules/desktop_capture/BUILD.gn
+++ b/modules/desktop_capture/BUILD.gn
@@ -33,7 +33,6 @@
     "../../api:scoped_refptr",
     "../../rtc_base:checks",
     "../../rtc_base/system:rtc_export",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 
   if (!build_with_mozilla) {
@@ -50,7 +49,6 @@
       "../../api:function_view",
       "../../api:scoped_refptr",
       "../../rtc_base:checks",
-      "//third_party/abseil-cpp/absl/memory",
     ]
     if (rtc_desktop_capture_supported) {
       deps += [
@@ -105,7 +103,6 @@
       "../../rtc_base:rtc_base_approved",
       "../../system_wrappers:cpu_features_api",
       "../../test:test_support",
-      "//third_party/abseil-cpp/absl/memory",
     ]
     if (rtc_desktop_capture_supported) {
       sources += [
@@ -139,7 +136,6 @@
       "../../rtc_base:checks",
       "../../rtc_base:rtc_base_approved",
       "../../system_wrappers",
-      "//third_party/abseil-cpp/absl/memory",
     ]
 
     if (is_posix || is_fuchsia) {
@@ -247,7 +243,6 @@
       "../../rtc_base:rtc_base_approved",
       "../../rtc_base/synchronization:rw_lock_wrapper",
       "../../sdk:helpers_objc",
-      "//third_party/abseil-cpp/absl/memory",
     ]
     libs = [
       "AppKit.framework",
diff --git a/modules/desktop_capture/cropped_desktop_frame_unittest.cc b/modules/desktop_capture/cropped_desktop_frame_unittest.cc
index e50f1d7..c4ccb87 100644
--- a/modules/desktop_capture/cropped_desktop_frame_unittest.cc
+++ b/modules/desktop_capture/cropped_desktop_frame_unittest.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/desktop_capture/desktop_frame.h"
 #include "modules/desktop_capture/shared_desktop_frame.h"
 #include "test/gtest.h"
@@ -21,7 +20,7 @@
 namespace webrtc {
 
 std::unique_ptr<DesktopFrame> CreateTestFrame() {
-  return absl::make_unique<BasicDesktopFrame>(DesktopSize(10, 20));
+  return std::make_unique<BasicDesktopFrame>(DesktopSize(10, 20));
 }
 
 TEST(CroppedDesktopFrameTest, DoNotCreateWrapperIfSizeIsNotChanged) {
diff --git a/modules/desktop_capture/desktop_and_cursor_composer.cc b/modules/desktop_capture/desktop_and_cursor_composer.cc
index 369d2ac..b668490 100644
--- a/modules/desktop_capture/desktop_and_cursor_composer.cc
+++ b/modules/desktop_capture/desktop_and_cursor_composer.cc
@@ -13,9 +13,9 @@
 #include <stdint.h>
 #include <string.h>
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/desktop_capture/desktop_capturer.h"
 #include "modules/desktop_capture/desktop_frame.h"
 #include "modules/desktop_capture/mouse_cursor.h"
@@ -185,7 +185,7 @@
       relative_position.set(relative_position.x() * scale,
                             relative_position.y() * scale);
 #endif
-      frame = absl::make_unique<DesktopFrameWithCursor>(
+      frame = std::make_unique<DesktopFrameWithCursor>(
           std::move(frame), *cursor_, relative_position);
     }
   }
diff --git a/modules/desktop_capture/desktop_frame.cc b/modules/desktop_capture/desktop_frame.cc
index a69cbcc..fd10dd5 100644
--- a/modules/desktop_capture/desktop_frame.cc
+++ b/modules/desktop_capture/desktop_frame.cc
@@ -13,9 +13,9 @@
 #include <string.h>
 
 #include <cmath>
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/desktop_capture/desktop_capture_types.h"
 #include "modules/desktop_capture/desktop_geometry.h"
 #include "rtc_base/checks.h"
@@ -179,7 +179,7 @@
   if (!shared_memory)
     return nullptr;
 
-  return absl::make_unique<SharedMemoryDesktopFrame>(
+  return std::make_unique<SharedMemoryDesktopFrame>(
       size, size.width() * kBytesPerPixel, std::move(shared_memory));
 }
 
diff --git a/modules/desktop_capture/desktop_frame_unittest.cc b/modules/desktop_capture/desktop_frame_unittest.cc
index d3417f7..ce0cbb4 100644
--- a/modules/desktop_capture/desktop_frame_unittest.cc
+++ b/modules/desktop_capture/desktop_frame_unittest.cc
@@ -10,7 +10,8 @@
 
 #include "modules/desktop_capture/desktop_frame.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "modules/desktop_capture/desktop_region.h"
 #include "modules/desktop_capture/test_utils.h"
 #include "rtc_base/arraysize.h"
@@ -23,7 +24,7 @@
 std::unique_ptr<DesktopFrame> CreateTestFrame(DesktopRect rect,
                                               int pixels_value) {
   DesktopSize size = rect.size();
-  auto frame = absl::make_unique<BasicDesktopFrame>(size);
+  auto frame = std::make_unique<BasicDesktopFrame>(size);
   frame->set_top_left(rect.top_left());
   memset(frame->data(), pixels_value, frame->stride() * size.height());
   return frame;
diff --git a/modules/desktop_capture/linux/screen_capturer_pipewire.cc b/modules/desktop_capture/linux/screen_capturer_pipewire.cc
index 724d853..fe67214 100644
--- a/modules/desktop_capture/linux/screen_capturer_pipewire.cc
+++ b/modules/desktop_capture/linux/screen_capturer_pipewire.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 
 namespace webrtc {
 
@@ -24,7 +23,7 @@
 std::unique_ptr<DesktopCapturer>
 ScreenCapturerPipeWire::CreateRawScreenCapturer(
     const DesktopCaptureOptions& options) {
-  return absl::make_unique<ScreenCapturerPipeWire>();
+  return std::make_unique<ScreenCapturerPipeWire>();
 }
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/linux/screen_capturer_x11.cc b/modules/desktop_capture/linux/screen_capturer_x11.cc
index 128f81f..4bb49fb 100644
--- a/modules/desktop_capture/linux/screen_capturer_x11.cc
+++ b/modules/desktop_capture/linux/screen_capturer_x11.cc
@@ -20,7 +20,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/desktop_capture/desktop_capture_options.h"
 #include "modules/desktop_capture/desktop_capturer.h"
 #include "modules/desktop_capture/desktop_frame.h"
@@ -53,7 +52,7 @@
   TRACE_EVENT0("webrtc", "ScreenCapturerX11::Init");
   options_ = options;
 
-  atom_cache_ = absl::make_unique<XAtomCache>(display());
+  atom_cache_ = std::make_unique<XAtomCache>(display());
 
   root_window_ = RootWindow(display(), DefaultScreen(display()));
   if (root_window_ == BadValue) {
diff --git a/modules/desktop_capture/linux/window_capturer_pipewire.cc b/modules/desktop_capture/linux/window_capturer_pipewire.cc
index 1c195aa..b455915 100644
--- a/modules/desktop_capture/linux/window_capturer_pipewire.cc
+++ b/modules/desktop_capture/linux/window_capturer_pipewire.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 
 namespace webrtc {
 
@@ -24,7 +23,7 @@
 std::unique_ptr<DesktopCapturer>
 WindowCapturerPipeWire::CreateRawWindowCapturer(
     const DesktopCaptureOptions& options) {
-  return absl::make_unique<WindowCapturerPipeWire>();
+  return std::make_unique<WindowCapturerPipeWire>();
 }
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/linux/window_finder_x11.cc b/modules/desktop_capture/linux/window_finder_x11.cc
index 6f0517c..16fb325 100644
--- a/modules/desktop_capture/linux/window_finder_x11.cc
+++ b/modules/desktop_capture/linux/window_finder_x11.cc
@@ -14,7 +14,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "modules/desktop_capture/linux/window_list_utils.h"
 #include "rtc_base/checks.h"
 
@@ -47,7 +46,7 @@
     return nullptr;
   }
 
-  return absl::make_unique<WindowFinderX11>(options.cache);
+  return std::make_unique<WindowFinderX11>(options.cache);
 }
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/screen_drawer_linux.cc b/modules/desktop_capture/screen_drawer_linux.cc
index 47a50dc..afd29ce 100644
--- a/modules/desktop_capture/screen_drawer_linux.cc
+++ b/modules/desktop_capture/screen_drawer_linux.cc
@@ -14,7 +14,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/scoped_refptr.h"
 #include "modules/desktop_capture/desktop_capture_types.h"
 #include "modules/desktop_capture/desktop_geometry.h"
@@ -172,13 +171,13 @@
 
 // static
 std::unique_ptr<ScreenDrawerLock> ScreenDrawerLock::Create() {
-  return absl::make_unique<ScreenDrawerLockPosix>();
+  return std::make_unique<ScreenDrawerLockPosix>();
 }
 
 // static
 std::unique_ptr<ScreenDrawer> ScreenDrawer::Create() {
   if (SharedXDisplay::CreateDefault().get()) {
-    return absl::make_unique<ScreenDrawerLinux>();
+    return std::make_unique<ScreenDrawerLinux>();
   }
   return nullptr;
 }
diff --git a/modules/desktop_capture/screen_drawer_mac.cc b/modules/desktop_capture/screen_drawer_mac.cc
index 156a2e9..17719e4 100644
--- a/modules/desktop_capture/screen_drawer_mac.cc
+++ b/modules/desktop_capture/screen_drawer_mac.cc
@@ -10,7 +10,8 @@
 
 // TODO(zijiehe): Implement ScreenDrawerMac
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "modules/desktop_capture/screen_drawer.h"
 #include "modules/desktop_capture/screen_drawer_lock_posix.h"
 
@@ -18,7 +19,7 @@
 
 // static
 std::unique_ptr<ScreenDrawerLock> ScreenDrawerLock::Create() {
-  return absl::make_unique<ScreenDrawerLockPosix>();
+  return std::make_unique<ScreenDrawerLockPosix>();
 }
 
 // static
diff --git a/modules/desktop_capture/screen_drawer_unittest.cc b/modules/desktop_capture/screen_drawer_unittest.cc
index e51b0aa..42e3587 100644
--- a/modules/desktop_capture/screen_drawer_unittest.cc
+++ b/modules/desktop_capture/screen_drawer_unittest.cc
@@ -13,8 +13,8 @@
 #include <stdint.h>
 
 #include <atomic>
+#include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/function_view.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
@@ -154,7 +154,7 @@
   ScreenDrawerLockPosix::Unlink(semaphore_name);
 
   TestScreenDrawerLock([semaphore_name]() {
-    return absl::make_unique<ScreenDrawerLockPosix>(semaphore_name);
+    return std::make_unique<ScreenDrawerLockPosix>(semaphore_name);
   });
 #elif defined(WEBRTC_WIN)
   TestScreenDrawerLock([]() { return ScreenDrawerLock::Create(); });
diff --git a/modules/desktop_capture/win/screen_capturer_win_directx.cc b/modules/desktop_capture/win/screen_capturer_win_directx.cc
index ad62fb8..df3bee8 100644
--- a/modules/desktop_capture/win/screen_capturer_win_directx.cc
+++ b/modules/desktop_capture/win/screen_capturer_win_directx.cc
@@ -11,11 +11,11 @@
 #include "modules/desktop_capture/win/screen_capturer_win_directx.h"
 
 #include <algorithm>
+#include <memory>
 #include <string>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "modules/desktop_capture/desktop_frame.h"
 #include "modules/desktop_capture/win/screen_capture_utils.h"
 #include "rtc_base/checks.h"
@@ -124,7 +124,7 @@
   frames_.MoveToNextFrame();
   if (!frames_.current_frame()) {
     frames_.ReplaceCurrentFrame(
-        absl::make_unique<DxgiFrame>(shared_memory_factory_.get()));
+        std::make_unique<DxgiFrame>(shared_memory_factory_.get()));
   }
 
   DxgiDuplicatorController::Result result;
diff --git a/modules/desktop_capture/window_capturer_win.cc b/modules/desktop_capture/window_capturer_win.cc
index de3a7b3..7258e89 100644
--- a/modules/desktop_capture/window_capturer_win.cc
+++ b/modules/desktop_capture/window_capturer_win.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "modules/desktop_capture/cropped_desktop_frame.h"
 #include "modules/desktop_capture/desktop_capturer.h"
 #include "modules/desktop_capture/desktop_frame_win.h"
@@ -442,7 +441,7 @@
 
       if (!owned_windows_.empty()) {
         if (!owned_window_capturer_) {
-          owned_window_capturer_ = absl::make_unique<WindowCapturerWin>();
+          owned_window_capturer_ = std::make_unique<WindowCapturerWin>();
         }
 
         // Owned windows are stored in top-down z-order, so this iterates in
diff --git a/modules/desktop_capture/window_finder_mac.mm b/modules/desktop_capture/window_finder_mac.mm
index f75822a..64979c6 100644
--- a/modules/desktop_capture/window_finder_mac.mm
+++ b/modules/desktop_capture/window_finder_mac.mm
@@ -12,9 +12,9 @@
 
 #include <CoreFoundation/CoreFoundation.h>
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/desktop_capture/mac/desktop_configuration.h"
 #include "modules/desktop_capture/mac/desktop_configuration_monitor.h"
 #include "modules/desktop_capture/mac/window_list_utils.h"
@@ -45,7 +45,7 @@
 // static
 std::unique_ptr<WindowFinder> WindowFinder::Create(
     const WindowFinder::Options& options) {
-  return absl::make_unique<WindowFinderMac>(options.configuration_monitor);
+  return std::make_unique<WindowFinderMac>(options.configuration_monitor);
 }
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/window_finder_unittest.cc b/modules/desktop_capture/window_finder_unittest.cc
index 6fda6b7..df4d65c 100644
--- a/modules/desktop_capture/window_finder_unittest.cc
+++ b/modules/desktop_capture/window_finder_unittest.cc
@@ -21,7 +21,6 @@
 #include "test/gtest.h"
 
 #if defined(USE_X11)
-#include "absl/memory/memory.h"
 #include "modules/desktop_capture/linux/shared_x_display.h"
 #include "modules/desktop_capture/linux/x_atom_cache.h"
 #endif
@@ -97,7 +96,7 @@
   std::unique_ptr<XAtomCache> cache;
   const auto shared_x_display = SharedXDisplay::CreateDefault();
   if (shared_x_display) {
-    cache = absl::make_unique<XAtomCache>(shared_x_display->display());
+    cache = std::make_unique<XAtomCache>(shared_x_display->display());
     options.cache = cache.get();
   }
 #endif
@@ -153,7 +152,7 @@
   std::unique_ptr<XAtomCache> cache;
   const auto shared_x_display = SharedXDisplay::CreateDefault();
   if (shared_x_display) {
-    cache = absl::make_unique<XAtomCache>(shared_x_display->display());
+    cache = std::make_unique<XAtomCache>(shared_x_display->display());
     options.cache = cache.get();
   }
 #endif
diff --git a/modules/desktop_capture/window_finder_win.cc b/modules/desktop_capture/window_finder_win.cc
index 10ffe0d..a8c3d39 100644
--- a/modules/desktop_capture/window_finder_win.cc
+++ b/modules/desktop_capture/window_finder_win.cc
@@ -12,7 +12,7 @@
 
 #include <windows.h>
 
-#include "absl/memory/memory.h"
+#include <memory>
 
 namespace webrtc {
 
@@ -40,7 +40,7 @@
 // static
 std::unique_ptr<WindowFinder> WindowFinder::Create(
     const WindowFinder::Options& options) {
-  return absl::make_unique<WindowFinderWin>();
+  return std::make_unique<WindowFinderWin>();
 }
 
 }  // namespace webrtc
diff --git a/modules/pacing/BUILD.gn b/modules/pacing/BUILD.gn
index 258e511..edd5c70 100644
--- a/modules/pacing/BUILD.gn
+++ b/modules/pacing/BUILD.gn
@@ -96,7 +96,6 @@
       "../rtp_rtcp",
       "../rtp_rtcp:mock_rtp_rtcp",
       "../rtp_rtcp:rtp_rtcp_format",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
diff --git a/modules/pacing/paced_sender_unittest.cc b/modules/pacing/paced_sender_unittest.cc
index 581ff20..7eb5350 100644
--- a/modules/pacing/paced_sender_unittest.cc
+++ b/modules/pacing/paced_sender_unittest.cc
@@ -16,7 +16,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "modules/pacing/packet_router.h"
 #include "modules/utility/include/mock/mock_process_thread.h"
 #include "system_wrappers/include/clock.h"
@@ -53,7 +52,7 @@
 };
 
 std::unique_ptr<RtpPacketToSend> BuildRtpPacket(RtpPacketToSend::Type type) {
-  auto packet = absl::make_unique<RtpPacketToSend>(nullptr);
+  auto packet = std::make_unique<RtpPacketToSend>(nullptr);
   packet->set_packet_type(type);
   switch (type) {
     case RtpPacketToSend::Type::kAudio:
diff --git a/modules/pacing/pacing_controller.cc b/modules/pacing/pacing_controller.cc
index 3ee7410..1633de9 100644
--- a/modules/pacing/pacing_controller.cc
+++ b/modules/pacing/pacing_controller.cc
@@ -11,10 +11,10 @@
 #include "modules/pacing/pacing_controller.h"
 
 #include <algorithm>
+#include <memory>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "modules/pacing/bitrate_prober.h"
 #include "modules/pacing/interval_budget.h"
 #include "modules/utility/include/process_thread.h"
@@ -81,7 +81,7 @@
     : clock_(clock),
       packet_sender_(packet_sender),
       fallback_field_trials_(
-          !field_trials ? absl::make_unique<FieldTrialBasedConfig>() : nullptr),
+          !field_trials ? std::make_unique<FieldTrialBasedConfig>() : nullptr),
       field_trials_(field_trials ? field_trials : fallback_field_trials_.get()),
       drain_large_queues_(
           !IsDisabled(*field_trials_, "WebRTC-Pacer-DrainQueue")),
diff --git a/modules/pacing/pacing_controller_unittest.cc b/modules/pacing/pacing_controller_unittest.cc
index e07e8c85..bcd4384 100644
--- a/modules/pacing/pacing_controller_unittest.cc
+++ b/modules/pacing/pacing_controller_unittest.cc
@@ -17,7 +17,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/units/data_rate.h"
 #include "modules/pacing/packet_router.h"
 #include "system_wrappers/include/clock.h"
@@ -56,7 +55,7 @@
                                              uint16_t sequence_number,
                                              int64_t capture_time_ms,
                                              size_t size) {
-  auto packet = absl::make_unique<RtpPacketToSend>(nullptr);
+  auto packet = std::make_unique<RtpPacketToSend>(nullptr);
   packet->set_packet_type(type);
   packet->SetSsrc(ssrc);
   packet->SetSequenceNumber(sequence_number);
@@ -83,7 +82,7 @@
     std::vector<std::unique_ptr<RtpPacketToSend>> ret;
     size_t padding_size = SendPadding(target_size.bytes());
     if (padding_size > 0) {
-      auto packet = absl::make_unique<RtpPacketToSend>(nullptr);
+      auto packet = std::make_unique<RtpPacketToSend>(nullptr);
       packet->SetPayloadSize(padding_size);
       packet->set_packet_type(RtpPacketToSend::Type::kPadding);
       ret.emplace_back(std::move(packet));
@@ -126,7 +125,7 @@
         (target_size.bytes() + kPaddingPacketSize - 1) / kPaddingPacketSize;
     std::vector<std::unique_ptr<RtpPacketToSend>> packets;
     for (size_t i = 0; i < num_packets; ++i) {
-      packets.emplace_back(absl::make_unique<RtpPacketToSend>(nullptr));
+      packets.emplace_back(std::make_unique<RtpPacketToSend>(nullptr));
       packets.back()->SetPadding(kPaddingPacketSize);
       packets.back()->set_packet_type(RtpPacketToSend::Type::kPadding);
       padding_sent_ += kPaddingPacketSize;
@@ -154,7 +153,7 @@
   std::vector<std::unique_ptr<RtpPacketToSend>> GeneratePadding(
       DataSize target_size) override {
     std::vector<std::unique_ptr<RtpPacketToSend>> packets;
-    packets.emplace_back(absl::make_unique<RtpPacketToSend>(nullptr));
+    packets.emplace_back(std::make_unique<RtpPacketToSend>(nullptr));
     packets.back()->SetPadding(target_size.bytes());
     packets.back()->set_packet_type(RtpPacketToSend::Type::kPadding);
     padding_sent_ += target_size.bytes();
@@ -175,8 +174,8 @@
   PacingControllerTest() : clock_(123456) {
     srand(0);
     // Need to initialize PacingController after we initialize clock.
-    pacer_ = absl::make_unique<PacingController>(&clock_, &callback_, nullptr,
-                                                 nullptr);
+    pacer_ = std::make_unique<PacingController>(&clock_, &callback_, nullptr,
+                                                nullptr);
     Init();
   }
 
@@ -215,7 +214,7 @@
   }
 
   std::unique_ptr<RtpPacketToSend> BuildRtpPacket(RtpPacketToSend::Type type) {
-    auto packet = absl::make_unique<RtpPacketToSend>(nullptr);
+    auto packet = std::make_unique<RtpPacketToSend>(nullptr);
     packet->set_packet_type(type);
     switch (type) {
       case RtpPacketToSend::Type::kAudio:
@@ -614,7 +613,7 @@
   const int64_t kBitrateWindow = 10000;
   PacingControllerPadding callback;
   pacer_ =
-      absl::make_unique<PacingController>(&clock_, &callback, nullptr, nullptr);
+      std::make_unique<PacingController>(&clock_, &callback, nullptr, nullptr);
   pacer_->SetProbingEnabled(false);
   pacer_->SetPacingRates(kTargetRate * kPaceMultiplier, kTargetRate);
 
@@ -1066,8 +1065,8 @@
   uint16_t sequence_number = 1234;
 
   PacingControllerProbing packet_sender;
-  pacer_ = absl::make_unique<PacingController>(&clock_, &packet_sender, nullptr,
-                                               nullptr);
+  pacer_ = std::make_unique<PacingController>(&clock_, &packet_sender, nullptr,
+                                              nullptr);
   pacer_->CreateProbeCluster(kFirstClusterRate,
                              /*cluster_id=*/0);
   pacer_->CreateProbeCluster(kSecondClusterRate,
@@ -1113,8 +1112,8 @@
   uint16_t sequence_number = 1234;
 
   PacingControllerProbing packet_sender;
-  pacer_ = absl::make_unique<PacingController>(&clock_, &packet_sender, nullptr,
-                                               nullptr);
+  pacer_ = std::make_unique<PacingController>(&clock_, &packet_sender, nullptr,
+                                              nullptr);
   pacer_->CreateProbeCluster(kFirstClusterRate,
                              /*cluster_id=*/0);
   pacer_->SetPacingRates(DataRate::bps(kInitialBitrateBps * kPaceMultiplier),
@@ -1174,7 +1173,7 @@
   MockPacketSender callback;
 
   pacer_ =
-      absl::make_unique<PacingController>(&clock_, &callback, nullptr, nullptr);
+      std::make_unique<PacingController>(&clock_, &callback, nullptr, nullptr);
   Init();
 
   uint32_t ssrc = 12346;
@@ -1228,7 +1227,7 @@
 TEST_F(PacingControllerTest, OwnedPacketPrioritizedOnType) {
   MockPacketSender callback;
   pacer_ =
-      absl::make_unique<PacingController>(&clock_, &callback, nullptr, nullptr);
+      std::make_unique<PacingController>(&clock_, &callback, nullptr, nullptr);
   Init();
 
   // Insert a packet of each type, from low to high priority. Since priority
diff --git a/modules/pacing/packet_router_unittest.cc b/modules/pacing/packet_router_unittest.cc
index ec82a66..22de617 100644
--- a/modules/pacing/packet_router_unittest.cc
+++ b/modules/pacing/packet_router_unittest.cc
@@ -12,9 +12,9 @@
 
 #include <cstddef>
 #include <cstdint>
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/units/time_delta.h"
 #include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
 #include "modules/rtp_rtcp/mocks/mock_rtp_rtcp.h"
@@ -58,7 +58,7 @@
  protected:
   std::unique_ptr<RtpPacketToSend> BuildRtpPacket(uint32_t ssrc) {
     std::unique_ptr<RtpPacketToSend> packet =
-        absl::make_unique<RtpPacketToSend>(&extension_manager);
+        std::make_unique<RtpPacketToSend>(&extension_manager);
     packet->SetSsrc(ssrc);
     return packet;
   }
@@ -265,7 +265,7 @@
   // Send a packet without TransportSequenceNumber extension registered,
   // packets sent should not have the extension set.
   RtpHeaderExtensionMap extension_manager;
-  auto packet = absl::make_unique<RtpPacketToSend>(&extension_manager);
+  auto packet = std::make_unique<RtpPacketToSend>(&extension_manager);
   packet->SetSsrc(kSsrc1);
   EXPECT_CALL(
       rtp_1,
diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn
index 2f3c079..ddb8eb2 100644
--- a/modules/rtp_rtcp/BUILD.gn
+++ b/modules/rtp_rtcp/BUILD.gn
@@ -117,7 +117,6 @@
     "../../system_wrappers",
     "../video_coding:codec_globals_headers",
     "//third_party/abseil-cpp/absl/algorithm:container",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
     "//third_party/abseil-cpp/absl/types:variant",
@@ -260,7 +259,6 @@
     "../video_coding:codec_globals_headers",
     "//third_party/abseil-cpp/absl/algorithm:container",
     "//third_party/abseil-cpp/absl/container:inlined_vector",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
     "//third_party/abseil-cpp/absl/types:variant",
diff --git a/modules/rtp_rtcp/source/nack_rtx_unittest.cc b/modules/rtp_rtcp/source/nack_rtx_unittest.cc
index bd13280..d9717a6 100644
--- a/modules/rtp_rtcp/source/nack_rtx_unittest.cc
+++ b/modules/rtp_rtcp/source/nack_rtx_unittest.cc
@@ -14,7 +14,6 @@
 #include <set>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "api/call/transport.h"
 #include "api/transport/field_trial_based_config.h"
 #include "call/rtp_stream_receiver_controller.h"
@@ -137,7 +136,7 @@
     configuration.retransmission_rate_limiter = &retransmission_rate_limiter_;
     configuration.local_media_ssrc = kTestSsrc;
     rtp_rtcp_module_ = RtpRtcp::Create(configuration);
-    rtp_sender_video_ = absl::make_unique<RTPSenderVideo>(
+    rtp_sender_video_ = std::make_unique<RTPSenderVideo>(
         &fake_clock, rtp_rtcp_module_->RtpSender(), nullptr,
         &playout_delay_oracle_, nullptr, false, false, false,
         FieldTrialBasedConfig());
diff --git a/modules/rtp_rtcp/source/receive_statistics_impl.cc b/modules/rtp_rtcp/source/receive_statistics_impl.cc
index 4720776..0c47e08 100644
--- a/modules/rtp_rtcp/source/receive_statistics_impl.cc
+++ b/modules/rtp_rtcp/source/receive_statistics_impl.cc
@@ -15,7 +15,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
 #include "modules/rtp_rtcp/source/rtp_rtcp_config.h"
@@ -296,7 +295,7 @@
 }
 
 std::unique_ptr<ReceiveStatistics> ReceiveStatistics::Create(Clock* clock) {
-  return absl::make_unique<ReceiveStatisticsImpl>(clock);
+  return std::make_unique<ReceiveStatisticsImpl>(clock);
 }
 
 ReceiveStatisticsImpl::ReceiveStatisticsImpl(Clock* clock)
diff --git a/modules/rtp_rtcp/source/rtcp_receiver.cc b/modules/rtp_rtcp/source/rtcp_receiver.cc
index 71005da..f06fd1c 100644
--- a/modules/rtp_rtcp/source/rtcp_receiver.cc
+++ b/modules/rtp_rtcp/source/rtcp_receiver.cc
@@ -18,7 +18,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/video/video_bitrate_allocation.h"
 #include "api/video/video_bitrate_allocator.h"
 #include "modules/rtp_rtcp/source/rtcp_packet/bye.h"
@@ -911,7 +910,7 @@
   }
 
   {
-    auto loss_notification = absl::make_unique<rtcp::LossNotification>();
+    auto loss_notification = std::make_unique<rtcp::LossNotification>();
     if (loss_notification->Parse(rtcp_block)) {
       packet_information->packet_type_flags |= kRtcpLossNotification;
       packet_information->loss_notification = std::move(loss_notification);
diff --git a/modules/rtp_rtcp/source/rtcp_sender.cc b/modules/rtp_rtcp/source/rtcp_sender.cc
index 4c1a241..ba46ece 100644
--- a/modules/rtp_rtcp/source/rtcp_sender.cc
+++ b/modules/rtp_rtcp/source/rtcp_sender.cc
@@ -13,9 +13,9 @@
 #include <string.h>  // memcpy
 
 #include <algorithm>  // std::min
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/rtc_event_log/rtc_event_log.h"
 #include "logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.h"
 #include "modules/rtp_rtcp/source/rtcp_packet/app.h"
@@ -82,8 +82,7 @@
       if (transport_->SendRtcp(packet.data(), packet.size())) {
         bytes_sent += packet.size();
         if (event_log_) {
-          event_log_->Log(
-              absl::make_unique<RtcEventRtcpPacketOutgoing>(packet));
+          event_log_->Log(std::make_unique<RtcEventRtcpPacketOutgoing>(packet));
         }
       }
     });
@@ -606,7 +605,7 @@
 
 std::unique_ptr<rtcp::RtcpPacket> RTCPSender::BuildLossNotification(
     const RtcpContext& ctx) {
-  auto loss_notification = absl::make_unique<rtcp::LossNotification>(
+  auto loss_notification = std::make_unique<rtcp::LossNotification>(
       loss_notification_state_.last_decoded_seq_num,
       loss_notification_state_.last_received_seq_num,
       loss_notification_state_.decodability_flag);
@@ -989,7 +988,7 @@
   auto callback = [&](rtc::ArrayView<const uint8_t> packet) {
     if (transport_->SendRtcp(packet.data(), packet.size())) {
       if (event_log_)
-        event_log_->Log(absl::make_unique<RtcEventRtcpPacketOutgoing>(packet));
+        event_log_->Log(std::make_unique<RtcEventRtcpPacketOutgoing>(packet));
     } else {
       send_failure = true;
     }
diff --git a/modules/rtp_rtcp/source/rtcp_transceiver.cc b/modules/rtp_rtcp/source/rtcp_transceiver.cc
index 91ef4cd..4538301 100644
--- a/modules/rtp_rtcp/source/rtcp_transceiver.cc
+++ b/modules/rtp_rtcp/source/rtcp_transceiver.cc
@@ -10,9 +10,9 @@
 
 #include "modules/rtp_rtcp/source/rtcp_transceiver.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/event.h"
@@ -23,7 +23,7 @@
 
 RtcpTransceiver::RtcpTransceiver(const RtcpTransceiverConfig& config)
     : task_queue_(config.task_queue),
-      rtcp_transceiver_(absl::make_unique<RtcpTransceiverImpl>(config)) {
+      rtcp_transceiver_(std::make_unique<RtcpTransceiverImpl>(config)) {
   RTC_DCHECK(task_queue_);
 }
 
diff --git a/modules/rtp_rtcp/source/rtcp_transceiver_unittest.cc b/modules/rtp_rtcp/source/rtcp_transceiver_unittest.cc
index 12bf49c..8be17ca 100644
--- a/modules/rtp_rtcp/source/rtcp_transceiver_unittest.cc
+++ b/modules/rtp_rtcp/source/rtcp_transceiver_unittest.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "modules/rtp_rtcp/source/rtcp_packet/sender_report.h"
 #include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
 #include "rtc_base/event.h"
@@ -79,7 +78,7 @@
 
   std::unique_ptr<RtcpTransceiver> rtcp_transceiver;
   queue.PostTask([&] {
-    rtcp_transceiver = absl::make_unique<RtcpTransceiver>(config);
+    rtcp_transceiver = std::make_unique<RtcpTransceiver>(config);
     rtcp_transceiver->SendCompoundPacket();
   });
   WaitPostedTasks(&queue);
@@ -91,7 +90,7 @@
   RtcpTransceiverConfig config;
   config.outgoing_transport = &outgoing_transport;
   config.task_queue = &queue;
-  auto rtcp_transceiver = absl::make_unique<RtcpTransceiver>(config);
+  auto rtcp_transceiver = std::make_unique<RtcpTransceiver>(config);
 
   queue.PostTask([&] {
     // Insert a packet just before destruction to test for races.
@@ -162,7 +161,7 @@
   RtcpTransceiver rtcp_transceiver(config);
   rtc::Event observer_deleted;
 
-  auto observer = absl::make_unique<MockMediaReceiverRtcpObserver>();
+  auto observer = std::make_unique<MockMediaReceiverRtcpObserver>();
   EXPECT_CALL(*observer, OnSenderReport(kRemoteSsrc, _, 1));
   EXPECT_CALL(*observer, OnSenderReport(kRemoteSsrc, _, 2)).Times(0);
 
@@ -187,7 +186,7 @@
   config.outgoing_transport = &null_transport;
   config.task_queue = &queue;
   RtcpTransceiver rtcp_transceiver(config);
-  auto observer = absl::make_unique<MockMediaReceiverRtcpObserver>();
+  auto observer = std::make_unique<MockMediaReceiverRtcpObserver>();
   rtcp_transceiver.AddMediaReceiverRtcpObserver(kRemoteSsrc, observer.get());
 
   rtc::Event queue_blocker;
@@ -241,7 +240,7 @@
   config.task_queue = &queue;
   config.schedule_periodic_compound_packets = true;
 
-  auto rtcp_transceiver = absl::make_unique<RtcpTransceiver>(config);
+  auto rtcp_transceiver = std::make_unique<RtcpTransceiver>(config);
   rtc::Event done;
   rtcp_transceiver->SendCompoundPacket();
   rtcp_transceiver->Stop([&] {
diff --git a/modules/rtp_rtcp/source/rtp_dependency_descriptor_reader.cc b/modules/rtp_rtcp/source/rtp_dependency_descriptor_reader.cc
index 1ed0e20..8f0dced 100644
--- a/modules/rtp_rtcp/source/rtp_dependency_descriptor_reader.cc
+++ b/modules/rtp_rtcp/source/rtp_dependency_descriptor_reader.cc
@@ -13,7 +13,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/bit_buffer.h"
 #include "rtc_base/checks.h"
 
@@ -65,7 +64,7 @@
 
 void RtpDependencyDescriptorReader::ReadTemplateDependencyStructure() {
   descriptor_->attached_structure =
-      absl::make_unique<FrameDependencyStructure>();
+      std::make_unique<FrameDependencyStructure>();
   descriptor_->attached_structure->structure_id = ReadBits(6);
   descriptor_->attached_structure->num_decode_targets = ReadBits(5) + 1;
 
diff --git a/modules/rtp_rtcp/source/rtp_format.cc b/modules/rtp_rtcp/source/rtp_format.cc
index e870232..df9cb02 100644
--- a/modules/rtp_rtcp/source/rtp_format.cc
+++ b/modules/rtp_rtcp/source/rtp_format.cc
@@ -10,7 +10,8 @@
 
 #include "modules/rtp_rtcp/source/rtp_format.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "absl/types/variant.h"
 #include "modules/rtp_rtcp/source/rtp_format_h264.h"
 #include "modules/rtp_rtcp/source/rtp_format_video_generic.h"
@@ -33,7 +34,7 @@
     const RTPFragmentationHeader* fragmentation) {
   if (!type) {
     // Use raw packetizer.
-    return absl::make_unique<RtpPacketizerGeneric>(payload, limits);
+    return std::make_unique<RtpPacketizerGeneric>(payload, limits);
   }
 
   switch (*type) {
@@ -41,21 +42,21 @@
       RTC_CHECK(fragmentation);
       const auto& h264 =
           absl::get<RTPVideoHeaderH264>(rtp_video_header.video_type_header);
-      return absl::make_unique<RtpPacketizerH264>(
+      return std::make_unique<RtpPacketizerH264>(
           payload, limits, h264.packetization_mode, *fragmentation);
     }
     case kVideoCodecVP8: {
       const auto& vp8 =
           absl::get<RTPVideoHeaderVP8>(rtp_video_header.video_type_header);
-      return absl::make_unique<RtpPacketizerVp8>(payload, limits, vp8);
+      return std::make_unique<RtpPacketizerVp8>(payload, limits, vp8);
     }
     case kVideoCodecVP9: {
       const auto& vp9 =
           absl::get<RTPVideoHeaderVP9>(rtp_video_header.video_type_header);
-      return absl::make_unique<RtpPacketizerVp9>(payload, limits, vp9);
+      return std::make_unique<RtpPacketizerVp9>(payload, limits, vp9);
     }
     default: {
-      return absl::make_unique<RtpPacketizerGeneric>(
+      return std::make_unique<RtpPacketizerGeneric>(
           payload, limits, rtp_video_header, frame_type);
     }
   }
diff --git a/modules/rtp_rtcp/source/rtp_packet_history.cc b/modules/rtp_rtcp/source/rtp_packet_history.cc
index e23e0bf..fd8e5dd 100644
--- a/modules/rtp_rtcp/source/rtp_packet_history.cc
+++ b/modules/rtp_rtcp/source/rtp_packet_history.cc
@@ -12,9 +12,9 @@
 
 #include <algorithm>
 #include <limits>
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/rtp_rtcp/source/rtp_packet_to_send.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
@@ -190,14 +190,14 @@
   packet->pending_transmission_ = false;
 
   // Return copy of packet instance since it may need to be retransmitted.
-  return absl::make_unique<RtpPacketToSend>(*packet->packet_);
+  return std::make_unique<RtpPacketToSend>(*packet->packet_);
 }
 
 std::unique_ptr<RtpPacketToSend> RtpPacketHistory::GetPacketAndMarkAsPending(
     uint16_t sequence_number) {
   return GetPacketAndMarkAsPending(
       sequence_number, [](const RtpPacketToSend& packet) {
-        return absl::make_unique<RtpPacketToSend>(packet);
+        return std::make_unique<RtpPacketToSend>(packet);
       });
 }
 
@@ -298,7 +298,7 @@
 std::unique_ptr<RtpPacketToSend> RtpPacketHistory::GetPayloadPaddingPacket() {
   // Default implementation always just returns a copy of the packet.
   return GetPayloadPaddingPacket([](const RtpPacketToSend& packet) {
-    return absl::make_unique<RtpPacketToSend>(packet);
+    return std::make_unique<RtpPacketToSend>(packet);
   });
 }
 
diff --git a/modules/rtp_rtcp/source/rtp_packet_history_unittest.cc b/modules/rtp_rtcp/source/rtp_packet_history_unittest.cc
index c26c2cc..9e9d621 100644
--- a/modules/rtp_rtcp/source/rtp_packet_history_unittest.cc
+++ b/modules/rtp_rtcp/source/rtp_packet_history_unittest.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "modules/rtp_rtcp/source/rtp_packet_to_send.h"
 #include "system_wrappers/include/clock.h"
@@ -600,7 +599,7 @@
       hist_.GetPacketAndMarkAsPending(
           kStartSeqNum, [](const RtpPacketToSend& packet) {
             auto encapsulated_packet =
-                absl::make_unique<RtpPacketToSend>(packet);
+                std::make_unique<RtpPacketToSend>(packet);
             encapsulated_packet->SetSsrc(packet.Ssrc() + 1);
             return encapsulated_packet;
           });
@@ -728,7 +727,7 @@
   // Get copy of packet, but with sequence number modified.
   auto padding_packet =
       hist_.GetPayloadPaddingPacket([&](const RtpPacketToSend& packet) {
-        auto encapsulated_packet = absl::make_unique<RtpPacketToSend>(packet);
+        auto encapsulated_packet = std::make_unique<RtpPacketToSend>(packet);
         encapsulated_packet->SetSequenceNumber(kStartSeqNum + 1);
         return encapsulated_packet;
       });
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
index eaba788..cb826f6 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
@@ -14,11 +14,11 @@
 
 #include <algorithm>
 #include <cstdint>
+#include <memory>
 #include <set>
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/transport/field_trial_based_config.h"
 #include "modules/rtp_rtcp/source/rtcp_packet/dlrr.h"
 #include "modules/rtp_rtcp/source/rtp_rtcp_config.h"
@@ -43,7 +43,7 @@
 
 std::unique_ptr<RtpRtcp> RtpRtcp::Create(const Configuration& configuration) {
   RTC_DCHECK(configuration.clock);
-  return absl::make_unique<ModuleRtpRtcpImpl>(configuration);
+  return std::make_unique<ModuleRtpRtcpImpl>(configuration);
 }
 
 ModuleRtpRtcpImpl::ModuleRtpRtcpImpl(const Configuration& configuration)
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl_unittest.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl_unittest.cc
index 97dbe01..3a9775e 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl_unittest.cc
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl_unittest.cc
@@ -14,7 +14,6 @@
 #include <memory>
 #include <set>
 
-#include "absl/memory/memory.h"
 #include "api/transport/field_trial_based_config.h"
 #include "api/video_codecs/video_codec.h"
 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
@@ -179,7 +178,7 @@
     sender_.impl_->SetSequenceNumber(kSequenceNumber);
     sender_.impl_->SetStorePacketsStatus(true, 100);
 
-    sender_video_ = absl::make_unique<RTPSenderVideo>(
+    sender_video_ = std::make_unique<RTPSenderVideo>(
         &clock_, sender_.impl_->RtpSender(), nullptr, &playout_delay_oracle_,
         nullptr, false, false, false, FieldTrialBasedConfig());
 
diff --git a/modules/rtp_rtcp/source/rtp_sender.cc b/modules/rtp_rtcp/source/rtp_sender.cc
index 135564d..b95041a 100644
--- a/modules/rtp_rtcp/source/rtp_sender.cc
+++ b/modules/rtp_rtcp/source/rtp_sender.cc
@@ -12,10 +12,10 @@
 
 #include <algorithm>
 #include <limits>
+#include <memory>
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "api/array_view.h"
 #include "api/rtc_event_log/rtc_event_log.h"
@@ -329,7 +329,7 @@
               retransmit_packet = BuildRtxPacket(stored_packet);
             } else {
               retransmit_packet =
-                  absl::make_unique<RtpPacketToSend>(stored_packet);
+                  std::make_unique<RtpPacketToSend>(stored_packet);
             }
             if (retransmit_packet) {
               retransmit_packet->set_retransmitted_sequence_number(
@@ -367,7 +367,7 @@
                      ? static_cast<int>(packet.size())
                      : -1;
     if (event_log_ && bytes_sent > 0) {
-      event_log_->Log(absl::make_unique<RtcEventRtpPacketOutgoing>(
+      event_log_->Log(std::make_unique<RtcEventRtpPacketOutgoing>(
           packet, pacing_info.probe_cluster_id));
     }
   }
@@ -492,7 +492,7 @@
   // Put packet in retransmission history or update pending status even if
   // actual sending fails.
   if (is_media && packet->allow_retransmission()) {
-    packet_history_.PutRtpPacket(absl::make_unique<RtpPacketToSend>(*packet),
+    packet_history_.PutRtpPacket(std::make_unique<RtpPacketToSend>(*packet),
                                  now_ms);
   } else if (packet->retransmitted_sequence_number()) {
     packet_history_.MarkPacketAsSent(*packet->retransmitted_sequence_number());
@@ -599,7 +599,7 @@
 
   while (bytes_left > 0) {
     auto padding_packet =
-        absl::make_unique<RtpPacketToSend>(&rtp_header_extension_map_);
+        std::make_unique<RtpPacketToSend>(&rtp_header_extension_map_);
     padding_packet->set_packet_type(RtpPacketToSend::Type::kPadding);
     padding_packet->SetMarker(false);
     padding_packet->SetTimestamp(last_rtp_timestamp_);
@@ -825,7 +825,7 @@
   // While sending slightly oversized packet increase chance of dropped packet,
   // it is better than crash on drop packet without trying to send it.
   static constexpr int kExtraCapacity = 16;
-  auto packet = absl::make_unique<RtpPacketToSend>(
+  auto packet = std::make_unique<RtpPacketToSend>(
       &rtp_header_extension_map_, max_packet_size_ + kExtraCapacity);
   RTC_DCHECK(ssrc_);
   packet->SetSsrc(*ssrc_);
@@ -1037,8 +1037,8 @@
     if (kv == rtx_payload_type_map_.end())
       return nullptr;
 
-    rtx_packet = absl::make_unique<RtpPacketToSend>(&rtp_header_extension_map_,
-                                                    max_packet_size_);
+    rtx_packet = std::make_unique<RtpPacketToSend>(&rtp_header_extension_map_,
+                                                   max_packet_size_);
 
     rtx_packet->SetPayloadType(kv->second);
 
diff --git a/modules/rtp_rtcp/source/rtp_sender_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_unittest.cc
index eb594c1e..0d5c941 100644
--- a/modules/rtp_rtcp/source/rtp_sender_unittest.cc
+++ b/modules/rtp_rtcp/source/rtp_sender_unittest.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/rtc_event_log/rtc_event.h"
 #include "api/transport/field_trial_based_config.h"
 #include "api/video/video_codec_constants.h"
@@ -262,8 +261,8 @@
     packet->set_allow_retransmission(true);
 
     // Packet should be stored in a send bucket.
-    EXPECT_TRUE(rtp_sender_->SendToNetwork(
-        absl::make_unique<RtpPacketToSend>(*packet)));
+    EXPECT_TRUE(
+        rtp_sender_->SendToNetwork(std::make_unique<RtpPacketToSend>(*packet)));
     return packet;
   }
 
@@ -406,7 +405,7 @@
   config.local_media_ssrc = kSsrc;
   config.event_log = &mock_rtc_event_log_;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
-  rtp_sender_ = absl::make_unique<RTPSender>(config);
+  rtp_sender_ = std::make_unique<RTPSender>(config);
 
   rtp_sender_->SetTimestampOffset(0);
 
@@ -456,7 +455,7 @@
   config.event_log = &mock_rtc_event_log_;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
   config.overhead_observer = &mock_overhead_observer;
-  rtp_sender_ = absl::make_unique<RTPSender>(config);
+  rtp_sender_ = std::make_unique<RTPSender>(config);
 
   EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
                    kRtpExtensionTransportSequenceNumber,
@@ -492,7 +491,7 @@
   config.event_log = &mock_rtc_event_log_;
   config.send_packet_observer = &send_packet_observer_;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
-  rtp_sender_ = absl::make_unique<RTPSender>(config);
+  rtp_sender_ = std::make_unique<RTPSender>(config);
 
   EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
                    kRtpExtensionTransportSequenceNumber,
@@ -531,7 +530,7 @@
   config.event_log = &mock_rtc_event_log_;
   config.send_packet_observer = &send_packet_observer_;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
-  rtp_sender_ = absl::make_unique<RTPSender>(config);
+  rtp_sender_ = std::make_unique<RTPSender>(config);
 
   SendGenericPacket();
 
@@ -584,7 +583,7 @@
   config.local_media_ssrc = kSsrc;
   config.send_side_delay_observer = &send_side_delay_observer_;
   config.event_log = &mock_rtc_event_log_;
-  rtp_sender_ = absl::make_unique<RTPSender>(config);
+  rtp_sender_ = std::make_unique<RTPSender>(config);
 
   PlayoutDelayOracle playout_delay_oracle;
   RTPSenderVideo rtp_sender_video(&fake_clock_, rtp_sender_.get(), nullptr,
@@ -674,7 +673,7 @@
   config.event_log = &mock_rtc_event_log_;
   config.send_packet_observer = &send_packet_observer_;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
-  rtp_sender_ = absl::make_unique<RTPSender>(config);
+  rtp_sender_ = std::make_unique<RTPSender>(config);
 
   rtp_sender_->SetSequenceNumber(kSeqNum);
   rtp_sender_->SetStorePacketsStatus(true, 10);
@@ -735,7 +734,7 @@
   EXPECT_CALL(mock_paced_sender_,
               EnqueuePacket(Pointee(Property(&RtpPacketToSend::Ssrc, kSsrc))));
   EXPECT_TRUE(
-      rtp_sender_->SendToNetwork(absl::make_unique<RtpPacketToSend>(*packet)));
+      rtp_sender_->SendToNetwork(std::make_unique<RtpPacketToSend>(*packet)));
   fake_clock_.AdvanceTimeMilliseconds(kStoredTimeInMs);
   rtp_sender_->TrySendPacket(packet.get(), PacedPacketInfo());
   EXPECT_EQ(1, transport_.packets_sent());
@@ -771,8 +770,8 @@
     EXPECT_CALL(
         mock_paced_sender_,
         EnqueuePacket(Pointee(Property(&RtpPacketToSend::Ssrc, kSsrc))));
-    EXPECT_TRUE(rtp_sender_->SendToNetwork(
-        absl::make_unique<RtpPacketToSend>(*packet)));
+    EXPECT_TRUE(
+        rtp_sender_->SendToNetwork(std::make_unique<RtpPacketToSend>(*packet)));
     fake_clock_.AdvanceTimeMilliseconds(kStoredTimeInMs);
     rtp_sender_->TrySendPacket(packet.get(), PacedPacketInfo());
 
@@ -835,8 +834,8 @@
             Pointee(Property(&RtpPacketToSend::SequenceNumber, kSeqNum)))));
     packet->set_packet_type(RtpPacketToSend::Type::kVideo);
     packet->set_allow_retransmission(true);
-    EXPECT_TRUE(rtp_sender_->SendToNetwork(
-        absl::make_unique<RtpPacketToSend>(*packet)));
+    EXPECT_TRUE(
+        rtp_sender_->SendToNetwork(std::make_unique<RtpPacketToSend>(*packet)));
     EXPECT_EQ(0, transport_.packets_sent());
     fake_clock_.AdvanceTimeMilliseconds(kStoredTimeInMs);
     rtp_sender_->TrySendPacket(packet.get(), PacedPacketInfo());
@@ -879,8 +878,8 @@
             Pointee(Property(&RtpPacketToSend::SequenceNumber, kSeqNum)))));
     packet->set_packet_type(RtpPacketToSend::Type::kVideo);
     packet->set_allow_retransmission(true);
-    EXPECT_TRUE(rtp_sender_->SendToNetwork(
-        absl::make_unique<RtpPacketToSend>(*packet)));
+    EXPECT_TRUE(
+        rtp_sender_->SendToNetwork(std::make_unique<RtpPacketToSend>(*packet)));
     // Immediately process send bucket and send packet.
     rtp_sender_->TrySendPacket(packet.get(), PacedPacketInfo());
 
@@ -958,8 +957,8 @@
             Pointee(Property(&RtpPacketToSend::SequenceNumber, kSeqNum)))));
     packet->set_packet_type(RtpPacketToSend::Type::kVideo);
     packet->set_allow_retransmission(true);
-    EXPECT_TRUE(rtp_sender_->SendToNetwork(
-        absl::make_unique<RtpPacketToSend>(*packet)));
+    EXPECT_TRUE(
+        rtp_sender_->SendToNetwork(std::make_unique<RtpPacketToSend>(*packet)));
     EXPECT_EQ(total_packets_sent, transport_.packets_sent());
     fake_clock_.AdvanceTimeMilliseconds(kStoredTimeInMs);
     rtp_sender_->TrySendPacket(packet.get(), PacedPacketInfo());
@@ -1012,8 +1011,8 @@
         EnqueuePacket(AllOf(
             Pointee(Property(&RtpPacketToSend::Ssrc, kSsrc)),
             Pointee(Property(&RtpPacketToSend::SequenceNumber, seq_num)))));
-    EXPECT_TRUE(rtp_sender_->SendToNetwork(
-        absl::make_unique<RtpPacketToSend>(*packet)));
+    EXPECT_TRUE(
+        rtp_sender_->SendToNetwork(std::make_unique<RtpPacketToSend>(*packet)));
     rtp_sender_->TrySendPacket(packet.get(), PacedPacketInfo());
 
   // Process send bucket.
@@ -1160,7 +1159,7 @@
   config.event_log = &mock_rtc_event_log_;
   config.send_packet_observer = &send_packet_observer_;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
-  rtp_sender_ = absl::make_unique<RTPSender>(config);
+  rtp_sender_ = std::make_unique<RTPSender>(config);
 
   rtp_sender_->SetSequenceNumber(kSeqNum);
   rtp_sender_->SetStorePacketsStatus(true, 10);
@@ -1246,7 +1245,7 @@
   config.send_packet_observer = &send_packet_observer_;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
   config.local_media_ssrc = kSsrc;
-  rtp_sender_ = absl::make_unique<RTPSender>(config);
+  rtp_sender_ = std::make_unique<RTPSender>(config);
   rtp_sender_->SetSequenceNumber(kSeqNum);
   rtp_sender_->SetStorePacketsStatus(true, 10);
 
@@ -1370,7 +1369,7 @@
   config.event_log = &mock_rtc_event_log_;
   config.send_packet_observer = &send_packet_observer_;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
-  rtp_sender_ = absl::make_unique<RTPSender>(config);
+  rtp_sender_ = std::make_unique<RTPSender>(config);
 
   rtp_sender_->SetSequenceNumber(kSeqNum);
 
@@ -1638,7 +1637,7 @@
   config.event_log = &mock_rtc_event_log_;
   config.send_packet_observer = &send_packet_observer_;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
-  rtp_sender_ = absl::make_unique<RTPSender>(config);
+  rtp_sender_ = std::make_unique<RTPSender>(config);
 
   rtp_sender_->SetSequenceNumber(kSeqNum);
 
@@ -1713,7 +1712,7 @@
   config.local_media_ssrc = kSsrc;
   config.send_bitrate_observer = &callback;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
-  rtp_sender_ = absl::make_unique<RTPSender>(config);
+  rtp_sender_ = std::make_unique<RTPSender>(config);
 
   PlayoutDelayOracle playout_delay_oracle;
   RTPSenderVideo rtp_sender_video(&fake_clock_, rtp_sender_.get(), nullptr,
@@ -1952,7 +1951,7 @@
   config.local_media_ssrc = kSsrc;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
   config.overhead_observer = &mock_overhead_observer;
-  rtp_sender_ = absl::make_unique<RTPSender>(config);
+  rtp_sender_ = std::make_unique<RTPSender>(config);
 
   // RTP overhead is 12B.
   EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(12)).Times(1);
@@ -1975,7 +1974,7 @@
   config.local_media_ssrc = kSsrc;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
   config.overhead_observer = &mock_overhead_observer;
-  rtp_sender_ = absl::make_unique<RTPSender>(config);
+  rtp_sender_ = std::make_unique<RTPSender>(config);
 
   EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(_)).Times(1);
   SendGenericPacket();
@@ -2201,7 +2200,7 @@
   config.send_side_delay_observer = &send_side_delay_observer;
   config.event_log = &mock_rtc_event_log_;
   config.send_packet_observer = &send_packet_observer_;
-  rtp_sender_ = absl::make_unique<RTPSender>(config);
+  rtp_sender_ = std::make_unique<RTPSender>(config);
   ASSERT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
                    kRtpExtensionTransportSequenceNumber,
                    kTransportSequenceNumberExtensionId));
diff --git a/modules/rtp_rtcp/source/rtp_sender_video.cc b/modules/rtp_rtcp/source/rtp_sender_video.cc
index cd475cd..a0fd668 100644
--- a/modules/rtp_rtcp/source/rtp_sender_video.cc
+++ b/modules/rtp_rtcp/source/rtp_sender_video.cc
@@ -18,7 +18,6 @@
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "api/crypto/frame_encryptor_interface.h"
 #include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
@@ -216,7 +215,7 @@
       transmit_color_space_next_frame_(false),
       playout_delay_oracle_(playout_delay_oracle),
       rtp_sequence_number_map_(need_rtp_packet_infos
-                                   ? absl::make_unique<RtpSequenceNumberMap>(
+                                   ? std::make_unique<RtpSequenceNumberMap>(
                                          kRtpSequenceNumberMapMaxEntries)
                                    : nullptr),
       red_payload_type_(-1),
@@ -552,9 +551,9 @@
   single_packet->SetTimestamp(rtp_timestamp);
   single_packet->set_capture_time_ms(capture_time_ms);
 
-  auto first_packet = absl::make_unique<RtpPacketToSend>(*single_packet);
-  auto middle_packet = absl::make_unique<RtpPacketToSend>(*single_packet);
-  auto last_packet = absl::make_unique<RtpPacketToSend>(*single_packet);
+  auto first_packet = std::make_unique<RtpPacketToSend>(*single_packet);
+  auto middle_packet = std::make_unique<RtpPacketToSend>(*single_packet);
+  auto last_packet = std::make_unique<RtpPacketToSend>(*single_packet);
   // Simplest way to estimate how much extensions would occupy is to set them.
   AddRtpHeaderExtensions(*video_header, playout_delay, frame_type,
                          set_video_rotation, set_color_space, set_frame_marking,
@@ -706,7 +705,7 @@
       expected_payload_capacity =
           limits.max_payload_len - limits.last_packet_reduction_len;
     } else {
-      packet = absl::make_unique<RtpPacketToSend>(*middle_packet);
+      packet = std::make_unique<RtpPacketToSend>(*middle_packet);
       expected_payload_capacity = limits.max_payload_len;
     }
 
diff --git a/modules/rtp_rtcp/source/ulpfec_receiver_impl.cc b/modules/rtp_rtcp/source/ulpfec_receiver_impl.cc
index 1974923..80e0302 100644
--- a/modules/rtp_rtcp/source/ulpfec_receiver_impl.cc
+++ b/modules/rtp_rtcp/source/ulpfec_receiver_impl.cc
@@ -15,7 +15,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/scoped_refptr.h"
 #include "modules/rtp_rtcp/source/byte_io.h"
 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
@@ -28,7 +27,7 @@
     uint32_t ssrc,
     RecoveredPacketReceiver* callback,
     rtc::ArrayView<const RtpExtension> extensions) {
-  return absl::make_unique<UlpfecReceiverImpl>(ssrc, callback, extensions);
+  return std::make_unique<UlpfecReceiverImpl>(ssrc, callback, extensions);
 }
 
 UlpfecReceiverImpl::UlpfecReceiverImpl(
diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn
index a385695..ae7e32a 100644
--- a/modules/video_coding/BUILD.gn
+++ b/modules/video_coding/BUILD.gn
@@ -337,7 +337,6 @@
     "../../rtc_base/system:rtc_export",
     "../../system_wrappers:field_trial",
     "../../system_wrappers:metrics",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
     "//third_party/libyuv",
@@ -423,7 +422,6 @@
     "../../rtc_base/experiments:rate_control_settings",
     "../../system_wrappers:field_trial",
     "../../system_wrappers:metrics",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
     "//third_party/libyuv",
   ]
@@ -457,7 +455,6 @@
     "../../rtc_base:rtc_numerics",
     "../../system_wrappers:field_trial",
     "../../system_wrappers:metrics",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -593,7 +590,6 @@
       "../../rtc_base:checks",
       "../../rtc_base:rtc_base_approved",
       "../../test:test_support",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -636,7 +632,6 @@
       "../../test:video_test_common",
       "../../test:video_test_support",
       "../rtp_rtcp:rtp_rtcp_format",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
       "//third_party/libyuv",
     ]
@@ -712,7 +707,6 @@
       "../../test:test_support",
       "../../test:video_test_common",
       "../../test:video_test_support",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
   }
@@ -787,7 +781,6 @@
       "../../test:test_support",
       "../../test:video_test_common",
       "../rtp_rtcp:rtp_rtcp_format",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
       "//third_party/libyuv",
     ]
diff --git a/modules/video_coding/codecs/h264/h264.cc b/modules/video_coding/codecs/h264/h264.cc
index 3c46b43..147e964 100644
--- a/modules/video_coding/codecs/h264/h264.cc
+++ b/modules/video_coding/codecs/h264/h264.cc
@@ -11,9 +11,9 @@
 
 #include "modules/video_coding/codecs/h264/include/h264.h"
 
+#include <memory>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/video_codecs/sdp_video_format.h"
 #include "media/base/h264_profile_level_id.h"
@@ -91,7 +91,7 @@
 #if defined(WEBRTC_USE_H264)
   RTC_CHECK(g_rtc_use_h264);
   RTC_LOG(LS_INFO) << "Creating H264EncoderImpl.";
-  return absl::make_unique<H264EncoderImpl>(codec);
+  return std::make_unique<H264EncoderImpl>(codec);
 #else
   RTC_NOTREACHED();
   return nullptr;
@@ -107,7 +107,7 @@
 #if defined(WEBRTC_USE_H264)
   RTC_CHECK(g_rtc_use_h264);
   RTC_LOG(LS_INFO) << "Creating H264DecoderImpl.";
-  return absl::make_unique<H264DecoderImpl>();
+  return std::make_unique<H264DecoderImpl>();
 #else
   RTC_NOTREACHED();
   return nullptr;
diff --git a/modules/video_coding/codecs/h264/h264_decoder_impl.cc b/modules/video_coding/codecs/h264/h264_decoder_impl.cc
index 6205429..bfbdf75 100644
--- a/modules/video_coding/codecs/h264/h264_decoder_impl.cc
+++ b/modules/video_coding/codecs/h264/h264_decoder_impl.cc
@@ -18,6 +18,7 @@
 
 #include <algorithm>
 #include <limits>
+#include <memory>
 
 extern "C" {
 #include "third_party/ffmpeg/libavcodec/avcodec.h"
@@ -25,7 +26,6 @@
 #include "third_party/ffmpeg/libavutil/imgutils.h"
 }  // extern "C"
 
-#include "absl/memory/memory.h"
 #include "api/video/color_space.h"
 #include "api/video/i010_buffer.h"
 #include "api/video/i420_buffer.h"
@@ -130,13 +130,13 @@
   // Refactor to do not use a VideoFrame object at all.
   av_frame->buf[0] = av_buffer_create(
       av_frame->data[kYPlaneIndex], total_size, AVFreeBuffer2,
-      static_cast<void*>(absl::make_unique<VideoFrame>(
-                             VideoFrame::Builder()
-                                 .set_video_frame_buffer(frame_buffer)
-                                 .set_rotation(kVideoRotation_0)
-                                 .set_timestamp_us(0)
-                                 .build())
-                             .release()),
+      static_cast<void*>(
+          std::make_unique<VideoFrame>(VideoFrame::Builder()
+                                           .set_video_frame_buffer(frame_buffer)
+                                           .set_rotation(kVideoRotation_0)
+                                           .set_timestamp_us(0)
+                                           .build())
+              .release()),
       0);
   RTC_CHECK(av_frame->buf[0]);
   return 0;
diff --git a/modules/video_coding/codecs/h264/h264_simulcast_unittest.cc b/modules/video_coding/codecs/h264/h264_simulcast_unittest.cc
index c7f3661..12b5da1 100644
--- a/modules/video_coding/codecs/h264/h264_simulcast_unittest.cc
+++ b/modules/video_coding/codecs/h264/h264_simulcast_unittest.cc
@@ -10,7 +10,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/test/create_simulcast_test_fixture.h"
 #include "api/test/simulcast_test_fixture.h"
 #include "api/test/video/function_video_decoder_factory.h"
@@ -24,10 +23,10 @@
 namespace {
 std::unique_ptr<SimulcastTestFixture> CreateSpecificSimulcastTestFixture() {
   std::unique_ptr<VideoEncoderFactory> encoder_factory =
-      absl::make_unique<FunctionVideoEncoderFactory>(
+      std::make_unique<FunctionVideoEncoderFactory>(
           []() { return H264Encoder::Create(cricket::VideoCodec("H264")); });
   std::unique_ptr<VideoDecoderFactory> decoder_factory =
-      absl::make_unique<FunctionVideoDecoderFactory>(
+      std::make_unique<FunctionVideoDecoderFactory>(
           []() { return H264Decoder::Create(); });
   return CreateSimulcastTestFixture(std::move(encoder_factory),
                                     std::move(decoder_factory),
diff --git a/modules/video_coding/codecs/multiplex/test/multiplex_adapter_unittest.cc b/modules/video_coding/codecs/multiplex/test/multiplex_adapter_unittest.cc
index 554da92..53ae285 100644
--- a/modules/video_coding/codecs/multiplex/test/multiplex_adapter_unittest.cc
+++ b/modules/video_coding/codecs/multiplex/test/multiplex_adapter_unittest.cc
@@ -15,7 +15,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/scoped_refptr.h"
 #include "api/test/mock_video_decoder_factory.h"
@@ -65,13 +64,13 @@
 
  protected:
   std::unique_ptr<VideoDecoder> CreateDecoder() override {
-    return absl::make_unique<MultiplexDecoderAdapter>(
+    return std::make_unique<MultiplexDecoderAdapter>(
         decoder_factory_.get(), SdpVideoFormat(kMultiplexAssociatedCodecName),
         supports_augmenting_data_);
   }
 
   std::unique_ptr<VideoEncoder> CreateEncoder() override {
-    return absl::make_unique<MultiplexEncoderAdapter>(
+    return std::make_unique<MultiplexEncoderAdapter>(
         encoder_factory_.get(), SdpVideoFormat(kMultiplexAssociatedCodecName),
         supports_augmenting_data_);
   }
@@ -95,7 +94,7 @@
     rtc::scoped_refptr<AugmentedVideoFrameBuffer> augmented_video_frame_buffer =
         new rtc::RefCountedObject<AugmentedVideoFrameBuffer>(
             video_buffer, std::move(data), 16);
-    return absl::make_unique<VideoFrame>(
+    return std::make_unique<VideoFrame>(
         VideoFrame::Builder()
             .set_video_frame_buffer(augmented_video_frame_buffer)
             .set_timestamp_rtp(video_frame->timestamp())
@@ -114,13 +113,12 @@
         yuv_buffer->StrideY(), yuv_buffer->DataU(), yuv_buffer->StrideU(),
         yuv_buffer->DataV(), yuv_buffer->StrideV(), yuv_buffer->DataY(),
         yuv_buffer->StrideY(), rtc::KeepRefUntilDone(yuv_buffer));
-    return absl::make_unique<VideoFrame>(
-        VideoFrame::Builder()
-            .set_video_frame_buffer(yuva_buffer)
-            .set_timestamp_rtp(123)
-            .set_timestamp_ms(345)
-            .set_rotation(kVideoRotation_0)
-            .build());
+    return std::make_unique<VideoFrame>(VideoFrame::Builder()
+                                            .set_video_frame_buffer(yuva_buffer)
+                                            .set_timestamp_rtp(123)
+                                            .set_timestamp_ms(345)
+                                            .set_rotation(kVideoRotation_0)
+                                            .build());
   }
 
   std::unique_ptr<VideoFrame> CreateInputFrame(bool contains_alpha) {
@@ -129,7 +127,7 @@
       video_frame = CreateI420AInputFrame();
     } else {
       VideoFrame* next_frame = NextInputFrame();
-      video_frame = absl::make_unique<VideoFrame>(
+      video_frame = std::make_unique<VideoFrame>(
           VideoFrame::Builder()
               .set_video_frame_buffer(next_frame->video_frame_buffer())
               .set_timestamp_rtp(next_frame->timestamp())
@@ -172,12 +170,12 @@
         yuva_buffer->StrideA(), yuva_buffer->DataU(), yuva_buffer->StrideU(),
         yuva_buffer->DataV(), yuva_buffer->StrideV(),
         rtc::KeepRefUntilDone(video_frame_buffer));
-    return absl::make_unique<VideoFrame>(VideoFrame::Builder()
-                                             .set_video_frame_buffer(axx_buffer)
-                                             .set_timestamp_rtp(123)
-                                             .set_timestamp_ms(345)
-                                             .set_rotation(kVideoRotation_0)
-                                             .build());
+    return std::make_unique<VideoFrame>(VideoFrame::Builder()
+                                            .set_video_frame_buffer(axx_buffer)
+                                            .set_timestamp_rtp(123)
+                                            .set_timestamp_ms(345)
+                                            .set_rotation(kVideoRotation_0)
+                                            .build());
   }
 
  private:
diff --git a/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc b/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc
index 071075d..63a6b6d 100644
--- a/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc
+++ b/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc
@@ -20,7 +20,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/array_view.h"
 #include "api/video/video_bitrate_allocation.h"
@@ -379,8 +378,8 @@
 };
 
 VideoCodecTestFixtureImpl::VideoCodecTestFixtureImpl(Config config)
-    : encoder_factory_(absl::make_unique<InternalEncoderFactory>()),
-      decoder_factory_(absl::make_unique<InternalDecoderFactory>()),
+    : encoder_factory_(std::make_unique<InternalEncoderFactory>()),
+      decoder_factory_(std::make_unique<InternalDecoderFactory>()),
       config_(config) {}
 
 VideoCodecTestFixtureImpl::VideoCodecTestFixtureImpl(
@@ -689,7 +688,7 @@
 
   task_queue->SendTask([this]() {
     CreateEncoderAndDecoder();
-    processor_ = absl::make_unique<VideoProcessor>(
+    processor_ = std::make_unique<VideoProcessor>(
         encoder_.get(), &decoders_, source_frame_reader_.get(), config_,
         &stats_, &encoded_frame_writers_,
         decoded_frame_writers_.empty() ? nullptr : &decoded_frame_writers_);
diff --git a/modules/video_coding/codecs/test/videocodec_test_libvpx.cc b/modules/video_coding/codecs/test/videocodec_test_libvpx.cc
index cb78f21..244dbc4 100644
--- a/modules/video_coding/codecs/test/videocodec_test_libvpx.cc
+++ b/modules/video_coding/codecs/test/videocodec_test_libvpx.cc
@@ -8,9 +8,9 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/test/create_videocodec_test_fixture.h"
 #include "api/test/video/function_video_encoder_factory.h"
 #include "api/video_codecs/sdp_video_format.h"
@@ -94,7 +94,7 @@
   config.SetCodecSettings(cricket::kVp9CodecName, 1, 1, 1, false, true, false,
                           kCifWidth, kCifHeight);
   config.num_frames = kNumFramesShort;
-  const auto frame_checker = absl::make_unique<QpFrameChecker>();
+  const auto frame_checker = std::make_unique<QpFrameChecker>();
   config.encoded_frame_checker = frame_checker.get();
   auto fixture = CreateVideoCodecTestFixture(config);
 
@@ -112,7 +112,7 @@
   auto config = CreateConfig();
   config.SetCodecSettings(cricket::kVp9CodecName, 1, 1, 1, false, true, false,
                           kCifWidth, kCifHeight);
-  const auto frame_checker = absl::make_unique<QpFrameChecker>();
+  const auto frame_checker = std::make_unique<QpFrameChecker>();
   config.encoded_frame_checker = frame_checker.get();
   auto fixture = CreateVideoCodecTestFixture(config);
 
@@ -136,7 +136,7 @@
   auto config = CreateConfig();
   config.SetCodecSettings(cricket::kVp9CodecName, 1, 1, 1, false, true, false,
                           kCifWidth, kCifHeight);
-  const auto frame_checker = absl::make_unique<QpFrameChecker>();
+  const auto frame_checker = std::make_unique<QpFrameChecker>();
   config.encoded_frame_checker = frame_checker.get();
   auto fixture = CreateVideoCodecTestFixture(config);
 
@@ -163,7 +163,7 @@
   config.SetCodecSettings(cricket::kVp9CodecName, 1, 1, 1, true, true, false,
                           kCifWidth, kCifHeight);
   config.num_frames = kNumFramesShort;
-  const auto frame_checker = absl::make_unique<QpFrameChecker>();
+  const auto frame_checker = std::make_unique<QpFrameChecker>();
   config.encoded_frame_checker = frame_checker.get();
   auto fixture = CreateVideoCodecTestFixture(config);
 
@@ -181,7 +181,7 @@
   auto config = CreateConfig();
   config.SetCodecSettings(cricket::kVp9CodecName, 1, 1, 1, false, true, true,
                           kCifWidth, kCifHeight);
-  const auto frame_checker = absl::make_unique<QpFrameChecker>();
+  const auto frame_checker = std::make_unique<QpFrameChecker>();
   config.encoded_frame_checker = frame_checker.get();
   auto fixture = CreateVideoCodecTestFixture(config);
 
@@ -205,7 +205,7 @@
   config.SetCodecSettings(cricket::kVp8CodecName, 1, 1, 1, true, true, false,
                           kCifWidth, kCifHeight);
   config.num_frames = kNumFramesShort;
-  const auto frame_checker = absl::make_unique<QpFrameChecker>();
+  const auto frame_checker = std::make_unique<QpFrameChecker>();
   config.encoded_frame_checker = frame_checker.get();
   auto fixture = CreateVideoCodecTestFixture(config);
 
@@ -241,7 +241,7 @@
   auto config = CreateConfig();
   config.SetCodecSettings(cricket::kVp8CodecName, 1, 1, 1, true, true, false,
                           kCifWidth, kCifHeight);
-  const auto frame_checker = absl::make_unique<QpFrameChecker>();
+  const auto frame_checker = std::make_unique<QpFrameChecker>();
   config.encoded_frame_checker = frame_checker.get();
   auto fixture = CreateVideoCodecTestFixture(config);
 
@@ -275,7 +275,7 @@
   auto config = CreateConfig();
   config.SetCodecSettings(cricket::kVp8CodecName, 1, 1, 1, true, true, false,
                           kCifWidth, kCifHeight);
-  const auto frame_checker = absl::make_unique<QpFrameChecker>();
+  const auto frame_checker = std::make_unique<QpFrameChecker>();
   config.encoded_frame_checker = frame_checker.get();
   auto fixture = CreateVideoCodecTestFixture(config);
 
@@ -315,7 +315,7 @@
   auto config = CreateConfig();
   config.SetCodecSettings(cricket::kVp8CodecName, 1, 1, 3, true, true, false,
                           kCifWidth, kCifHeight);
-  const auto frame_checker = absl::make_unique<QpFrameChecker>();
+  const auto frame_checker = std::make_unique<QpFrameChecker>();
   config.encoded_frame_checker = frame_checker.get();
   auto fixture = CreateVideoCodecTestFixture(config);
 
@@ -351,7 +351,7 @@
   config.num_frames = 100;
   config.SetCodecSettings(cricket::kVp8CodecName, 3, 1, 3, true, true, false,
                           1280, 720);
-  const auto frame_checker = absl::make_unique<QpFrameChecker>();
+  const auto frame_checker = std::make_unique<QpFrameChecker>();
   config.encoded_frame_checker = frame_checker.get();
   auto fixture = CreateVideoCodecTestFixture(config);
 
@@ -380,13 +380,13 @@
   config.num_frames = 100;
   config.SetCodecSettings(cricket::kVp8CodecName, 3, 1, 3, true, true, false,
                           1280, 720);
-  const auto frame_checker = absl::make_unique<QpFrameChecker>();
+  const auto frame_checker = std::make_unique<QpFrameChecker>();
   config.encoded_frame_checker = frame_checker.get();
 
   InternalEncoderFactory internal_encoder_factory;
   std::unique_ptr<VideoEncoderFactory> adapted_encoder_factory =
-      absl::make_unique<FunctionVideoEncoderFactory>([&]() {
-        return absl::make_unique<SimulcastEncoderAdapter>(
+      std::make_unique<FunctionVideoEncoderFactory>([&]() {
+        return std::make_unique<SimulcastEncoderAdapter>(
             &internal_encoder_factory, SdpVideoFormat(cricket::kVp8CodecName));
       });
   std::unique_ptr<InternalDecoderFactory> internal_decoder_factory(
@@ -417,7 +417,7 @@
   config.num_frames = 100;
   config.SetCodecSettings(cricket::kVp9CodecName, 1, 3, 3, true, true, false,
                           1280, 720);
-  const auto frame_checker = absl::make_unique<QpFrameChecker>();
+  const auto frame_checker = std::make_unique<QpFrameChecker>();
   config.encoded_frame_checker = frame_checker.get();
   auto fixture = CreateVideoCodecTestFixture(config);
 
@@ -438,7 +438,7 @@
   config.print_frame_level_stats = true;
   config.SetCodecSettings(cricket::kVp8CodecName, 3, 1, 3, true, true, false,
                           1280, 720);
-  const auto frame_checker = absl::make_unique<QpFrameChecker>();
+  const auto frame_checker = std::make_unique<QpFrameChecker>();
   config.encoded_frame_checker = frame_checker.get();
   auto fixture = CreateVideoCodecTestFixture(config);
 
@@ -464,7 +464,7 @@
   config.print_frame_level_stats = true;
   config.SetCodecSettings(cricket::kVp9CodecName, 1, 3, 3, true, true, false,
                           1280, 720);
-  const auto frame_checker = absl::make_unique<QpFrameChecker>();
+  const auto frame_checker = std::make_unique<QpFrameChecker>();
   config.encoded_frame_checker = frame_checker.get();
   auto fixture = CreateVideoCodecTestFixture(config);
 
diff --git a/modules/video_coding/codecs/test/videocodec_test_mediacodec.cc b/modules/video_coding/codecs/test/videocodec_test_mediacodec.cc
index df6afa0..9f88716 100644
--- a/modules/video_coding/codecs/test/videocodec_test_mediacodec.cc
+++ b/modules/video_coding/codecs/test/videocodec_test_mediacodec.cc
@@ -8,11 +8,11 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include <memory>
 #include <string>
 #include <tuple>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/test/create_videocodec_test_fixture.h"
 #include "media/base/media_constants.h"
 #include "modules/video_coding/codecs/test/android_codec_factory_helper.h"
@@ -69,7 +69,7 @@
 TEST(VideoCodecTestMediaCodec, ForemanCif500kbpsH264CBP) {
   auto config = CreateConfig();
   const auto frame_checker =
-      absl::make_unique<VideoCodecTestFixtureImpl::H264KeyframeChecker>();
+      std::make_unique<VideoCodecTestFixtureImpl::H264KeyframeChecker>();
   config.encoded_frame_checker = frame_checker.get();
   config.SetCodecSettings(cricket::kH264CodecName, 1, 1, 1, false, false, false,
                           352, 288);
@@ -93,7 +93,7 @@
 TEST(VideoCodecTestMediaCodec, DISABLED_ForemanCif500kbpsH264CHP) {
   auto config = CreateConfig();
   const auto frame_checker =
-      absl::make_unique<VideoCodecTestFixtureImpl::H264KeyframeChecker>();
+      std::make_unique<VideoCodecTestFixtureImpl::H264KeyframeChecker>();
 
   config.h264_codec_settings.profile = H264::kProfileConstrainedHigh;
   config.encoded_frame_checker = frame_checker.get();
diff --git a/modules/video_coding/codecs/test/videocodec_test_openh264.cc b/modules/video_coding/codecs/test/videocodec_test_openh264.cc
index 59d214c..6513074 100644
--- a/modules/video_coding/codecs/test/videocodec_test_openh264.cc
+++ b/modules/video_coding/codecs/test/videocodec_test_openh264.cc
@@ -8,9 +8,9 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/test/create_videocodec_test_fixture.h"
 #include "media/base/media_constants.h"
 #include "modules/video_coding/codecs/test/videocodec_test_fixture_impl.h"
@@ -39,7 +39,7 @@
 
 TEST(VideoCodecTestOpenH264, ConstantHighBitrate) {
   auto frame_checker =
-      absl::make_unique<VideoCodecTestFixtureImpl::H264KeyframeChecker>();
+      std::make_unique<VideoCodecTestFixtureImpl::H264KeyframeChecker>();
   auto config = CreateConfig();
   config.SetCodecSettings(cricket::kH264CodecName, 1, 1, 1, false, true, false,
                           kCifWidth, kCifHeight);
@@ -60,7 +60,7 @@
 // large frames into multiple slices and limit length of NAL units.
 TEST(VideoCodecTestOpenH264, SingleNalUnit) {
   auto frame_checker =
-      absl::make_unique<VideoCodecTestFixtureImpl::H264KeyframeChecker>();
+      std::make_unique<VideoCodecTestFixtureImpl::H264KeyframeChecker>();
   auto config = CreateConfig();
   config.h264_codec_settings.packetization_mode =
       H264PacketizationMode::SingleNalUnit;
diff --git a/modules/video_coding/codecs/test/videocodec_test_videotoolbox.cc b/modules/video_coding/codecs/test/videocodec_test_videotoolbox.cc
index 10bcf65..0f02080 100644
--- a/modules/video_coding/codecs/test/videocodec_test_videotoolbox.cc
+++ b/modules/video_coding/codecs/test/videocodec_test_videotoolbox.cc
@@ -8,9 +8,9 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/test/create_videocodec_test_fixture.h"
 #include "media/base/media_constants.h"
 #include "modules/video_coding/codecs/test/objc_codec_factory_helper.h"
@@ -53,7 +53,7 @@
 // longer in use.
 MAYBE_TEST(VideoCodecTestVideoToolbox, ForemanCif500kbpsH264CBP) {
   const auto frame_checker =
-      absl::make_unique<VideoCodecTestFixtureImpl::H264KeyframeChecker>();
+      std::make_unique<VideoCodecTestFixtureImpl::H264KeyframeChecker>();
   auto config = CreateConfig();
   config.SetCodecSettings(cricket::kH264CodecName, 1, 1, 1, false, false, false,
                           352, 288);
@@ -69,7 +69,7 @@
 
 MAYBE_TEST(VideoCodecTestVideoToolbox, ForemanCif500kbpsH264CHP) {
   const auto frame_checker =
-      absl::make_unique<VideoCodecTestFixtureImpl::H264KeyframeChecker>();
+      std::make_unique<VideoCodecTestFixtureImpl::H264KeyframeChecker>();
   auto config = CreateConfig();
   config.h264_codec_settings.profile = H264::kProfileConstrainedHigh;
   config.SetCodecSettings(cricket::kH264CodecName, 1, 1, 1, false, false, false,
diff --git a/modules/video_coding/codecs/test/videoprocessor.cc b/modules/video_coding/codecs/test/videoprocessor.cc
index 7952510..8fbbe4a 100644
--- a/modules/video_coding/codecs/test/videoprocessor.cc
+++ b/modules/video_coding/codecs/test/videoprocessor.cc
@@ -15,9 +15,9 @@
 #include <algorithm>
 #include <cstddef>
 #include <limits>
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/scoped_refptr.h"
 #include "api/video/builtin_video_bitrate_allocator_factory.h"
 #include "api/video/i420_buffer.h"
@@ -220,7 +220,7 @@
 
   for (size_t i = 0; i < num_simulcast_or_spatial_layers_; ++i) {
     decode_callback_.push_back(
-        absl::make_unique<VideoProcessorDecodeCompleteCallback>(this, i));
+        std::make_unique<VideoProcessorDecodeCompleteCallback>(this, i));
     RTC_CHECK_EQ(
         decoders_->at(i)->InitDecode(&config_.codec_settings,
                                      static_cast<int>(config_.NumberOfCores())),
diff --git a/modules/video_coding/codecs/test/videoprocessor.h b/modules/video_coding/codecs/test/videoprocessor.h
index fe0211d..bed65bd 100644
--- a/modules/video_coding/codecs/test/videoprocessor.h
+++ b/modules/video_coding/codecs/test/videoprocessor.h
@@ -19,7 +19,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/task_queue/queued_task.h"
 #include "api/task_queue/task_queue_base.h"
@@ -98,7 +97,7 @@
 
       // Post the callback to the right task queue, if needed.
       if (!task_queue_->IsCurrent()) {
-        task_queue_->PostTask(absl::make_unique<EncodeCallbackTask>(
+        task_queue_->PostTask(std::make_unique<EncodeCallbackTask>(
             video_processor_, encoded_image, codec_specific_info));
         return Result(Result::OK, 0);
       }
diff --git a/modules/video_coding/codecs/test/videoprocessor_unittest.cc b/modules/video_coding/codecs/test/videoprocessor_unittest.cc
index 59a64a7..49f68f2 100644
--- a/modules/video_coding/codecs/test/videoprocessor_unittest.cc
+++ b/modules/video_coding/codecs/test/videoprocessor_unittest.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/scoped_refptr.h"
 #include "api/test/mock_video_decoder.h"
 #include "api/test/mock_video_encoder.h"
@@ -56,7 +55,7 @@
     EXPECT_CALL(frame_reader_mock_, FrameLength())
         .WillRepeatedly(Return(kFrameSize));
     q_.SendTask([this] {
-      video_processor_ = absl::make_unique<VideoProcessor>(
+      video_processor_ = std::make_unique<VideoProcessor>(
           &encoder_mock_, &decoders_, &frame_reader_mock_, config_, &stats_,
           &encoded_frame_writers_, /*decoded_frame_writers=*/nullptr);
     });
diff --git a/modules/video_coding/codecs/vp8/default_temporal_layers_unittest.cc b/modules/video_coding/codecs/vp8/default_temporal_layers_unittest.cc
index 9085afd..54f091d 100644
--- a/modules/video_coding/codecs/vp8/default_temporal_layers_unittest.cc
+++ b/modules/video_coding/codecs/vp8/default_temporal_layers_unittest.cc
@@ -11,8 +11,8 @@
 #include "modules/video_coding/codecs/vp8/default_temporal_layers.h"
 
 #include <cstdint>
+#include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/video/video_bitrate_allocation.h"
 #include "api/video_codecs/video_codec.h"
 #include "api/video_codecs/vp8_frame_config.h"
@@ -114,7 +114,7 @@
   ~TemporalLayersTest() override = default;
 
   CodecSpecificInfo* IgnoredCodecSpecificInfo() {
-    codec_specific_info_ = absl::make_unique<CodecSpecificInfo>();
+    codec_specific_info_ = std::make_unique<CodecSpecificInfo>();
     return codec_specific_info_.get();
   }
 
diff --git a/modules/video_coding/codecs/vp8/libvpx_interface.cc b/modules/video_coding/codecs/vp8/libvpx_interface.cc
index fd2e80a..1a3df40 100644
--- a/modules/video_coding/codecs/vp8/libvpx_interface.cc
+++ b/modules/video_coding/codecs/vp8/libvpx_interface.cc
@@ -10,7 +10,8 @@
 
 #include "modules/video_coding/codecs/vp8/libvpx_interface.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "rtc_base/checks.h"
 
 namespace webrtc {
@@ -199,7 +200,7 @@
 }  // namespace
 
 std::unique_ptr<LibvpxInterface> LibvpxInterface::CreateEncoder() {
-  return absl::make_unique<LibvpxVp8Facade>();
+  return std::make_unique<LibvpxVp8Facade>();
 }
 
 }  // namespace webrtc
diff --git a/modules/video_coding/codecs/vp8/libvpx_vp8_decoder.cc b/modules/video_coding/codecs/vp8/libvpx_vp8_decoder.cc
index 6983c55..bc4ddf6 100644
--- a/modules/video_coding/codecs/vp8/libvpx_vp8_decoder.cc
+++ b/modules/video_coding/codecs/vp8/libvpx_vp8_decoder.cc
@@ -14,9 +14,9 @@
 #include <string.h>
 
 #include <algorithm>
+#include <memory>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/scoped_refptr.h"
 #include "api/video/i420_buffer.h"
@@ -69,7 +69,7 @@
 }  // namespace
 
 std::unique_ptr<VideoDecoder> VP8Decoder::Create() {
-  return absl::make_unique<LibvpxVp8Decoder>();
+  return std::make_unique<LibvpxVp8Decoder>();
 }
 
 class LibvpxVp8Decoder::QpSmoother {
diff --git a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
index dcda30d..c8e47d4 100644
--- a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
+++ b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
@@ -21,7 +21,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/scoped_refptr.h"
 #include "api/video/video_content_type.h"
 #include "api/video/video_frame_buffer.h"
@@ -229,7 +228,7 @@
 std::unique_ptr<VideoEncoder> VP8Encoder::Create(
     std::unique_ptr<Vp8FrameBufferControllerFactory>
         frame_buffer_controller_factory) {
-  return absl::make_unique<LibvpxVp8Encoder>(
+  return std::make_unique<LibvpxVp8Encoder>(
       std::move(frame_buffer_controller_factory));
 }
 
diff --git a/modules/video_coding/codecs/vp8/libvpx_vp8_simulcast_test.cc b/modules/video_coding/codecs/vp8/libvpx_vp8_simulcast_test.cc
index d493e2a..67c9110 100644
--- a/modules/video_coding/codecs/vp8/libvpx_vp8_simulcast_test.cc
+++ b/modules/video_coding/codecs/vp8/libvpx_vp8_simulcast_test.cc
@@ -10,7 +10,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/test/create_simulcast_test_fixture.h"
 #include "api/test/simulcast_test_fixture.h"
 #include "api/test/video/function_video_decoder_factory.h"
@@ -24,10 +23,10 @@
 namespace {
 std::unique_ptr<SimulcastTestFixture> CreateSpecificSimulcastTestFixture() {
   std::unique_ptr<VideoEncoderFactory> encoder_factory =
-      absl::make_unique<FunctionVideoEncoderFactory>(
+      std::make_unique<FunctionVideoEncoderFactory>(
           []() { return VP8Encoder::Create(); });
   std::unique_ptr<VideoDecoderFactory> decoder_factory =
-      absl::make_unique<FunctionVideoDecoderFactory>(
+      std::make_unique<FunctionVideoDecoderFactory>(
           []() { return VP8Decoder::Create(); });
   return CreateSimulcastTestFixture(std::move(encoder_factory),
                                     std::move(decoder_factory),
diff --git a/modules/video_coding/codecs/vp8/screenshare_layers_unittest.cc b/modules/video_coding/codecs/vp8/screenshare_layers_unittest.cc
index a2384b5..edbe4ad 100644
--- a/modules/video_coding/codecs/vp8/screenshare_layers_unittest.cc
+++ b/modules/video_coding/codecs/vp8/screenshare_layers_unittest.cc
@@ -17,7 +17,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/video_codecs/vp8_frame_config.h"
 #include "modules/video_coding/codecs/interface/common_constants.h"
 #include "modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h"
@@ -204,7 +203,7 @@
   bool config_updated_;
 
   CodecSpecificInfo* IgnoredCodecSpecificInfo() {
-    ignored_codec_specific_info_ = absl::make_unique<CodecSpecificInfo>();
+    ignored_codec_specific_info_ = std::make_unique<CodecSpecificInfo>();
     return ignored_codec_specific_info_.get();
   }
 
@@ -218,14 +217,14 @@
   // One layer screenshare should not use the frame dropper as all frames will
   // belong to the base layer.
   const int kSingleLayerFlags = 0;
-  auto info = absl::make_unique<CodecSpecificInfo>();
+  auto info = std::make_unique<CodecSpecificInfo>();
   int flags = EncodeFrame(false, info.get());
   timestamp_ += kTimestampDelta5Fps;
   EXPECT_EQ(static_cast<uint8_t>(kNoTemporalIdx),
             info->codecSpecific.VP8.temporalIdx);
   EXPECT_FALSE(info->codecSpecific.VP8.layerSync);
 
-  info = absl::make_unique<CodecSpecificInfo>();
+  info = std::make_unique<CodecSpecificInfo>();
   flags = EncodeFrame(false, info.get());
   EXPECT_EQ(kSingleLayerFlags, flags);
   EXPECT_EQ(static_cast<uint8_t>(kNoTemporalIdx),
diff --git a/modules/video_coding/codecs/vp8/temporal_layers_checker.cc b/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
index f798c5b..53a68bd 100644
--- a/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
+++ b/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
@@ -10,7 +10,8 @@
 
 #include "modules/video_coding/codecs/vp8/include/temporal_layers_checker.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "modules/video_coding/codecs/interface/common_constants.h"
 #include "modules/video_coding/codecs/vp8/default_temporal_layers.h"
 #include "rtc_base/logging.h"
@@ -22,11 +23,11 @@
                                                    int num_temporal_layers) {
   switch (type) {
     case Vp8TemporalLayersType::kFixedPattern:
-      return absl::make_unique<DefaultTemporalLayersChecker>(
+      return std::make_unique<DefaultTemporalLayersChecker>(
           num_temporal_layers);
     case Vp8TemporalLayersType::kBitrateDynamic:
       // Conference mode temporal layering for screen content in base stream.
-      return absl::make_unique<TemporalLayersChecker>(num_temporal_layers);
+      return std::make_unique<TemporalLayersChecker>(num_temporal_layers);
   }
 }
 
diff --git a/modules/video_coding/codecs/vp9/vp9.cc b/modules/video_coding/codecs/vp9/vp9.cc
index 22a0888..527bce7 100644
--- a/modules/video_coding/codecs/vp9/vp9.cc
+++ b/modules/video_coding/codecs/vp9/vp9.cc
@@ -10,7 +10,8 @@
 
 #include "modules/video_coding/codecs/vp9/include/vp9.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/video_codecs/sdp_video_format.h"
 #include "modules/video_coding/codecs/vp9/vp9_impl.h"
 #include "rtc_base/checks.h"
@@ -46,7 +47,7 @@
 
 std::unique_ptr<VP9Encoder> VP9Encoder::Create() {
 #ifdef RTC_ENABLE_VP9
-  return absl::make_unique<VP9EncoderImpl>(cricket::VideoCodec());
+  return std::make_unique<VP9EncoderImpl>(cricket::VideoCodec());
 #else
   RTC_NOTREACHED();
   return nullptr;
@@ -56,7 +57,7 @@
 std::unique_ptr<VP9Encoder> VP9Encoder::Create(
     const cricket::VideoCodec& codec) {
 #ifdef RTC_ENABLE_VP9
-  return absl::make_unique<VP9EncoderImpl>(codec);
+  return std::make_unique<VP9EncoderImpl>(codec);
 #else
   RTC_NOTREACHED();
   return nullptr;
@@ -65,7 +66,7 @@
 
 std::unique_ptr<VP9Decoder> VP9Decoder::Create() {
 #ifdef RTC_ENABLE_VP9
-  return absl::make_unique<VP9DecoderImpl>();
+  return std::make_unique<VP9DecoderImpl>();
 #else
   RTC_NOTREACHED();
   return nullptr;
diff --git a/modules/video_coding/frame_buffer2_unittest.cc b/modules/video_coding/frame_buffer2_unittest.cc
index bc2fd8b..d96960e 100644
--- a/modules/video_coding/frame_buffer2_unittest.cc
+++ b/modules/video_coding/frame_buffer2_unittest.cc
@@ -13,9 +13,9 @@
 #include <algorithm>
 #include <cstring>
 #include <limits>
+#include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "modules/video_coding/frame_object.h"
 #include "modules/video_coding/jitter_estimator.h"
 #include "modules/video_coding/timing.h"
@@ -162,7 +162,7 @@
     std::array<uint16_t, sizeof...(refs)> references = {
         {rtc::checked_cast<uint16_t>(refs)...}};
 
-    auto frame = absl::make_unique<FrameObjectFake>();
+    auto frame = std::make_unique<FrameObjectFake>();
     frame->id.picture_id = picture_id;
     frame->id.spatial_layer = spatial_layer;
     frame->SetSpatialIndex(spatial_layer);
diff --git a/modules/video_coding/jitter_estimator_tests.cc b/modules/video_coding/jitter_estimator_tests.cc
index de9d5d4..1ad9abb 100644
--- a/modules/video_coding/jitter_estimator_tests.cc
+++ b/modules/video_coding/jitter_estimator_tests.cc
@@ -12,7 +12,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/array_view.h"
 #include "modules/video_coding/jitter_estimator.h"
@@ -31,7 +30,7 @@
   TestVCMJitterEstimator() : fake_clock_(0) {}
 
   virtual void SetUp() {
-    estimator_ = absl::make_unique<VCMJitterEstimator>(&fake_clock_);
+    estimator_ = std::make_unique<VCMJitterEstimator>(&fake_clock_);
   }
 
   void AdvanceClock(int64_t microseconds) {
diff --git a/modules/video_coding/utility/simulcast_test_fixture_impl.cc b/modules/video_coding/utility/simulcast_test_fixture_impl.cc
index 7d94182..f091636 100644
--- a/modules/video_coding/utility/simulcast_test_fixture_impl.cc
+++ b/modules/video_coding/utility/simulcast_test_fixture_impl.cc
@@ -15,7 +15,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/video/encoded_image.h"
 #include "api/video_codecs/sdp_video_format.h"
 #include "api/video_codecs/video_encoder.h"
@@ -288,7 +287,7 @@
   EXPECT_EQ(0, decoder_->InitDecode(&settings_, 1));
   input_buffer_ = I420Buffer::Create(kDefaultWidth, kDefaultHeight);
   input_buffer_->InitializeData();
-  input_frame_ = absl::make_unique<webrtc::VideoFrame>(
+  input_frame_ = std::make_unique<webrtc::VideoFrame>(
       webrtc::VideoFrame::Builder()
           .set_video_frame_buffer(input_buffer_)
           .set_rotation(webrtc::kVideoRotation_0)
@@ -615,7 +614,7 @@
   input_buffer_ = I420Buffer::Create(settings_.width, settings_.height);
   input_buffer_->InitializeData();
 
-  input_frame_ = absl::make_unique<webrtc::VideoFrame>(
+  input_frame_ = std::make_unique<webrtc::VideoFrame>(
       webrtc::VideoFrame::Builder()
           .set_video_frame_buffer(input_buffer_)
           .set_rotation(webrtc::kVideoRotation_0)
@@ -660,7 +659,7 @@
   // Resize |input_frame_| to the new resolution.
   input_buffer_ = I420Buffer::Create(settings_.width, settings_.height);
   input_buffer_->InitializeData();
-  input_frame_ = absl::make_unique<webrtc::VideoFrame>(
+  input_frame_ = std::make_unique<webrtc::VideoFrame>(
       webrtc::VideoFrame::Builder()
           .set_video_frame_buffer(input_buffer_)
           .set_rotation(webrtc::kVideoRotation_0)
@@ -824,7 +823,7 @@
   int stride_uv = ((kDefaultWidth + 1) / 2) + 5;
   input_buffer_ = I420Buffer::Create(kDefaultWidth, kDefaultHeight, stride_y,
                                      stride_uv, stride_uv);
-  input_frame_ = absl::make_unique<webrtc::VideoFrame>(
+  input_frame_ = std::make_unique<webrtc::VideoFrame>(
       webrtc::VideoFrame::Builder()
           .set_video_frame_buffer(input_buffer_)
           .set_rotation(webrtc::kVideoRotation_0)
diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn
index 75ded56..d9a9209 100644
--- a/p2p/BUILD.gn
+++ b/p2p/BUILD.gn
@@ -24,7 +24,6 @@
     "../rtc_base:checks",
     "../rtc_base:rtc_base",
     "../rtc_base:rtc_base_approved",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -107,6 +106,7 @@
     "../logging:ice_log",
     "../rtc_base",
     "../rtc_base:checks",
+    "//third_party/abseil-cpp/absl/memory",
 
     # Needed by pseudo_tcp, which should move to a separate target.
     "../rtc_base:safe_minmax",
@@ -119,7 +119,6 @@
     "../system_wrappers:field_trial",
     "../system_wrappers:metrics",
     "//third_party/abseil-cpp/absl/algorithm:container",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
@@ -182,7 +181,6 @@
       "../rtc_base/third_party/sigslot",
       "../test:test_support",
       "//third_party/abseil-cpp/absl/algorithm:container",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
   }
@@ -261,7 +259,6 @@
     "../rtc_base:rtc_base_tests_utils",
     "../rtc_base/third_party/sigslot",
     "//third_party/abseil-cpp/absl/algorithm:container",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
diff --git a/p2p/base/connection.cc b/p2p/base/connection.cc
index 8b2c8d9..e50890b 100644
--- a/p2p/base/connection.cc
+++ b/p2p/base/connection.cc
@@ -18,7 +18,6 @@
 #include <vector>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "p2p/base/port_allocator.h"
 #include "rtc_base/checks.h"
@@ -156,45 +155,45 @@
   // receiver side. The attribute is retrieved then by iterating and matching
   // over all parsed attributes. See StunMessage::GetAttribute.
   request->AddAttribute(
-      absl::make_unique<StunByteStringAttribute>(STUN_ATTR_USERNAME, username));
+      std::make_unique<StunByteStringAttribute>(STUN_ATTR_USERNAME, username));
 
   // connection_ already holds this ping, so subtract one from count.
   if (connection_->port()->send_retransmit_count_attribute()) {
-    request->AddAttribute(absl::make_unique<StunUInt32Attribute>(
+    request->AddAttribute(std::make_unique<StunUInt32Attribute>(
         STUN_ATTR_RETRANSMIT_COUNT,
         static_cast<uint32_t>(connection_->pings_since_last_response_.size() -
                               1)));
   }
   uint32_t network_info = connection_->port()->Network()->id();
   network_info = (network_info << 16) | connection_->port()->network_cost();
-  request->AddAttribute(absl::make_unique<StunUInt32Attribute>(
+  request->AddAttribute(std::make_unique<StunUInt32Attribute>(
       STUN_ATTR_NETWORK_INFO, network_info));
 
   if (webrtc::field_trial::IsEnabled(
           "WebRTC-PiggybackIceCheckAcknowledgement") &&
       connection_->last_ping_id_received()) {
-    request->AddAttribute(absl::make_unique<StunByteStringAttribute>(
+    request->AddAttribute(std::make_unique<StunByteStringAttribute>(
         STUN_ATTR_LAST_ICE_CHECK_RECEIVED,
         connection_->last_ping_id_received().value()));
   }
 
   // Adding ICE_CONTROLLED or ICE_CONTROLLING attribute based on the role.
   if (connection_->port()->GetIceRole() == ICEROLE_CONTROLLING) {
-    request->AddAttribute(absl::make_unique<StunUInt64Attribute>(
+    request->AddAttribute(std::make_unique<StunUInt64Attribute>(
         STUN_ATTR_ICE_CONTROLLING, connection_->port()->IceTiebreaker()));
     // We should have either USE_CANDIDATE attribute or ICE_NOMINATION
     // attribute but not both. That was enforced in p2ptransportchannel.
     if (connection_->use_candidate_attr()) {
       request->AddAttribute(
-          absl::make_unique<StunByteStringAttribute>(STUN_ATTR_USE_CANDIDATE));
+          std::make_unique<StunByteStringAttribute>(STUN_ATTR_USE_CANDIDATE));
     }
     if (connection_->nomination() &&
         connection_->nomination() != connection_->acked_nomination()) {
-      request->AddAttribute(absl::make_unique<StunUInt32Attribute>(
+      request->AddAttribute(std::make_unique<StunUInt32Attribute>(
           STUN_ATTR_NOMINATION, connection_->nomination()));
     }
   } else if (connection_->port()->GetIceRole() == ICEROLE_CONTROLLED) {
-    request->AddAttribute(absl::make_unique<StunUInt64Attribute>(
+    request->AddAttribute(std::make_unique<StunUInt64Attribute>(
         STUN_ATTR_ICE_CONTROLLED, connection_->port()->IceTiebreaker()));
   } else {
     RTC_NOTREACHED();
@@ -213,7 +212,7 @@
   uint32_t prflx_priority =
       type_preference << 24 |
       (connection_->local_candidate().priority() & 0x00FFFFFF);
-  request->AddAttribute(absl::make_unique<StunUInt32Attribute>(
+  request->AddAttribute(std::make_unique<StunUInt32Attribute>(
       STUN_ATTR_PRIORITY, prflx_priority));
 
   // Adding Message Integrity attribute.
diff --git a/p2p/base/dtls_transport.cc b/p2p/base/dtls_transport.cc
index ce78361..01cd9f7 100644
--- a/p2p/base/dtls_transport.cc
+++ b/p2p/base/dtls_transport.cc
@@ -14,7 +14,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/rtc_event_log/rtc_event_log.h"
 #include "logging/rtc_event_log/events/rtc_event_dtls_transport_state.h"
 #include "logging/rtc_event_log/events/rtc_event_dtls_writable_state.h"
@@ -752,7 +751,7 @@
   }
   if (event_log_) {
     event_log_->Log(
-        absl::make_unique<webrtc::RtcEventDtlsWritableState>(writable));
+        std::make_unique<webrtc::RtcEventDtlsWritableState>(writable));
   }
   RTC_LOG(LS_VERBOSE) << ToString() << ": set_writable to: " << writable;
   writable_ = writable;
@@ -767,7 +766,7 @@
     return;
   }
   if (event_log_) {
-    event_log_->Log(absl::make_unique<webrtc::RtcEventDtlsTransportState>(
+    event_log_->Log(std::make_unique<webrtc::RtcEventDtlsTransportState>(
         ConvertDtlsTransportState(state)));
   }
   RTC_LOG(LS_VERBOSE) << ToString() << ": set_dtls_state from:" << dtls_state_
diff --git a/p2p/base/dtls_transport_unittest.cc b/p2p/base/dtls_transport_unittest.cc
index 1da486c..287264d 100644
--- a/p2p/base/dtls_transport_unittest.cc
+++ b/p2p/base/dtls_transport_unittest.cc
@@ -15,7 +15,6 @@
 #include <set>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "p2p/base/fake_ice_transport.h"
 #include "p2p/base/packet_transport_internal.h"
 #include "rtc_base/checks.h"
@@ -88,9 +87,9 @@
     fake_ice_transport_->SignalReadPacket.connect(
         this, &DtlsTestClient::OnFakeIceTransportReadPacket);
 
-    dtls_transport_ = absl::make_unique<DtlsTransport>(
-        fake_ice_transport_.get(), webrtc::CryptoOptions(),
-        /*event_log=*/nullptr);
+    dtls_transport_ = std::make_unique<DtlsTransport>(fake_ice_transport_.get(),
+                                                      webrtc::CryptoOptions(),
+                                                      /*event_log=*/nullptr);
     dtls_transport_->SetSslMaxProtocolVersion(ssl_max_version_);
     // Note: Certificate may be null here if testing passthrough.
     dtls_transport_->SetLocalCertificate(certificate_);
diff --git a/p2p/base/fake_dtls_transport.h b/p2p/base/fake_dtls_transport.h
index 841e196..c26cae9 100644
--- a/p2p/base/fake_dtls_transport.h
+++ b/p2p/base/fake_dtls_transport.h
@@ -16,7 +16,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/crypto/crypto_options.h"
 #include "p2p/base/dtls_transport_internal.h"
 #include "p2p/base/fake_ice_transport.h"
@@ -57,8 +56,8 @@
   // If this constructor is called, a new fake ICE transport will be created,
   // and this FakeDtlsTransport will take the ownership.
   explicit FakeDtlsTransport(const std::string& name, int component)
-      : FakeDtlsTransport(
-            absl::make_unique<FakeIceTransport>(name, component)) {}
+      : FakeDtlsTransport(std::make_unique<FakeIceTransport>(name, component)) {
+  }
 
   ~FakeDtlsTransport() override {
     if (dest_ && dest_->dest_ == this) {
@@ -195,7 +194,7 @@
     if (!remote_cert_) {
       return nullptr;
     }
-    return absl::make_unique<rtc::SSLCertChain>(remote_cert_->Clone());
+    return std::make_unique<rtc::SSLCertChain>(remote_cert_->Clone());
   }
   bool ExportKeyingMaterial(const std::string& label,
                             const uint8_t* context,
diff --git a/p2p/base/p2p_transport_channel.cc b/p2p/base/p2p_transport_channel.cc
index 72e36e1..c6f2f20 100644
--- a/p2p/base/p2p_transport_channel.cc
+++ b/p2p/base/p2p_transport_channel.cc
@@ -11,11 +11,11 @@
 #include "p2p/base/p2p_transport_channel.h"
 
 #include <iterator>
+#include <memory>
 #include <set>
 #include <utility>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "api/candidate.h"
 #include "logging/rtc_event_log/ice_logger.h"
 #include "p2p/base/candidate_pair_interface.h"
@@ -153,7 +153,7 @@
       config_.regather_all_networks_interval_range,
       config_.regather_on_failed_networks_interval_or_default());
   regathering_controller_ =
-      absl::make_unique<webrtc::BasicRegatheringController>(
+      std::make_unique<webrtc::BasicRegatheringController>(
           regathering_config, this, network_thread_);
   // We populate the change in the candidate filter to the session taken by
   // the transport.
diff --git a/p2p/base/p2p_transport_channel_unittest.cc b/p2p/base/p2p_transport_channel_unittest.cc
index dd48979..46ce535 100644
--- a/p2p/base/p2p_transport_channel_unittest.cc
+++ b/p2p/base/p2p_transport_channel_unittest.cc
@@ -14,7 +14,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "p2p/base/connection.h"
 #include "p2p/base/fake_port_allocator.h"
 #include "p2p/base/ice_transport_internal.h"
@@ -3314,17 +3313,17 @@
       const absl::optional<std::string>& piggyback_ping_id) {
     IceMessage msg;
     msg.SetType(STUN_BINDING_REQUEST);
-    msg.AddAttribute(absl::make_unique<StunByteStringAttribute>(
+    msg.AddAttribute(std::make_unique<StunByteStringAttribute>(
         STUN_ATTR_USERNAME,
         conn->local_candidate().username() + ":" + remote_ufrag));
     msg.AddAttribute(
-        absl::make_unique<StunUInt32Attribute>(STUN_ATTR_PRIORITY, priority));
+        std::make_unique<StunUInt32Attribute>(STUN_ATTR_PRIORITY, priority));
     if (nomination != 0) {
-      msg.AddAttribute(absl::make_unique<StunUInt32Attribute>(
+      msg.AddAttribute(std::make_unique<StunUInt32Attribute>(
           STUN_ATTR_NOMINATION, nomination));
     }
     if (piggyback_ping_id) {
-      msg.AddAttribute(absl::make_unique<StunByteStringAttribute>(
+      msg.AddAttribute(std::make_unique<StunByteStringAttribute>(
           STUN_ATTR_LAST_ICE_CHECK_RECEIVED, piggyback_ping_id.value()));
     }
     msg.SetTransactionID(rtc::CreateRandomString(kStunTransactionIdLength));
@@ -3558,11 +3557,11 @@
   // candidate pair while we still don't have remote ICE parameters.
   IceMessage request;
   request.SetType(STUN_BINDING_REQUEST);
-  request.AddAttribute(absl::make_unique<StunByteStringAttribute>(
+  request.AddAttribute(std::make_unique<StunByteStringAttribute>(
       STUN_ATTR_USERNAME, kIceUfrag[1]));
   uint32_t prflx_priority = ICE_TYPE_PREFERENCE_PRFLX << 24;
-  request.AddAttribute(absl::make_unique<StunUInt32Attribute>(
-      STUN_ATTR_PRIORITY, prflx_priority));
+  request.AddAttribute(std::make_unique<StunUInt32Attribute>(STUN_ATTR_PRIORITY,
+                                                             prflx_priority));
   Port* port = GetPort(&ch);
   ASSERT_NE(nullptr, port);
   port->SignalUnknownAddress(port, rtc::SocketAddress("1.1.1.1", 1), PROTO_UDP,
@@ -3727,11 +3726,11 @@
   // Create a minimal STUN message with prflx priority.
   IceMessage request;
   request.SetType(STUN_BINDING_REQUEST);
-  request.AddAttribute(absl::make_unique<StunByteStringAttribute>(
+  request.AddAttribute(std::make_unique<StunByteStringAttribute>(
       STUN_ATTR_USERNAME, kIceUfrag[1]));
   uint32_t prflx_priority = ICE_TYPE_PREFERENCE_PRFLX << 24;
-  request.AddAttribute(absl::make_unique<StunUInt32Attribute>(
-      STUN_ATTR_PRIORITY, prflx_priority));
+  request.AddAttribute(std::make_unique<StunUInt32Attribute>(STUN_ATTR_PRIORITY,
+                                                             prflx_priority));
   EXPECT_NE(prflx_priority, remote_priority);
 
   Port* port = GetPort(&ch);
@@ -3878,11 +3877,11 @@
   // A minimal STUN message with prflx priority.
   IceMessage request;
   request.SetType(STUN_BINDING_REQUEST);
-  request.AddAttribute(absl::make_unique<StunByteStringAttribute>(
+  request.AddAttribute(std::make_unique<StunByteStringAttribute>(
       STUN_ATTR_USERNAME, kIceUfrag[1]));
   uint32_t prflx_priority = ICE_TYPE_PREFERENCE_PRFLX << 24;
-  request.AddAttribute(absl::make_unique<StunUInt32Attribute>(
-      STUN_ATTR_PRIORITY, prflx_priority));
+  request.AddAttribute(std::make_unique<StunUInt32Attribute>(STUN_ATTR_PRIORITY,
+                                                             prflx_priority));
   TestUDPPort* port = static_cast<TestUDPPort*>(GetPort(&ch));
   port->SignalUnknownAddress(port, rtc::SocketAddress("1.1.1.1", 1), PROTO_UDP,
                              &request, kIceUfrag[1], false);
@@ -3921,7 +3920,7 @@
   // However if the request contains use_candidate attribute, it will be
   // selected as the selected connection.
   request.AddAttribute(
-      absl::make_unique<StunByteStringAttribute>(STUN_ATTR_USE_CANDIDATE));
+      std::make_unique<StunByteStringAttribute>(STUN_ATTR_USE_CANDIDATE));
   port->SignalUnknownAddress(port, rtc::SocketAddress("4.4.4.4", 4), PROTO_UDP,
                              &request, kIceUfrag[1], false);
   Connection* conn4 = WaitForConnectionTo(&ch, "4.4.4.4", 4);
@@ -3976,13 +3975,13 @@
   // nominate the selected connection.
   IceMessage request;
   request.SetType(STUN_BINDING_REQUEST);
-  request.AddAttribute(absl::make_unique<StunByteStringAttribute>(
+  request.AddAttribute(std::make_unique<StunByteStringAttribute>(
       STUN_ATTR_USERNAME, kIceUfrag[1]));
   uint32_t prflx_priority = ICE_TYPE_PREFERENCE_PRFLX << 24;
-  request.AddAttribute(absl::make_unique<StunUInt32Attribute>(
-      STUN_ATTR_PRIORITY, prflx_priority));
+  request.AddAttribute(std::make_unique<StunUInt32Attribute>(STUN_ATTR_PRIORITY,
+                                                             prflx_priority));
   request.AddAttribute(
-      absl::make_unique<StunByteStringAttribute>(STUN_ATTR_USE_CANDIDATE));
+      std::make_unique<StunByteStringAttribute>(STUN_ATTR_USE_CANDIDATE));
   Port* port = GetPort(&ch);
   port->SignalUnknownAddress(port, rtc::SocketAddress("3.3.3.3", 3), PROTO_UDP,
                              &request, kIceUfrag[1], false);
@@ -4785,7 +4784,7 @@
   // ICE parameter will be set up when creating the channels.
   set_remote_ice_parameter_source(FROM_SETICEPARAMETERS);
   GetEndpoint(0)->network_manager_.set_mdns_responder(
-      absl::make_unique<webrtc::FakeMdnsResponder>(rtc::Thread::Current()));
+      std::make_unique<webrtc::FakeMdnsResponder>(rtc::Thread::Current()));
   GetEndpoint(1)->async_resolver_factory_ = &mock_async_resolver_factory;
   CreateChannels();
   // Pause sending candidates from both endpoints until we find out what port
@@ -4857,7 +4856,7 @@
   // ICE parameter will be set up when creating the channels.
   set_remote_ice_parameter_source(FROM_SETICEPARAMETERS);
   GetEndpoint(0)->network_manager_.set_mdns_responder(
-      absl::make_unique<webrtc::FakeMdnsResponder>(rtc::Thread::Current()));
+      std::make_unique<webrtc::FakeMdnsResponder>(rtc::Thread::Current()));
   GetEndpoint(1)->async_resolver_factory_ = &mock_async_resolver_factory;
   CreateChannels();
   // Pause sending candidates from both endpoints until we find out what port
@@ -4925,7 +4924,7 @@
   // ICE parameter will be set up when creating the channels.
   set_remote_ice_parameter_source(FROM_SETICEPARAMETERS);
   GetEndpoint(0)->network_manager_.set_mdns_responder(
-      absl::make_unique<webrtc::FakeMdnsResponder>(rtc::Thread::Current()));
+      std::make_unique<webrtc::FakeMdnsResponder>(rtc::Thread::Current()));
   GetEndpoint(1)->async_resolver_factory_ = &mock_async_resolver_factory;
   CreateChannels();
   // Pause sending candidates from both endpoints until we find out what port
@@ -4982,7 +4981,7 @@
   // ICE parameter will be set up when creating the channels.
   set_remote_ice_parameter_source(FROM_SETICEPARAMETERS);
   GetEndpoint(0)->network_manager_.set_mdns_responder(
-      absl::make_unique<webrtc::FakeMdnsResponder>(rtc::Thread::Current()));
+      std::make_unique<webrtc::FakeMdnsResponder>(rtc::Thread::Current()));
   GetEndpoint(1)->async_resolver_factory_ = &mock_async_resolver_factory;
   CreateChannels();
   // Pause sending candidates from both endpoints until we find out what port
@@ -5163,7 +5162,7 @@
   // ICE parameter will be set up when creating the channels.
   set_remote_ice_parameter_source(FROM_SETICEPARAMETERS);
   GetEndpoint(0)->network_manager_.set_mdns_responder(
-      absl::make_unique<webrtc::FakeMdnsResponder>(rtc::Thread::Current()));
+      std::make_unique<webrtc::FakeMdnsResponder>(rtc::Thread::Current()));
   GetEndpoint(1)->async_resolver_factory_ = &mock_async_resolver_factory;
   CreateChannels();
   // Pause sending candidates from both endpoints until we find out what port
@@ -5225,7 +5224,7 @@
   set_remote_ice_parameter_source(FROM_SETICEPARAMETERS);
   // Use a mock mDNS responder, which does not complete the name registration by
   // ignoring the completion callback.
-  auto mock_mdns_responder = absl::make_unique<MockMdnsResponder>();
+  auto mock_mdns_responder = std::make_unique<MockMdnsResponder>();
   EXPECT_CALL(*mock_mdns_responder, CreateNameForAddress(_, _))
       .Times(1)
       .WillOnce(Return());
diff --git a/p2p/base/port.cc b/p2p/base/port.cc
index 3582da6..742c15d 100644
--- a/p2p/base/port.cc
+++ b/p2p/base/port.cc
@@ -13,11 +13,11 @@
 #include <math.h>
 
 #include <algorithm>
+#include <memory>
 #include <utility>
 #include <vector>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "p2p/base/connection.h"
 #include "p2p/base/port_allocator.h"
@@ -683,7 +683,7 @@
   if (retransmit_attr) {
     // Inherit the incoming retransmit value in the response so the other side
     // can see our view of lost pings.
-    response.AddAttribute(absl::make_unique<StunUInt32Attribute>(
+    response.AddAttribute(std::make_unique<StunUInt32Attribute>(
         STUN_ATTR_RETRANSMIT_COUNT, retransmit_attr->value()));
 
     if (retransmit_attr->value() > CONNECTION_WRITE_CONNECT_FAILURES) {
@@ -694,7 +694,7 @@
     }
   }
 
-  response.AddAttribute(absl::make_unique<StunXorAddressAttribute>(
+  response.AddAttribute(std::make_unique<StunXorAddressAttribute>(
       STUN_ATTR_XOR_MAPPED_ADDRESS, addr));
   response.AddMessageIntegrity(password_);
   response.AddFingerprint();
diff --git a/p2p/base/port_unittest.cc b/p2p/base/port_unittest.cc
index a801f53..3556e31 100644
--- a/p2p/base/port_unittest.cc
+++ b/p2p/base/port_unittest.cc
@@ -19,7 +19,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/candidate.h"
 #include "api/packet_socket_factory.h"
@@ -125,7 +124,7 @@
 }
 
 std::unique_ptr<IceMessage> CopyStunMessage(const IceMessage& src) {
-  auto dst = absl::make_unique<IceMessage>();
+  auto dst = std::make_unique<IceMessage>();
   ByteBufferWriter buf;
   src.Write(&buf);
   ByteBufferReader read_buf(buf);
@@ -222,8 +221,8 @@
                      const rtc::PacketOptions& options,
                      bool payload) {
     if (!payload) {
-      auto msg = absl::make_unique<IceMessage>();
-      auto buf = absl::make_unique<rtc::BufferT<uint8_t>>(
+      auto msg = std::make_unique<IceMessage>();
+      auto buf = std::make_unique<rtc::BufferT<uint8_t>>(
           static_cast<const char*>(data), size);
       ByteBufferReader read_buf(*buf);
       if (!msg->Read(&read_buf)) {
@@ -588,8 +587,8 @@
   }
   std::unique_ptr<rtc::NATServer> CreateNatServer(const SocketAddress& addr,
                                                   rtc::NATType type) {
-    return absl::make_unique<rtc::NATServer>(type, ss_.get(), addr, addr,
-                                             ss_.get(), addr);
+    return std::make_unique<rtc::NATServer>(type, ss_.get(), addr, addr,
+                                            ss_.get(), addr);
   }
   static const char* StunName(NATType type) {
     switch (type) {
@@ -783,7 +782,7 @@
   }
 
   std::unique_ptr<IceMessage> CreateStunMessage(int type) {
-    auto msg = absl::make_unique<IceMessage>();
+    auto msg = std::make_unique<IceMessage>();
     msg->SetType(type);
     msg->SetTransactionID("TESTTESTTEST");
     return msg;
@@ -792,16 +791,16 @@
       int type,
       const std::string& username) {
     std::unique_ptr<IceMessage> msg = CreateStunMessage(type);
-    msg->AddAttribute(absl::make_unique<StunByteStringAttribute>(
+    msg->AddAttribute(std::make_unique<StunByteStringAttribute>(
         STUN_ATTR_USERNAME, username));
     return msg;
   }
   std::unique_ptr<TestPort> CreateTestPort(const rtc::SocketAddress& addr,
                                            const std::string& username,
                                            const std::string& password) {
-    auto port = absl::make_unique<TestPort>(&main_, "test", &socket_factory_,
-                                            MakeNetwork(addr), 0, 0, username,
-                                            password);
+    auto port =
+        std::make_unique<TestPort>(&main_, "test", &socket_factory_,
+                                   MakeNetwork(addr), 0, 0, username, password);
     port->SignalRoleConflict.connect(this, &PortTest::OnRoleConflict);
     return port;
   }
@@ -819,8 +818,8 @@
   std::unique_ptr<TestPort> CreateTestPort(rtc::Network* network,
                                            const std::string& username,
                                            const std::string& password) {
-    auto port = absl::make_unique<TestPort>(&main_, "test", &socket_factory_,
-                                            network, 0, 0, username, password);
+    auto port = std::make_unique<TestPort>(&main_, "test", &socket_factory_,
+                                           network, 0, 0, username, password);
     port->SignalRoleConflict.connect(this, &PortTest::OnRoleConflict);
     return port;
   }
@@ -1440,17 +1439,17 @@
       CreateStunMessage(STUN_BINDING_REQUEST));
   const StunByteStringAttribute* username_attr =
       msg->GetByteString(STUN_ATTR_USERNAME);
-  modified_req->AddAttribute(absl::make_unique<StunByteStringAttribute>(
+  modified_req->AddAttribute(std::make_unique<StunByteStringAttribute>(
       STUN_ATTR_USERNAME, username_attr->GetString()));
   // To make sure we receive error response, adding tiebreaker less than
   // what's present in request.
-  modified_req->AddAttribute(absl::make_unique<StunUInt64Attribute>(
+  modified_req->AddAttribute(std::make_unique<StunUInt64Attribute>(
       STUN_ATTR_ICE_CONTROLLING, kTiebreaker1 - 1));
   modified_req->AddMessageIntegrity("lpass");
   modified_req->AddFingerprint();
 
   lport->Reset();
-  auto buf = absl::make_unique<ByteBufferWriter>();
+  auto buf = std::make_unique<ByteBufferWriter>();
   WriteStunMessage(*modified_req, buf.get());
   conn1->OnReadPacket(buf->Data(), buf->Length(), /* packet_time_us */ -1);
   ASSERT_TRUE_WAIT(lport->last_stun_msg() != NULL, kDefaultTimeout);
@@ -2052,7 +2051,7 @@
   auto port = CreateTestPort(kLocalAddr2, "rfrag", "rpass");
 
   std::unique_ptr<IceMessage> in_msg, out_msg;
-  auto buf = absl::make_unique<ByteBufferWriter>();
+  auto buf = std::make_unique<ByteBufferWriter>();
   rtc::SocketAddress addr(kLocalAddr1);
   std::string username;
 
@@ -2069,7 +2068,7 @@
 
   // BINDING-RESPONSE without username, with MESSAGE-INTEGRITY and FINGERPRINT.
   in_msg = CreateStunMessage(STUN_BINDING_RESPONSE);
-  in_msg->AddAttribute(absl::make_unique<StunXorAddressAttribute>(
+  in_msg->AddAttribute(std::make_unique<StunXorAddressAttribute>(
       STUN_ATTR_XOR_MAPPED_ADDRESS, kLocalAddr2));
   in_msg->AddMessageIntegrity("rpass");
   in_msg->AddFingerprint();
@@ -2081,7 +2080,7 @@
 
   // BINDING-ERROR-RESPONSE without username, with error, M-I, and FINGERPRINT.
   in_msg = CreateStunMessage(STUN_BINDING_ERROR_RESPONSE);
-  in_msg->AddAttribute(absl::make_unique<StunErrorCodeAttribute>(
+  in_msg->AddAttribute(std::make_unique<StunErrorCodeAttribute>(
       STUN_ATTR_ERROR_CODE, STUN_ERROR_SERVER_ERROR,
       STUN_ERROR_REASON_SERVER_ERROR));
   in_msg->AddFingerprint();
@@ -2101,7 +2100,7 @@
   auto port = CreateTestPort(kLocalAddr2, "rfrag", "rpass");
 
   std::unique_ptr<IceMessage> in_msg, out_msg;
-  auto buf = absl::make_unique<ByteBufferWriter>();
+  auto buf = std::make_unique<ByteBufferWriter>();
   rtc::SocketAddress addr(kLocalAddr1);
   std::string username;
 
@@ -2167,7 +2166,7 @@
   auto port = CreateTestPort(kLocalAddr2, "rfrag", "rpass");
 
   std::unique_ptr<IceMessage> in_msg, out_msg;
-  auto buf = absl::make_unique<ByteBufferWriter>();
+  auto buf = std::make_unique<ByteBufferWriter>();
   rtc::SocketAddress addr(kLocalAddr1);
   std::string username;
 
@@ -2205,7 +2204,7 @@
   auto port = CreateTestPort(kLocalAddr2, "rfrag", "rpass");
 
   std::unique_ptr<IceMessage> in_msg, out_msg;
-  auto buf = absl::make_unique<ByteBufferWriter>();
+  auto buf = std::make_unique<ByteBufferWriter>();
   rtc::SocketAddress addr(kLocalAddr1);
   std::string username;
 
@@ -2228,7 +2227,7 @@
 
   // Valid BINDING-RESPONSE, except no FINGERPRINT.
   in_msg = CreateStunMessage(STUN_BINDING_RESPONSE);
-  in_msg->AddAttribute(absl::make_unique<StunXorAddressAttribute>(
+  in_msg->AddAttribute(std::make_unique<StunXorAddressAttribute>(
       STUN_ATTR_XOR_MAPPED_ADDRESS, kLocalAddr2));
   in_msg->AddMessageIntegrity("rpass");
   WriteStunMessage(*in_msg, buf.get());
@@ -2246,7 +2245,7 @@
 
   // Valid BINDING-ERROR-RESPONSE, except no FINGERPRINT.
   in_msg = CreateStunMessage(STUN_BINDING_ERROR_RESPONSE);
-  in_msg->AddAttribute(absl::make_unique<StunErrorCodeAttribute>(
+  in_msg->AddAttribute(std::make_unique<StunErrorCodeAttribute>(
       STUN_ATTR_ERROR_CODE, STUN_ERROR_SERVER_ERROR,
       STUN_ERROR_REASON_SERVER_ERROR));
   in_msg->AddMessageIntegrity("rpass");
diff --git a/p2p/base/stun.cc b/p2p/base/stun.cc
index f40395b..8809756 100644
--- a/p2p/base/stun.cc
+++ b/p2p/base/stun.cc
@@ -16,7 +16,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/byte_order.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/crc32.h"
@@ -265,7 +264,7 @@
 bool StunMessage::AddMessageIntegrity(const char* key, size_t keylen) {
   // Add the attribute with a dummy value. Since this is a known attribute, it
   // can't fail.
-  auto msg_integrity_attr_ptr = absl::make_unique<StunByteStringAttribute>(
+  auto msg_integrity_attr_ptr = std::make_unique<StunByteStringAttribute>(
       STUN_ATTR_MESSAGE_INTEGRITY, std::string(kStunMessageIntegritySize, '0'));
   auto* msg_integrity_attr = msg_integrity_attr_ptr.get();
   AddAttribute(std::move(msg_integrity_attr_ptr));
@@ -326,7 +325,7 @@
   // Add the attribute with a dummy value. Since this is a known attribute,
   // it can't fail.
   auto fingerprint_attr_ptr =
-      absl::make_unique<StunUInt32Attribute>(STUN_ATTR_FINGERPRINT, 0);
+      std::make_unique<StunUInt32Attribute>(STUN_ATTR_FINGERPRINT, 0);
   auto* fingerprint_attr = fingerprint_attr_ptr.get();
   AddAttribute(std::move(fingerprint_attr_ptr));
 
@@ -546,38 +545,38 @@
 
 std::unique_ptr<StunAddressAttribute> StunAttribute::CreateAddress(
     uint16_t type) {
-  return absl::make_unique<StunAddressAttribute>(type, 0);
+  return std::make_unique<StunAddressAttribute>(type, 0);
 }
 
 std::unique_ptr<StunXorAddressAttribute> StunAttribute::CreateXorAddress(
     uint16_t type) {
-  return absl::make_unique<StunXorAddressAttribute>(type, 0, nullptr);
+  return std::make_unique<StunXorAddressAttribute>(type, 0, nullptr);
 }
 
 std::unique_ptr<StunUInt64Attribute> StunAttribute::CreateUInt64(
     uint16_t type) {
-  return absl::make_unique<StunUInt64Attribute>(type);
+  return std::make_unique<StunUInt64Attribute>(type);
 }
 
 std::unique_ptr<StunUInt32Attribute> StunAttribute::CreateUInt32(
     uint16_t type) {
-  return absl::make_unique<StunUInt32Attribute>(type);
+  return std::make_unique<StunUInt32Attribute>(type);
 }
 
 std::unique_ptr<StunByteStringAttribute> StunAttribute::CreateByteString(
     uint16_t type) {
-  return absl::make_unique<StunByteStringAttribute>(type, 0);
+  return std::make_unique<StunByteStringAttribute>(type, 0);
 }
 
 std::unique_ptr<StunErrorCodeAttribute> StunAttribute::CreateErrorCode() {
-  return absl::make_unique<StunErrorCodeAttribute>(
+  return std::make_unique<StunErrorCodeAttribute>(
       STUN_ATTR_ERROR_CODE, StunErrorCodeAttribute::MIN_SIZE);
 }
 
 std::unique_ptr<StunUInt16ListAttribute>
 StunAttribute::CreateUnknownAttributes() {
-  return absl::make_unique<StunUInt16ListAttribute>(
-      STUN_ATTR_UNKNOWN_ATTRIBUTES, 0);
+  return std::make_unique<StunUInt16ListAttribute>(STUN_ATTR_UNKNOWN_ATTRIBUTES,
+                                                   0);
 }
 
 StunAddressAttribute::StunAddressAttribute(uint16_t type,
diff --git a/p2p/base/stun_request.cc b/p2p/base/stun_request.cc
index 44aa483..964b80f 100644
--- a/p2p/base/stun_request.cc
+++ b/p2p/base/stun_request.cc
@@ -14,7 +14,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/helpers.h"
 #include "rtc_base/logging.h"
@@ -204,8 +203,8 @@
 void StunRequest::Construct() {
   if (msg_->type() == 0) {
     if (!origin_.empty()) {
-      msg_->AddAttribute(absl::make_unique<StunByteStringAttribute>(
-          STUN_ATTR_ORIGIN, origin_));
+      msg_->AddAttribute(
+          std::make_unique<StunByteStringAttribute>(STUN_ATTR_ORIGIN, origin_));
     }
     Prepare(msg_);
     RTC_DCHECK(msg_->type() != 0);
diff --git a/p2p/base/stun_unittest.cc b/p2p/base/stun_unittest.cc
index b7d5f50..69f6f2d 100644
--- a/p2p/base/stun_unittest.cc
+++ b/p2p/base/stun_unittest.cc
@@ -12,10 +12,10 @@
 
 #include <string.h>
 
+#include <memory>
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/arraysize.h"
 #include "rtc_base/byte_buffer.h"
 #include "rtc_base/byte_order.h"
@@ -1118,7 +1118,7 @@
       std::string(reinterpret_cast<const char*>(kTestTransactionId1),
                   kStunTransactionIdLength));
   auto origin =
-      absl::make_unique<StunByteStringAttribute>(STUN_ATTR_ORIGIN, kTestOrigin);
+      std::make_unique<StunByteStringAttribute>(STUN_ATTR_ORIGIN, kTestOrigin);
   msg.AddAttribute(std::move(origin));
 
   rtc::ByteBufferWriter out;
diff --git a/p2p/base/test_turn_customizer.h b/p2p/base/test_turn_customizer.h
index ae8864a..415b13f 100644
--- a/p2p/base/test_turn_customizer.h
+++ b/p2p/base/test_turn_customizer.h
@@ -11,7 +11,8 @@
 #ifndef P2P_BASE_TEST_TURN_CUSTOMIZER_H_
 #define P2P_BASE_TEST_TURN_CUSTOMIZER_H_
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/turn_customizer.h"
 #include "rtc_base/gunit.h"
 
@@ -33,7 +34,7 @@
 
     ASSERT_NE(0, message->type());
     if (add_counter_) {
-      message->AddAttribute(absl::make_unique<cricket::StunUInt32Attribute>(
+      message->AddAttribute(std::make_unique<cricket::StunUInt32Attribute>(
           STUN_ATTR_COUNTER, modify_cnt_));
     }
     return;
diff --git a/p2p/base/transport_description_factory.cc b/p2p/base/transport_description_factory.cc
index 518a2ac..f417c5a 100644
--- a/p2p/base/transport_description_factory.cc
+++ b/p2p/base/transport_description_factory.cc
@@ -15,7 +15,6 @@
 #include <memory>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "p2p/base/transport_description.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/ssl_fingerprint.h"
@@ -31,7 +30,7 @@
     const TransportOptions& options,
     const TransportDescription* current_description,
     IceCredentialsIterator* ice_credentials) const {
-  auto desc = absl::make_unique<TransportDescription>();
+  auto desc = std::make_unique<TransportDescription>();
 
   // Generate the ICE credentials if we don't already have them.
   if (!current_description || options.ice_restart) {
@@ -74,7 +73,7 @@
     return NULL;
   }
 
-  auto desc = absl::make_unique<TransportDescription>();
+  auto desc = std::make_unique<TransportDescription>();
   // Generate the ICE credentials if we don't already have them or ice is
   // being restarted.
   if (!current_description || options.ice_restart) {
diff --git a/p2p/base/turn_port.cc b/p2p/base/turn_port.cc
index e86bf09..68535b7 100644
--- a/p2p/base/turn_port.cc
+++ b/p2p/base/turn_port.cc
@@ -11,11 +11,11 @@
 #include "p2p/base/turn_port.h"
 
 #include <functional>
+#include <memory>
 #include <utility>
 #include <vector>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "p2p/base/connection.h"
 #include "p2p/base/stun.h"
@@ -1107,12 +1107,12 @@
 void TurnPort::AddRequestAuthInfo(StunMessage* msg) {
   // If we've gotten the necessary data from the server, add it to our request.
   RTC_DCHECK(!hash_.empty());
-  msg->AddAttribute(absl::make_unique<StunByteStringAttribute>(
+  msg->AddAttribute(std::make_unique<StunByteStringAttribute>(
       STUN_ATTR_USERNAME, credentials_.username));
   msg->AddAttribute(
-      absl::make_unique<StunByteStringAttribute>(STUN_ATTR_REALM, realm_));
+      std::make_unique<StunByteStringAttribute>(STUN_ATTR_REALM, realm_));
   msg->AddAttribute(
-      absl::make_unique<StunByteStringAttribute>(STUN_ATTR_NONCE, nonce_));
+      std::make_unique<StunByteStringAttribute>(STUN_ATTR_NONCE, nonce_));
   const bool success = msg->AddMessageIntegrity(hash());
   RTC_DCHECK(success);
 }
@@ -1325,7 +1325,7 @@
 
 void TurnPort::MaybeAddTurnLoggingId(StunMessage* msg) {
   if (!turn_logging_id_.empty()) {
-    msg->AddAttribute(absl::make_unique<StunByteStringAttribute>(
+    msg->AddAttribute(std::make_unique<StunByteStringAttribute>(
         STUN_ATTR_TURN_LOGGING_ID, turn_logging_id_));
   }
 }
@@ -1527,7 +1527,7 @@
   request->SetType(TURN_REFRESH_REQUEST);
   if (lifetime_ > -1) {
     request->AddAttribute(
-        absl::make_unique<StunUInt32Attribute>(STUN_ATTR_LIFETIME, lifetime_));
+        std::make_unique<StunUInt32Attribute>(STUN_ATTR_LIFETIME, lifetime_));
   }
 
   port_->AddRequestAuthInfo(request);
@@ -1612,10 +1612,10 @@
 void TurnCreatePermissionRequest::Prepare(StunMessage* request) {
   // Create the request as indicated in RFC5766, Section 9.1.
   request->SetType(TURN_CREATE_PERMISSION_REQUEST);
-  request->AddAttribute(absl::make_unique<StunXorAddressAttribute>(
+  request->AddAttribute(std::make_unique<StunXorAddressAttribute>(
       STUN_ATTR_XOR_PEER_ADDRESS, ext_addr_));
   if (webrtc::field_trial::IsEnabled("WebRTC-TurnAddMultiMapping")) {
-    request->AddAttribute(absl::make_unique<cricket::StunByteStringAttribute>(
+    request->AddAttribute(std::make_unique<cricket::StunByteStringAttribute>(
         STUN_ATTR_MULTI_MAPPING, remote_ufrag_));
   }
   port_->AddRequestAuthInfo(request);
@@ -1684,9 +1684,9 @@
 void TurnChannelBindRequest::Prepare(StunMessage* request) {
   // Create the request as indicated in RFC5766, Section 11.1.
   request->SetType(TURN_CHANNEL_BIND_REQUEST);
-  request->AddAttribute(absl::make_unique<StunUInt32Attribute>(
+  request->AddAttribute(std::make_unique<StunUInt32Attribute>(
       STUN_ATTR_CHANNEL_NUMBER, channel_id_ << 16));
-  request->AddAttribute(absl::make_unique<StunXorAddressAttribute>(
+  request->AddAttribute(std::make_unique<StunXorAddressAttribute>(
       STUN_ATTR_XOR_PEER_ADDRESS, ext_addr_));
   port_->AddRequestAuthInfo(request);
   port_->TurnCustomizerMaybeModifyOutgoingStunMessage(request);
@@ -1780,10 +1780,10 @@
     TurnMessage msg;
     msg.SetType(TURN_SEND_INDICATION);
     msg.SetTransactionID(rtc::CreateRandomString(kStunTransactionIdLength));
-    msg.AddAttribute(absl::make_unique<StunXorAddressAttribute>(
+    msg.AddAttribute(std::make_unique<StunXorAddressAttribute>(
         STUN_ATTR_XOR_PEER_ADDRESS, ext_addr_));
     msg.AddAttribute(
-        absl::make_unique<StunByteStringAttribute>(STUN_ATTR_DATA, data, size));
+        std::make_unique<StunByteStringAttribute>(STUN_ATTR_DATA, data, size));
 
     port_->TurnCustomizerMaybeModifyOutgoingStunMessage(&msg);
 
diff --git a/p2p/base/turn_port_unittest.cc b/p2p/base/turn_port_unittest.cc
index 73dadb6..f9e0205 100644
--- a/p2p/base/turn_port_unittest.cc
+++ b/p2p/base/turn_port_unittest.cc
@@ -16,7 +16,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/units/time_delta.h"
 #include "p2p/base/basic_packet_socket_factory.h"
@@ -838,7 +837,7 @@
   CreateTurnPort(kTurnUsername, kTurnPassword, kTurnUdpProtoAddr);
   turn_port_->SetTurnLoggingId("KESO");
   turn_server_.server()->SetStunMessageObserver(
-      absl::make_unique<TurnLoggingIdValidator>("KESO"));
+      std::make_unique<TurnLoggingIdValidator>("KESO"));
   turn_port_->PrepareAddress();
   EXPECT_TRUE_SIMULATED_WAIT(turn_ready_, kSimulatedRtt * 2, fake_clock_);
   ASSERT_EQ(1U, turn_port_->Candidates().size());
@@ -850,7 +849,7 @@
 TEST_F(TurnPortTest, TestTurnAllocateWithoutLoggingId) {
   CreateTurnPort(kTurnUsername, kTurnPassword, kTurnUdpProtoAddr);
   turn_server_.server()->SetStunMessageObserver(
-      absl::make_unique<TurnLoggingIdValidator>(nullptr));
+      std::make_unique<TurnLoggingIdValidator>(nullptr));
   turn_port_->PrepareAddress();
   EXPECT_TRUE_SIMULATED_WAIT(turn_ready_, kSimulatedRtt * 2, fake_clock_);
   ASSERT_EQ(1U, turn_port_->Candidates().size());
diff --git a/p2p/base/turn_server.cc b/p2p/base/turn_server.cc
index 2892d75..3869213 100644
--- a/p2p/base/turn_server.cc
+++ b/p2p/base/turn_server.cc
@@ -10,11 +10,11 @@
 
 #include "p2p/base/turn_server.h"
 
+#include <memory>
 #include <tuple>  // for std::tie
 #include <utility>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "api/packet_socket_factory.h"
 #include "p2p/base/async_stun_tcp_socket.h"
 #include "p2p/base/stun.h"
@@ -116,7 +116,7 @@
     return false;
   resp->SetType(resp_type);
   resp->SetTransactionID(req->transaction_id());
-  resp->AddAttribute(absl::make_unique<cricket::StunErrorCodeAttribute>(
+  resp->AddAttribute(std::make_unique<cricket::StunErrorCodeAttribute>(
       STUN_ATTR_ERROR_CODE, code, reason));
   return true;
 }
@@ -375,7 +375,7 @@
   InitResponse(req, &response);
 
   // Tell the user the address that we received their request from.
-  auto mapped_addr_attr = absl::make_unique<StunXorAddressAttribute>(
+  auto mapped_addr_attr = std::make_unique<StunXorAddressAttribute>(
       STUN_ATTR_XOR_MAPPED_ADDRESS, conn->src());
   response.AddAttribute(std::move(mapped_addr_attr));
 
@@ -503,10 +503,10 @@
     timestamp = ts_for_next_nonce_;
     ts_for_next_nonce_ = 0;
   }
-  resp.AddAttribute(absl::make_unique<StunByteStringAttribute>(
+  resp.AddAttribute(std::make_unique<StunByteStringAttribute>(
       STUN_ATTR_NONCE, GenerateNonce(timestamp)));
   resp.AddAttribute(
-      absl::make_unique<StunByteStringAttribute>(STUN_ATTR_REALM, realm_));
+      std::make_unique<StunByteStringAttribute>(STUN_ATTR_REALM, realm_));
   SendStun(conn, &resp);
 }
 
@@ -518,8 +518,8 @@
   TurnMessage resp;
   InitErrorResponse(msg, STUN_ERROR_TRY_ALTERNATE,
                     STUN_ERROR_REASON_TRY_ALTERNATE_SERVER, &resp);
-  resp.AddAttribute(absl::make_unique<StunAddressAttribute>(
-      STUN_ATTR_ALTERNATE_SERVER, addr));
+  resp.AddAttribute(
+      std::make_unique<StunAddressAttribute>(STUN_ATTR_ALTERNATE_SERVER, addr));
   SendStun(conn, &resp);
 }
 
@@ -528,7 +528,7 @@
   rtc::ByteBufferWriter buf;
   // Add a SOFTWARE attribute if one is set.
   if (!software_.empty()) {
-    msg->AddAttribute(absl::make_unique<StunByteStringAttribute>(
+    msg->AddAttribute(std::make_unique<StunByteStringAttribute>(
         STUN_ATTR_SOFTWARE, software_));
   }
   msg->Write(&buf);
@@ -691,12 +691,12 @@
   TurnMessage response;
   InitResponse(msg, &response);
 
-  auto mapped_addr_attr = absl::make_unique<StunXorAddressAttribute>(
+  auto mapped_addr_attr = std::make_unique<StunXorAddressAttribute>(
       STUN_ATTR_XOR_MAPPED_ADDRESS, conn_.src());
-  auto relayed_addr_attr = absl::make_unique<StunXorAddressAttribute>(
+  auto relayed_addr_attr = std::make_unique<StunXorAddressAttribute>(
       STUN_ATTR_XOR_RELAYED_ADDRESS, external_socket_->GetLocalAddress());
   auto lifetime_attr =
-      absl::make_unique<StunUInt32Attribute>(STUN_ATTR_LIFETIME, lifetime_secs);
+      std::make_unique<StunUInt32Attribute>(STUN_ATTR_LIFETIME, lifetime_secs);
   response.AddAttribute(std::move(mapped_addr_attr));
   response.AddAttribute(std::move(relayed_addr_attr));
   response.AddAttribute(std::move(lifetime_attr));
@@ -721,7 +721,7 @@
   InitResponse(msg, &response);
 
   auto lifetime_attr =
-      absl::make_unique<StunUInt32Attribute>(STUN_ATTR_LIFETIME, lifetime_secs);
+      std::make_unique<StunUInt32Attribute>(STUN_ATTR_LIFETIME, lifetime_secs);
   response.AddAttribute(std::move(lifetime_attr));
 
   SendResponse(&response);
@@ -862,10 +862,10 @@
     TurnMessage msg;
     msg.SetType(TURN_DATA_INDICATION);
     msg.SetTransactionID(rtc::CreateRandomString(kStunTransactionIdLength));
-    msg.AddAttribute(absl::make_unique<StunXorAddressAttribute>(
+    msg.AddAttribute(std::make_unique<StunXorAddressAttribute>(
         STUN_ATTR_XOR_PEER_ADDRESS, addr));
     msg.AddAttribute(
-        absl::make_unique<StunByteStringAttribute>(STUN_ATTR_DATA, data, size));
+        std::make_unique<StunByteStringAttribute>(STUN_ATTR_DATA, data, size));
     server_->SendStun(&conn_, &msg);
   } else {
     RTC_LOG(LS_WARNING)
diff --git a/p2p/client/basic_port_allocator_unittest.cc b/p2p/client/basic_port_allocator_unittest.cc
index 86544c8..4b7c084 100644
--- a/p2p/client/basic_port_allocator_unittest.cc
+++ b/p2p/client/basic_port_allocator_unittest.cc
@@ -14,7 +14,6 @@
 #include <ostream>  // no-presubmit-check TODO(webrtc:8982)
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "p2p/base/basic_packet_socket_factory.h"
 #include "p2p/base/p2p_constants.h"
 #include "p2p/base/stun_port.h"
@@ -2399,7 +2398,7 @@
 
   ASSERT_EQ(&network_manager_, allocator().network_manager());
   network_manager_.set_mdns_responder(
-      absl::make_unique<webrtc::FakeMdnsResponder>(rtc::Thread::Current()));
+      std::make_unique<webrtc::FakeMdnsResponder>(rtc::Thread::Current()));
   AddInterface(kClientAddr);
   ASSERT_TRUE(CreateSession(ICE_CANDIDATE_COMPONENT_RTP));
   session_->StartGettingPorts();
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index 4434139..fb9bf27 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -260,7 +260,6 @@
     "../system_wrappers:field_trial",
     "../system_wrappers:metrics",
     "//third_party/abseil-cpp/absl/algorithm:container",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
@@ -387,7 +386,6 @@
       "../system_wrappers",
       "../test:perf_test",
       "../test:test_support",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
   }
@@ -482,7 +480,6 @@
       "../rtc_base/third_party/sigslot",
       "../test:test_support",
       "../test:video_test_common",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
   }
diff --git a/pc/channel_manager.cc b/pc/channel_manager.cc
index 0023a2f..ce8f473 100644
--- a/pc/channel_manager.cc
+++ b/pc/channel_manager.cc
@@ -187,7 +187,7 @@
     return nullptr;
   }
 
-  auto voice_channel = absl::make_unique<VoiceChannel>(
+  auto voice_channel = std::make_unique<VoiceChannel>(
       worker_thread_, network_thread_, signaling_thread,
       absl::WrapUnique(media_channel), content_name, srtp_required,
       crypto_options, ssrc_generator);
@@ -259,7 +259,7 @@
     return nullptr;
   }
 
-  auto video_channel = absl::make_unique<VideoChannel>(
+  auto video_channel = std::make_unique<VideoChannel>(
       worker_thread_, network_thread_, signaling_thread,
       absl::WrapUnique(media_channel), content_name, srtp_required,
       crypto_options, ssrc_generator);
@@ -320,7 +320,7 @@
     return nullptr;
   }
 
-  auto data_channel = absl::make_unique<RtpDataChannel>(
+  auto data_channel = std::make_unique<RtpDataChannel>(
       worker_thread_, network_thread_, signaling_thread,
       absl::WrapUnique(media_channel), content_name, srtp_required,
       crypto_options, ssrc_generator);
diff --git a/pc/channel_manager_unittest.cc b/pc/channel_manager_unittest.cc
index e88b09c..ab3b88b 100644
--- a/pc/channel_manager_unittest.cc
+++ b/pc/channel_manager_unittest.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/rtc_error.h"
 #include "api/test/fake_media_transport.h"
 #include "api/transport/media/media_transport_config.h"
@@ -66,9 +65,9 @@
   }
 
   std::unique_ptr<webrtc::RtpTransportInternal> CreateDtlsSrtpTransport() {
-    rtp_dtls_transport_ = absl::make_unique<FakeDtlsTransport>(
+    rtp_dtls_transport_ = std::make_unique<FakeDtlsTransport>(
         "fake_dtls_transport", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-    auto dtls_srtp_transport = absl::make_unique<webrtc::DtlsSrtpTransport>(
+    auto dtls_srtp_transport = std::make_unique<webrtc::DtlsSrtpTransport>(
         /*rtcp_mux_required=*/true);
     dtls_srtp_transport->SetDtlsTransports(rtp_dtls_transport_.get(),
                                            /*rtcp_dtls_transport=*/nullptr);
diff --git a/pc/channel_unittest.cc b/pc/channel_unittest.cc
index 5b388ea..efc1d59 100644
--- a/pc/channel_unittest.cc
+++ b/pc/channel_unittest.cc
@@ -14,7 +14,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/array_view.h"
 #include "api/audio_options.h"
 #include "api/rtp_parameters.h"
@@ -132,9 +131,9 @@
   }
 
   void CreateChannels(int flags1, int flags2) {
-    CreateChannels(absl::make_unique<typename T::MediaChannel>(
+    CreateChannels(std::make_unique<typename T::MediaChannel>(
                        nullptr, typename T::Options()),
-                   absl::make_unique<typename T::MediaChannel>(
+                   std::make_unique<typename T::MediaChannel>(
                        nullptr, typename T::Options()),
                    flags1, flags2);
   }
@@ -262,7 +261,7 @@
       webrtc::RtpTransportInternal* rtp_transport,
       int flags) {
     rtc::Thread* signaling_thread = rtc::Thread::Current();
-    auto channel = absl::make_unique<typename T::Channel>(
+    auto channel = std::make_unique<typename T::Channel>(
         worker_thread, network_thread, signaling_thread, std::move(ch),
         cricket::CN_AUDIO, (flags & DTLS) != 0, webrtc::CryptoOptions(),
         &ssrc_generator_);
@@ -297,7 +296,7 @@
   std::unique_ptr<webrtc::RtpTransport> CreateUnencryptedTransport(
       rtc::PacketTransportInternal* rtp_packet_transport,
       rtc::PacketTransportInternal* rtcp_packet_transport) {
-    auto rtp_transport = absl::make_unique<webrtc::RtpTransport>(
+    auto rtp_transport = std::make_unique<webrtc::RtpTransport>(
         rtcp_packet_transport == nullptr);
 
     rtp_transport->SetRtpPacketTransport(rtp_packet_transport);
@@ -310,7 +309,7 @@
   std::unique_ptr<webrtc::DtlsSrtpTransport> CreateDtlsSrtpTransport(
       cricket::DtlsTransportInternal* rtp_dtls_transport,
       cricket::DtlsTransportInternal* rtcp_dtls_transport) {
-    auto dtls_srtp_transport = absl::make_unique<webrtc::DtlsSrtpTransport>(
+    auto dtls_srtp_transport = std::make_unique<webrtc::DtlsSrtpTransport>(
         rtcp_dtls_transport == nullptr);
 
     dtls_srtp_transport->SetDtlsTransports(rtp_dtls_transport,
@@ -959,8 +958,8 @@
         T::MediaChannel::SendRtcp(kRtcpReport, sizeof(kRtcpReport));
       }
     };
-    CreateChannels(absl::make_unique<LastWordMediaChannel>(),
-                   absl::make_unique<LastWordMediaChannel>(), RTCP_MUX,
+    CreateChannels(std::make_unique<LastWordMediaChannel>(),
+                   std::make_unique<LastWordMediaChannel>(), RTCP_MUX,
                    RTCP_MUX);
     EXPECT_TRUE(SendInitiate());
     EXPECT_TRUE(SendAccept());
@@ -1621,7 +1620,7 @@
     webrtc::RtpTransportInternal* rtp_transport,
     int flags) {
   rtc::Thread* signaling_thread = rtc::Thread::Current();
-  auto channel = absl::make_unique<cricket::VideoChannel>(
+  auto channel = std::make_unique<cricket::VideoChannel>(
       worker_thread, network_thread, signaling_thread, std::move(ch),
       cricket::CN_VIDEO, (flags & DTLS) != 0, webrtc::CryptoOptions(),
       &ssrc_generator_);
@@ -2440,7 +2439,7 @@
     webrtc::RtpTransportInternal* rtp_transport,
     int flags) {
   rtc::Thread* signaling_thread = rtc::Thread::Current();
-  auto channel = absl::make_unique<cricket::RtpDataChannel>(
+  auto channel = std::make_unique<cricket::RtpDataChannel>(
       worker_thread, network_thread, signaling_thread, std::move(ch),
       cricket::CN_DATA, (flags & DTLS) != 0, webrtc::CryptoOptions(),
       &ssrc_generator_);
diff --git a/pc/composite_rtp_transport_test.cc b/pc/composite_rtp_transport_test.cc
index 77512d9..0248084 100644
--- a/pc/composite_rtp_transport_test.cc
+++ b/pc/composite_rtp_transport_test.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
 #include "p2p/base/fake_packet_transport.h"
 #include "pc/rtp_transport.h"
@@ -34,17 +33,17 @@
  public:
   CompositeRtpTransportTest()
       : packet_transport_1_(
-            absl::make_unique<rtc::FakePacketTransport>(kTransportName)),
+            std::make_unique<rtc::FakePacketTransport>(kTransportName)),
         packet_transport_2_(
-            absl::make_unique<rtc::FakePacketTransport>(kTransportName)),
+            std::make_unique<rtc::FakePacketTransport>(kTransportName)),
         rtcp_transport_1_(
-            absl::make_unique<rtc::FakePacketTransport>(kRtcpTransportName)),
+            std::make_unique<rtc::FakePacketTransport>(kRtcpTransportName)),
         rtcp_transport_2_(
-            absl::make_unique<rtc::FakePacketTransport>(kRtcpTransportName)) {}
+            std::make_unique<rtc::FakePacketTransport>(kRtcpTransportName)) {}
 
   void SetupRtpTransports(bool rtcp_mux) {
-    transport_1_ = absl::make_unique<RtpTransport>(rtcp_mux);
-    transport_2_ = absl::make_unique<RtpTransport>(rtcp_mux);
+    transport_1_ = std::make_unique<RtpTransport>(rtcp_mux);
+    transport_2_ = std::make_unique<RtpTransport>(rtcp_mux);
 
     transport_1_->SetRtpPacketTransport(packet_transport_1_.get());
     transport_2_->SetRtpPacketTransport(packet_transport_2_.get());
@@ -53,7 +52,7 @@
       transport_2_->SetRtcpPacketTransport(rtcp_transport_2_.get());
     }
 
-    composite_ = absl::make_unique<CompositeRtpTransport>(
+    composite_ = std::make_unique<CompositeRtpTransport>(
         std::vector<RtpTransportInternal*>{transport_1_.get(),
                                            transport_2_.get()});
 
diff --git a/pc/data_channel.cc b/pc/data_channel.cc
index 586520b..c5a8aeb 100644
--- a/pc/data_channel.cc
+++ b/pc/data_channel.cc
@@ -14,7 +14,6 @@
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "media/sctp/sctp_transport_internal.h"
 #include "pc/sctp_utils.h"
 #include "rtc_base/checks.h"
@@ -426,7 +425,7 @@
   }
 
   bool binary = (params.type == cricket::DMT_BINARY);
-  auto buffer = absl::make_unique<DataBuffer>(payload, binary);
+  auto buffer = std::make_unique<DataBuffer>(payload, binary);
   if (state_ == kOpen && observer_) {
     ++messages_received_;
     bytes_received_ += buffer->size();
@@ -663,7 +662,7 @@
     RTC_LOG(LS_ERROR) << "Can't buffer any more data for the data channel.";
     return false;
   }
-  queued_send_data_.PushBack(absl::make_unique<DataBuffer>(buffer));
+  queued_send_data_.PushBack(std::make_unique<DataBuffer>(buffer));
   return true;
 }
 
@@ -678,7 +677,7 @@
 }
 
 void DataChannel::QueueControlMessage(const rtc::CopyOnWriteBuffer& buffer) {
-  queued_control_data_.PushBack(absl::make_unique<DataBuffer>(buffer, true));
+  queued_control_data_.PushBack(std::make_unique<DataBuffer>(buffer, true));
 }
 
 bool DataChannel::SendControlMessage(const rtc::CopyOnWriteBuffer& buffer) {
diff --git a/pc/dtls_srtp_transport_unittest.cc b/pc/dtls_srtp_transport_unittest.cc
index 38d0458..770c140 100644
--- a/pc/dtls_srtp_transport_unittest.cc
+++ b/pc/dtls_srtp_transport_unittest.cc
@@ -16,7 +16,6 @@
 #include <memory>
 #include <set>
 
-#include "absl/memory/memory.h"
 #include "call/rtp_demuxer.h"
 #include "media/base/fake_rtp.h"
 #include "p2p/base/dtls_transport_internal.h"
@@ -59,7 +58,7 @@
       FakeDtlsTransport* rtcp_dtls,
       bool rtcp_mux_enabled) {
     auto dtls_srtp_transport =
-        absl::make_unique<DtlsSrtpTransport>(rtcp_mux_enabled);
+        std::make_unique<DtlsSrtpTransport>(rtcp_mux_enabled);
 
     dtls_srtp_transport->SetDtlsTransports(rtp_dtls, rtcp_dtls);
 
@@ -261,17 +260,17 @@
 // Tests that if RTCP muxing is enabled and transports are set after RTP
 // transport finished the handshake, SRTP is set up.
 TEST_F(DtlsSrtpTransportTest, SetTransportsAfterHandshakeCompleteWithRtcpMux) {
-  auto rtp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "video", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "video", cricket::ICE_CANDIDATE_COMPONENT_RTP);
 
   MakeDtlsSrtpTransports(rtp_dtls1.get(), nullptr, rtp_dtls2.get(), nullptr,
                          /*rtcp_mux_enabled=*/true);
 
-  auto rtp_dtls3 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls3 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtp_dtls4 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls4 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
 
   CompleteDtlsHandshake(rtp_dtls3.get(), rtp_dtls4.get());
@@ -286,25 +285,25 @@
 // RTP and RTCP transports finished the handshake, SRTP is set up.
 TEST_F(DtlsSrtpTransportTest,
        SetTransportsAfterHandshakeCompleteWithoutRtcpMux) {
-  auto rtp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "video", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "video", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
-  auto rtp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "video", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "video", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
 
   MakeDtlsSrtpTransports(rtp_dtls1.get(), rtcp_dtls1.get(), rtp_dtls2.get(),
                          rtcp_dtls2.get(), /*rtcp_mux_enabled=*/false);
 
-  auto rtp_dtls3 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls3 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls3 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls3 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
-  auto rtp_dtls4 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls4 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls4 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls4 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
   CompleteDtlsHandshake(rtp_dtls3.get(), rtp_dtls4.get());
   CompleteDtlsHandshake(rtcp_dtls3.get(), rtcp_dtls4.get());
@@ -318,13 +317,13 @@
 // Tests if RTCP muxing is enabled, SRTP is set up as soon as the RTP DTLS
 // handshake is finished.
 TEST_F(DtlsSrtpTransportTest, SetTransportsBeforeHandshakeCompleteWithRtcpMux) {
-  auto rtp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
-  auto rtp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
 
   MakeDtlsSrtpTransports(rtp_dtls1.get(), rtcp_dtls1.get(), rtp_dtls2.get(),
@@ -341,13 +340,13 @@
 // RTCP DTLS handshake are finished.
 TEST_F(DtlsSrtpTransportTest,
        SetTransportsBeforeHandshakeCompleteWithoutRtcpMux) {
-  auto rtp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
-  auto rtp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
 
   MakeDtlsSrtpTransports(rtp_dtls1.get(), rtcp_dtls1.get(), rtp_dtls2.get(),
@@ -364,9 +363,9 @@
 // context will be reset and will be re-setup once the new transports' handshake
 // complete.
 TEST_F(DtlsSrtpTransportTest, DtlsSrtpResetAfterDtlsTransportChange) {
-  auto rtp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
 
   MakeDtlsSrtpTransports(rtp_dtls1.get(), nullptr, rtp_dtls2.get(), nullptr,
@@ -376,9 +375,9 @@
   EXPECT_TRUE(dtls_srtp_transport1_->IsSrtpActive());
   EXPECT_TRUE(dtls_srtp_transport2_->IsSrtpActive());
 
-  auto rtp_dtls3 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls3 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtp_dtls4 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls4 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
 
   // The previous context is reset.
@@ -396,13 +395,13 @@
 // enabled, SRTP is set up.
 TEST_F(DtlsSrtpTransportTest,
        RtcpMuxEnabledAfterRtpTransportHandshakeComplete) {
-  auto rtp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
-  auto rtp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
 
   MakeDtlsSrtpTransports(rtp_dtls1.get(), rtcp_dtls1.get(), rtp_dtls2.get(),
@@ -423,9 +422,9 @@
 // Tests that when SetSend/RecvEncryptedHeaderExtensionIds is called, the SRTP
 // sessions are updated with new encryped header extension IDs immediately.
 TEST_F(DtlsSrtpTransportTest, EncryptedHeaderExtensionIdUpdated) {
-  auto rtp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
 
   MakeDtlsSrtpTransports(rtp_dtls1.get(), nullptr, rtp_dtls2.get(), nullptr,
@@ -449,9 +448,9 @@
 // Tests if RTCP muxing is enabled. DtlsSrtpTransport is ready to send once the
 // RTP DtlsTransport is ready.
 TEST_F(DtlsSrtpTransportTest, SignalReadyToSendFiredWithRtcpMux) {
-  auto rtp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
 
   MakeDtlsSrtpTransports(rtp_dtls1.get(), nullptr, rtp_dtls2.get(), nullptr,
@@ -465,13 +464,13 @@
 // Tests if RTCP muxing is not enabled. DtlsSrtpTransport is ready to send once
 // both the RTP and RTCP DtlsTransport are ready.
 TEST_F(DtlsSrtpTransportTest, SignalReadyToSendFiredWithoutRtcpMux) {
-  auto rtp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
-  auto rtp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
 
   MakeDtlsSrtpTransports(rtp_dtls1.get(), rtcp_dtls1.get(), rtp_dtls2.get(),
@@ -492,13 +491,13 @@
 // when attempting to unprotect packets.
 // Regression test for bugs.webrtc.org/8996
 TEST_F(DtlsSrtpTransportTest, SrtpSessionNotResetWhenRtcpTransportRemoved) {
-  auto rtp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
-  auto rtp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
 
   MakeDtlsSrtpTransports(rtp_dtls1.get(), rtcp_dtls1.get(), rtp_dtls2.get(),
@@ -521,13 +520,13 @@
 // Tests that RTCP packets can be sent and received if both sides actively reset
 // the SRTP parameters with the |active_reset_srtp_params_| flag.
 TEST_F(DtlsSrtpTransportTest, ActivelyResetSrtpParams) {
-  auto rtp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls1 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls1 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
-  auto rtp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
-  auto rtcp_dtls2 = absl::make_unique<FakeDtlsTransport>(
+  auto rtcp_dtls2 = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTCP);
 
   MakeDtlsSrtpTransports(rtp_dtls1.get(), rtcp_dtls1.get(), rtp_dtls2.get(),
diff --git a/pc/dtls_transport_unittest.cc b/pc/dtls_transport_unittest.cc
index c97c419..f7d7a88 100644
--- a/pc/dtls_transport_unittest.cc
+++ b/pc/dtls_transport_unittest.cc
@@ -56,7 +56,7 @@
   DtlsTransportObserverInterface* observer() { return &observer_; }
 
   void CreateTransport(rtc::FakeSSLCertificate* certificate = nullptr) {
-    auto cricket_transport = absl::make_unique<FakeDtlsTransport>(
+    auto cricket_transport = std::make_unique<FakeDtlsTransport>(
         "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
     if (certificate) {
       cricket_transport->SetRemoteSSLCertificate(certificate);
@@ -68,7 +68,7 @@
 
   void CompleteDtlsHandshake() {
     auto fake_dtls1 = static_cast<FakeDtlsTransport*>(transport_->internal());
-    auto fake_dtls2 = absl::make_unique<FakeDtlsTransport>(
+    auto fake_dtls2 = std::make_unique<FakeDtlsTransport>(
         "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
     auto cert1 = rtc::RTCCertificate::Create(absl::WrapUnique(
         rtc::SSLIdentity::Generate("session1", rtc::KT_DEFAULT)));
@@ -84,7 +84,7 @@
 };
 
 TEST_F(DtlsTransportTest, CreateClearDelete) {
-  auto cricket_transport = absl::make_unique<FakeDtlsTransport>(
+  auto cricket_transport = std::make_unique<FakeDtlsTransport>(
       "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
   rtc::scoped_refptr<DtlsTransport> webrtc_transport =
       new rtc::RefCountedObject<DtlsTransport>(std::move(cricket_transport));
diff --git a/pc/ice_transport_unittest.cc b/pc/ice_transport_unittest.cc
index a801bba..3711a86 100644
--- a/pc/ice_transport_unittest.cc
+++ b/pc/ice_transport_unittest.cc
@@ -14,7 +14,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/ice_transport_factory.h"
 #include "p2p/base/fake_ice_transport.h"
 #include "p2p/base/fake_port_allocator.h"
@@ -28,7 +27,7 @@
 
 TEST_F(IceTransportTest, CreateNonSelfDeletingTransport) {
   auto cricket_transport =
-      absl::make_unique<cricket::FakeIceTransport>("name", 0, nullptr);
+      std::make_unique<cricket::FakeIceTransport>("name", 0, nullptr);
   rtc::scoped_refptr<IceTransportWithPointer> ice_transport =
       new rtc::RefCountedObject<IceTransportWithPointer>(
           cricket_transport.get());
@@ -39,7 +38,7 @@
 
 TEST_F(IceTransportTest, CreateSelfDeletingTransport) {
   std::unique_ptr<cricket::FakePortAllocator> port_allocator(
-      absl::make_unique<cricket::FakePortAllocator>(nullptr, nullptr));
+      std::make_unique<cricket::FakePortAllocator>(nullptr, nullptr));
   IceTransportInit init;
   init.set_port_allocator(port_allocator.get());
   auto ice_transport = CreateIceTransport(std::move(init));
diff --git a/pc/jsep_ice_candidate.cc b/pc/jsep_ice_candidate.cc
index c9dc9c1..4e45421 100644
--- a/pc/jsep_ice_candidate.cc
+++ b/pc/jsep_ice_candidate.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "pc/webrtc_sdp.h"
 
 namespace webrtc {
@@ -33,8 +32,8 @@
     const std::string& sdp_mid,
     int sdp_mline_index,
     const cricket::Candidate& candidate) {
-  return absl::make_unique<JsepIceCandidate>(sdp_mid, sdp_mline_index,
-                                             candidate);
+  return std::make_unique<JsepIceCandidate>(sdp_mid, sdp_mline_index,
+                                            candidate);
 }
 
 JsepIceCandidate::JsepIceCandidate(const std::string& sdp_mid,
diff --git a/pc/jsep_session_description.cc b/pc/jsep_session_description.cc
index 4c04531..cc544dc 100644
--- a/pc/jsep_session_description.cc
+++ b/pc/jsep_session_description.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "p2p/base/port.h"
 #include "pc/media_session.h"
 #include "pc/webrtc_sdp.h"
@@ -152,7 +151,7 @@
     SdpType type,
     const std::string& sdp,
     SdpParseError* error_out) {
-  auto jsep_desc = absl::make_unique<JsepSessionDescription>(type);
+  auto jsep_desc = std::make_unique<JsepSessionDescription>(type);
   if (!SdpDeserialize(sdp, jsep_desc.get(), error_out)) {
     return nullptr;
   }
@@ -164,7 +163,7 @@
     const std::string& session_id,
     const std::string& session_version,
     std::unique_ptr<cricket::SessionDescription> description) {
-  auto jsep_description = absl::make_unique<JsepSessionDescription>(type);
+  auto jsep_description = std::make_unique<JsepSessionDescription>(type);
   bool initialize_success = jsep_description->Initialize(
       std::move(description), session_id, session_version);
   RTC_DCHECK(initialize_success);
diff --git a/pc/jsep_session_description_unittest.cc b/pc/jsep_session_description_unittest.cc
index ef86ef4..8caac94 100644
--- a/pc/jsep_session_description_unittest.cc
+++ b/pc/jsep_session_description_unittest.cc
@@ -18,7 +18,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/candidate.h"
 #include "api/jsep.h"
 #include "api/jsep_ice_candidate.h"
@@ -57,12 +56,12 @@
 // In SDP this is described by two m lines, one audio and one video.
 static std::unique_ptr<cricket::SessionDescription>
 CreateCricketSessionDescription() {
-  auto desc = absl::make_unique<cricket::SessionDescription>();
+  auto desc = std::make_unique<cricket::SessionDescription>();
 
   // AudioContentDescription
-  auto audio = absl::make_unique<cricket::AudioContentDescription>();
+  auto audio = std::make_unique<cricket::AudioContentDescription>();
   // VideoContentDescription
-  auto video = absl::make_unique<cricket::VideoContentDescription>();
+  auto video = std::make_unique<cricket::VideoContentDescription>();
 
   audio->AddCodec(cricket::AudioCodec(103, "ISAC", 16000, 0, 0));
   desc->AddContent(cricket::CN_AUDIO, MediaProtocolType::kRtp,
@@ -95,7 +94,7 @@
     candidate_ = candidate;
     const std::string session_id = rtc::ToString(rtc::CreateRandomId64());
     const std::string session_version = rtc::ToString(rtc::CreateRandomId());
-    jsep_desc_ = absl::make_unique<JsepSessionDescription>(SdpType::kOffer);
+    jsep_desc_ = std::make_unique<JsepSessionDescription>(SdpType::kOffer);
     ASSERT_TRUE(jsep_desc_->Initialize(CreateCricketSessionDescription(),
                                        session_id, session_version));
   }
@@ -109,7 +108,7 @@
 
   std::unique_ptr<SessionDescriptionInterface> DeSerialize(
       const std::string& sdp) {
-    auto jsep_desc = absl::make_unique<JsepSessionDescription>(SdpType::kOffer);
+    auto jsep_desc = std::make_unique<JsepSessionDescription>(SdpType::kOffer);
     EXPECT_TRUE(webrtc::SdpDeserialize(sdp, jsep_desc.get(), nullptr));
     return std::move(jsep_desc);
   }
diff --git a/pc/jsep_transport.cc b/pc/jsep_transport.cc
index 5777873..22f4f8d 100644
--- a/pc/jsep_transport.cc
+++ b/pc/jsep_transport.cc
@@ -17,7 +17,6 @@
 #include <type_traits>
 #include <utility>  // for std::pair
 
-#include "absl/memory/memory.h"
 #include "api/array_view.h"
 #include "api/candidate.h"
 #include "p2p/base/p2p_constants.h"
@@ -145,7 +144,7 @@
   }
 
   if (datagram_rtp_transport_ && default_rtp_transport()) {
-    composite_rtp_transport_ = absl::make_unique<webrtc::CompositeRtpTransport>(
+    composite_rtp_transport_ = std::make_unique<webrtc::CompositeRtpTransport>(
         std::vector<webrtc::RtpTransportInternal*>{
             datagram_rtp_transport_.get(), default_rtp_transport()});
   }
@@ -606,7 +605,7 @@
   rtc::SSLFingerprint* remote_fp =
       remote_description_->transport_desc.identity_fingerprint.get();
   if (remote_fp && local_fp) {
-    remote_fingerprint = absl::make_unique<rtc::SSLFingerprint>(*remote_fp);
+    remote_fingerprint = std::make_unique<rtc::SSLFingerprint>(*remote_fp);
     webrtc::RTCError error =
         NegotiateDtlsRole(local_description_type,
                           local_description_->transport_desc.connection_role,
@@ -621,7 +620,7 @@
         "Local fingerprint supplied when caller didn't offer DTLS.");
   } else {
     // We are not doing DTLS
-    remote_fingerprint = absl::make_unique<rtc::SSLFingerprint>(
+    remote_fingerprint = std::make_unique<rtc::SSLFingerprint>(
         "", rtc::ArrayView<const uint8_t>());
   }
   // Now that we have negotiated everything, push it downward.
diff --git a/pc/jsep_transport_controller.cc b/pc/jsep_transport_controller.cc
index 10250ce..4f70009 100644
--- a/pc/jsep_transport_controller.cc
+++ b/pc/jsep_transport_controller.cc
@@ -14,7 +14,6 @@
 #include <utility>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "api/transport/datagram_transport_interface.h"
 #include "api/transport/media/media_transport_interface.h"
 #include "p2p/base/ice_transport_internal.h"
@@ -476,7 +475,7 @@
     return config_.external_transport_factory->CreateIceTransport(
         transport_name, component);
   } else {
-    return absl::make_unique<cricket::P2PTransportChannel>(
+    return std::make_unique<cricket::P2PTransportChannel>(
         transport_name, component, port_allocator_, async_resolver_factory_,
         config_.event_log);
   }
@@ -500,14 +499,14 @@
     // If media transport is used for both media and data channels,
     // then we don't need to create DTLS.
     // Otherwise, DTLS is still created.
-    dtls = absl::make_unique<cricket::NoOpDtlsTransport>(
-        ice, config_.crypto_options);
+    dtls = std::make_unique<cricket::NoOpDtlsTransport>(ice,
+                                                        config_.crypto_options);
   } else if (config_.external_transport_factory) {
     dtls = config_.external_transport_factory->CreateDtlsTransport(
         ice, config_.crypto_options);
   } else {
-    dtls = absl::make_unique<cricket::DtlsTransport>(
-        ice, config_.crypto_options, config_.event_log);
+    dtls = std::make_unique<cricket::DtlsTransport>(ice, config_.crypto_options,
+                                                    config_.event_log);
   }
 
   RTC_DCHECK(dtls);
@@ -553,7 +552,7 @@
     rtc::PacketTransportInternal* rtcp_packet_transport) {
   RTC_DCHECK(network_thread_->IsCurrent());
   auto unencrypted_rtp_transport =
-      absl::make_unique<RtpTransport>(rtcp_packet_transport == nullptr);
+      std::make_unique<RtpTransport>(rtcp_packet_transport == nullptr);
   unencrypted_rtp_transport->SetRtpPacketTransport(rtp_packet_transport);
   if (rtcp_packet_transport) {
     unencrypted_rtp_transport->SetRtcpPacketTransport(rtcp_packet_transport);
@@ -568,7 +567,7 @@
     cricket::DtlsTransportInternal* rtcp_dtls_transport) {
   RTC_DCHECK(network_thread_->IsCurrent());
   auto srtp_transport =
-      absl::make_unique<webrtc::SrtpTransport>(rtcp_dtls_transport == nullptr);
+      std::make_unique<webrtc::SrtpTransport>(rtcp_dtls_transport == nullptr);
   RTC_DCHECK(rtp_dtls_transport);
   srtp_transport->SetRtpPacketTransport(rtp_dtls_transport);
   if (rtcp_dtls_transport) {
@@ -586,7 +585,7 @@
     cricket::DtlsTransportInternal* rtp_dtls_transport,
     cricket::DtlsTransportInternal* rtcp_dtls_transport) {
   RTC_DCHECK(network_thread_->IsCurrent());
-  auto dtls_srtp_transport = absl::make_unique<webrtc::DtlsSrtpTransport>(
+  auto dtls_srtp_transport = std::make_unique<webrtc::DtlsSrtpTransport>(
       rtcp_dtls_transport == nullptr);
   if (config_.enable_external_auth) {
     dtls_srtp_transport->EnableExternalAuth();
@@ -1209,7 +1208,7 @@
     RTC_LOG(LS_INFO) << "Creating UnencryptedRtpTransport, because datagram "
                         "transport is used.";
     RTC_DCHECK(!rtcp_dtls_transport);
-    datagram_rtp_transport = absl::make_unique<DatagramRtpTransport>(
+    datagram_rtp_transport = std::make_unique<DatagramRtpTransport>(
         content_info.media_description()->rtp_header_extensions(), ice.get(),
         datagram_transport.get());
   }
@@ -1230,7 +1229,7 @@
   }
 
   std::unique_ptr<cricket::JsepTransport> jsep_transport =
-      absl::make_unique<cricket::JsepTransport>(
+      std::make_unique<cricket::JsepTransport>(
           content_info.name, certificate_, std::move(ice), std::move(rtcp_ice),
           std::move(unencrypted_rtp_transport), std::move(sdes_transport),
           std::move(dtls_srtp_transport), std::move(datagram_rtp_transport),
diff --git a/pc/jsep_transport_controller_unittest.cc b/pc/jsep_transport_controller_unittest.cc
index 35ebb87..70cbe96 100644
--- a/pc/jsep_transport_controller_unittest.cc
+++ b/pc/jsep_transport_controller_unittest.cc
@@ -13,7 +13,6 @@
 #include <map>
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/test/fake_media_transport.h"
 #include "api/test/loopback_media_transport.h"
 #include "api/transport/media/media_transport_interface.h"
@@ -65,14 +64,14 @@
   std::unique_ptr<cricket::IceTransportInternal> CreateIceTransport(
       const std::string& transport_name,
       int component) override {
-    return absl::make_unique<cricket::FakeIceTransport>(transport_name,
-                                                        component);
+    return std::make_unique<cricket::FakeIceTransport>(transport_name,
+                                                       component);
   }
 
   std::unique_ptr<cricket::DtlsTransportInternal> CreateDtlsTransport(
       cricket::IceTransportInternal* ice,
       const webrtc::CryptoOptions& crypto_options) override {
-    return absl::make_unique<FakeDtlsTransport>(
+    return std::make_unique<FakeDtlsTransport>(
         static_cast<cricket::FakeIceTransport*>(ice));
   }
 };
@@ -82,7 +81,7 @@
                                     public sigslot::has_slots<> {
  public:
   JsepTransportControllerTest() : signaling_thread_(rtc::Thread::Current()) {
-    fake_transport_factory_ = absl::make_unique<FakeTransportFactory>();
+    fake_transport_factory_ = std::make_unique<FakeTransportFactory>();
   }
 
   void CreateJsepTransportController(
@@ -94,7 +93,7 @@
     // The tests only works with |fake_transport_factory|;
     config.external_transport_factory = fake_transport_factory_.get();
     // TODO(zstein): Provide an AsyncResolverFactory once it is required.
-    transport_controller_ = absl::make_unique<JsepTransportController>(
+    transport_controller_ = std::make_unique<JsepTransportController>(
         signaling_thread, network_thread, port_allocator, nullptr, config);
     ConnectTransportControllerSignals();
   }
@@ -114,7 +113,7 @@
 
   std::unique_ptr<cricket::SessionDescription>
   CreateSessionDescriptionWithoutBundle() {
-    auto description = absl::make_unique<cricket::SessionDescription>();
+    auto description = std::make_unique<cricket::SessionDescription>();
     AddAudioSection(description.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                     cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                     nullptr);
@@ -957,7 +956,7 @@
           rtc::SSLIdentity::Generate("session1", rtc::KT_DEFAULT)));
   rtc::scoped_refptr<rtc::RTCCertificate> returned_certificate;
 
-  auto description = absl::make_unique<cricket::SessionDescription>();
+  auto description = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(description.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   certificate1);
@@ -1015,11 +1014,11 @@
           rtc::SSLIdentity::Generate("answer", rtc::KT_DEFAULT)));
   transport_controller_->SetLocalCertificate(offer_certificate);
 
-  auto offer_desc = absl::make_unique<cricket::SessionDescription>();
+  auto offer_desc = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(offer_desc.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   offer_certificate);
-  auto answer_desc = absl::make_unique<cricket::SessionDescription>();
+  auto answer_desc = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(answer_desc.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_PASSIVE,
                   answer_certificate);
@@ -1485,11 +1484,11 @@
 TEST_F(JsepTransportControllerTest, IceRoleRedeterminedOnIceRestartByDefault) {
   CreateJsepTransportController(JsepTransportController::Config());
   // Let the |transport_controller_| be the controlled side initially.
-  auto remote_offer = absl::make_unique<cricket::SessionDescription>();
+  auto remote_offer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(remote_offer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
-  auto local_answer = absl::make_unique<cricket::SessionDescription>();
+  auto local_answer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(local_answer.get(), kAudioMid1, kIceUfrag2, kIcePwd2,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_PASSIVE,
                   nullptr);
@@ -1507,7 +1506,7 @@
             fake_dtls->fake_ice_transport()->GetIceRole());
 
   // New offer will trigger the ICE restart.
-  auto restart_local_offer = absl::make_unique<cricket::SessionDescription>();
+  auto restart_local_offer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(restart_local_offer.get(), kAudioMid1, kIceUfrag3, kIcePwd3,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
@@ -1528,11 +1527,11 @@
 
   CreateJsepTransportController(config);
   // Let the |transport_controller_| be the controlled side initially.
-  auto remote_offer = absl::make_unique<cricket::SessionDescription>();
+  auto remote_offer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(remote_offer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
-  auto local_answer = absl::make_unique<cricket::SessionDescription>();
+  auto local_answer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(local_answer.get(), kAudioMid1, kIceUfrag2, kIcePwd2,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_PASSIVE,
                   nullptr);
@@ -1550,7 +1549,7 @@
             fake_dtls->fake_ice_transport()->GetIceRole());
 
   // New offer will trigger the ICE restart.
-  auto restart_local_offer = absl::make_unique<cricket::SessionDescription>();
+  auto restart_local_offer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(restart_local_offer.get(), kAudioMid1, kIceUfrag3, kIcePwd3,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
@@ -1565,7 +1564,7 @@
 // Tests ICE-Lite mode in remote answer.
 TEST_F(JsepTransportControllerTest, SetIceRoleWhenIceLiteInRemoteAnswer) {
   CreateJsepTransportController(JsepTransportController::Config());
-  auto local_offer = absl::make_unique<cricket::SessionDescription>();
+  auto local_offer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(local_offer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
@@ -1579,7 +1578,7 @@
   EXPECT_EQ(cricket::ICEMODE_FULL,
             fake_dtls->fake_ice_transport()->remote_ice_mode());
 
-  auto remote_answer = absl::make_unique<cricket::SessionDescription>();
+  auto remote_answer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(remote_answer.get(), kAudioMid1, kIceUfrag2, kIcePwd2,
                   cricket::ICEMODE_LITE, cricket::CONNECTIONROLE_PASSIVE,
                   nullptr);
@@ -1598,11 +1597,11 @@
 TEST_F(JsepTransportControllerTest,
        IceRoleIsControllingAfterIceRestartFromIceLiteEndpoint) {
   CreateJsepTransportController(JsepTransportController::Config());
-  auto remote_offer = absl::make_unique<cricket::SessionDescription>();
+  auto remote_offer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(remote_offer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_LITE, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
-  auto local_answer = absl::make_unique<cricket::SessionDescription>();
+  auto local_answer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(local_answer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_PASSIVE,
                   nullptr);
@@ -1620,11 +1619,11 @@
             fake_dtls->fake_ice_transport()->GetIceRole());
 
   // In the subsequence remote offer triggers an ICE restart.
-  auto remote_offer2 = absl::make_unique<cricket::SessionDescription>();
+  auto remote_offer2 = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(remote_offer2.get(), kAudioMid1, kIceUfrag2, kIcePwd2,
                   cricket::ICEMODE_LITE, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
-  auto local_answer2 = absl::make_unique<cricket::SessionDescription>();
+  auto local_answer2 = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(local_answer2.get(), kAudioMid1, kIceUfrag2, kIcePwd2,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_PASSIVE,
                   nullptr);
@@ -1651,7 +1650,7 @@
   bundle_group.AddContentName(kVideoMid1);
   bundle_group.AddContentName(kDataMid1);
 
-  auto local_offer = absl::make_unique<cricket::SessionDescription>();
+  auto local_offer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(local_offer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
@@ -1666,7 +1665,7 @@
                  cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                  nullptr);
 
-  auto remote_answer = absl::make_unique<cricket::SessionDescription>();
+  auto remote_answer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(remote_answer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_PASSIVE,
                   nullptr);
@@ -1724,7 +1723,7 @@
   bundle_group.AddContentName(kAudioMid1);
   bundle_group.AddContentName(kVideoMid1);
 
-  auto local_offer = absl::make_unique<cricket::SessionDescription>();
+  auto local_offer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(local_offer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
@@ -1735,7 +1734,7 @@
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
 
-  auto remote_answer = absl::make_unique<cricket::SessionDescription>();
+  auto remote_answer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(remote_answer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_PASSIVE,
                   nullptr);
@@ -1776,12 +1775,12 @@
   cricket::ContentGroup bundle_group(cricket::GROUP_TYPE_BUNDLE);
   bundle_group.AddContentName(kDataMid1);
 
-  auto local_offer = absl::make_unique<cricket::SessionDescription>();
+  auto local_offer = std::make_unique<cricket::SessionDescription>();
   AddDataSection(local_offer.get(), kDataMid1,
                  cricket::MediaProtocolType::kSctp, kIceUfrag1, kIcePwd1,
                  cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                  nullptr);
-  auto remote_answer = absl::make_unique<cricket::SessionDescription>();
+  auto remote_answer = std::make_unique<cricket::SessionDescription>();
   AddDataSection(remote_answer.get(), kDataMid1,
                  cricket::MediaProtocolType::kSctp, kIceUfrag1, kIcePwd1,
                  cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_PASSIVE,
@@ -1839,7 +1838,7 @@
   bundle_group.AddContentName(kVideoMid1);
   bundle_group.AddContentName(kDataMid1);
 
-  auto local_offer = absl::make_unique<cricket::SessionDescription>();
+  auto local_offer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(local_offer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
@@ -1851,7 +1850,7 @@
                  cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                  nullptr);
 
-  auto remote_answer = absl::make_unique<cricket::SessionDescription>();
+  auto remote_answer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(remote_answer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_PASSIVE,
                   nullptr);
@@ -1898,7 +1897,7 @@
   bundle_group.AddContentName(kAudioMid1);
   bundle_group.AddContentName(kVideoMid1);
 
-  auto local_offer = absl::make_unique<cricket::SessionDescription>();
+  auto local_offer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(local_offer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
@@ -1906,7 +1905,7 @@
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
 
-  auto remote_answer = absl::make_unique<cricket::SessionDescription>();
+  auto remote_answer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(remote_answer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_PASSIVE,
                   nullptr);
@@ -1948,7 +1947,7 @@
   bundle_group.AddContentName(kVideoMid1);
   bundle_group.AddContentName(kDataMid1);
 
-  auto local_offer = absl::make_unique<cricket::SessionDescription>();
+  auto local_offer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(local_offer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
@@ -1960,7 +1959,7 @@
                  cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                  nullptr);
 
-  auto remote_answer = absl::make_unique<cricket::SessionDescription>();
+  auto remote_answer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(remote_answer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_PASSIVE,
                   nullptr);
@@ -2001,7 +2000,7 @@
   JsepTransportController::Config config;
   config.rtcp_mux_policy = PeerConnectionInterface::kRtcpMuxPolicyRequire;
   CreateJsepTransportController(config);
-  auto local_offer = absl::make_unique<cricket::SessionDescription>();
+  auto local_offer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(local_offer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
@@ -2019,7 +2018,7 @@
   JsepTransportController::Config config;
   config.rtcp_mux_policy = PeerConnectionInterface::kRtcpMuxPolicyRequire;
   CreateJsepTransportController(config);
-  auto local_offer = absl::make_unique<cricket::SessionDescription>();
+  auto local_offer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(local_offer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
@@ -2027,7 +2026,7 @@
                   ->SetLocalDescription(SdpType::kOffer, local_offer.get())
                   .ok());
 
-  auto remote_answer = absl::make_unique<cricket::SessionDescription>();
+  auto remote_answer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(remote_answer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_PASSIVE,
                   nullptr);
@@ -2129,7 +2128,7 @@
 TEST_F(JsepTransportControllerTest, ChangeTaggedMediaSectionMaxBundle) {
   CreateJsepTransportController(JsepTransportController::Config());
 
-  auto local_offer = absl::make_unique<cricket::SessionDescription>();
+  auto local_offer = std::make_unique<cricket::SessionDescription>();
   AddAudioSection(local_offer.get(), kAudioMid1, kIceUfrag1, kIcePwd1,
                   cricket::ICEMODE_FULL, cricket::CONNECTIONROLE_ACTPASS,
                   nullptr);
diff --git a/pc/jsep_transport_unittest.cc b/pc/jsep_transport_unittest.cc
index 1e51392..123482c 100644
--- a/pc/jsep_transport_unittest.cc
+++ b/pc/jsep_transport_unittest.cc
@@ -14,7 +14,6 @@
 #include <tuple>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "media/base/fake_rtp.h"
 #include "p2p/base/fake_dtls_transport.h"
 #include "p2p/base/fake_ice_transport.h"
@@ -46,7 +45,7 @@
   std::unique_ptr<webrtc::SrtpTransport> CreateSdesTransport(
       rtc::PacketTransportInternal* rtp_packet_transport,
       rtc::PacketTransportInternal* rtcp_packet_transport) {
-    auto srtp_transport = absl::make_unique<webrtc::SrtpTransport>(
+    auto srtp_transport = std::make_unique<webrtc::SrtpTransport>(
         rtcp_packet_transport == nullptr);
 
     srtp_transport->SetRtpPacketTransport(rtp_packet_transport);
@@ -59,7 +58,7 @@
   std::unique_ptr<webrtc::DtlsSrtpTransport> CreateDtlsSrtpTransport(
       cricket::DtlsTransportInternal* rtp_dtls_transport,
       cricket::DtlsTransportInternal* rtcp_dtls_transport) {
-    auto dtls_srtp_transport = absl::make_unique<webrtc::DtlsSrtpTransport>(
+    auto dtls_srtp_transport = std::make_unique<webrtc::DtlsSrtpTransport>(
         rtcp_dtls_transport == nullptr);
     dtls_srtp_transport->SetDtlsTransports(rtp_dtls_transport,
                                            rtcp_dtls_transport);
@@ -70,17 +69,16 @@
   // FakeIceTransport.
   std::unique_ptr<JsepTransport> CreateJsepTransport2(bool rtcp_mux_enabled,
                                                       SrtpMode srtp_mode) {
-    auto ice = absl::make_unique<FakeIceTransport>(kTransportName,
-                                                   ICE_CANDIDATE_COMPONENT_RTP);
-    auto rtp_dtls_transport = absl::make_unique<FakeDtlsTransport>(ice.get());
+    auto ice = std::make_unique<FakeIceTransport>(kTransportName,
+                                                  ICE_CANDIDATE_COMPONENT_RTP);
+    auto rtp_dtls_transport = std::make_unique<FakeDtlsTransport>(ice.get());
 
     std::unique_ptr<FakeIceTransport> rtcp_ice;
     std::unique_ptr<FakeDtlsTransport> rtcp_dtls_transport;
     if (!rtcp_mux_enabled) {
-      rtcp_ice = absl::make_unique<FakeIceTransport>(
+      rtcp_ice = std::make_unique<FakeIceTransport>(
           kTransportName, ICE_CANDIDATE_COMPONENT_RTCP);
-      rtcp_dtls_transport =
-          absl::make_unique<FakeDtlsTransport>(rtcp_ice.get());
+      rtcp_dtls_transport = std::make_unique<FakeDtlsTransport>(rtcp_ice.get());
     }
 
     std::unique_ptr<webrtc::RtpTransport> unencrypted_rtp_transport;
@@ -105,7 +103,7 @@
     // media_transport = nullptr. In the future we will probably add
     // more logic that require unit tests. Note that creation of media_transport
     // is covered in jseptransportcontroller_unittest.
-    auto jsep_transport = absl::make_unique<JsepTransport>(
+    auto jsep_transport = std::make_unique<JsepTransport>(
         kTransportName, /*local_certificate=*/nullptr, std::move(ice),
         std::move(rtcp_ice), std::move(unencrypted_rtp_transport),
         std::move(sdes_transport), std::move(dtls_srtp_transport),
diff --git a/pc/media_session.cc b/pc/media_session.cc
index e229ed6..ff9c17b 100644
--- a/pc/media_session.cc
+++ b/pc/media_session.cc
@@ -19,7 +19,6 @@
 #include <utility>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "absl/types/optional.h"
 #include "api/crypto_params.h"
@@ -1431,7 +1430,7 @@
                        session_options.offer_extmap_allow_mixed,
                        &audio_rtp_extensions, &video_rtp_extensions);
 
-  auto offer = absl::make_unique<SessionDescription>();
+  auto offer = std::make_unique<SessionDescription>();
 
   // Iterate through the media description options, matching with existing media
   // descriptions in |current_description|.
@@ -1576,7 +1575,7 @@
   FilterDataCodecs(&answer_rtp_data_codecs,
                    session_options.data_channel_type == DCT_SCTP);
 
-  auto answer = absl::make_unique<SessionDescription>();
+  auto answer = std::make_unique<SessionDescription>();
 
   // If the offer supports BUNDLE, and we want to use it too, create a BUNDLE
   // group in the answer with the appropriate content names.
@@ -2536,7 +2535,7 @@
   std::unique_ptr<MediaContentDescription> data_answer;
   if (offer_content->media_description()->as_sctp()) {
     // SCTP data content
-    data_answer = absl::make_unique<SctpDataContentDescription>();
+    data_answer = std::make_unique<SctpDataContentDescription>();
     const SctpDataContentDescription* offer_data_description =
         offer_content->media_description()->as_sctp();
     // Respond with the offerer's proto, whatever it is.
@@ -2564,7 +2563,7 @@
     data_answer->as_sctp()->set_use_sctpmap(offer_uses_sctpmap);
   } else {
     // RTP offer
-    data_answer = absl::make_unique<RtpDataContentDescription>();
+    data_answer = std::make_unique<RtpDataContentDescription>();
 
     const RtpDataContentDescription* offer_data_description =
         offer_content->media_description()->as_rtp_data();
diff --git a/pc/media_session_unittest.cc b/pc/media_session_unittest.cc
index a0d9d0c..e3778d6 100644
--- a/pc/media_session_unittest.cc
+++ b/pc/media_session_unittest.cc
@@ -485,7 +485,7 @@
     std::unique_ptr<SessionDescription> current_desc;
     std::unique_ptr<SessionDescription> desc;
     if (has_current_desc) {
-      current_desc = absl::make_unique<SessionDescription>();
+      current_desc = std::make_unique<SessionDescription>();
       current_desc->AddTransportInfo(TransportInfo(
           "audio",
           TransportDescription(current_audio_ufrag, current_audio_pwd)));
@@ -3283,7 +3283,7 @@
   cricket::ContentGroup group(cricket::CN_AUDIO);
   source.AddGroup(group);
   std::unique_ptr<AudioContentDescription> acd =
-      absl::make_unique<AudioContentDescription>();
+      std::make_unique<AudioContentDescription>();
   acd->set_codecs(MAKE_VECTOR(kAudioCodecs1));
   acd->AddLegacyStream(1);
   std::unique_ptr<AudioContentDescription> acd_passed =
@@ -3291,7 +3291,7 @@
   source.AddContent(cricket::CN_AUDIO, MediaProtocolType::kRtp,
                     std::move(acd_passed));
   std::unique_ptr<VideoContentDescription> vcd =
-      absl::make_unique<VideoContentDescription>();
+      std::make_unique<VideoContentDescription>();
   vcd->set_codecs(MAKE_VECTOR(kVideoCodecs1));
   vcd->AddLegacyStream(2);
   std::unique_ptr<VideoContentDescription> vcd_passed =
diff --git a/pc/peer_connection.cc b/pc/peer_connection.cc
index 6f0fd60..ed93643 100644
--- a/pc/peer_connection.cc
+++ b/pc/peer_connection.cc
@@ -12,13 +12,13 @@
 
 #include <algorithm>
 #include <limits>
+#include <memory>
 #include <queue>
 #include <set>
 #include <utility>
 #include <vector>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "api/jsep_ice_candidate.h"
 #include "api/jsep_session_description.h"
@@ -6803,7 +6803,7 @@
   }
   RTC_LOG(LS_INFO) << "Setting up data channel transport for mid=" << mid;
 
-  data_channel_transport_invoker_ = absl::make_unique<rtc::AsyncInvoker>();
+  data_channel_transport_invoker_ = std::make_unique<rtc::AsyncInvoker>();
   data_channel_transport_->SetDataSink(this);
   sctp_mid_ = mid;
   // TODO(mellem):  Handling data channel state through media transport is
diff --git a/pc/peer_connection_bundle_unittest.cc b/pc/peer_connection_bundle_unittest.cc
index 7780ac6..543c9be 100644
--- a/pc/peer_connection_bundle_unittest.cc
+++ b/pc/peer_connection_bundle_unittest.cc
@@ -8,6 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include <memory>
+
 #include "api/audio_codecs/builtin_audio_decoder_factory.h"
 #include "api/audio_codecs/builtin_audio_encoder_factory.h"
 #include "api/create_peerconnection_factory.h"
@@ -24,7 +26,6 @@
 #ifdef WEBRTC_ANDROID
 #include "pc/test/android_test_initializer.h"
 #endif
-#include "absl/memory/memory.h"
 #include "pc/test/fake_audio_capture_module.h"
 #include "rtc_base/fake_network.h"
 #include "rtc_base/gunit.h"
@@ -185,11 +186,11 @@
   WrapperPtr CreatePeerConnection(const RTCConfiguration& config) {
     auto* fake_network = NewFakeNetwork();
     auto port_allocator =
-        absl::make_unique<cricket::BasicPortAllocator>(fake_network);
+        std::make_unique<cricket::BasicPortAllocator>(fake_network);
     port_allocator->set_flags(cricket::PORTALLOCATOR_DISABLE_TCP |
                               cricket::PORTALLOCATOR_DISABLE_RELAY);
     port_allocator->set_step_delay(cricket::kMinimumStepDelay);
-    auto observer = absl::make_unique<MockPeerConnectionObserver>();
+    auto observer = std::make_unique<MockPeerConnectionObserver>();
     RTCConfiguration modified_config = config;
     modified_config.sdp_semantics = sdp_semantics_;
     auto pc = pc_factory_->CreatePeerConnection(
@@ -198,7 +199,7 @@
       return nullptr;
     }
 
-    auto wrapper = absl::make_unique<PeerConnectionWrapperForBundleTest>(
+    auto wrapper = std::make_unique<PeerConnectionWrapperForBundleTest>(
         pc_factory_, pc, std::move(observer));
     wrapper->set_network(fake_network);
     return wrapper;
diff --git a/pc/peer_connection_crypto_unittest.cc b/pc/peer_connection_crypto_unittest.cc
index 077ac36..99eb5cd 100644
--- a/pc/peer_connection_crypto_unittest.cc
+++ b/pc/peer_connection_crypto_unittest.cc
@@ -8,6 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include <memory>
+
 #include "api/audio_codecs/builtin_audio_decoder_factory.h"
 #include "api/audio_codecs/builtin_audio_encoder_factory.h"
 #include "api/create_peerconnection_factory.h"
@@ -20,7 +22,6 @@
 #ifdef WEBRTC_ANDROID
 #include "pc/test/android_test_initializer.h"
 #endif
-#include "absl/memory/memory.h"
 #include "pc/test/fake_audio_capture_module.h"
 #include "pc/test/fake_rtc_certificate_generator.h"
 #include "rtc_base/gunit.h"
@@ -65,9 +66,9 @@
   WrapperPtr CreatePeerConnection(
       const RTCConfiguration& config,
       std::unique_ptr<rtc::RTCCertificateGeneratorInterface> cert_gen) {
-    auto fake_port_allocator = absl::make_unique<cricket::FakePortAllocator>(
+    auto fake_port_allocator = std::make_unique<cricket::FakePortAllocator>(
         rtc::Thread::Current(), nullptr);
-    auto observer = absl::make_unique<MockPeerConnectionObserver>();
+    auto observer = std::make_unique<MockPeerConnectionObserver>();
     RTCConfiguration modified_config = config;
     modified_config.sdp_semantics = sdp_semantics_;
     auto pc = pc_factory_->CreatePeerConnection(
@@ -78,8 +79,8 @@
     }
 
     observer->SetPeerConnectionInterface(pc.get());
-    return absl::make_unique<PeerConnectionWrapper>(pc_factory_, pc,
-                                                    std::move(observer));
+    return std::make_unique<PeerConnectionWrapper>(pc_factory_, pc,
+                                                   std::move(observer));
   }
 
   // Accepts the same arguments as CreatePeerConnection and adds default audio
@@ -591,7 +592,7 @@
   RTCConfiguration config;
   config.enable_dtls_srtp.emplace(true);
   auto owned_fake_certificate_generator =
-      absl::make_unique<FakeRTCCertificateGenerator>();
+      std::make_unique<FakeRTCCertificateGenerator>();
   auto* fake_certificate_generator = owned_fake_certificate_generator.get();
   fake_certificate_generator->set_should_fail(cert_gen_result_ ==
                                               CertGenResult::kFail);
diff --git a/pc/peer_connection_data_channel_unittest.cc b/pc/peer_connection_data_channel_unittest.cc
index 609a718..81ef220 100644
--- a/pc/peer_connection_data_channel_unittest.cc
+++ b/pc/peer_connection_data_channel_unittest.cc
@@ -47,7 +47,6 @@
 #ifdef WEBRTC_ANDROID
 #include "pc/test/android_test_initializer.h"
 #endif
-#include "absl/memory/memory.h"
 #include "pc/test/fake_sctp_transport.h"
 #include "rtc_base/virtual_socket_server.h"
 
@@ -90,13 +89,13 @@
                 rtc::Thread::Current(),
                 rtc::Thread::Current(),
                 rtc::Thread::Current(),
-                absl::make_unique<cricket::FakeMediaEngine>(),
+                std::make_unique<cricket::FakeMediaEngine>(),
                 CreateCallFactory(),
-                absl::make_unique<FakeMediaTransportFactory>())) {}
+                std::make_unique<FakeMediaTransportFactory>())) {}
 
   std::unique_ptr<cricket::SctpTransportInternalFactory>
   CreateSctpTransportInternalFactory() {
-    auto factory = absl::make_unique<FakeSctpTransportFactory>();
+    auto factory = std::make_unique<FakeSctpTransportFactory>();
     last_fake_sctp_transport_factory_ = factory.get();
     return factory;
   }
@@ -165,7 +164,7 @@
         new PeerConnectionFactoryForDataChannelTest());
     pc_factory->SetOptions(factory_options);
     RTC_CHECK(pc_factory->Initialize());
-    auto observer = absl::make_unique<MockPeerConnectionObserver>();
+    auto observer = std::make_unique<MockPeerConnectionObserver>();
     RTCConfiguration modified_config = config;
     modified_config.sdp_semantics = sdp_semantics_;
     auto pc = pc_factory->CreatePeerConnection(modified_config, nullptr,
@@ -175,7 +174,7 @@
     }
 
     observer->SetPeerConnectionInterface(pc.get());
-    auto wrapper = absl::make_unique<PeerConnectionWrapperForDataChannelTest>(
+    auto wrapper = std::make_unique<PeerConnectionWrapperForDataChannelTest>(
         pc_factory, pc, std::move(observer));
     RTC_DCHECK(pc_factory->last_fake_sctp_transport_factory_);
     wrapper->set_sctp_transport_factory(
diff --git a/pc/peer_connection_end_to_end_unittest.cc b/pc/peer_connection_end_to_end_unittest.cc
index d9feb7d..435c523 100644
--- a/pc/peer_connection_end_to_end_unittest.cc
+++ b/pc/peer_connection_end_to_end_unittest.cc
@@ -10,7 +10,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "api/audio_codecs/L16/audio_decoder_L16.h"
 #include "api/audio_codecs/L16/audio_encoder_L16.h"
@@ -223,7 +222,7 @@
 
   const auto dec = real_decoder.get();  // For lambda capturing.
   auto mock_decoder =
-      absl::make_unique<ForwardingMockDecoder>(std::move(real_decoder));
+      std::make_unique<ForwardingMockDecoder>(std::move(real_decoder));
   EXPECT_CALL(*mock_decoder, Channels())
       .Times(AtLeast(1))
       .WillRepeatedly(Invoke([dec] { return dec->Channels(); }));
diff --git a/pc/peer_connection_factory.cc b/pc/peer_connection_factory.cc
index 16fb928..0800718 100644
--- a/pc/peer_connection_factory.cc
+++ b/pc/peer_connection_factory.cc
@@ -14,7 +14,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/fec_controller.h"
 #include "api/media_stream_proxy.h"
 #include "api/media_stream_track_proxy.h"
@@ -135,8 +134,8 @@
     return false;
   }
 
-  channel_manager_ = absl::make_unique<cricket::ChannelManager>(
-      std::move(media_engine_), absl::make_unique<cricket::RtpDataEngine>(),
+  channel_manager_ = std::make_unique<cricket::ChannelManager>(
+      std::move(media_engine_), std::make_unique<cricket::RtpDataEngine>(),
       worker_thread_, network_thread_);
 
   channel_manager_->SetVideoRtxEnabled(true);
@@ -249,8 +248,8 @@
   // Set internal defaults if optional dependencies are not set.
   if (!dependencies.cert_generator) {
     dependencies.cert_generator =
-        absl::make_unique<rtc::RTCCertificateGenerator>(signaling_thread_,
-                                                        network_thread_);
+        std::make_unique<rtc::RTCCertificateGenerator>(signaling_thread_,
+                                                       network_thread_);
   }
   if (!dependencies.allocator) {
     rtc::PacketSocketFactory* packet_socket_factory;
@@ -262,7 +261,7 @@
     network_thread_->Invoke<void>(RTC_FROM_HERE, [this, &configuration,
                                                   &dependencies,
                                                   &packet_socket_factory]() {
-      dependencies.allocator = absl::make_unique<cricket::BasicPortAllocator>(
+      dependencies.allocator = std::make_unique<cricket::BasicPortAllocator>(
           default_network_manager_.get(), packet_socket_factory,
           configuration.turn_customizer);
     });
@@ -323,7 +322,7 @@
 std::unique_ptr<cricket::SctpTransportInternalFactory>
 PeerConnectionFactory::CreateSctpTransportInternalFactory() {
 #ifdef HAVE_SCTP
-  return absl::make_unique<cricket::SctpTransportFactory>(network_thread());
+  return std::make_unique<cricket::SctpTransportFactory>(network_thread());
 #else
   return nullptr;
 #endif
@@ -341,7 +340,7 @@
     encoding_type = RtcEventLog::EncodingType::NewFormat;
   return event_log_factory_
              ? event_log_factory_->CreateRtcEventLog(encoding_type)
-             : absl::make_unique<RtcEventLogNull>();
+             : std::make_unique<RtcEventLogNull>();
 }
 
 std::unique_ptr<Call> PeerConnectionFactory::CreateCall_w(
diff --git a/pc/peer_connection_histogram_unittest.cc b/pc/peer_connection_histogram_unittest.cc
index 2894c48..0aeb080 100644
--- a/pc/peer_connection_histogram_unittest.cc
+++ b/pc/peer_connection_histogram_unittest.cc
@@ -14,7 +14,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/call/call_factory_interface.h"
 #include "api/jsep.h"
@@ -81,7 +80,7 @@
           dependencies.signaling_thread = rtc::Thread::Current();
           dependencies.task_queue_factory = CreateDefaultTaskQueueFactory();
           dependencies.media_engine =
-              absl::make_unique<cricket::FakeMediaEngine>();
+              std::make_unique<cricket::FakeMediaEngine>();
           dependencies.call_factory = CreateCallFactory();
           return dependencies;
         }()) {}
@@ -255,13 +254,13 @@
 
   WrapperPtr CreatePeerConnectionWithMdns(const RTCConfiguration& config) {
     auto resolver_factory =
-        absl::make_unique<NiceMock<webrtc::MockAsyncResolverFactory>>();
+        std::make_unique<NiceMock<webrtc::MockAsyncResolverFactory>>();
 
     webrtc::PeerConnectionDependencies deps(nullptr /* observer_in */);
 
     auto fake_network = NewFakeNetwork();
     fake_network->set_mdns_responder(
-        absl::make_unique<webrtc::FakeMdnsResponder>(rtc::Thread::Current()));
+        std::make_unique<webrtc::FakeMdnsResponder>(rtc::Thread::Current()));
     fake_network->AddInterface(NextLocalAddress());
 
     std::unique_ptr<cricket::BasicPortAllocator> port_allocator(
@@ -287,7 +286,7 @@
     fake_network->AddInterface(kPrivateLocalAddress);
 
     auto port_allocator =
-        absl::make_unique<cricket::BasicPortAllocator>(fake_network);
+        std::make_unique<cricket::BasicPortAllocator>(fake_network);
 
     return CreatePeerConnection(RTCConfiguration(),
                                 PeerConnectionFactoryInterface::Options(),
@@ -300,7 +299,7 @@
     fake_network->AddInterface(kPrivateIpv6LocalAddress);
 
     auto port_allocator =
-        absl::make_unique<cricket::BasicPortAllocator>(fake_network);
+        std::make_unique<cricket::BasicPortAllocator>(fake_network);
 
     return CreatePeerConnection(RTCConfiguration(),
                                 PeerConnectionFactoryInterface::Options(),
@@ -338,10 +337,10 @@
       auto fake_network = NewFakeNetwork();
       fake_network->AddInterface(NextLocalAddress());
       deps.allocator =
-          absl::make_unique<cricket::BasicPortAllocator>(fake_network);
+          std::make_unique<cricket::BasicPortAllocator>(fake_network);
     }
 
-    auto observer = absl::make_unique<ObserverForUsageHistogramTest>();
+    auto observer = std::make_unique<ObserverForUsageHistogramTest>();
     deps.observer = observer.get();
 
     auto pc = pc_factory->CreatePeerConnection(config, std::move(deps));
@@ -350,9 +349,8 @@
     }
 
     observer->SetPeerConnectionInterface(pc.get());
-    auto wrapper =
-        absl::make_unique<PeerConnectionWrapperForUsageHistogramTest>(
-            pc_factory, pc, std::move(observer));
+    auto wrapper = std::make_unique<PeerConnectionWrapperForUsageHistogramTest>(
+        pc_factory, pc, std::move(observer));
     return wrapper;
   }
 
@@ -369,7 +367,7 @@
   // Therefore, the test fixture will own all the fake networks even though
   // tests should access the fake network through the PeerConnectionWrapper.
   rtc::FakeNetworkManager* NewFakeNetwork() {
-    fake_networks_.emplace_back(absl::make_unique<rtc::FakeNetworkManager>());
+    fake_networks_.emplace_back(std::make_unique<rtc::FakeNetworkManager>());
     return fake_networks_.back().get();
   }
 
@@ -719,7 +717,7 @@
   ASSERT_TRUE(cur_offer);
   std::string sdp_with_candidates_str;
   cur_offer->ToString(&sdp_with_candidates_str);
-  auto offer = absl::make_unique<JsepSessionDescription>(SdpType::kOffer);
+  auto offer = std::make_unique<JsepSessionDescription>(SdpType::kOffer);
   ASSERT_TRUE(SdpDeserialize(sdp_with_candidates_str, offer.get(),
                              nullptr /* error */));
   ASSERT_TRUE(callee->SetRemoteDescription(std::move(offer)));
diff --git a/pc/peer_connection_ice_unittest.cc b/pc/peer_connection_ice_unittest.cc
index 0ca4be2..61034d0 100644
--- a/pc/peer_connection_ice_unittest.cc
+++ b/pc/peer_connection_ice_unittest.cc
@@ -8,6 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include <memory>
+
 #include "p2p/base/fake_port_allocator.h"
 #include "p2p/base/test_stun_server.h"
 #include "p2p/client/basic_port_allocator.h"
@@ -18,7 +20,6 @@
 #ifdef WEBRTC_ANDROID
 #include "pc/test/android_test_initializer.h"
 #endif
-#include "absl/memory/memory.h"
 #include "api/audio_codecs/builtin_audio_decoder_factory.h"
 #include "api/audio_codecs/builtin_audio_encoder_factory.h"
 #include "api/create_peerconnection_factory.h"
@@ -115,13 +116,13 @@
   WrapperPtr CreatePeerConnection(const RTCConfiguration& config) {
     auto* fake_network = NewFakeNetwork();
     auto port_allocator =
-        absl::make_unique<cricket::BasicPortAllocator>(fake_network);
+        std::make_unique<cricket::BasicPortAllocator>(fake_network);
     port_allocator->set_flags(cricket::PORTALLOCATOR_DISABLE_TCP |
                               cricket::PORTALLOCATOR_DISABLE_RELAY);
     port_allocator->set_step_delay(cricket::kMinimumStepDelay);
     RTCConfiguration modified_config = config;
     modified_config.sdp_semantics = sdp_semantics_;
-    auto observer = absl::make_unique<MockPeerConnectionObserver>();
+    auto observer = std::make_unique<MockPeerConnectionObserver>();
     auto port_allocator_copy = port_allocator.get();
     auto pc = pc_factory_->CreatePeerConnection(
         modified_config, std::move(port_allocator), nullptr, observer.get());
@@ -130,7 +131,7 @@
     }
 
     observer->SetPeerConnectionInterface(pc.get());
-    auto wrapper = absl::make_unique<PeerConnectionWrapperForIceTest>(
+    auto wrapper = std::make_unique<PeerConnectionWrapperForIceTest>(
         pc_factory_, pc, std::move(observer));
     wrapper->set_network(fake_network);
     wrapper->port_allocator_ = port_allocator_copy;
diff --git a/pc/peer_connection_integrationtest.cc b/pc/peer_connection_integrationtest.cc
index 2151b5e..8798278 100644
--- a/pc/peer_connection_integrationtest.cc
+++ b/pc/peer_connection_integrationtest.cc
@@ -22,7 +22,6 @@
 #include <vector>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "api/media_stream_interface.h"
 #include "api/peer_connection_interface.h"
 #include "api/peer_connection_proxy.h"
@@ -625,7 +624,7 @@
       pc_factory_dependencies.event_log_factory = std::move(event_log_factory);
     } else {
       pc_factory_dependencies.event_log_factory =
-          absl::make_unique<webrtc::RtcEventLogFactory>(
+          std::make_unique<webrtc::RtcEventLogFactory>(
               pc_factory_dependencies.task_queue_factory.get());
     }
     if (media_transport_factory) {
@@ -905,7 +904,7 @@
       ASSERT_TRUE(fake_video_renderers_.find(video_track->id()) ==
                   fake_video_renderers_.end());
       fake_video_renderers_[video_track->id()] =
-          absl::make_unique<FakeVideoTrackRenderer>(video_track);
+          std::make_unique<FakeVideoTrackRenderer>(video_track);
     }
   }
   void OnRemoveTrack(
@@ -1235,7 +1234,7 @@
     modified_config.sdp_semantics = sdp_semantics_;
     if (!dependencies.cert_generator) {
       dependencies.cert_generator =
-          absl::make_unique<FakeRTCCertificateGenerator>();
+          std::make_unique<FakeRTCCertificateGenerator>();
     }
     std::unique_ptr<PeerConnectionWrapper> client(
         new PeerConnectionWrapper(debug_name));
@@ -1384,7 +1383,7 @@
         network_thread()->Invoke<std::unique_ptr<cricket::TestTurnServer>>(
             RTC_FROM_HERE,
             [thread, internal_address, external_address, type, common_name] {
-              return absl::make_unique<cricket::TestTurnServer>(
+              return std::make_unique<cricket::TestTurnServer>(
                   thread, internal_address, external_address, type,
                   /*ignore_bad_certs=*/true, common_name);
             });
@@ -1397,7 +1396,7 @@
     std::unique_ptr<cricket::TestTurnCustomizer> turn_customizer =
         network_thread()->Invoke<std::unique_ptr<cricket::TestTurnCustomizer>>(
             RTC_FROM_HERE,
-            [] { return absl::make_unique<cricket::TestTurnCustomizer>(); });
+            [] { return std::make_unique<cricket::TestTurnCustomizer>(); });
     turn_customizers_.push_back(std::move(turn_customizer));
     // Interactions with the turn customizer should be done on the network
     // thread.
@@ -4072,9 +4071,9 @@
 TEST_P(PeerConnectionIntegrationTest,
        IceStatesReachCompletionWithRemoteHostname) {
   auto caller_resolver_factory =
-      absl::make_unique<NiceMock<webrtc::MockAsyncResolverFactory>>();
+      std::make_unique<NiceMock<webrtc::MockAsyncResolverFactory>>();
   auto callee_resolver_factory =
-      absl::make_unique<NiceMock<webrtc::MockAsyncResolverFactory>>();
+      std::make_unique<NiceMock<webrtc::MockAsyncResolverFactory>>();
   NiceMock<rtc::MockAsyncResolver> callee_async_resolver;
   NiceMock<rtc::MockAsyncResolver> caller_async_resolver;
 
@@ -4102,9 +4101,9 @@
 
   // Enable hostname candidates with mDNS names.
   caller()->SetMdnsResponder(
-      absl::make_unique<webrtc::FakeMdnsResponder>(network_thread()));
+      std::make_unique<webrtc::FakeMdnsResponder>(network_thread()));
   callee()->SetMdnsResponder(
-      absl::make_unique<webrtc::FakeMdnsResponder>(network_thread()));
+      std::make_unique<webrtc::FakeMdnsResponder>(network_thread()));
 
   SetPortAllocatorFlags(kOnlyLocalPorts, kOnlyLocalPorts);
 
@@ -5127,7 +5126,7 @@
   ASSERT_TRUE(CreatePeerConnectionWrappers());
   ConnectFakeSignaling();
 
-  auto output = absl::make_unique<testing::NiceMock<MockRtcEventLogOutput>>();
+  auto output = std::make_unique<testing::NiceMock<MockRtcEventLogOutput>>();
   ON_CALL(*output, IsActive()).WillByDefault(::testing::Return(true));
   ON_CALL(*output, Write(::testing::_)).WillByDefault(::testing::Return(true));
   EXPECT_CALL(*output, Write(::testing::_)).Times(::testing::AtLeast(1));
diff --git a/pc/peer_connection_interface_unittest.cc b/pc/peer_connection_interface_unittest.cc
index f9c40c2..2d0687c 100644
--- a/pc/peer_connection_interface_unittest.cc
+++ b/pc/peer_connection_interface_unittest.cc
@@ -19,7 +19,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/str_replace.h"
 #include "absl/types/optional.h"
 #include "api/audio/audio_mixer.h"
@@ -656,7 +655,7 @@
     dependencies.media_engine =
         cricket::CreateMediaEngine(std::move(media_deps));
     dependencies.call_factory = webrtc::CreateCallFactory();
-    dependencies.event_log_factory = absl::make_unique<RtcEventLogFactory>(
+    dependencies.event_log_factory = std::make_unique<RtcEventLogFactory>(
         dependencies.task_queue_factory.get());
 
     return new rtc::RefCountedObject<PeerConnectionFactoryForTest>(
@@ -3463,7 +3462,7 @@
   pc_->Close();
 
   EXPECT_FALSE(
-      pc_->StartRtcEventLog(absl::make_unique<webrtc::RtcEventLogOutputNull>(),
+      pc_->StartRtcEventLog(std::make_unique<webrtc::RtcEventLogOutputNull>(),
                             webrtc::RtcEventLog::kImmediateOutput));
   pc_->StopRtcEventLog();
 }
diff --git a/pc/peer_connection_jsep_unittest.cc b/pc/peer_connection_jsep_unittest.cc
index 2afb72b..1fe8d07 100644
--- a/pc/peer_connection_jsep_unittest.cc
+++ b/pc/peer_connection_jsep_unittest.cc
@@ -8,6 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include <memory>
+
 #include "api/task_queue/default_task_queue_factory.h"
 #include "media/engine/webrtc_media_engine.h"
 #include "media/engine/webrtc_media_engine_defaults.h"
@@ -18,7 +20,6 @@
 #ifdef WEBRTC_ANDROID
 #include "pc/test/android_test_initializer.h"
 #endif
-#include "absl/memory/memory.h"
 #include "pc/test/fake_audio_capture_module.h"
 #include "pc/test/fake_sctp_transport.h"
 #include "rtc_base/gunit.h"
@@ -61,7 +62,7 @@
 
   std::unique_ptr<cricket::SctpTransportInternalFactory>
   CreateSctpTransportInternalFactory() {
-    return absl::make_unique<FakeSctpTransportFactory>();
+    return std::make_unique<FakeSctpTransportFactory>();
   }
 };
 
@@ -86,7 +87,7 @@
     rtc::scoped_refptr<PeerConnectionFactory> pc_factory(
         new rtc::RefCountedObject<PeerConnectionFactoryForJsepTest>());
     RTC_CHECK(pc_factory->Initialize());
-    auto observer = absl::make_unique<MockPeerConnectionObserver>();
+    auto observer = std::make_unique<MockPeerConnectionObserver>();
     auto pc = pc_factory->CreatePeerConnection(config, nullptr, nullptr,
                                                observer.get());
     if (!pc) {
@@ -94,8 +95,8 @@
     }
 
     observer->SetPeerConnectionInterface(pc.get());
-    return absl::make_unique<PeerConnectionWrapper>(pc_factory, pc,
-                                                    std::move(observer));
+    return std::make_unique<PeerConnectionWrapper>(pc_factory, pc,
+                                                   std::move(observer));
   }
 
   std::unique_ptr<rtc::VirtualSocketServer> vss_;
diff --git a/pc/peer_connection_media_unittest.cc b/pc/peer_connection_media_unittest.cc
index a980334..62368a2 100644
--- a/pc/peer_connection_media_unittest.cc
+++ b/pc/peer_connection_media_unittest.cc
@@ -12,6 +12,7 @@
 // PeerConnection and the underlying media engine, as well as tests that check
 // the media-related aspects of SDP.
 
+#include <memory>
 #include <tuple>
 
 #include "absl/algorithm/container.h"
@@ -29,7 +30,6 @@
 #ifdef WEBRTC_ANDROID
 #include "pc/test/android_test_initializer.h"
 #endif
-#include "absl/memory/memory.h"
 #include "pc/test/fake_rtc_certificate_generator.h"
 #include "rtc_base/gunit.h"
 #include "rtc_base/virtual_socket_server.h"
@@ -76,7 +76,7 @@
   }
 
   WrapperPtr CreatePeerConnection(const RTCConfiguration& config) {
-    return CreatePeerConnection(config, absl::make_unique<FakeMediaEngine>());
+    return CreatePeerConnection(config, std::make_unique<FakeMediaEngine>());
   }
 
   WrapperPtr CreatePeerConnection(
@@ -101,17 +101,17 @@
     factory_dependencies.media_engine = std::move(media_engine);
     factory_dependencies.call_factory = CreateCallFactory();
     factory_dependencies.event_log_factory =
-        absl::make_unique<RtcEventLogFactory>(
+        std::make_unique<RtcEventLogFactory>(
             factory_dependencies.task_queue_factory.get());
     factory_dependencies.media_transport_factory =
-        absl::make_unique<FakeMediaTransportFactory>();
+        std::make_unique<FakeMediaTransportFactory>();
 
     auto pc_factory =
         CreateModularPeerConnectionFactory(std::move(factory_dependencies));
 
-    auto fake_port_allocator = absl::make_unique<cricket::FakePortAllocator>(
+    auto fake_port_allocator = std::make_unique<cricket::FakePortAllocator>(
         rtc::Thread::Current(), nullptr);
-    auto observer = absl::make_unique<MockPeerConnectionObserver>();
+    auto observer = std::make_unique<MockPeerConnectionObserver>();
     auto modified_config = config;
     modified_config.sdp_semantics = sdp_semantics_;
     auto pc = pc_factory->CreatePeerConnection(modified_config,
@@ -122,7 +122,7 @@
     }
 
     observer->SetPeerConnectionInterface(pc.get());
-    auto wrapper = absl::make_unique<PeerConnectionWrapperForMediaTest>(
+    auto wrapper = std::make_unique<PeerConnectionWrapperForMediaTest>(
         pc_factory, pc, std::move(observer));
     wrapper->set_media_engine(media_engine_ptr);
     return wrapper;
@@ -530,7 +530,7 @@
   fake_codecs.push_back(cricket::VideoCodec(113, cricket::kVp9CodecName));
   fake_codecs.push_back(cricket::VideoCodec(114, cricket::kH264CodecName));
   fake_codecs.push_back(cricket::VideoCodec(115, "HEVC"));
-  auto caller_fake_engine = absl::make_unique<FakeMediaEngine>();
+  auto caller_fake_engine = std::make_unique<FakeMediaEngine>();
   caller_fake_engine->SetVideoCodecs(fake_codecs);
 
   auto caller = CreatePeerConnectionWithVideo(std::move(caller_fake_engine));
@@ -552,9 +552,9 @@
   fake_codecs.push_back(cricket::VideoCodec(113, cricket::kVp9CodecName));
   fake_codecs.push_back(cricket::VideoCodec(114, cricket::kH264CodecName));
   fake_codecs.push_back(cricket::VideoCodec(115, "HEVC"));
-  auto caller_fake_engine = absl::make_unique<FakeMediaEngine>();
+  auto caller_fake_engine = std::make_unique<FakeMediaEngine>();
   caller_fake_engine->SetVideoCodecs(fake_codecs);
-  auto callee_fake_engine = absl::make_unique<FakeMediaEngine>();
+  auto callee_fake_engine = std::make_unique<FakeMediaEngine>();
   callee_fake_engine->SetVideoCodecs(fake_codecs);
 
   RTCOfferAnswerOptions options;
@@ -595,9 +595,9 @@
   fake_codecs.push_back(cricket::VideoCodec(113, cricket::kVp9CodecName));
   fake_codecs.push_back(cricket::VideoCodec(114, cricket::kH264CodecName));
   fake_codecs.push_back(cricket::VideoCodec(115, "HEVC"));
-  auto caller_fake_engine = absl::make_unique<FakeMediaEngine>();
+  auto caller_fake_engine = std::make_unique<FakeMediaEngine>();
   caller_fake_engine->SetVideoCodecs(fake_codecs);
-  auto callee_fake_engine = absl::make_unique<FakeMediaEngine>();
+  auto callee_fake_engine = std::make_unique<FakeMediaEngine>();
   callee_fake_engine->SetVideoCodecs(fake_codecs);
 
   RTCOfferAnswerOptions caller_options;
@@ -1398,7 +1398,7 @@
 
 TEST_F(PeerConnectionMediaTestUnifiedPlan,
        SetCodecPreferencesAudioMissingRecvCodec) {
-  auto fake_engine = absl::make_unique<FakeMediaEngine>();
+  auto fake_engine = std::make_unique<FakeMediaEngine>();
   auto send_codecs = fake_engine->voice().send_codecs();
   send_codecs.push_back(cricket::AudioCodec(send_codecs.back().id + 1,
                                             "send_only_codec", 0, 0, 1));
@@ -1422,7 +1422,7 @@
 
 TEST_F(PeerConnectionMediaTestUnifiedPlan,
        SetCodecPreferencesAudioMissingSendCodec) {
-  auto fake_engine = absl::make_unique<FakeMediaEngine>();
+  auto fake_engine = std::make_unique<FakeMediaEngine>();
   auto recv_codecs = fake_engine->voice().recv_codecs();
   recv_codecs.push_back(cricket::AudioCodec(recv_codecs.back().id + 1,
                                             "recv_only_codec", 0, 0, 1));
@@ -1463,7 +1463,7 @@
 
 TEST_F(PeerConnectionMediaTestUnifiedPlan,
        SetCodecPreferencesAudioRejectsOnlyRtxRedFec) {
-  auto fake_engine = absl::make_unique<FakeMediaEngine>();
+  auto fake_engine = std::make_unique<FakeMediaEngine>();
   auto audio_codecs = fake_engine->voice().send_codecs();
   audio_codecs.push_back(cricket::AudioCodec(audio_codecs.back().id + 1,
                                              cricket::kRtxCodecName, 0, 0, 1));
@@ -1560,7 +1560,7 @@
 
 TEST_F(PeerConnectionMediaTestUnifiedPlan,
        SetCodecPreferencesVideoRejectsOnlyRtxRedFec) {
-  auto fake_engine = absl::make_unique<FakeMediaEngine>();
+  auto fake_engine = std::make_unique<FakeMediaEngine>();
   auto video_codecs = fake_engine->video().codecs();
   video_codecs.push_back(
       cricket::VideoCodec(video_codecs.back().id + 1, cricket::kRtxCodecName));
@@ -1666,7 +1666,7 @@
 }
 
 TEST_F(PeerConnectionMediaTestUnifiedPlan, SetCodecPreferencesVideoWithRtx) {
-  auto caller_fake_engine = absl::make_unique<FakeMediaEngine>();
+  auto caller_fake_engine = std::make_unique<FakeMediaEngine>();
   auto caller_video_codecs = caller_fake_engine->video().codecs();
   caller_video_codecs.push_back(cricket::VideoCodec(
       caller_video_codecs.back().id + 1, cricket::kVp8CodecName));
@@ -1718,7 +1718,7 @@
 
 TEST_F(PeerConnectionMediaTestUnifiedPlan,
        SetCodecPreferencesVideoCodecsNegotiation) {
-  auto caller_fake_engine = absl::make_unique<FakeMediaEngine>();
+  auto caller_fake_engine = std::make_unique<FakeMediaEngine>();
   auto caller_video_codecs = caller_fake_engine->video().codecs();
   caller_video_codecs.push_back(cricket::VideoCodec(
       caller_video_codecs.back().id + 1, cricket::kVp8CodecName));
@@ -1734,7 +1734,7 @@
       std::to_string(caller_video_codecs.back().id - 1);
   caller_fake_engine->SetVideoCodecs(caller_video_codecs);
 
-  auto callee_fake_engine = absl::make_unique<FakeMediaEngine>();
+  auto callee_fake_engine = std::make_unique<FakeMediaEngine>();
   callee_fake_engine->SetVideoCodecs(caller_video_codecs);
 
   auto caller = CreatePeerConnectionWithVideo(std::move(caller_fake_engine));
@@ -1792,7 +1792,7 @@
 
 TEST_F(PeerConnectionMediaTestUnifiedPlan,
        SetCodecPreferencesVideoCodecsNegotiationReverseOrder) {
-  auto caller_fake_engine = absl::make_unique<FakeMediaEngine>();
+  auto caller_fake_engine = std::make_unique<FakeMediaEngine>();
   auto caller_video_codecs = caller_fake_engine->video().codecs();
   caller_video_codecs.push_back(cricket::VideoCodec(
       caller_video_codecs.back().id + 1, cricket::kVp8CodecName));
@@ -1808,7 +1808,7 @@
       std::to_string(caller_video_codecs.back().id - 1);
   caller_fake_engine->SetVideoCodecs(caller_video_codecs);
 
-  auto callee_fake_engine = absl::make_unique<FakeMediaEngine>();
+  auto callee_fake_engine = std::make_unique<FakeMediaEngine>();
   callee_fake_engine->SetVideoCodecs(caller_video_codecs);
 
   auto caller = CreatePeerConnectionWithVideo(std::move(caller_fake_engine));
diff --git a/pc/peer_connection_rampup_tests.cc b/pc/peer_connection_rampup_tests.cc
index dd769e6..b50489d 100644
--- a/pc/peer_connection_rampup_tests.cc
+++ b/pc/peer_connection_rampup_tests.cc
@@ -13,7 +13,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/audio/audio_mixer.h"
 #include "api/audio_codecs/audio_decoder_factory.h"
@@ -183,7 +182,7 @@
     fake_network_manager->AddInterface(kDefaultLocalAddress);
     fake_network_managers_.emplace_back(fake_network_manager);
 
-    auto observer = absl::make_unique<MockPeerConnectionObserver>();
+    auto observer = std::make_unique<MockPeerConnectionObserver>();
     webrtc::PeerConnectionDependencies dependencies(observer.get());
     cricket::BasicPortAllocator* port_allocator =
         new cricket::BasicPortAllocator(fake_network_manager);
@@ -191,7 +190,7 @@
     dependencies.allocator =
         std::unique_ptr<cricket::BasicPortAllocator>(port_allocator);
     dependencies.tls_cert_verifier =
-        absl::make_unique<rtc::TestCertificateVerifier>();
+        std::make_unique<rtc::TestCertificateVerifier>();
 
     auto pc =
         pc_factory_->CreatePeerConnection(config, std::move(dependencies));
@@ -199,7 +198,7 @@
       return nullptr;
     }
 
-    return absl::make_unique<PeerConnectionWrapperForRampUpTest>(
+    return std::make_unique<PeerConnectionWrapperForRampUpTest>(
         pc_factory_, pc, std::move(observer));
   }
 
@@ -241,7 +240,7 @@
                   kTurnInternalAddress, kTurnInternalPort};
               static const rtc::SocketAddress turn_server_external_address{
                   kTurnExternalAddress, kTurnExternalPort};
-              return absl::make_unique<cricket::TestTurnServer>(
+              return std::make_unique<cricket::TestTurnServer>(
                   thread, turn_server_internal_address,
                   turn_server_external_address, type,
                   true /*ignore_bad_certs=*/, common_name);
diff --git a/pc/peer_connection_rtp_unittest.cc b/pc/peer_connection_rtp_unittest.cc
index 67aa98d..b709992 100644
--- a/pc/peer_connection_rtp_unittest.cc
+++ b/pc/peer_connection_rtp_unittest.cc
@@ -15,7 +15,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/audio/audio_mixer.h"
 #include "api/audio_codecs/audio_decoder_factory.h"
@@ -138,13 +137,13 @@
   // adjustment.
   std::unique_ptr<PeerConnectionWrapper> CreatePeerConnectionInternal(
       const RTCConfiguration& config) {
-    auto observer = absl::make_unique<MockPeerConnectionObserver>();
+    auto observer = std::make_unique<MockPeerConnectionObserver>();
     auto pc = pc_factory_->CreatePeerConnection(config, nullptr, nullptr,
                                                 observer.get());
     EXPECT_TRUE(pc.get());
     observer->SetPeerConnectionInterface(pc.get());
-    return absl::make_unique<PeerConnectionWrapper>(pc_factory_, pc,
-                                                    std::move(observer));
+    return std::make_unique<PeerConnectionWrapper>(pc_factory_, pc,
+                                                   std::move(observer));
   }
 };
 
diff --git a/pc/peer_connection_signaling_unittest.cc b/pc/peer_connection_signaling_unittest.cc
index db65de4..9916539 100644
--- a/pc/peer_connection_signaling_unittest.cc
+++ b/pc/peer_connection_signaling_unittest.cc
@@ -11,6 +11,7 @@
 // This file contains tests that check the PeerConnection's signaling state
 // machine, as well as tests that check basic, media-agnostic aspects of SDP.
 
+#include <memory>
 #include <tuple>
 
 #include "api/audio_codecs/builtin_audio_decoder_factory.h"
@@ -25,7 +26,6 @@
 #ifdef WEBRTC_ANDROID
 #include "pc/test/android_test_initializer.h"
 #endif
-#include "absl/memory/memory.h"
 #include "pc/test/fake_audio_capture_module.h"
 #include "pc/test/fake_rtc_certificate_generator.h"
 #include "rtc_base/gunit.h"
@@ -81,7 +81,7 @@
   }
 
   WrapperPtr CreatePeerConnection(const RTCConfiguration& config) {
-    auto observer = absl::make_unique<MockPeerConnectionObserver>();
+    auto observer = std::make_unique<MockPeerConnectionObserver>();
     RTCConfiguration modified_config = config;
     modified_config.sdp_semantics = sdp_semantics_;
     auto pc = pc_factory_->CreatePeerConnection(modified_config, nullptr,
@@ -91,7 +91,7 @@
     }
 
     observer->SetPeerConnectionInterface(pc.get());
-    return absl::make_unique<PeerConnectionWrapperForSignalingTest>(
+    return std::make_unique<PeerConnectionWrapperForSignalingTest>(
         pc_factory_, pc, std::move(observer));
   }
 
diff --git a/pc/peer_connection_simulcast_unittest.cc b/pc/peer_connection_simulcast_unittest.cc
index cb36bb1..b8743c6 100644
--- a/pc/peer_connection_simulcast_unittest.cc
+++ b/pc/peer_connection_simulcast_unittest.cc
@@ -8,10 +8,10 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include <memory>
 #include <ostream>  // no-presubmit-check TODO(webrtc:8982)
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "api/audio_codecs/builtin_audio_decoder_factory.h"
 #include "api/audio_codecs/builtin_audio_encoder_factory.h"
 #include "api/create_peerconnection_factory.h"
@@ -116,10 +116,10 @@
   }
 
   std::unique_ptr<PeerConnectionWrapper> CreatePeerConnectionWrapper() {
-    auto observer = absl::make_unique<MockPeerConnectionObserver>();
+    auto observer = std::make_unique<MockPeerConnectionObserver>();
     auto pc = CreatePeerConnection(observer.get());
-    return absl::make_unique<PeerConnectionWrapper>(pc_factory_, pc,
-                                                    std::move(observer));
+    return std::make_unique<PeerConnectionWrapper>(pc_factory_, pc,
+                                                   std::move(observer));
   }
 
   void ExchangeOfferAnswer(PeerConnectionWrapper* local,
diff --git a/pc/remote_audio_source.cc b/pc/remote_audio_source.cc
index 2590f85..d9752f3 100644
--- a/pc/remote_audio_source.cc
+++ b/pc/remote_audio_source.cc
@@ -12,10 +12,10 @@
 
 #include <stddef.h>
 
+#include <memory>
 #include <string>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "api/scoped_refptr.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/constructor_magic.h"
@@ -72,7 +72,7 @@
   // is destroyed).
   worker_thread_->Invoke<void>(RTC_FROM_HERE, [&] {
     media_channel->SetRawAudioSink(ssrc,
-                                   absl::make_unique<AudioDataProxy>(this));
+                                   std::make_unique<AudioDataProxy>(this));
   });
 }
 
diff --git a/pc/rtc_stats_collector.cc b/pc/rtc_stats_collector.cc
index eba54f6..50c49a7 100644
--- a/pc/rtc_stats_collector.cc
+++ b/pc/rtc_stats_collector.cc
@@ -15,7 +15,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/candidate.h"
 #include "api/media_stream_interface.h"
 #include "api/peer_connection_interface.h"
@@ -419,7 +418,7 @@
   // RTCStats' timestamp generally refers to when the metric was sampled, but
   // for "remote-[outbound/inbound]-rtp" it refers to the local time when the
   // Report Block was received.
-  auto remote_inbound = absl::make_unique<RTCRemoteInboundRtpStreamStats>(
+  auto remote_inbound = std::make_unique<RTCRemoteInboundRtpStreamStats>(
       RTCRemoteInboundRtpStreamStatsIdFromSourceSsrc(media_type,
                                                      report_block.source_ssrc),
       /*timestamp=*/report_block_data.report_block_timestamp_utc_us());
@@ -1408,7 +1407,7 @@
       // create separate media source stats objects on a per-attachment basis.
       std::unique_ptr<RTCMediaSourceStats> media_source_stats;
       if (track->kind() == MediaStreamTrackInterface::kAudioKind) {
-        auto audio_source_stats = absl::make_unique<RTCAudioSourceStats>(
+        auto audio_source_stats = std::make_unique<RTCAudioSourceStats>(
             RTCMediaSourceStatsIDFromKindAndAttachment(
                 cricket::MEDIA_TYPE_AUDIO, sender_internal->AttachmentId()),
             timestamp_us);
@@ -1433,7 +1432,7 @@
         media_source_stats = std::move(audio_source_stats);
       } else {
         RTC_DCHECK_EQ(MediaStreamTrackInterface::kVideoKind, track->kind());
-        auto video_source_stats = absl::make_unique<RTCVideoSourceStats>(
+        auto video_source_stats = std::make_unique<RTCVideoSourceStats>(
             RTCMediaSourceStatsIDFromKindAndAttachment(
                 cricket::MEDIA_TYPE_VIDEO, sender_internal->AttachmentId()),
             timestamp_us);
@@ -1513,7 +1512,7 @@
        track_media_info_map.voice_media_info()->receivers) {
     if (!voice_receiver_info.connected())
       continue;
-    auto inbound_audio = absl::make_unique<RTCInboundRTPStreamStats>(
+    auto inbound_audio = std::make_unique<RTCInboundRTPStreamStats>(
         RTCInboundRTPStreamStatsIDFromSSRC(true, voice_receiver_info.ssrc()),
         timestamp_us);
     SetInboundRTPStreamStatsFromVoiceReceiverInfo(mid, voice_receiver_info,
@@ -1535,7 +1534,7 @@
        track_media_info_map.voice_media_info()->senders) {
     if (!voice_sender_info.connected())
       continue;
-    auto outbound_audio = absl::make_unique<RTCOutboundRTPStreamStats>(
+    auto outbound_audio = std::make_unique<RTCOutboundRTPStreamStats>(
         RTCOutboundRTPStreamStatsIDFromSSRC(true, voice_sender_info.ssrc()),
         timestamp_us);
     SetOutboundRTPStreamStatsFromVoiceSenderInfo(mid, voice_sender_info,
@@ -1587,7 +1586,7 @@
        track_media_info_map.video_media_info()->receivers) {
     if (!video_receiver_info.connected())
       continue;
-    auto inbound_video = absl::make_unique<RTCInboundRTPStreamStats>(
+    auto inbound_video = std::make_unique<RTCInboundRTPStreamStats>(
         RTCInboundRTPStreamStatsIDFromSSRC(false, video_receiver_info.ssrc()),
         timestamp_us);
     SetInboundRTPStreamStatsFromVideoReceiverInfo(mid, video_receiver_info,
@@ -1608,7 +1607,7 @@
        track_media_info_map.video_media_info()->senders) {
     if (!video_sender_info.connected())
       continue;
-    auto outbound_video = absl::make_unique<RTCOutboundRTPStreamStats>(
+    auto outbound_video = std::make_unique<RTCOutboundRTPStreamStats>(
         RTCOutboundRTPStreamStatsIDFromSSRC(false, video_sender_info.ssrc()),
         timestamp_us);
     SetOutboundRTPStreamStatsFromVideoSenderInfo(mid, video_sender_info,
@@ -1780,13 +1779,13 @@
       RTC_DCHECK(voice_stats.find(voice_channel->media_channel()) ==
                  voice_stats.end());
       voice_stats[voice_channel->media_channel()] =
-          absl::make_unique<cricket::VoiceMediaInfo>();
+          std::make_unique<cricket::VoiceMediaInfo>();
     } else if (media_type == cricket::MEDIA_TYPE_VIDEO) {
       auto* video_channel = static_cast<cricket::VideoChannel*>(channel);
       RTC_DCHECK(video_stats.find(video_channel->media_channel()) ==
                  video_stats.end());
       video_stats[video_channel->media_channel()] =
-          absl::make_unique<cricket::VideoMediaInfo>();
+          std::make_unique<cricket::VideoMediaInfo>();
     } else {
       RTC_NOTREACHED();
     }
@@ -1836,7 +1835,7 @@
     for (const auto& receiver : transceiver->receivers()) {
       receivers.push_back(receiver->internal());
     }
-    stats.track_media_info_map = absl::make_unique<TrackMediaInfoMap>(
+    stats.track_media_info_map = std::make_unique<TrackMediaInfoMap>(
         std::move(voice_media_info), std::move(video_media_info), senders,
         receivers);
   }
diff --git a/pc/rtp_sender_receiver_unittest.cc b/pc/rtp_sender_receiver_unittest.cc
index 02d7452..9026cfc 100644
--- a/pc/rtp_sender_receiver_unittest.cc
+++ b/pc/rtp_sender_receiver_unittest.cc
@@ -109,7 +109,7 @@
         // test RtpSenders/RtpReceivers.
         media_engine_(new cricket::FakeMediaEngine()),
         channel_manager_(absl::WrapUnique(media_engine_),
-                         absl::make_unique<cricket::RtpDataEngine>(),
+                         std::make_unique<cricket::RtpDataEngine>(),
                          worker_thread_,
                          network_thread_),
         fake_call_(),
@@ -117,7 +117,7 @@
     // Create channels to be used by the RtpSenders and RtpReceivers.
     channel_manager_.Init();
     bool srtp_required = true;
-    rtp_dtls_transport_ = absl::make_unique<cricket::FakeDtlsTransport>(
+    rtp_dtls_transport_ = std::make_unique<cricket::FakeDtlsTransport>(
         "fake_dtls_transport", cricket::ICE_CANDIDATE_COMPONENT_RTP);
     rtp_transport_ = CreateDtlsSrtpTransport();
 
@@ -163,7 +163,7 @@
   }
 
   std::unique_ptr<webrtc::RtpTransportInternal> CreateDtlsSrtpTransport() {
-    auto dtls_srtp_transport = absl::make_unique<webrtc::DtlsSrtpTransport>(
+    auto dtls_srtp_transport = std::make_unique<webrtc::DtlsSrtpTransport>(
         /*rtcp_mux_required=*/true);
     dtls_srtp_transport->SetDtlsTransports(rtp_dtls_transport_.get(),
                                            /*rtcp_dtls_transport=*/nullptr);
@@ -196,7 +196,7 @@
     audio_track_ = AudioTrack::Create(kAudioTrackId, source);
     EXPECT_TRUE(local_stream_->AddTrack(audio_track_));
     std::unique_ptr<MockSetStreamsObserver> set_streams_observer =
-        absl::make_unique<MockSetStreamsObserver>();
+        std::make_unique<MockSetStreamsObserver>();
     audio_rtp_sender_ =
         AudioRtpSender::Create(worker_thread_, audio_track_->id(), nullptr,
                                set_streams_observer.get());
@@ -261,7 +261,7 @@
   void CreateVideoRtpSender(bool is_screencast, uint32_t ssrc = kVideoSsrc) {
     AddVideoTrack(is_screencast);
     std::unique_ptr<MockSetStreamsObserver> set_streams_observer =
-        absl::make_unique<MockSetStreamsObserver>();
+        std::make_unique<MockSetStreamsObserver>();
     video_rtp_sender_ = VideoRtpSender::Create(
         worker_thread_, video_track_->id(), set_streams_observer.get());
     ASSERT_TRUE(video_rtp_sender_->SetTrack(video_track_));
@@ -855,7 +855,7 @@
   EXPECT_TRUE(local_stream_->AddTrack(audio_track_));
 
   std::unique_ptr<MockSetStreamsObserver> set_streams_observer =
-      absl::make_unique<MockSetStreamsObserver>();
+      std::make_unique<MockSetStreamsObserver>();
   audio_rtp_sender_ = AudioRtpSender::Create(
       worker_thread_, audio_track_->id(), nullptr, set_streams_observer.get());
   ASSERT_TRUE(audio_rtp_sender_->SetTrack(audio_track_));
@@ -1086,7 +1086,7 @@
   AddVideoTrack(false);
 
   std::unique_ptr<MockSetStreamsObserver> set_streams_observer =
-      absl::make_unique<MockSetStreamsObserver>();
+      std::make_unique<MockSetStreamsObserver>();
   video_rtp_sender_ = VideoRtpSender::Create(worker_thread_, video_track_->id(),
                                              set_streams_observer.get());
   ASSERT_TRUE(video_rtp_sender_->SetTrack(video_track_));
@@ -1127,7 +1127,7 @@
   AddVideoTrack(false);
 
   std::unique_ptr<MockSetStreamsObserver> set_streams_observer =
-      absl::make_unique<MockSetStreamsObserver>();
+      std::make_unique<MockSetStreamsObserver>();
   video_rtp_sender_ = VideoRtpSender::Create(worker_thread_, video_track_->id(),
                                              set_streams_observer.get());
   ASSERT_TRUE(video_rtp_sender_->SetTrack(video_track_));
@@ -1555,7 +1555,7 @@
        PropagatesVideoTrackContentHintSetBeforeEnabling) {
   AddVideoTrack();
   std::unique_ptr<MockSetStreamsObserver> set_streams_observer =
-      absl::make_unique<MockSetStreamsObserver>();
+      std::make_unique<MockSetStreamsObserver>();
   // Setting detailed overrides the default non-screencast mode. This should be
   // applied even if the track is set on construction.
   video_track_->set_content_hint(VideoTrackInterface::ContentHint::kDetailed);
diff --git a/pc/sctp_transport_unittest.cc b/pc/sctp_transport_unittest.cc
index ca57d6a..8566ef3 100644
--- a/pc/sctp_transport_unittest.cc
+++ b/pc/sctp_transport_unittest.cc
@@ -118,7 +118,7 @@
 
   void AddDtlsTransport() {
     std::unique_ptr<cricket::DtlsTransportInternal> cricket_transport =
-        absl::make_unique<FakeDtlsTransport>(
+        std::make_unique<FakeDtlsTransport>(
             "audio", cricket::ICE_CANDIDATE_COMPONENT_RTP);
     dtls_transport_ =
         new rtc::RefCountedObject<DtlsTransport>(std::move(cricket_transport));
diff --git a/pc/sdp_utils.cc b/pc/sdp_utils.cc
index e6cd07f..5bfdaa4 100644
--- a/pc/sdp_utils.cc
+++ b/pc/sdp_utils.cc
@@ -10,10 +10,10 @@
 
 #include "pc/sdp_utils.h"
 
+#include <memory>
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/jsep_session_description.h"
 
 namespace webrtc {
@@ -28,7 +28,7 @@
     const SessionDescriptionInterface* sdesc,
     SdpType type) {
   RTC_DCHECK(sdesc);
-  auto clone = absl::make_unique<JsepSessionDescription>(type);
+  auto clone = std::make_unique<JsepSessionDescription>(type);
   clone->Initialize(sdesc->description()->Clone(), sdesc->session_id(),
                     sdesc->session_version());
   // As of writing, our version of GCC does not allow returning a unique_ptr of
diff --git a/pc/session_description_unittest.cc b/pc/session_description_unittest.cc
index 7f2b410..75e0974 100644
--- a/pc/session_description_unittest.cc
+++ b/pc/session_description_unittest.cc
@@ -9,7 +9,8 @@
  */
 #include "pc/session_description.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "test/gtest.h"
 
 namespace cricket {
@@ -66,7 +67,7 @@
 TEST(SessionDescriptionTest, SetExtmapAllowMixedPropagatesToMediaLevel) {
   SessionDescription session_desc;
   session_desc.AddContent("video", MediaProtocolType::kRtp,
-                          absl::make_unique<VideoContentDescription>());
+                          std::make_unique<VideoContentDescription>());
   MediaContentDescription* video_desc =
       session_desc.GetContentDescriptionByName("video");
 
@@ -107,7 +108,7 @@
   SessionDescription session_desc;
   session_desc.set_extmap_allow_mixed(false);
   std::unique_ptr<MediaContentDescription> audio_desc =
-      absl::make_unique<AudioContentDescription>();
+      std::make_unique<AudioContentDescription>();
   audio_desc->set_extmap_allow_mixed_enum(MediaContentDescription::kMedia);
 
   // If session setting is false, media level setting is preserved when new
@@ -122,7 +123,7 @@
   // content is added.
   session_desc.set_extmap_allow_mixed(true);
   std::unique_ptr<MediaContentDescription> video_desc =
-      absl::make_unique<VideoContentDescription>();
+      std::make_unique<VideoContentDescription>();
   session_desc.AddContent("video", MediaProtocolType::kRtp,
                           std::move(video_desc));
   EXPECT_EQ(MediaContentDescription::kSession,
@@ -131,7 +132,7 @@
 
   // Session level setting overrides media level when new content is added.
   std::unique_ptr<MediaContentDescription> data_desc =
-      absl::make_unique<RtpDataContentDescription>();
+      std::make_unique<RtpDataContentDescription>();
   data_desc->set_extmap_allow_mixed_enum(MediaContentDescription::kMedia);
   session_desc.AddContent("data", MediaProtocolType::kRtp,
                           std::move(data_desc));
diff --git a/pc/srtp_transport_unittest.cc b/pc/srtp_transport_unittest.cc
index 403ff7c..fa095bf 100644
--- a/pc/srtp_transport_unittest.cc
+++ b/pc/srtp_transport_unittest.cc
@@ -12,10 +12,10 @@
 
 #include <string.h>
 
+#include <memory>
 #include <set>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "call/rtp_demuxer.h"
 #include "media/base/fake_rtp.h"
 #include "p2p/base/dtls_transport_internal.h"
@@ -50,16 +50,16 @@
     bool rtcp_mux_enabled = true;
 
     rtp_packet_transport1_ =
-        absl::make_unique<rtc::FakePacketTransport>("fake_packet_transport1");
+        std::make_unique<rtc::FakePacketTransport>("fake_packet_transport1");
     rtp_packet_transport2_ =
-        absl::make_unique<rtc::FakePacketTransport>("fake_packet_transport2");
+        std::make_unique<rtc::FakePacketTransport>("fake_packet_transport2");
 
     bool asymmetric = false;
     rtp_packet_transport1_->SetDestination(rtp_packet_transport2_.get(),
                                            asymmetric);
 
-    srtp_transport1_ = absl::make_unique<SrtpTransport>(rtcp_mux_enabled);
-    srtp_transport2_ = absl::make_unique<SrtpTransport>(rtcp_mux_enabled);
+    srtp_transport1_ = std::make_unique<SrtpTransport>(rtcp_mux_enabled);
+    srtp_transport2_ = std::make_unique<SrtpTransport>(rtcp_mux_enabled);
 
     srtp_transport1_->SetRtpPacketTransport(rtp_packet_transport1_.get());
     srtp_transport2_->SetRtpPacketTransport(rtp_packet_transport2_.get());
diff --git a/pc/stats_collector.cc b/pc/stats_collector.cc
index a65a5e7..1fb2a5b 100644
--- a/pc/stats_collector.cc
+++ b/pc/stats_collector.cc
@@ -15,7 +15,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "pc/channel.h"
 #include "pc/peer_connection.h"
 #include "rtc_base/checks.h"
@@ -1009,11 +1008,11 @@
     cricket::MediaChannel* channel) {
   RTC_DCHECK(channel);
   if (channel->media_type() == cricket::MEDIA_TYPE_AUDIO) {
-    return absl::make_unique<VoiceMediaChannelStatsGatherer>(
+    return std::make_unique<VoiceMediaChannelStatsGatherer>(
         static_cast<cricket::VoiceMediaChannel*>(channel));
   } else {
     RTC_DCHECK_EQ(channel->media_type(), cricket::MEDIA_TYPE_VIDEO);
-    return absl::make_unique<VideoMediaChannelStatsGatherer>(
+    return std::make_unique<VideoMediaChannelStatsGatherer>(
         static_cast<cricket::VideoMediaChannel*>(channel));
   }
 }
diff --git a/pc/stats_collector_unittest.cc b/pc/stats_collector_unittest.cc
index 858e7b6..a06b322 100644
--- a/pc/stats_collector_unittest.cc
+++ b/pc/stats_collector_unittest.cc
@@ -15,7 +15,6 @@
 #include <memory>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/audio_codecs/audio_encoder.h"
 #include "api/candidate.h"
@@ -600,7 +599,7 @@
 
   std::unique_ptr<StatsCollectorForTest> CreateStatsCollector(
       PeerConnectionInternal* pc) {
-    return absl::make_unique<StatsCollectorForTest>(pc);
+    return std::make_unique<StatsCollectorForTest>(pc);
   }
 
   void VerifyAudioTrackStats(FakeAudioTrack* audio_track,
diff --git a/pc/test/fake_peer_connection_for_stats.h b/pc/test/fake_peer_connection_for_stats.h
index 8264391..c639158 100644
--- a/pc/test/fake_peer_connection_for_stats.h
+++ b/pc/test/fake_peer_connection_for_stats.h
@@ -18,7 +18,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "media/base/fake_media_engine.h"
 #include "pc/stream_collection.h"
 #include "pc/test/fake_data_channel_provider.h"
@@ -138,9 +137,9 @@
       const std::string& transport_name) {
     RTC_DCHECK(!voice_channel_);
     auto voice_media_channel =
-        absl::make_unique<FakeVoiceMediaChannelForStats>();
+        std::make_unique<FakeVoiceMediaChannelForStats>();
     auto* voice_media_channel_ptr = voice_media_channel.get();
-    voice_channel_ = absl::make_unique<cricket::VoiceChannel>(
+    voice_channel_ = std::make_unique<cricket::VoiceChannel>(
         worker_thread_, network_thread_, signaling_thread_,
         std::move(voice_media_channel), mid, kDefaultSrtpRequired,
         webrtc::CryptoOptions(), &ssrc_generator_);
@@ -156,9 +155,9 @@
       const std::string& transport_name) {
     RTC_DCHECK(!video_channel_);
     auto video_media_channel =
-        absl::make_unique<FakeVideoMediaChannelForStats>();
+        std::make_unique<FakeVideoMediaChannelForStats>();
     auto video_media_channel_ptr = video_media_channel.get();
-    video_channel_ = absl::make_unique<cricket::VideoChannel>(
+    video_channel_ = std::make_unique<cricket::VideoChannel>(
         worker_thread_, network_thread_, signaling_thread_,
         std::move(video_media_channel), mid, kDefaultSrtpRequired,
         webrtc::CryptoOptions(), &ssrc_generator_);
diff --git a/pc/test/fake_periodic_video_source.h b/pc/test/fake_periodic_video_source.h
index 7575f97..80dff70 100644
--- a/pc/test/fake_periodic_video_source.h
+++ b/pc/test/fake_periodic_video_source.h
@@ -13,7 +13,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/video/video_source_interface.h"
 #include "media/base/fake_frame_source.h"
 #include "media/base/video_broadcaster.h"
@@ -44,7 +43,7 @@
             config.height,
             config.frame_interval_ms * rtc::kNumMicrosecsPerMillisec,
             config.timestamp_offset_ms * rtc::kNumMicrosecsPerMillisec),
-        task_queue_(absl::make_unique<TaskQueueForTest>(
+        task_queue_(std::make_unique<TaskQueueForTest>(
             "FakePeriodicVideoTrackSource")) {
     thread_checker_.Detach();
     frame_source_.SetRotation(config.rotation);
diff --git a/pc/test/frame_generator_capturer_video_track_source.h b/pc/test/frame_generator_capturer_video_track_source.h
index 007cfc2..c0648ba 100644
--- a/pc/test/frame_generator_capturer_video_track_source.h
+++ b/pc/test/frame_generator_capturer_video_track_source.h
@@ -14,7 +14,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/task_queue/default_task_queue_factory.h"
 #include "api/task_queue/task_queue_factory.h"
 #include "pc/video_track_source.h"
@@ -46,7 +45,7 @@
       : VideoTrackSource(false /* remote */),
         task_queue_factory_(CreateDefaultTaskQueueFactory()),
         is_screencast_(is_screencast) {
-    video_capturer_ = absl::make_unique<test::FrameGeneratorCapturer>(
+    video_capturer_ = std::make_unique<test::FrameGeneratorCapturer>(
         clock,
         test::FrameGenerator::CreateSquareGenerator(
             config.width, config.height, absl::nullopt,
diff --git a/pc/test/mock_peer_connection_observers.h b/pc/test/mock_peer_connection_observers.h
index eeac9b0..5a388bd 100644
--- a/pc/test/mock_peer_connection_observers.h
+++ b/pc/test/mock_peer_connection_observers.h
@@ -20,7 +20,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/data_channel_interface.h"
 #include "api/jsep_ice_candidate.h"
 #include "pc/stream_collection.h"
@@ -116,7 +115,7 @@
     RTC_DCHECK(pc_);
     RTC_DCHECK(PeerConnectionInterface::kIceGatheringNew !=
                pc_->ice_gathering_state());
-    candidates_.push_back(absl::make_unique<JsepIceCandidate>(
+    candidates_.push_back(std::make_unique<JsepIceCandidate>(
         candidate->sdp_mid(), candidate->sdp_mline_index(),
         candidate->candidate()));
     callback_triggered_ = true;
diff --git a/pc/test/peer_connection_test_wrapper.cc b/pc/test/peer_connection_test_wrapper.cc
index 7b278c8..4f0d72e 100644
--- a/pc/test/peer_connection_test_wrapper.cc
+++ b/pc/test/peer_connection_test_wrapper.cc
@@ -12,11 +12,11 @@
 
 #include <stddef.h>
 
+#include <memory>
 #include <string>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/audio/audio_mixer.h"
 #include "api/create_peerconnection_factory.h"
@@ -142,7 +142,7 @@
   if (receiver->track()->kind() == MediaStreamTrackInterface::kVideoKind) {
     auto* video_track =
         static_cast<VideoTrackInterface*>(receiver->track().get());
-    renderer_ = absl::make_unique<FakeVideoTrackRenderer>(video_track);
+    renderer_ = std::make_unique<FakeVideoTrackRenderer>(video_track);
   }
 }
 
diff --git a/pc/webrtc_sdp.cc b/pc/webrtc_sdp.cc
index 7fefa40..ad8fb7e 100644
--- a/pc/webrtc_sdp.cc
+++ b/pc/webrtc_sdp.cc
@@ -24,7 +24,6 @@
 #include <vector>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "absl/strings/match.h"
 #include "api/candidate.h"
 #include "api/crypto_params.h"
@@ -987,7 +986,7 @@
   TransportDescription session_td("", "");
   RtpHeaderExtensions session_extmaps;
   rtc::SocketAddress session_connection_addr;
-  auto desc = absl::make_unique<cricket::SessionDescription>();
+  auto desc = std::make_unique<cricket::SessionDescription>();
   size_t current_pos = 0;
 
   // Session Description
@@ -2658,7 +2657,7 @@
     TransportDescription* transport,
     std::vector<std::unique_ptr<JsepIceCandidate>>* candidates,
     webrtc::SdpParseError* error) {
-  auto media_desc = absl::make_unique<C>();
+  auto media_desc = std::make_unique<C>();
   if (!ParseContent(message, media_type, mline_index, protocol, payload_types,
                     pos, content_name, bundle_only, msid_signaling,
                     media_desc.get(), transport, candidates, error)) {
@@ -2771,7 +2770,7 @@
         // The draft-26 format is:
         // m=application <port> UDP/DTLS/SCTP webrtc-datachannel
         // use_sctpmap should be false.
-        auto data_desc = absl::make_unique<SctpDataContentDescription>();
+        auto data_desc = std::make_unique<SctpDataContentDescription>();
         // Default max message size is 64K
         // according to draft-ietf-mmusic-sctp-sdp-26
         data_desc->set_max_message_size(kDefaultSctpMaxMessageSize);
@@ -3457,7 +3456,7 @@
     RTC_DCHECK(candidate.password().empty());
     candidate.set_password(transport->ice_pwd);
     candidates->push_back(
-        absl::make_unique<JsepIceCandidate>(mline_id, mline_index, candidate));
+        std::make_unique<JsepIceCandidate>(mline_id, mline_index, candidate));
   }
 
   return true;
diff --git a/pc/webrtc_sdp_unittest.cc b/pc/webrtc_sdp_unittest.cc
index 3a105b8..a6182c5 100644
--- a/pc/webrtc_sdp_unittest.cc
+++ b/pc/webrtc_sdp_unittest.cc
@@ -4691,7 +4691,7 @@
 }
 
 TEST_F(WebRtcSdpTest, SerializeMediaTransportSettings) {
-  auto description = absl::make_unique<cricket::SessionDescription>();
+  auto description = std::make_unique<cricket::SessionDescription>();
 
   JsepSessionDescription output(SdpType::kOffer);
   // JsepSessionDescription takes ownership of the description.
diff --git a/pc/webrtc_session_description_factory.cc b/pc/webrtc_session_description_factory.cc
index 4cf1c8c..aaef7fd 100644
--- a/pc/webrtc_session_description_factory.cc
+++ b/pc/webrtc_session_description_factory.cc
@@ -12,12 +12,12 @@
 
 #include <stddef.h>
 
+#include <memory>
 #include <string>
 #include <utility>
 #include <vector>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/jsep.h"
 #include "api/jsep_session_description.h"
@@ -357,7 +357,7 @@
   // is created regardless if it's identical to the previous one or not.
   // The |session_version_| is a uint64_t, the wrap around should not happen.
   RTC_DCHECK(session_version_ + 1 > session_version_);
-  auto offer = absl::make_unique<JsepSessionDescription>(
+  auto offer = std::make_unique<JsepSessionDescription>(
       SdpType::kOffer, std::move(desc), session_id_,
       rtc::ToString(session_version_++));
   if (pc_->local_description()) {
@@ -413,7 +413,7 @@
   // Get a new version number by increasing the |session_version_answer_|.
   // The |session_version_| is a uint64_t, the wrap around should not happen.
   RTC_DCHECK(session_version_ + 1 > session_version_);
-  auto answer = absl::make_unique<JsepSessionDescription>(
+  auto answer = std::make_unique<JsepSessionDescription>(
       SdpType::kAnswer, std::move(desc), session_id_,
       rtc::ToString(session_version_++));
   if (pc_->local_description()) {
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index bd0b57f..694823c 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -60,7 +60,6 @@
     "system:arch",
     "system:unused",
     "third_party/base64",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
   public_deps = []  # no-presubmit-check TODO(webrtc:8603)
@@ -463,7 +462,6 @@
       ":safe_conversions",
       ":timeutils",
       "../api/task_queue",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/strings",
     ]
     if (rtc_build_libevent) {
@@ -483,7 +481,6 @@
       ":checks",
       ":logging",
       "../api/task_queue",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/strings",
     ]
   }
@@ -506,7 +503,6 @@
       ":safe_conversions",
       ":timeutils",
       "../api/task_queue",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/strings",
     ]
   }
@@ -527,7 +523,6 @@
     ":safe_conversions",
     ":timeutils",
     "../api/task_queue",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
   ]
 }
@@ -1003,7 +998,6 @@
     ":rtc_base",
     ":rtc_base_tests_utils",
     ":timeutils",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -1228,7 +1222,6 @@
       ":weak_ptr",
       "../test:test_main",
       "../test:test_support",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
diff --git a/rtc_base/experiments/BUILD.gn b/rtc_base/experiments/BUILD.gn
index 0101fd8..bbb5345 100644
--- a/rtc_base/experiments/BUILD.gn
+++ b/rtc_base/experiments/BUILD.gn
@@ -58,7 +58,7 @@
     "../../rtc_base:logging",
     "../../rtc_base:safe_conversions",
     "../../rtc_base:stringutils",
-    "//third_party/abseil-cpp/absl/memory:memory",
+    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings:strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
@@ -166,7 +166,6 @@
     "../../api/transport:webrtc_key_value_config",
     "../../api/video_codecs:video_codecs_api",
     "../../system_wrappers:field_trial",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
diff --git a/rtc_base/fake_ssl_identity.cc b/rtc_base/fake_ssl_identity.cc
index 480922c..309708f 100644
--- a/rtc_base/fake_ssl_identity.cc
+++ b/rtc_base/fake_ssl_identity.cc
@@ -10,10 +10,10 @@
 
 #include "rtc_base/fake_ssl_identity.h"
 
+#include <memory>
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/message_digest.h"
 
@@ -29,7 +29,7 @@
 FakeSSLCertificate::~FakeSSLCertificate() = default;
 
 std::unique_ptr<SSLCertificate> FakeSSLCertificate::Clone() const {
-  return absl::make_unique<FakeSSLCertificate>(*this);
+  return std::make_unique<FakeSSLCertificate>(*this);
 }
 
 std::string FakeSSLCertificate::ToPEMString() const {
@@ -77,13 +77,13 @@
   std::vector<std::unique_ptr<SSLCertificate>> certs;
   certs.reserve(pem_strings.size());
   for (const std::string& pem_string : pem_strings) {
-    certs.push_back(absl::make_unique<FakeSSLCertificate>(pem_string));
+    certs.push_back(std::make_unique<FakeSSLCertificate>(pem_string));
   }
-  cert_chain_ = absl::make_unique<SSLCertChain>(std::move(certs));
+  cert_chain_ = std::make_unique<SSLCertChain>(std::move(certs));
 }
 
 FakeSSLIdentity::FakeSSLIdentity(const FakeSSLCertificate& cert)
-    : cert_chain_(absl::make_unique<SSLCertChain>(cert.Clone())) {}
+    : cert_chain_(std::make_unique<SSLCertChain>(cert.Clone())) {}
 
 FakeSSLIdentity::FakeSSLIdentity(const FakeSSLIdentity& o)
     : cert_chain_(o.cert_chain_->Clone()) {}
diff --git a/rtc_base/nat_unittest.cc b/rtc_base/nat_unittest.cc
index 374e68c..959a4e2 100644
--- a/rtc_base/nat_unittest.cc
+++ b/rtc_base/nat_unittest.cc
@@ -56,7 +56,7 @@
 }
 
 TestClient* CreateTCPTestClient(AsyncSocket* socket) {
-  return new TestClient(absl::make_unique<AsyncTCPSocket>(socket, false));
+  return new TestClient(std::make_unique<AsyncTCPSocket>(socket, false));
 }
 
 // Tests that when sending from internal_addr to external_addrs through the
diff --git a/rtc_base/openssl_adapter.cc b/rtc_base/openssl_adapter.cc
index 2c93118..d0c1278 100644
--- a/rtc_base/openssl_adapter.cc
+++ b/rtc_base/openssl_adapter.cc
@@ -18,7 +18,8 @@
 #include <string.h>
 #include <time.h>
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "rtc_base/checks.h"
 #include "rtc_base/location.h"
 #include "rtc_base/logging.h"
@@ -943,7 +944,7 @@
     }
     // The OpenSSLSessionCache will upref the ssl_ctx.
     ssl_session_cache_ =
-        absl::make_unique<OpenSSLSessionCache>(ssl_mode_, ssl_ctx);
+        std::make_unique<OpenSSLSessionCache>(ssl_mode_, ssl_ctx);
     SSL_CTX_free(ssl_ctx);
   }
   return new OpenSSLAdapter(socket, ssl_session_cache_.get(),
diff --git a/rtc_base/openssl_certificate.cc b/rtc_base/openssl_certificate.cc
index c22e5fb..9459f76 100644
--- a/rtc_base/openssl_certificate.cc
+++ b/rtc_base/openssl_certificate.cc
@@ -20,7 +20,8 @@
 #include <openssl/pem.h>
 #include <time.h>
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "rtc_base/checks.h"
 #include "rtc_base/helpers.h"
 #include "rtc_base/logging.h"
@@ -138,7 +139,7 @@
 #if !defined(NDEBUG)
   PrintCert(x509);
 #endif
-  auto ret = absl::make_unique<OpenSSLCertificate>(x509);
+  auto ret = std::make_unique<OpenSSLCertificate>(x509);
   X509_free(x509);
   return ret;
 }
@@ -158,7 +159,7 @@
   if (!x509) {
     return nullptr;
   }
-  auto ret = absl::make_unique<OpenSSLCertificate>(x509);
+  auto ret = std::make_unique<OpenSSLCertificate>(x509);
   X509_free(x509);
   return ret;
 }
@@ -238,7 +239,7 @@
 }
 
 std::unique_ptr<SSLCertificate> OpenSSLCertificate::Clone() const {
-  return absl::make_unique<OpenSSLCertificate>(x509_);
+  return std::make_unique<OpenSSLCertificate>(x509_);
 }
 
 std::string OpenSSLCertificate::ToPEMString() const {
diff --git a/rtc_base/openssl_identity.cc b/rtc_base/openssl_identity.cc
index 81357a8..8d12c07 100644
--- a/rtc_base/openssl_identity.cc
+++ b/rtc_base/openssl_identity.cc
@@ -301,7 +301,7 @@
   }
 
   return new OpenSSLIdentity(std::move(key_pair),
-                             absl::make_unique<SSLCertChain>(std::move(certs)));
+                             std::make_unique<SSLCertChain>(std::move(certs)));
 }
 
 const OpenSSLCertificate& OpenSSLIdentity::certificate() const {
diff --git a/rtc_base/openssl_stream_adapter.cc b/rtc_base/openssl_stream_adapter.cc
index db236d9..7e7fae3 100644
--- a/rtc_base/openssl_stream_adapter.cc
+++ b/rtc_base/openssl_stream_adapter.cc
@@ -25,7 +25,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/numerics/safe_conversions.h"
@@ -1075,7 +1074,7 @@
   // Record the peer's certificate.
   X509* cert = X509_STORE_CTX_get0_cert(store);
   stream->peer_cert_chain_.reset(
-      new SSLCertChain(absl::make_unique<OpenSSLCertificate>(cert)));
+      new SSLCertChain(std::make_unique<OpenSSLCertificate>(cert)));
 #endif
 
   // If the peer certificate digest isn't known yet, we'll wait to verify
diff --git a/rtc_base/proxy_server.cc b/rtc_base/proxy_server.cc
index ec76782..a7e8bf5 100644
--- a/rtc_base/proxy_server.cc
+++ b/rtc_base/proxy_server.cc
@@ -12,7 +12,7 @@
 
 #include <stddef.h>
 
-#include "absl/memory/memory.h"
+#include <memory>
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/socket_factory.h"
@@ -51,7 +51,7 @@
   if (ext_socket) {
     ext_socket->Bind(ext_ip_);
     bindings_.emplace_back(
-        absl::make_unique<ProxyBinding>(wrapped_socket, ext_socket));
+        std::make_unique<ProxyBinding>(wrapped_socket, ext_socket));
   } else {
     RTC_LOG(LS_ERROR)
         << "Unable to create external socket on proxy accept event";
diff --git a/rtc_base/rate_statistics.cc b/rtc_base/rate_statistics.cc
index bb506aa..b393dc8 100644
--- a/rtc_base/rate_statistics.cc
+++ b/rtc_base/rate_statistics.cc
@@ -11,8 +11,8 @@
 #include "rtc_base/rate_statistics.h"
 
 #include <algorithm>
+#include <memory>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/checks.h"
 
 namespace webrtc {
@@ -35,7 +35,7 @@
       scale_(other.scale_),
       max_window_size_ms_(other.max_window_size_ms_),
       current_window_size_ms_(other.current_window_size_ms_) {
-  buckets_ = absl::make_unique<Bucket[]>(other.max_window_size_ms_);
+  buckets_ = std::make_unique<Bucket[]>(other.max_window_size_ms_);
   std::copy(other.buckets_.get(),
             other.buckets_.get() + other.max_window_size_ms_, buckets_.get());
 }
diff --git a/rtc_base/signal_thread.cc b/rtc_base/signal_thread.cc
index 84613db..e100fbe 100644
--- a/rtc_base/signal_thread.cc
+++ b/rtc_base/signal_thread.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/location.h"
 #include "rtc_base/null_socket_server.h"
@@ -128,7 +127,7 @@
 }
 
 SignalThread::Worker::Worker(SignalThread* parent)
-    : Thread(absl::make_unique<NullSocketServer>(), /*do_init=*/false),
+    : Thread(std::make_unique<NullSocketServer>(), /*do_init=*/false),
       parent_(parent) {
   DoInit();
 }
diff --git a/rtc_base/signal_thread_unittest.cc b/rtc_base/signal_thread_unittest.cc
index 9375b50..1476186 100644
--- a/rtc_base/signal_thread_unittest.cc
+++ b/rtc_base/signal_thread_unittest.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/constructor_magic.h"
 #include "rtc_base/critical_section.h"
 #include "rtc_base/gunit.h"
@@ -133,7 +132,7 @@
 class OwnerThread : public Thread, public sigslot::has_slots<> {
  public:
   explicit OwnerThread(SignalThreadTest* harness)
-      : Thread(absl::make_unique<NullSocketServer>()),
+      : Thread(std::make_unique<NullSocketServer>()),
         harness_(harness),
         has_run_(false) {}
 
diff --git a/rtc_base/ssl_adapter_unittest.cc b/rtc_base/ssl_adapter_unittest.cc
index d723bf1..3fa1221 100644
--- a/rtc_base/ssl_adapter_unittest.cc
+++ b/rtc_base/ssl_adapter_unittest.cc
@@ -12,7 +12,6 @@
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/gunit.h"
 #include "rtc_base/ip_address.h"
 #include "rtc_base/message_digest.h"
@@ -323,7 +322,7 @@
   }
 
   void SetMockCertVerifier(bool return_value) {
-    auto mock_verifier = absl::make_unique<MockCertVerifier>();
+    auto mock_verifier = std::make_unique<MockCertVerifier>();
     EXPECT_CALL(*mock_verifier, Verify(_)).WillRepeatedly(Return(return_value));
     cert_verifier_ =
         std::unique_ptr<rtc::SSLCertificateVerifier>(std::move(mock_verifier));
diff --git a/rtc_base/ssl_certificate.cc b/rtc_base/ssl_certificate.cc
index 657561a..db9097b 100644
--- a/rtc_base/ssl_certificate.cc
+++ b/rtc_base/ssl_certificate.cc
@@ -10,11 +10,11 @@
 
 #include "rtc_base/ssl_certificate.h"
 
+#include <memory>
 #include <string>
 #include <utility>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/openssl_certificate.h"
 #include "rtc_base/ssl_fingerprint.h"
@@ -65,9 +65,9 @@
   std::string der_base64;
   Base64::EncodeFromArray(der_buffer.data(), der_buffer.size(), &der_base64);
 
-  return absl::make_unique<SSLCertificateStats>(std::move(fingerprint),
-                                                std::move(digest_algorithm),
-                                                std::move(der_base64), nullptr);
+  return std::make_unique<SSLCertificateStats>(std::move(fingerprint),
+                                               std::move(digest_algorithm),
+                                               std::move(der_base64), nullptr);
 }
 
 //////////////////////////////////////////////////////////////////////
@@ -93,7 +93,7 @@
       certs_, new_certs.begin(),
       [](const std::unique_ptr<SSLCertificate>& cert)
           -> std::unique_ptr<SSLCertificate> { return cert->Clone(); });
-  return absl::make_unique<SSLCertChain>(std::move(new_certs));
+  return std::make_unique<SSLCertChain>(std::move(new_certs));
 }
 
 std::unique_ptr<SSLCertificateStats> SSLCertChain::GetStats() const {
diff --git a/rtc_base/ssl_fingerprint.cc b/rtc_base/ssl_fingerprint.cc
index c607810..5b261e0 100644
--- a/rtc_base/ssl_fingerprint.cc
+++ b/rtc_base/ssl_fingerprint.cc
@@ -12,10 +12,10 @@
 
 #include <ctype.h>
 #include <cstdint>
+#include <memory>
 #include <string>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/message_digest.h"
 #include "rtc_base/rtc_certificate.h"
@@ -46,7 +46,7 @@
   if (!ret) {
     return nullptr;
   }
-  return absl::make_unique<SSLFingerprint>(
+  return std::make_unique<SSLFingerprint>(
       algorithm, ArrayView<const uint8_t>(digest_val, digest_len));
 }
 
@@ -71,7 +71,7 @@
   if (!value_len)
     return nullptr;
 
-  return absl::make_unique<SSLFingerprint>(
+  return std::make_unique<SSLFingerprint>(
       algorithm,
       ArrayView<const uint8_t>(reinterpret_cast<uint8_t*>(value), value_len));
 }
diff --git a/rtc_base/synchronization/BUILD.gn b/rtc_base/synchronization/BUILD.gn
index d510790..061d8a2 100644
--- a/rtc_base/synchronization/BUILD.gn
+++ b/rtc_base/synchronization/BUILD.gn
@@ -89,7 +89,6 @@
       "../../api:function_view",
       "../../test:test_main",
       "../../test:test_support",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 }
diff --git a/rtc_base/synchronization/sequence_checker_unittest.cc b/rtc_base/synchronization/sequence_checker_unittest.cc
index ccdf6bc..00b847c 100644
--- a/rtc_base/synchronization/sequence_checker_unittest.cc
+++ b/rtc_base/synchronization/sequence_checker_unittest.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/function_view.h"
 #include "rtc_base/event.h"
 #include "rtc_base/platform_thread.h"
@@ -67,7 +66,7 @@
 }
 
 TEST(SequenceCheckerTest, DestructorAllowedOnDifferentThread) {
-  auto sequence_checker = absl::make_unique<SequenceChecker>();
+  auto sequence_checker = std::make_unique<SequenceChecker>();
   RunOnDifferentThread([&] {
     // Verify that the destructor doesn't assert when called on a different
     // thread.
diff --git a/rtc_base/task_queue.h b/rtc_base/task_queue.h
index 2f7c44d..86d3597 100644
--- a/rtc_base/task_queue.h
+++ b/rtc_base/task_queue.h
@@ -62,7 +62,7 @@
 //       int count_ = 0;
 //     };
 //     ...
-//     queue_.PostDelayedTask(absl::make_unique<TimerTask>(), 1000);
+//     queue_.PostDelayedTask(std::make_unique<TimerTask>(), 1000);
 //
 // For more examples, see task_queue_unittests.cc.
 //
diff --git a/rtc_base/task_queue_gcd.cc b/rtc_base/task_queue_gcd.cc
index 35c7221..cb516cc 100644
--- a/rtc_base/task_queue_gcd.cc
+++ b/rtc_base/task_queue_gcd.cc
@@ -17,7 +17,8 @@
 #include <dispatch/dispatch.h>
 #include <string.h>
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "absl/strings/string_view.h"
 #include "api/task_queue/queued_task.h"
 #include "api/task_queue/task_queue_base.h"
@@ -146,7 +147,7 @@
 }  // namespace
 
 std::unique_ptr<TaskQueueFactory> CreateTaskQueueGcdFactory() {
-  return absl::make_unique<TaskQueueGcdFactory>();
+  return std::make_unique<TaskQueueGcdFactory>();
 }
 
 }  // namespace webrtc
diff --git a/rtc_base/task_queue_libevent.cc b/rtc_base/task_queue_libevent.cc
index df10efd..7638869 100644
--- a/rtc_base/task_queue_libevent.cc
+++ b/rtc_base/task_queue_libevent.cc
@@ -23,7 +23,6 @@
 #include <type_traits>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/string_view.h"
 #include "api/task_queue/queued_task.h"
 #include "api/task_queue/task_queue_base.h"
@@ -240,7 +239,7 @@
                   rtc::dchecked_cast<int>(milliseconds % 1000) * 1000};
     event_add(&timer->ev, &tv);
   } else {
-    PostTask(absl::make_unique<SetTimerTask>(std::move(task), milliseconds));
+    PostTask(std::make_unique<SetTimerTask>(std::move(task), milliseconds));
   }
 }
 
@@ -315,7 +314,7 @@
 }  // namespace
 
 std::unique_ptr<TaskQueueFactory> CreateTaskQueueLibeventFactory() {
-  return absl::make_unique<TaskQueueLibeventFactory>();
+  return std::make_unique<TaskQueueLibeventFactory>();
 }
 
 }  // namespace webrtc
diff --git a/rtc_base/task_queue_stdlib.cc b/rtc_base/task_queue_stdlib.cc
index 415c14d..7052f7c 100644
--- a/rtc_base/task_queue_stdlib.cc
+++ b/rtc_base/task_queue_stdlib.cc
@@ -14,10 +14,10 @@
 
 #include <algorithm>
 #include <map>
+#include <memory>
 #include <queue>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/string_view.h"
 #include "api/task_queue/queued_task.h"
 #include "api/task_queue/task_queue_base.h"
@@ -295,7 +295,7 @@
 }  // namespace
 
 std::unique_ptr<TaskQueueFactory> CreateTaskQueueStdlibFactory() {
-  return absl::make_unique<TaskQueueStdlibFactory>();
+  return std::make_unique<TaskQueueStdlibFactory>();
 }
 
 }  // namespace webrtc
diff --git a/rtc_base/task_queue_win.cc b/rtc_base/task_queue_win.cc
index 696eda3..dd825d2 100644
--- a/rtc_base/task_queue_win.cc
+++ b/rtc_base/task_queue_win.cc
@@ -24,10 +24,10 @@
 #include <string.h>
 
 #include <algorithm>
+#include <memory>
 #include <queue>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/string_view.h"
 #include "api/task_queue/queued_task.h"
 #include "api/task_queue/task_queue_base.h"
@@ -406,7 +406,7 @@
 }  // namespace
 
 std::unique_ptr<TaskQueueFactory> CreateTaskQueueWinFactory() {
-  return absl::make_unique<TaskQueueWinFactory>();
+  return std::make_unique<TaskQueueWinFactory>();
 }
 
 }  // namespace webrtc
diff --git a/rtc_base/task_utils/BUILD.gn b/rtc_base/task_utils/BUILD.gn
index 7a466a1..7eca496 100644
--- a/rtc_base/task_utils/BUILD.gn
+++ b/rtc_base/task_utils/BUILD.gn
@@ -32,7 +32,6 @@
   ]
   deps = [
     "../../api/task_queue",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -48,7 +47,6 @@
       "..:rtc_task_queue",
       "..:task_queue_for_test",
       "../../test:test_support",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
diff --git a/rtc_base/task_utils/repeating_task.cc b/rtc_base/task_utils/repeating_task.cc
index 1705918..aeeb7c0 100644
--- a/rtc_base/task_utils/repeating_task.cc
+++ b/rtc_base/task_utils/repeating_task.cc
@@ -10,6 +10,7 @@
 
 #include "rtc_base/task_utils/repeating_task.h"
 
+#include "absl/memory/memory.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/task_utils/to_queued_task.h"
 #include "rtc_base/time_utils.h"
diff --git a/rtc_base/task_utils/repeating_task.h b/rtc_base/task_utils/repeating_task.h
index 8549049..1545d6f 100644
--- a/rtc_base/task_utils/repeating_task.h
+++ b/rtc_base/task_utils/repeating_task.h
@@ -11,10 +11,10 @@
 #ifndef RTC_BASE_TASK_UTILS_REPEATING_TASK_H_
 #define RTC_BASE_TASK_UTILS_REPEATING_TASK_H_
 
+#include <memory>
 #include <type_traits>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/task_queue/queued_task.h"
 #include "api/task_queue/task_queue_base.h"
 #include "api/units/time_delta.h"
@@ -93,7 +93,7 @@
   template <class Closure>
   static RepeatingTaskHandle Start(TaskQueueBase* task_queue,
                                    Closure&& closure) {
-    auto repeating_task = absl::make_unique<
+    auto repeating_task = std::make_unique<
         webrtc_repeating_task_impl::RepeatingTaskImpl<Closure>>(
         task_queue, TimeDelta::Zero(), std::forward<Closure>(closure));
     auto* repeating_task_ptr = repeating_task.get();
@@ -107,7 +107,7 @@
   static RepeatingTaskHandle DelayedStart(TaskQueueBase* task_queue,
                                           TimeDelta first_delay,
                                           Closure&& closure) {
-    auto repeating_task = absl::make_unique<
+    auto repeating_task = std::make_unique<
         webrtc_repeating_task_impl::RepeatingTaskImpl<Closure>>(
         task_queue, first_delay, std::forward<Closure>(closure));
     auto* repeating_task_ptr = repeating_task.get();
diff --git a/rtc_base/task_utils/repeating_task_unittest.cc b/rtc_base/task_utils/repeating_task_unittest.cc
index 471914c..2532098 100644
--- a/rtc_base/task_utils/repeating_task_unittest.cc
+++ b/rtc_base/task_utils/repeating_task_unittest.cc
@@ -15,7 +15,6 @@
 #include <memory>
 #include <thread>  // Not allowed in production per Chromium style guide.
 
-#include "absl/memory/memory.h"
 #include "rtc_base/event.h"
 #include "rtc_base/task_queue_for_test.h"
 #include "test/gmock.h"
@@ -219,7 +218,7 @@
     }
   };
   TaskQueueForTest task_queue("queue");
-  auto object = absl::make_unique<ObjectOnTaskQueue>();
+  auto object = std::make_unique<ObjectOnTaskQueue>();
   // Create and start the periodic task.
   RepeatingTaskHandle handle;
   object->StartPeriodicTask(&handle, task_queue.Get());
diff --git a/rtc_base/task_utils/to_queued_task.h b/rtc_base/task_utils/to_queued_task.h
index 5088af9..ab5e2c9 100644
--- a/rtc_base/task_utils/to_queued_task.h
+++ b/rtc_base/task_utils/to_queued_task.h
@@ -15,7 +15,6 @@
 #include <type_traits>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/task_queue/queued_task.h"
 
 namespace webrtc {
@@ -57,13 +56,13 @@
 // based parameters.
 template <typename Closure>
 std::unique_ptr<QueuedTask> ToQueuedTask(Closure&& closure) {
-  return absl::make_unique<webrtc_new_closure_impl::ClosureTask<Closure>>(
+  return std::make_unique<webrtc_new_closure_impl::ClosureTask<Closure>>(
       std::forward<Closure>(closure));
 }
 
 template <typename Closure, typename Cleanup>
 std::unique_ptr<QueuedTask> ToQueuedTask(Closure&& closure, Cleanup&& cleanup) {
-  return absl::make_unique<
+  return std::make_unique<
       webrtc_new_closure_impl::ClosureTaskWithCleanup<Closure, Cleanup>>(
       std::forward<Closure>(closure), std::forward<Cleanup>(cleanup));
 }
diff --git a/rtc_base/test_client.cc b/rtc_base/test_client.cc
index e287201..e5aa9d7 100644
--- a/rtc_base/test_client.cc
+++ b/rtc_base/test_client.cc
@@ -12,9 +12,9 @@
 
 #include <string.h>
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/gunit.h"
 #include "rtc_base/thread.h"
 #include "rtc_base/time_utils.h"
@@ -151,7 +151,7 @@
                           const int64_t& packet_time_us) {
   CritScope cs(&crit_);
   packets_.push_back(
-      absl::make_unique<Packet>(remote_addr, buf, size, packet_time_us));
+      std::make_unique<Packet>(remote_addr, buf, size, packet_time_us));
 }
 
 void TestClient::OnReadyToSend(AsyncPacketSocket* socket) {
diff --git a/rtc_base/test_client_unittest.cc b/rtc_base/test_client_unittest.cc
index 382aaaf..af8a4a7 100644
--- a/rtc_base/test_client_unittest.cc
+++ b/rtc_base/test_client_unittest.cc
@@ -44,7 +44,7 @@
       main->socketserver()->CreateAsyncSocket(loopback.family(), SOCK_DGRAM);
   socket->Bind(loopback);
 
-  TestClient client(absl::make_unique<AsyncUDPSocket>(socket));
+  TestClient client(std::make_unique<AsyncUDPSocket>(socket));
   SocketAddress addr = client.address(), from;
   EXPECT_EQ(3, client.SendTo("foo", 3, addr));
   EXPECT_TRUE(client.CheckNextPacket("foo", 3, &from));
diff --git a/rtc_base/thread_unittest.cc b/rtc_base/thread_unittest.cc
index 56af8a5..0e5026d 100644
--- a/rtc_base/thread_unittest.cc
+++ b/rtc_base/thread_unittest.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/async_invoker.h"
 #include "rtc_base/async_udp_socket.h"
 #include "rtc_base/event.h"
@@ -518,7 +517,7 @@
   bool reentrant_functor_run = false;
 
   Thread* main = Thread::Current();
-  Thread thread(absl::make_unique<NullSocketServer>());
+  Thread thread(std::make_unique<NullSocketServer>());
   thread.Start();
   {
     AsyncInvoker invoker;
diff --git a/rtc_base/virtual_socket_unittest.cc b/rtc_base/virtual_socket_unittest.cc
index 94def0d..8115c23 100644
--- a/rtc_base/virtual_socket_unittest.cc
+++ b/rtc_base/virtual_socket_unittest.cc
@@ -57,7 +57,7 @@
 struct Sender : public MessageHandler {
   Sender(Thread* th, AsyncSocket* s, uint32_t rt)
       : thread(th),
-        socket(absl::make_unique<AsyncUDPSocket>(s)),
+        socket(std::make_unique<AsyncUDPSocket>(s)),
         done(false),
         rate(rt),
         count(0) {
@@ -103,7 +103,7 @@
 struct Receiver : public MessageHandler, public sigslot::has_slots<> {
   Receiver(Thread* th, AsyncSocket* s, uint32_t bw)
       : thread(th),
-        socket(absl::make_unique<AsyncUDPSocket>(s)),
+        socket(std::make_unique<AsyncUDPSocket>(s)),
         bandwidth(bw),
         done(false),
         count(0),
@@ -201,8 +201,8 @@
     socket->Bind(EmptySocketAddressWithFamily(default_route.family()));
     SocketAddress client1_any_addr = socket->GetLocalAddress();
     EXPECT_TRUE(client1_any_addr.IsAnyIP());
-    auto client1 = absl::make_unique<TestClient>(
-        absl::make_unique<AsyncUDPSocket>(socket), &fake_clock_);
+    auto client1 = std::make_unique<TestClient>(
+        std::make_unique<AsyncUDPSocket>(socket), &fake_clock_);
 
     // Create client2 bound to the default route.
     AsyncSocket* socket2 =
@@ -210,8 +210,8 @@
     socket2->Bind(SocketAddress(default_route, 0));
     SocketAddress client2_addr = socket2->GetLocalAddress();
     EXPECT_FALSE(client2_addr.IsAnyIP());
-    auto client2 = absl::make_unique<TestClient>(
-        absl::make_unique<AsyncUDPSocket>(socket2), &fake_clock_);
+    auto client2 = std::make_unique<TestClient>(
+        std::make_unique<AsyncUDPSocket>(socket2), &fake_clock_);
 
     // Client1 sends to client2, client2 should see the default route as
     // client1's address.
@@ -234,12 +234,12 @@
     // Make sure VSS didn't switch families on us.
     EXPECT_EQ(server_addr.family(), initial_addr.family());
 
-    auto client1 = absl::make_unique<TestClient>(
-        absl::make_unique<AsyncUDPSocket>(socket), &fake_clock_);
+    auto client1 = std::make_unique<TestClient>(
+        std::make_unique<AsyncUDPSocket>(socket), &fake_clock_);
     AsyncSocket* socket2 =
         ss_.CreateAsyncSocket(initial_addr.family(), SOCK_DGRAM);
-    auto client2 = absl::make_unique<TestClient>(
-        absl::make_unique<AsyncUDPSocket>(socket2), &fake_clock_);
+    auto client2 = std::make_unique<TestClient>(
+        std::make_unique<AsyncUDPSocket>(socket2), &fake_clock_);
 
     SocketAddress client2_addr;
     EXPECT_EQ(3, client2->SendTo("foo", 3, server_addr));
@@ -252,7 +252,7 @@
 
     SocketAddress empty = EmptySocketAddressWithFamily(initial_addr.family());
     for (int i = 0; i < 10; i++) {
-      client2 = absl::make_unique<TestClient>(
+      client2 = std::make_unique<TestClient>(
           absl::WrapUnique(AsyncUDPSocket::Create(&ss_, empty)), &fake_clock_);
 
       SocketAddress next_client2_addr;
@@ -838,13 +838,13 @@
     AsyncSocket* socket = ss_.CreateAsyncSocket(AF_INET, SOCK_DGRAM);
     socket->Bind(server_addr);
     SocketAddress bound_server_addr = socket->GetLocalAddress();
-    auto client1 = absl::make_unique<TestClient>(
-        absl::make_unique<AsyncUDPSocket>(socket), &fake_clock_);
+    auto client1 = std::make_unique<TestClient>(
+        std::make_unique<AsyncUDPSocket>(socket), &fake_clock_);
 
     AsyncSocket* socket2 = ss_.CreateAsyncSocket(AF_INET, SOCK_DGRAM);
     socket2->Bind(client_addr);
-    auto client2 = absl::make_unique<TestClient>(
-        absl::make_unique<AsyncUDPSocket>(socket2), &fake_clock_);
+    auto client2 = std::make_unique<TestClient>(
+        std::make_unique<AsyncUDPSocket>(socket2), &fake_clock_);
     SocketAddress client2_addr;
 
     if (shouldSucceed) {
@@ -1049,8 +1049,8 @@
       ss_.CreateAsyncSocket(kIPv4AnyAddress.family(), SOCK_DGRAM));
   socket1->Bind(kIPv4AnyAddress);
   socket2->Bind(kIPv4AnyAddress);
-  auto client1 = absl::make_unique<TestClient>(
-      absl::make_unique<AsyncUDPSocket>(socket1), &fake_clock_);
+  auto client1 = std::make_unique<TestClient>(
+      std::make_unique<AsyncUDPSocket>(socket1), &fake_clock_);
 
   ss_.SetSendingBlocked(true);
   EXPECT_EQ(-1, client1->SendTo("foo", 3, socket2->GetLocalAddress()));
diff --git a/rtc_base/weak_ptr_unittest.cc b/rtc_base/weak_ptr_unittest.cc
index 3906fe7..9e22312 100644
--- a/rtc_base/weak_ptr_unittest.cc
+++ b/rtc_base/weak_ptr_unittest.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/event.h"
 #include "rtc_base/task_queue_for_test.h"
 #include "test/gtest.h"
@@ -205,7 +204,7 @@
 std::unique_ptr<T> NewObjectCreatedOnTaskQueue() {
   std::unique_ptr<T> obj;
   webrtc::TaskQueueForTest queue("NewObjectCreatedOnTaskQueue");
-  queue.SendTask([&] { obj = absl::make_unique<T>(); });
+  queue.SendTask([&] { obj = std::make_unique<T>(); });
   return obj;
 }
 
@@ -223,7 +222,7 @@
   // Test that it is OK to create a WeakPtr on one thread, but use it on
   // another. This tests that we do not trip runtime checks that ensure that a
   // WeakPtr is not used by multiple threads.
-  auto target = absl::make_unique<TargetWithFactory>();
+  auto target = std::make_unique<TargetWithFactory>();
   // Create weak ptr on main thread
   WeakPtr<Target> weak_ptr = target->factory.GetWeakPtr();
   webrtc::TaskQueueForTest queue("queue");
diff --git a/rtc_tools/BUILD.gn b/rtc_tools/BUILD.gn
index c262f67..c99ed9b 100644
--- a/rtc_tools/BUILD.gn
+++ b/rtc_tools/BUILD.gn
@@ -182,7 +182,6 @@
       "//third_party/abseil-cpp/absl/flags:flag",
       "//third_party/abseil-cpp/absl/flags:parse",
       "//third_party/abseil-cpp/absl/flags:usage",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/strings",
     ]
   }
@@ -306,7 +305,6 @@
         "../rtc_base:rtc_base_approved",
         "../rtc_base:rtc_numerics",
         "../rtc_base:stringutils",
-        "//third_party/abseil-cpp/absl/memory",
         "//third_party/abseil-cpp/absl/strings",
       ]
     }
@@ -391,7 +389,6 @@
       "../test:test_main",
       "../test:test_support",
       "//testing/gtest",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/libyuv",
     ]
 
diff --git a/rtc_tools/network_tester/BUILD.gn b/rtc_tools/network_tester/BUILD.gn
index 3fb8c60..0d2c043 100644
--- a/rtc_tools/network_tester/BUILD.gn
+++ b/rtc_tools/network_tester/BUILD.gn
@@ -53,7 +53,6 @@
       "../../rtc_base:rtc_task_queue",
       "../../rtc_base/synchronization:sequence_checker",
       "../../rtc_base/third_party/sigslot",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
   }
diff --git a/rtc_tools/network_tester/packet_sender.cc b/rtc_tools/network_tester/packet_sender.cc
index 71e4e59..b2c6cd9 100644
--- a/rtc_tools/network_tester/packet_sender.cc
+++ b/rtc_tools/network_tester/packet_sender.cc
@@ -15,7 +15,6 @@
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/task_queue/default_task_queue_factory.h"
 #include "api/task_queue/queued_task.h"
@@ -99,9 +98,9 @@
     RTC_DCHECK_RUN_ON(&worker_queue_checker_);
     sending_ = true;
   });
-  worker_queue_.PostTask(absl::make_unique<UpdateTestSettingTask>(
-      this, absl::make_unique<ConfigReader>(config_file_path_)));
-  worker_queue_.PostTask(absl::make_unique<SendPacketTask>(this));
+  worker_queue_.PostTask(std::make_unique<UpdateTestSettingTask>(
+      this, std::make_unique<ConfigReader>(config_file_path_)));
+  worker_queue_.PostTask(std::make_unique<SendPacketTask>(this));
 }
 
 void PacketSender::StopSending() {
diff --git a/rtc_tools/rtc_event_log_visualizer/analyzer.cc b/rtc_tools/rtc_event_log_visualizer/analyzer.cc
index 60574ee..126d9ca 100644
--- a/rtc_tools/rtc_event_log_visualizer/analyzer.cc
+++ b/rtc_tools/rtc_event_log_visualizer/analyzer.cc
@@ -14,10 +14,10 @@
 #include <cmath>
 #include <limits>
 #include <map>
+#include <memory>
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/string_view.h"
 #include "api/function_view.h"
 #include "api/transport/field_trial_based_config.h"
@@ -1168,7 +1168,7 @@
                            PointStyle::kHighlight);
 
   LogBasedNetworkControllerSimulation simulation(
-      absl::make_unique<GoogCcNetworkControllerFactory>(),
+      std::make_unique<GoogCcNetworkControllerFactory>(),
       [&](const NetworkControlUpdate& update, Timestamp at_time) {
         if (update.target_rate) {
           target_rates.points.emplace_back(
@@ -1275,7 +1275,7 @@
   // GoogCcNetworkController since that would lead to duplicate outputs.
   AcknowledgedBitrateEstimator acknowledged_bitrate_estimator(
       &field_trial_config_,
-      absl::make_unique<BitrateEstimator>(&field_trial_config_));
+      std::make_unique<BitrateEstimator>(&field_trial_config_));
 #endif  // !(BWE_TEST_LOGGING_COMPILE_TIME_ENABLE)
   int64_t time_us =
       std::min({NextRtpTime(), NextRtcpTime(), NextProcessTime()});
@@ -1880,10 +1880,10 @@
   std::unique_ptr<AudioDecoder> MakeAudioDecoder(
       const SdpAudioFormat& format,
       absl::optional<AudioCodecPairId> codec_pair_id) override {
-    auto replacement_file = absl::make_unique<test::ResampleInputAudioFile>(
+    auto replacement_file = std::make_unique<test::ResampleInputAudioFile>(
         replacement_file_name_, file_sample_rate_hz_);
     replacement_file->set_output_rate_hz(48000);
-    return absl::make_unique<test::FakeDecodeFromFile>(
+    return std::make_unique<test::FakeDecodeFromFile>(
         std::move(replacement_file), 48000, false);
   }
 
diff --git a/rtc_tools/rtp_generator/rtp_generator.cc b/rtc_tools/rtp_generator/rtp_generator.cc
index cd61d85..f7b691d 100644
--- a/rtc_tools/rtp_generator/rtp_generator.cc
+++ b/rtc_tools/rtp_generator/rtp_generator.cc
@@ -11,9 +11,9 @@
 #include "rtc_tools/rtp_generator/rtp_generator.h"
 
 #include <algorithm>
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/task_queue/default_task_queue_factory.h"
 #include "api/video_codecs/builtin_video_decoder_factory.h"
 #include "api/video_codecs/builtin_video_encoder_factory.h"
@@ -161,7 +161,7 @@
       video_decoder_factory_(CreateBuiltinVideoDecoderFactory()),
       video_bitrate_allocator_factory_(
           CreateBuiltinVideoBitrateAllocatorFactory()),
-      event_log_(absl::make_unique<RtcEventLogNull>()),
+      event_log_(std::make_unique<RtcEventLogNull>()),
       call_(Call::Create(CallConfig(event_log_.get()))),
       task_queue_(CreateDefaultTaskQueueFactory()) {
   constexpr int kMinBitrateBps = 30000;    // 30 Kbps
@@ -222,7 +222,7 @@
 
     // Setup the fake video stream for this.
     std::unique_ptr<test::FrameGeneratorCapturer> frame_generator =
-        absl::make_unique<test::FrameGeneratorCapturer>(
+        std::make_unique<test::FrameGeneratorCapturer>(
             Clock::GetRealTimeClock(),
             test::FrameGenerator::CreateSquareGenerator(
                 send_config.video_width, send_config.video_height,
diff --git a/rtc_tools/sanitizers_unittest.cc b/rtc_tools/sanitizers_unittest.cc
index 066ac84..b997bf0 100644
--- a/rtc_tools/sanitizers_unittest.cc
+++ b/rtc_tools/sanitizers_unittest.cc
@@ -11,9 +11,9 @@
 #include <stddef.h>
 #include <stdio.h>
 
+#include <memory>
 #include <random>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/null_socket_server.h"
 #include "rtc_base/thread.h"
@@ -84,7 +84,7 @@
 class IncrementThread : public Thread {
  public:
   explicit IncrementThread(int* value)
-      : Thread(absl::make_unique<NullSocketServer>()), value_(value) {}
+      : Thread(std::make_unique<NullSocketServer>()), value_(value) {}
 
   void Run() override {
     ++*value_;
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index 6fa4971..c3e7885 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -947,7 +947,6 @@
         "../rtc_base:checks",
         "../system_wrappers:field_trial",
         "../system_wrappers:metrics",
-        "//third_party/abseil-cpp/absl/memory",
       ]
 
       if (is_ios) {
@@ -1616,7 +1615,6 @@
         "../modules/video_coding:video_codec_interface",
         "../rtc_base",
         "../rtc_base:checks",
-        "//third_party/abseil-cpp/absl/memory",
       ]
     }
 
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index d94bfe5..6a00b61 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -556,7 +556,6 @@
       "../../rtc_base:checks",
       "../../rtc_base:rtc_base_approved",
       "../../system_wrappers:metrics",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
   }
@@ -795,7 +794,6 @@
       ":base_jni",
       ":generated_java_audio_jni",
       ":java_audio_device_module",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -896,7 +894,6 @@
       ":native_api_jni",
       "//rtc_base",
       "//rtc_base:checks",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -920,7 +917,6 @@
       "../../rtc_base:rtc_base_approved",
       "../../system_wrappers",
       "../../system_wrappers:metrics",
-      "//third_party/abseil-cpp/absl/memory",
     ]
     if (rtc_enable_android_aaudio) {
       deps += [ ":aaudio_audio_device_module" ]
@@ -944,7 +940,6 @@
       "//api/video_codecs:video_codecs_api",
       "//rtc_base:checks",
       "//rtc_base:rtc_base_approved",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -999,7 +994,6 @@
       "//api/video:video_rtp_headers",
       "//rtc_base",
       "//rtc_base:rtc_base_approved",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -1087,7 +1081,6 @@
       "../../rtc_base:checks",
       "../../rtc_base:rtc_base_approved",
       "../../system_wrappers:metrics",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
   }
@@ -1164,7 +1157,6 @@
       "../../modules/audio_device:audio_device_buffer",
       "../../rtc_base:checks",
       "../../rtc_base:rtc_base_approved",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
   }
diff --git a/sdk/android/native_api/audio_device_module/audio_device_android.cc b/sdk/android/native_api/audio_device_module/audio_device_android.cc
index 0cbe758..16a3643 100644
--- a/sdk/android/native_api/audio_device_module/audio_device_android.cc
+++ b/sdk/android/native_api/audio_device_module/audio_device_android.cc
@@ -11,9 +11,10 @@
 #include "sdk/android/native_api/audio_device_module/audio_device_android.h"
 
 #include <stdlib.h>
+
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/scoped_refptr.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/ref_count.h"
@@ -67,8 +68,8 @@
       AudioDeviceModule::kAndroidAAudioAudio, false /* use_stereo_input */,
       false /* use_stereo_output */,
       jni::kLowLatencyModeDelayEstimateInMilliseconds,
-      absl::make_unique<jni::AAudioRecorder>(input_parameters),
-      absl::make_unique<jni::AAudioPlayer>(output_parameters));
+      std::make_unique<jni::AAudioRecorder>(input_parameters),
+      std::make_unique<jni::AAudioPlayer>(output_parameters));
 }
 #endif
 
@@ -85,11 +86,11 @@
   GetDefaultAudioParameters(env, application_context, &input_parameters,
                             &output_parameters);
   // Create ADM from AudioRecord and AudioTrack.
-  auto audio_input = absl::make_unique<jni::AudioRecordJni>(
+  auto audio_input = std::make_unique<jni::AudioRecordJni>(
       env, input_parameters, jni::kHighLatencyModeDelayEstimateInMilliseconds,
       jni::AudioRecordJni::CreateJavaWebRtcAudioRecord(env, j_context,
                                                        j_audio_manager));
-  auto audio_output = absl::make_unique<jni::AudioTrackJni>(
+  auto audio_output = std::make_unique<jni::AudioTrackJni>(
       env, output_parameters,
       jni::AudioTrackJni::CreateJavaWebRtcAudioTrack(env, j_context,
                                                      j_audio_manager));
@@ -112,9 +113,9 @@
   // Create ADM from OpenSLESRecorder and OpenSLESPlayer.
   rtc::scoped_refptr<jni::OpenSLEngineManager> engine_manager(
       new jni::OpenSLEngineManager());
-  auto audio_input = absl::make_unique<jni::OpenSLESRecorder>(input_parameters,
-                                                              engine_manager);
-  auto audio_output = absl::make_unique<jni::OpenSLESPlayer>(
+  auto audio_input =
+      std::make_unique<jni::OpenSLESRecorder>(input_parameters, engine_manager);
+  auto audio_output = std::make_unique<jni::OpenSLESPlayer>(
       output_parameters, std::move(engine_manager));
   return CreateAudioDeviceModuleFromInputAndOutput(
       AudioDeviceModule::kAndroidOpenSLESAudio, false /* use_stereo_input */,
@@ -136,14 +137,14 @@
   GetDefaultAudioParameters(env, application_context, &input_parameters,
                             &output_parameters);
   // Create ADM from AudioRecord and OpenSLESPlayer.
-  auto audio_input = absl::make_unique<jni::AudioRecordJni>(
+  auto audio_input = std::make_unique<jni::AudioRecordJni>(
       env, input_parameters, jni::kLowLatencyModeDelayEstimateInMilliseconds,
       jni::AudioRecordJni::CreateJavaWebRtcAudioRecord(env, j_context,
                                                        j_audio_manager));
 
   rtc::scoped_refptr<jni::OpenSLEngineManager> engine_manager(
       new jni::OpenSLEngineManager());
-  auto audio_output = absl::make_unique<jni::OpenSLESPlayer>(
+  auto audio_output = std::make_unique<jni::OpenSLESPlayer>(
       output_parameters, std::move(engine_manager));
   return CreateAudioDeviceModuleFromInputAndOutput(
       AudioDeviceModule::kAndroidJavaInputAndOpenSLESOutputAudio,
diff --git a/sdk/android/native_api/base/network_monitor.cc b/sdk/android/native_api/base/network_monitor.cc
index 822fab9..515e9f2 100644
--- a/sdk/android/native_api/base/network_monitor.cc
+++ b/sdk/android/native_api/base/network_monitor.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "sdk/android/src/jni/android_network_monitor.h"
 
 namespace webrtc {
@@ -20,13 +19,13 @@
 std::unique_ptr<rtc::NetworkMonitorFactory> CreateAndroidNetworkMonitorFactory(
     JNIEnv* env,
     jobject application_context) {
-  return absl::make_unique<jni::AndroidNetworkMonitorFactory>(
+  return std::make_unique<jni::AndroidNetworkMonitorFactory>(
       env, JavaParamRef<jobject>(application_context));
 }
 
 std::unique_ptr<rtc::NetworkMonitorFactory>
 CreateAndroidNetworkMonitorFactory() {
-  return absl::make_unique<jni::AndroidNetworkMonitorFactory>();
+  return std::make_unique<jni::AndroidNetworkMonitorFactory>();
 }
 
 }  // namespace webrtc
diff --git a/sdk/android/native_api/codecs/wrapper.cc b/sdk/android/native_api/codecs/wrapper.cc
index 6b78e7e..08cafd8 100644
--- a/sdk/android/native_api/codecs/wrapper.cc
+++ b/sdk/android/native_api/codecs/wrapper.cc
@@ -10,7 +10,8 @@
 
 #include "sdk/android/native_api/codecs/wrapper.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "sdk/android/native_api/jni/scoped_java_ref.h"
 #include "sdk/android/src/jni/video_codec_info.h"
 #include "sdk/android/src/jni/video_decoder_factory_wrapper.h"
@@ -26,14 +27,14 @@
 std::unique_ptr<VideoDecoderFactory> JavaToNativeVideoDecoderFactory(
     JNIEnv* jni,
     jobject decoder_factory) {
-  return absl::make_unique<jni::VideoDecoderFactoryWrapper>(
+  return std::make_unique<jni::VideoDecoderFactoryWrapper>(
       jni, JavaParamRef<jobject>(decoder_factory));
 }
 
 std::unique_ptr<VideoEncoderFactory> JavaToNativeVideoEncoderFactory(
     JNIEnv* jni,
     jobject encoder_factory) {
-  return absl::make_unique<jni::VideoEncoderFactoryWrapper>(
+  return std::make_unique<jni::VideoEncoderFactoryWrapper>(
       jni, JavaParamRef<jobject>(encoder_factory));
 }
 
diff --git a/sdk/android/native_api/video/wrapper.cc b/sdk/android/native_api/video/wrapper.cc
index 7b87ad6..8faddc3 100644
--- a/sdk/android/native_api/video/wrapper.cc
+++ b/sdk/android/native_api/video/wrapper.cc
@@ -10,7 +10,8 @@
 
 #include "sdk/android/native_api/video/wrapper.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "sdk/android/native_api/jni/scoped_java_ref.h"
 #include "sdk/android/src/jni/video_frame.h"
 #include "sdk/android/src/jni/video_sink.h"
@@ -20,7 +21,7 @@
 std::unique_ptr<rtc::VideoSinkInterface<VideoFrame>> JavaToNativeVideoSink(
     JNIEnv* jni,
     jobject video_sink) {
-  return absl::make_unique<jni::VideoSinkWrapper>(
+  return std::make_unique<jni::VideoSinkWrapper>(
       jni, JavaParamRef<jobject>(video_sink));
 }
 
diff --git a/sdk/android/native_unittests/peerconnection/peer_connection_factory_unittest.cc b/sdk/android/native_unittests/peerconnection/peer_connection_factory_unittest.cc
index 6e1e464..b2672e9 100644
--- a/sdk/android/native_unittests/peerconnection/peer_connection_factory_unittest.cc
+++ b/sdk/android/native_unittests/peerconnection/peer_connection_factory_unittest.cc
@@ -9,7 +9,8 @@
  */
 #include "sdk/android/native_api/peerconnection/peer_connection_factory.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/rtc_event_log/rtc_event_log_factory.h"
 #include "api/task_queue/default_task_queue_factory.h"
 #include "media/base/media_engine.h"
@@ -49,16 +50,16 @@
   pcf_deps.task_queue_factory = CreateDefaultTaskQueueFactory();
   pcf_deps.call_factory = CreateCallFactory();
   pcf_deps.event_log_factory =
-      absl::make_unique<RtcEventLogFactory>(pcf_deps.task_queue_factory.get());
+      std::make_unique<RtcEventLogFactory>(pcf_deps.task_queue_factory.get());
 
   cricket::MediaEngineDependencies media_deps;
   media_deps.task_queue_factory = pcf_deps.task_queue_factory.get();
   media_deps.adm =
       CreateJavaAudioDeviceModule(jni, GetAppContextForTest(jni).obj());
   media_deps.video_encoder_factory =
-      absl::make_unique<webrtc::InternalEncoderFactory>();
+      std::make_unique<webrtc::InternalEncoderFactory>();
   media_deps.video_decoder_factory =
-      absl::make_unique<webrtc::InternalDecoderFactory>();
+      std::make_unique<webrtc::InternalDecoderFactory>();
   SetMediaEngineDefaults(&media_deps);
   pcf_deps.media_engine = cricket::CreateMediaEngine(std::move(media_deps));
   RTC_LOG(LS_INFO) << "Media engine created: " << pcf_deps.media_engine.get();
diff --git a/sdk/android/native_unittests/stacktrace/stacktrace_unittest.cc b/sdk/android/native_unittests/stacktrace/stacktrace_unittest.cc
index 917dbc9..e3b5e78 100644
--- a/sdk/android/native_unittests/stacktrace/stacktrace_unittest.cc
+++ b/sdk/android/native_unittests/stacktrace/stacktrace_unittest.cc
@@ -11,10 +11,11 @@
 #include "sdk/android/native_api/stacktrace/stacktrace.h"
 
 #include <dlfcn.h>
+
 #include <atomic>
+#include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/critical_section.h"
 #include "rtc_base/event.h"
 #include "rtc_base/logging.h"
@@ -117,7 +118,7 @@
 class RtcCriticalSectionDeadlock : public DeadlockInterface {
  public:
   RtcCriticalSectionDeadlock()
-      : critscope_(absl::make_unique<rtc::CritScope>(&crit_)) {}
+      : critscope_(std::make_unique<rtc::CritScope>(&crit_)) {}
 
  private:
   void Deadlock() override { rtc::CritScope lock(&crit_); }
@@ -230,11 +231,11 @@
 }
 
 TEST(Stacktrace, TestSpinLock) {
-  TestStacktrace(absl::make_unique<SpinDeadlock>());
+  TestStacktrace(std::make_unique<SpinDeadlock>());
 }
 
 TEST(Stacktrace, TestSleep) {
-  TestStacktrace(absl::make_unique<SleepDeadlock>());
+  TestStacktrace(std::make_unique<SleepDeadlock>());
 }
 
 // Stack traces originating from kernel space does not include user space stack
@@ -242,11 +243,11 @@
 #ifdef WEBRTC_ARCH_ARM64
 
 TEST(Stacktrace, TestRtcEvent) {
-  TestStacktrace(absl::make_unique<RtcEventDeadlock>());
+  TestStacktrace(std::make_unique<RtcEventDeadlock>());
 }
 
 TEST(Stacktrace, TestRtcCriticalSection) {
-  TestStacktrace(absl::make_unique<RtcCriticalSectionDeadlock>());
+  TestStacktrace(std::make_unique<RtcCriticalSectionDeadlock>());
 }
 
 #endif
diff --git a/sdk/android/src/jni/android_media_encoder.cc b/sdk/android/src/jni/android_media_encoder.cc
index a035708..78f313a 100644
--- a/sdk/android/src/jni/android_media_encoder.cc
+++ b/sdk/android/src/jni/android_media_encoder.cc
@@ -989,7 +989,7 @@
     EncodedImageCallback::Result callback_result(
         EncodedImageCallback::Result::OK);
     if (callback_) {
-      auto image = absl::make_unique<EncodedImage>();
+      auto image = std::make_unique<EncodedImage>();
       // The corresponding (and deprecated) java classes are not prepared for
       // late calls to releaseOutputBuffer, so to keep things simple, make a
       // copy here, and call releaseOutputBuffer before returning.
diff --git a/sdk/android/src/jni/audio_device/aaudio_player.cc b/sdk/android/src/jni/audio_device/aaudio_player.cc
index 5969706..8e1122d 100644
--- a/sdk/android/src/jni/audio_device/aaudio_player.cc
+++ b/sdk/android/src/jni/audio_device/aaudio_player.cc
@@ -10,7 +10,8 @@
 
 #include "sdk/android/src/jni/audio_device/aaudio_player.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/array_view.h"
 #include "modules/audio_device/fine_audio_buffer.h"
 #include "rtc_base/checks.h"
@@ -124,7 +125,7 @@
   // Create a modified audio buffer class which allows us to ask for any number
   // of samples (and not only multiple of 10ms) to match the optimal buffer
   // size per callback used by AAudio.
-  fine_audio_buffer_ = absl::make_unique<FineAudioBuffer>(audio_device_buffer_);
+  fine_audio_buffer_ = std::make_unique<FineAudioBuffer>(audio_device_buffer_);
 }
 
 bool AAudioPlayer::SpeakerVolumeIsAvailable() {
diff --git a/sdk/android/src/jni/audio_device/aaudio_recorder.cc b/sdk/android/src/jni/audio_device/aaudio_recorder.cc
index 8daafcd..b543645 100644
--- a/sdk/android/src/jni/audio_device/aaudio_recorder.cc
+++ b/sdk/android/src/jni/audio_device/aaudio_recorder.cc
@@ -10,7 +10,8 @@
 
 #include "sdk/android/src/jni/audio_device/aaudio_recorder.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/array_view.h"
 #include "modules/audio_device/fine_audio_buffer.h"
 #include "rtc_base/checks.h"
@@ -120,7 +121,7 @@
   // Create a modified audio buffer class which allows us to deliver any number
   // of samples (and not only multiples of 10ms which WebRTC uses) to match the
   // native AAudio buffer size.
-  fine_audio_buffer_ = absl::make_unique<FineAudioBuffer>(audio_device_buffer_);
+  fine_audio_buffer_ = std::make_unique<FineAudioBuffer>(audio_device_buffer_);
 }
 
 bool AAudioRecorder::IsAcousticEchoCancelerSupported() const {
diff --git a/sdk/android/src/jni/audio_device/audio_device_module.cc b/sdk/android/src/jni/audio_device/audio_device_module.cc
index 0008e7e..b4cb184 100644
--- a/sdk/android/src/jni/audio_device/audio_device_module.cc
+++ b/sdk/android/src/jni/audio_device/audio_device_module.cc
@@ -10,9 +10,9 @@
 
 #include "sdk/android/src/jni/audio_device/audio_device_module.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/task_queue/default_task_queue_factory.h"
 #include "api/task_queue/task_queue_factory.h"
 #include "modules/audio_device/audio_device_buffer.h"
@@ -92,7 +92,7 @@
     RTC_LOG(INFO) << __FUNCTION__;
     RTC_DCHECK(thread_checker_.IsCurrent());
     audio_device_buffer_ =
-        absl::make_unique<AudioDeviceBuffer>(task_queue_factory_.get());
+        std::make_unique<AudioDeviceBuffer>(task_queue_factory_.get());
     AttachAudioBuffer();
     if (initialized_) {
       return 0;
diff --git a/sdk/android/src/jni/audio_device/java_audio_device_module.cc b/sdk/android/src/jni/audio_device/java_audio_device_module.cc
index 18d0891..1c3cbe4 100644
--- a/sdk/android/src/jni/audio_device/java_audio_device_module.cc
+++ b/sdk/android/src/jni/audio_device/java_audio_device_module.cc
@@ -8,7 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "sdk/android/generated_java_audio_jni/JavaAudioDeviceModule_jni.h"
 #include "sdk/android/src/jni/audio_device/audio_record_jni.h"
 #include "sdk/android/src/jni/audio_device/audio_track_jni.h"
@@ -33,11 +34,11 @@
                      output_sample_rate, j_use_stereo_input,
                      j_use_stereo_output, &input_parameters,
                      &output_parameters);
-  auto audio_input = absl::make_unique<AudioRecordJni>(
+  auto audio_input = std::make_unique<AudioRecordJni>(
       env, input_parameters, kHighLatencyModeDelayEstimateInMilliseconds,
       j_webrtc_audio_record);
-  auto audio_output = absl::make_unique<AudioTrackJni>(env, output_parameters,
-                                                       j_webrtc_audio_track);
+  auto audio_output = std::make_unique<AudioTrackJni>(env, output_parameters,
+                                                      j_webrtc_audio_track);
   return jlongFromPointer(CreateAudioDeviceModuleFromInputAndOutput(
                               AudioDeviceModule::kAndroidJavaAudio,
                               j_use_stereo_input, j_use_stereo_output,
diff --git a/sdk/android/src/jni/audio_device/opensles_player.cc b/sdk/android/src/jni/audio_device/opensles_player.cc
index 55030fc..5192acc 100644
--- a/sdk/android/src/jni/audio_device/opensles_player.cc
+++ b/sdk/android/src/jni/audio_device/opensles_player.cc
@@ -12,7 +12,7 @@
 
 #include <android/log.h>
 
-#include "absl/memory/memory.h"
+#include <memory>
 #include "api/array_view.h"
 #include "modules/audio_device/fine_audio_buffer.h"
 #include "rtc_base/arraysize.h"
@@ -226,7 +226,7 @@
   ALOGD("native buffer size: %" RTC_PRIuS, buffer_size_in_samples);
   ALOGD("native buffer size in ms: %.2f",
         audio_parameters_.GetBufferSizeInMilliseconds());
-  fine_audio_buffer_ = absl::make_unique<FineAudioBuffer>(audio_device_buffer_);
+  fine_audio_buffer_ = std::make_unique<FineAudioBuffer>(audio_device_buffer_);
   // Allocated memory for audio buffers.
   for (int i = 0; i < kNumOfOpenSLESBuffers; ++i) {
     audio_buffers_[i].reset(new SLint16[buffer_size_in_samples]);
diff --git a/sdk/android/src/jni/audio_device/opensles_recorder.cc b/sdk/android/src/jni/audio_device/opensles_recorder.cc
index ac0d71a..d2eb2de 100644
--- a/sdk/android/src/jni/audio_device/opensles_recorder.cc
+++ b/sdk/android/src/jni/audio_device/opensles_recorder.cc
@@ -12,7 +12,7 @@
 
 #include <android/log.h>
 
-#include "absl/memory/memory.h"
+#include <memory>
 #include "api/array_view.h"
 #include "modules/audio_device/fine_audio_buffer.h"
 #include "rtc_base/arraysize.h"
@@ -353,7 +353,7 @@
         audio_parameters_.GetBytesPerBuffer());
   ALOGD("native sample rate: %d", audio_parameters_.sample_rate());
   RTC_DCHECK(audio_device_buffer_);
-  fine_audio_buffer_ = absl::make_unique<FineAudioBuffer>(audio_device_buffer_);
+  fine_audio_buffer_ = std::make_unique<FineAudioBuffer>(audio_device_buffer_);
   // Allocate queue of audio buffers that stores recorded audio samples.
   const int buffer_size_samples =
       audio_parameters_.frames_per_buffer() * audio_parameters_.channels();
diff --git a/sdk/android/src/jni/pc/data_channel.cc b/sdk/android/src/jni/pc/data_channel.cc
index 64410aa..3552974 100644
--- a/sdk/android/src/jni/pc/data_channel.cc
+++ b/sdk/android/src/jni/pc/data_channel.cc
@@ -12,7 +12,6 @@
 
 #include <limits>
 
-#include "absl/memory/memory.h"
 #include "api/data_channel_interface.h"
 #include "rtc_base/logging.h"
 #include "sdk/android/generated_peerconnection_jni/DataChannel_jni.h"
@@ -97,7 +96,7 @@
     JNIEnv* jni,
     const JavaParamRef<jobject>& j_dc,
     const JavaParamRef<jobject>& j_observer) {
-  auto observer = absl::make_unique<DataChannelObserverJni>(jni, j_observer);
+  auto observer = std::make_unique<DataChannelObserverJni>(jni, j_observer);
   ExtractNativeDC(jni, j_dc)->RegisterObserver(observer.get());
   return jlongFromPointer(observer.release());
 }
diff --git a/sdk/android/src/jni/pc/media_constraints.cc b/sdk/android/src/jni/pc/media_constraints.cc
index 5b52fb1..4e1a3ba 100644
--- a/sdk/android/src/jni/pc/media_constraints.cc
+++ b/sdk/android/src/jni/pc/media_constraints.cc
@@ -10,7 +10,8 @@
 
 #include "sdk/android/src/jni/pc/media_constraints.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "sdk/android/generated_peerconnection_jni/MediaConstraints_jni.h"
 #include "sdk/android/native_api/jni/java_types.h"
 #include "sdk/android/src/jni/jni_helpers.h"
@@ -39,7 +40,7 @@
 std::unique_ptr<MediaConstraints> JavaToNativeMediaConstraints(
     JNIEnv* env,
     const JavaRef<jobject>& j_constraints) {
-  return absl::make_unique<MediaConstraints>(
+  return std::make_unique<MediaConstraints>(
       PopulateConstraintsFromJavaPairList(
           env, Java_MediaConstraints_getMandatory(env, j_constraints)),
       PopulateConstraintsFromJavaPairList(
diff --git a/sdk/android/src/jni/pc/media_stream.cc b/sdk/android/src/jni/pc/media_stream.cc
index 6bbeaa7..4779793 100644
--- a/sdk/android/src/jni/pc/media_stream.cc
+++ b/sdk/android/src/jni/pc/media_stream.cc
@@ -10,7 +10,8 @@
 
 #include "sdk/android/src/jni/pc/media_stream.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "sdk/android/generated_peerconnection_jni/MediaStream_jni.h"
 #include "sdk/android/native_api/jni/java_types.h"
 #include "sdk/android/src/jni/jni_helpers.h"
@@ -25,7 +26,7 @@
           env,
           Java_MediaStream_Constructor(env,
                                        jlongFromPointer(media_stream.get()))),
-      observer_(absl::make_unique<MediaStreamObserver>(media_stream)) {
+      observer_(std::make_unique<MediaStreamObserver>(media_stream)) {
   for (rtc::scoped_refptr<AudioTrackInterface> track :
        media_stream->GetAudioTracks()) {
     Java_MediaStream_addNativeAudioTrack(env, j_media_stream_,
diff --git a/sdk/android/src/jni/pc/peer_connection.cc b/sdk/android/src/jni/pc/peer_connection.cc
index 13f8301..20804de 100644
--- a/sdk/android/src/jni/pc/peer_connection.cc
+++ b/sdk/android/src/jni/pc/peer_connection.cc
@@ -32,7 +32,6 @@
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/peer_connection_interface.h"
 #include "api/rtc_event_log_output_file.h"
 #include "api/rtp_receiver_interface.h"
@@ -786,7 +785,7 @@
     return false;
   }
   return ExtractNativePC(jni, j_pc)->StartRtcEventLog(
-      absl::make_unique<RtcEventLogOutputFile>(f, max_size));
+      std::make_unique<RtcEventLogOutputFile>(f, max_size));
 }
 
 static void JNI_PeerConnection_StopRtcEventLog(
diff --git a/sdk/android/src/jni/pc/peer_connection_factory.cc b/sdk/android/src/jni/pc/peer_connection_factory.cc
index 1446576..4ae6faf 100644
--- a/sdk/android/src/jni/pc/peer_connection_factory.cc
+++ b/sdk/android/src/jni/pc/peer_connection_factory.cc
@@ -204,7 +204,7 @@
     field_trial::InitFieldTrialsFromString(nullptr);
     return;
   }
-  field_trials_init_string = absl::make_unique<std::string>(
+  field_trials_init_string = std::make_unique<std::string>(
       JavaToNativeString(jni, j_trials_init_string));
   RTC_LOG(LS_INFO) << "initializeFieldTrials: " << *field_trials_init_string;
   field_trial::InitFieldTrialsFromString(field_trials_init_string->c_str());
@@ -302,7 +302,7 @@
   dependencies.signaling_thread = signaling_thread.get();
   dependencies.task_queue_factory = CreateDefaultTaskQueueFactory();
   dependencies.call_factory = CreateCallFactory();
-  dependencies.event_log_factory = absl::make_unique<RtcEventLogFactory>(
+  dependencies.event_log_factory = std::make_unique<RtcEventLogFactory>(
       dependencies.task_queue_factory.get());
   dependencies.fec_controller_factory = std::move(fec_controller_factory);
   dependencies.network_controller_factory =
@@ -476,7 +476,7 @@
   PeerConnectionDependencies peer_connection_dependencies(observer.get());
   if (!j_sslCertificateVerifier.is_null()) {
     peer_connection_dependencies.tls_cert_verifier =
-        absl::make_unique<SSLCertificateVerifierWrapper>(
+        std::make_unique<SSLCertificateVerifierWrapper>(
             jni, j_sslCertificateVerifier);
   }
 
@@ -531,7 +531,7 @@
   if (jni_log_sink) {
     rtc::LogMessage::RemoveLogToStream(jni_log_sink.get());
   }
-  jni_log_sink = absl::make_unique<JNILogSink>(jni, j_logging);
+  jni_log_sink = std::make_unique<JNILogSink>(jni, j_logging);
   rtc::LogMessage::AddLogToStream(
       jni_log_sink.get(), static_cast<rtc::LoggingSeverity>(nativeSeverity));
   rtc::LogMessage::LogToDebug(rtc::LS_NONE);
diff --git a/sdk/objc/api/peerconnection/RTCFileLogger.mm b/sdk/objc/api/peerconnection/RTCFileLogger.mm
index ef13023..2532fcf 100644
--- a/sdk/objc/api/peerconnection/RTCFileLogger.mm
+++ b/sdk/objc/api/peerconnection/RTCFileLogger.mm
@@ -132,11 +132,11 @@
   std::unique_ptr<rtc::FileRotatingStreamReader> stream;
   switch(_rotationType) {
     case RTCFileLoggerTypeApp:
-      stream = absl::make_unique<rtc::FileRotatingStreamReader>(_dirPath.UTF8String,
-                                                                kRTCFileLoggerRotatingLogPrefix);
+      stream = std::make_unique<rtc::FileRotatingStreamReader>(_dirPath.UTF8String,
+                                                               kRTCFileLoggerRotatingLogPrefix);
       break;
     case RTCFileLoggerTypeCall:
-      stream = absl::make_unique<rtc::CallSessionFileRotatingStreamReader>(_dirPath.UTF8String);
+      stream = std::make_unique<rtc::CallSessionFileRotatingStreamReader>(_dirPath.UTF8String);
       break;
   }
   size_t bufferSize = stream->GetSize();
diff --git a/sdk/objc/api/peerconnection/RTCPeerConnection.mm b/sdk/objc/api/peerconnection/RTCPeerConnection.mm
index 097eeb4e..32a8a4b 100644
--- a/sdk/objc/api/peerconnection/RTCPeerConnection.mm
+++ b/sdk/objc/api/peerconnection/RTCPeerConnection.mm
@@ -236,11 +236,11 @@
 void PeerConnectionDelegateAdapter::OnIceSelectedCandidatePairChanged(
     const cricket::CandidatePairChangeEvent &event) {
   const auto &selected_pair = event.selected_candidate_pair;
-  auto local_candidate_wrapper = absl::make_unique<JsepIceCandidate>(
+  auto local_candidate_wrapper = std::make_unique<JsepIceCandidate>(
       selected_pair.local_candidate().transport_name(), -1, selected_pair.local_candidate());
   RTCIceCandidate *local_candidate =
       [[RTCIceCandidate alloc] initWithNativeCandidate:local_candidate_wrapper.release()];
-  auto remote_candidate_wrapper = absl::make_unique<JsepIceCandidate>(
+  auto remote_candidate_wrapper = std::make_unique<JsepIceCandidate>(
       selected_pair.remote_candidate().transport_name(), -1, selected_pair.remote_candidate());
   RTCIceCandidate *remote_candidate =
       [[RTCIceCandidate alloc] initWithNativeCandidate:remote_candidate_wrapper.release()];
@@ -563,7 +563,7 @@
                                                  rtc::saturated_cast<size_t>(maxSizeInBytes);
 
   _hasStartedRtcEventLog = _peerConnection->StartRtcEventLog(
-      absl::make_unique<webrtc::RtcEventLogOutputFile>(f, max_size));
+      std::make_unique<webrtc::RtcEventLogOutputFile>(f, max_size));
   return _hasStartedRtcEventLog;
 }
 
diff --git a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm
index d63c08e..4ac33d2 100644
--- a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm
+++ b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm
@@ -8,6 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include <memory>
+
 #import "RTCPeerConnectionFactory+Native.h"
 #import "RTCPeerConnectionFactory+Private.h"
 #import "RTCPeerConnectionFactoryOptions+Private.h"
@@ -28,7 +30,6 @@
 #import "components/video_codec/RTCVideoEncoderFactoryH264.h"
 // The no-media version PeerConnectionFactory doesn't depend on these files, but the gn check tool
 // is not smart enough to take the #ifdef into account.
-#include "absl/memory/memory.h"
 #include "api/audio_codecs/builtin_audio_decoder_factory.h"     // nogncheck
 #include "api/audio_codecs/builtin_audio_encoder_factory.h"     // nogncheck
 #include "api/rtc_event_log/rtc_event_log_factory.h"
@@ -51,7 +52,6 @@
 // C++ target.
 // TODO(zhihuang): Remove nogncheck once MediaEngineInterface is moved to C++
 // API layer.
-#include "absl/memory/memory.h"
 #include "api/transport/media/media_transport_interface.h"
 #include "media/engine/webrtc_media_engine.h"  // nogncheck
 
@@ -231,7 +231,7 @@
     dependencies.media_engine = cricket::CreateMediaEngine(std::move(media_deps));
     dependencies.call_factory = webrtc::CreateCallFactory();
     dependencies.event_log_factory =
-        absl::make_unique<webrtc::RtcEventLogFactory>(dependencies.task_queue_factory.get());
+        std::make_unique<webrtc::RtcEventLogFactory>(dependencies.task_queue_factory.get());
     dependencies.network_controller_factory = std::move(networkControllerFactory);
     dependencies.media_transport_factory = std::move(mediaTransportFactory);
 #endif
diff --git a/sdk/objc/native/api/video_decoder_factory.mm b/sdk/objc/native/api/video_decoder_factory.mm
index a4f9a20..8d0e4ab 100644
--- a/sdk/objc/native/api/video_decoder_factory.mm
+++ b/sdk/objc/native/api/video_decoder_factory.mm
@@ -10,14 +10,15 @@
 
 #include "sdk/objc/native/api/video_decoder_factory.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "sdk/objc/native/src/objc_video_decoder_factory.h"
 
 namespace webrtc {
 
 std::unique_ptr<VideoDecoderFactory> ObjCToNativeVideoDecoderFactory(
     id<RTCVideoDecoderFactory> objc_video_decoder_factory) {
-  return absl::make_unique<ObjCVideoDecoderFactory>(objc_video_decoder_factory);
+  return std::make_unique<ObjCVideoDecoderFactory>(objc_video_decoder_factory);
 }
 
 }  // namespace webrtc
diff --git a/sdk/objc/native/api/video_encoder_factory.mm b/sdk/objc/native/api/video_encoder_factory.mm
index 0f4a57c..b582deb 100644
--- a/sdk/objc/native/api/video_encoder_factory.mm
+++ b/sdk/objc/native/api/video_encoder_factory.mm
@@ -10,14 +10,15 @@
 
 #include "sdk/objc/native/api/video_encoder_factory.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "sdk/objc/native/src/objc_video_encoder_factory.h"
 
 namespace webrtc {
 
 std::unique_ptr<VideoEncoderFactory> ObjCToNativeVideoEncoderFactory(
     id<RTCVideoEncoderFactory> objc_video_encoder_factory) {
-  return absl::make_unique<ObjCVideoEncoderFactory>(objc_video_encoder_factory);
+  return std::make_unique<ObjCVideoEncoderFactory>(objc_video_encoder_factory);
 }
 
 }  // namespace webrtc
diff --git a/sdk/objc/native/api/video_renderer.mm b/sdk/objc/native/api/video_renderer.mm
index ce36c34..6631685 100644
--- a/sdk/objc/native/api/video_renderer.mm
+++ b/sdk/objc/native/api/video_renderer.mm
@@ -10,14 +10,15 @@
 
 #include "sdk/objc/native/api/video_renderer.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "sdk/objc/native/src/objc_video_renderer.h"
 
 namespace webrtc {
 
 std::unique_ptr<rtc::VideoSinkInterface<VideoFrame>> ObjCToNativeVideoRenderer(
     id<RTCVideoRenderer> objc_video_renderer) {
-  return absl::make_unique<ObjCVideoRenderer>(objc_video_renderer);
+  return std::make_unique<ObjCVideoRenderer>(objc_video_renderer);
 }
 
 }  // namespace webrtc
diff --git a/test/BUILD.gn b/test/BUILD.gn
index 7f2fff9..6cf95c6 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -68,7 +68,6 @@
     "../rtc_base:rtc_task_queue",
     "../rtc_base/task_utils:repeating_task",
     "../system_wrappers",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -143,7 +142,6 @@
     "../rtc_base:checks",
     "../rtc_base:rtc_base_approved",
     "../rtc_base/system:arch",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -263,7 +261,6 @@
       "//testing/gtest",
       "//third_party/abseil-cpp/absl/flags:flag",
       "//third_party/abseil-cpp/absl/flags:parse",
-      "//third_party/abseil-cpp/absl/memory",
 
       # TODO(bugs.webrtc.org/9792): This is needed for downstream projects on
       # Android, where it's replaced by an internal version of fileutils that
@@ -314,7 +311,6 @@
       "../rtc_base:checks",
       "../rtc_base:rtc_base_approved",
       "../system_wrappers",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/libyuv",
     ]
 
@@ -403,7 +399,6 @@
       "//testing/gmock",
       "//testing/gtest",
       "//third_party/abseil-cpp/absl/flags:flag",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/strings",
     ]
     sources = [
@@ -629,7 +624,6 @@
     "../rtc_base:checks",
     "../rtc_base:deprecation",
     "../rtc_base:rtc_base_approved",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -671,7 +665,6 @@
     "../rtc_base:rtc_task_queue",
     "../rtc_base/synchronization:sequence_checker",
     "../system_wrappers",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -789,7 +782,6 @@
     "../system_wrappers:field_trial",
     "../video",
     "//testing/gtest",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
   if (!is_android && !build_with_chromium) {
@@ -919,7 +911,6 @@
     "../common_audio",
     "../modules/audio_device:audio_device_impl",
     "../rtc_base:rtc_base_approved",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -934,7 +925,6 @@
     ":fileutils",
     ":test_support",
     "../modules/audio_device:audio_device_impl",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
diff --git a/test/audio_decoder_proxy_factory.h b/test/audio_decoder_proxy_factory.h
index fa5795b..821e6c6 100644
--- a/test/audio_decoder_proxy_factory.h
+++ b/test/audio_decoder_proxy_factory.h
@@ -15,7 +15,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/audio_codecs/audio_decoder.h"
 #include "api/audio_codecs/audio_decoder_factory.h"
 
@@ -43,7 +42,7 @@
   std::unique_ptr<AudioDecoder> MakeAudioDecoder(
       const SdpAudioFormat& /* format */,
       absl::optional<AudioCodecPairId> /* codec_pair_id */) override {
-    return absl::make_unique<DecoderProxy>(decoder_);
+    return std::make_unique<DecoderProxy>(decoder_);
   }
 
  private:
diff --git a/test/call_test.cc b/test/call_test.cc
index 20c8892..557c842 100644
--- a/test/call_test.cc
+++ b/test/call_test.cc
@@ -11,8 +11,8 @@
 #include "test/call_test.h"
 
 #include <algorithm>
+#include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/audio_codecs/builtin_audio_decoder_factory.h"
 #include "api/audio_codecs/builtin_audio_encoder_factory.h"
 #include "api/task_queue/default_task_queue_factory.h"
@@ -32,22 +32,22 @@
 CallTest::CallTest()
     : clock_(Clock::GetRealTimeClock()),
       task_queue_factory_(CreateDefaultTaskQueueFactory()),
-      send_event_log_(absl::make_unique<RtcEventLogNull>()),
-      recv_event_log_(absl::make_unique<RtcEventLogNull>()),
+      send_event_log_(std::make_unique<RtcEventLogNull>()),
+      recv_event_log_(std::make_unique<RtcEventLogNull>()),
       audio_send_config_(/*send_transport=*/nullptr, MediaTransportConfig()),
       audio_send_stream_(nullptr),
       frame_generator_capturer_(nullptr),
       fake_encoder_factory_([this]() {
         std::unique_ptr<FakeEncoder> fake_encoder;
         if (video_encoder_configs_[0].codec_type == kVideoCodecVP8) {
-          fake_encoder = absl::make_unique<FakeVP8Encoder>(clock_);
+          fake_encoder = std::make_unique<FakeVP8Encoder>(clock_);
         } else {
-          fake_encoder = absl::make_unique<FakeEncoder>(clock_);
+          fake_encoder = std::make_unique<FakeEncoder>(clock_);
         }
         fake_encoder->SetMaxBitrate(fake_encoder_max_bitrate_);
         return fake_encoder;
       }),
-      fake_decoder_factory_([]() { return absl::make_unique<FakeDecoder>(); }),
+      fake_decoder_factory_([]() { return std::make_unique<FakeDecoder>(); }),
       bitrate_allocator_factory_(CreateBuiltinVideoBitrateAllocatorFactory()),
       num_video_streams_(1),
       num_audio_streams_(0),
@@ -483,7 +483,7 @@
                                                      int height) {
   video_sources_.clear();
   auto frame_generator_capturer =
-      absl::make_unique<test::FrameGeneratorCapturer>(
+      std::make_unique<test::FrameGeneratorCapturer>(
           clock,
           test::FrameGenerator::CreateSquareGenerator(
               width, height, absl::nullopt, absl::nullopt),
@@ -499,7 +499,7 @@
                                             int height) {
   video_sources_.clear();
   auto frame_generator_capturer =
-      absl::make_unique<test::FrameGeneratorCapturer>(
+      std::make_unique<test::FrameGeneratorCapturer>(
           clock_,
           test::FrameGenerator::CreateSquareGenerator(
               width, height, absl::nullopt, absl::nullopt),
@@ -782,9 +782,9 @@
   return new PacketTransport(
       task_queue, sender_call, this, test::PacketTransport::kSender,
       CallTest::payload_type_map_,
-      absl::make_unique<FakeNetworkPipe>(
+      std::make_unique<FakeNetworkPipe>(
           Clock::GetRealTimeClock(),
-          absl::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig())));
+          std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig())));
 }
 
 test::PacketTransport* BaseTest::CreateReceiveTransport(
@@ -792,9 +792,9 @@
   return new PacketTransport(
       task_queue, nullptr, this, test::PacketTransport::kReceiver,
       CallTest::payload_type_map_,
-      absl::make_unique<FakeNetworkPipe>(
+      std::make_unique<FakeNetworkPipe>(
           Clock::GetRealTimeClock(),
-          absl::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig())));
+          std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig())));
 }
 
 size_t BaseTest::GetNumVideoStreams() const {
diff --git a/test/fake_decoder.cc b/test/fake_decoder.cc
index c5ba231..e80c31c 100644
--- a/test/fake_decoder.cc
+++ b/test/fake_decoder.cc
@@ -12,7 +12,8 @@
 
 #include <string.h>
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/scoped_refptr.h"
 #include "api/video/i420_buffer.h"
 #include "api/video/video_frame.h"
@@ -81,7 +82,7 @@
   RTC_CHECK(task_queue_factory_);
   if (!task_queue_) {
     task_queue_ =
-        absl::make_unique<rtc::TaskQueue>(task_queue_factory_->CreateTaskQueue(
+        std::make_unique<rtc::TaskQueue>(task_queue_factory_->CreateTaskQueue(
             "fake_decoder", TaskQueueFactory::Priority::NORMAL));
   }
   decode_delay_ms_ = decode_delay_ms;
diff --git a/test/fake_encoder.cc b/test/fake_encoder.cc
index a1e9742..8ee1e99 100644
--- a/test/fake_encoder.cc
+++ b/test/fake_encoder.cc
@@ -17,7 +17,6 @@
 #include <memory>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "api/task_queue/queued_task.h"
 #include "api/video/video_content_type.h"
 #include "modules/video_coding/codecs/h264/include/h264_globals.h"
@@ -287,7 +286,7 @@
     current_idr_counter = idr_counter_;
     ++idr_counter_;
   }
-  auto fragmentation = absl::make_unique<RTPFragmentationHeader>();
+  auto fragmentation = std::make_unique<RTPFragmentationHeader>();
 
   if (current_idr_counter % kIdrFrequency == 0 &&
       encoded_image->size() > kSpsSize + kPpsSize + 1) {
@@ -412,8 +411,7 @@
     return WEBRTC_VIDEO_CODEC_UNINITIALIZED;
   }
 
-  queue->PostTask(
-      absl::make_unique<EncodeTask>(this, input_image, frame_types));
+  queue->PostTask(std::make_unique<EncodeTask>(this, input_image, frame_types));
 
   return WEBRTC_VIDEO_CODEC_OK;
 }
diff --git a/test/fake_vp8_encoder_unittest.cc b/test/fake_vp8_encoder_unittest.cc
index 796ccda6..454f946 100644
--- a/test/fake_vp8_encoder_unittest.cc
+++ b/test/fake_vp8_encoder_unittest.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/test/create_simulcast_test_fixture.h"
 #include "api/test/simulcast_test_fixture.h"
 #include "api/test/video/function_video_decoder_factory.h"
@@ -28,12 +27,12 @@
 
 std::unique_ptr<SimulcastTestFixture> CreateSpecificSimulcastTestFixture() {
   std::unique_ptr<VideoEncoderFactory> encoder_factory =
-      absl::make_unique<FunctionVideoEncoderFactory>([]() {
-        return absl::make_unique<FakeVP8Encoder>(Clock::GetRealTimeClock());
+      std::make_unique<FunctionVideoEncoderFactory>([]() {
+        return std::make_unique<FakeVP8Encoder>(Clock::GetRealTimeClock());
       });
   std::unique_ptr<VideoDecoderFactory> decoder_factory =
-      absl::make_unique<FunctionVideoDecoderFactory>(
-          []() { return absl::make_unique<FakeVp8Decoder>(); });
+      std::make_unique<FunctionVideoDecoderFactory>(
+          []() { return std::make_unique<FakeVp8Decoder>(); });
   return CreateSimulcastTestFixture(std::move(encoder_factory),
                                     std::move(decoder_factory),
                                     SdpVideoFormat("VP8"));
diff --git a/test/frame_generator.cc b/test/frame_generator.cc
index 276069e..281102d 100644
--- a/test/frame_generator.cc
+++ b/test/frame_generator.cc
@@ -15,7 +15,6 @@
 #include <cstdio>
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/scoped_refptr.h"
 #include "api/video/i010_buffer.h"
 #include "api/video/i420_buffer.h"
@@ -103,12 +102,12 @@
       buffer = I010Buffer::Copy(*buffer->ToI420());
     }
 
-    frame_ = absl::make_unique<VideoFrame>(
-        VideoFrame::Builder()
-            .set_video_frame_buffer(buffer)
-            .set_rotation(webrtc::kVideoRotation_0)
-            .set_timestamp_us(0)
-            .build());
+    frame_ =
+        std::make_unique<VideoFrame>(VideoFrame::Builder()
+                                         .set_video_frame_buffer(buffer)
+                                         .set_rotation(webrtc::kVideoRotation_0)
+                                         .set_timestamp_us(0)
+                                         .build());
     return frame_.get();
   }
 
@@ -219,7 +218,7 @@
     if (++current_display_count_ >= frame_display_count_)
       current_display_count_ = 0;
 
-    temp_frame_ = absl::make_unique<VideoFrame>(
+    temp_frame_ = std::make_unique<VideoFrame>(
         VideoFrame::Builder()
             .set_video_frame_buffer(last_read_buffer_)
             .set_rotation(webrtc::kVideoRotation_0)
@@ -288,12 +287,12 @@
     if (++current_display_count_ >= frame_display_count_)
       current_display_count_ = 0;
 
-    frame_ = absl::make_unique<VideoFrame>(
-        VideoFrame::Builder()
-            .set_video_frame_buffer(buffer_)
-            .set_rotation(webrtc::kVideoRotation_0)
-            .set_timestamp_us(0)
-            .build());
+    frame_ =
+        std::make_unique<VideoFrame>(VideoFrame::Builder()
+                                         .set_video_frame_buffer(buffer_)
+                                         .set_rotation(webrtc::kVideoRotation_0)
+                                         .set_timestamp_us(0)
+                                         .build());
     return frame_.get();
   }
 
diff --git a/test/frame_generator_capturer.cc b/test/frame_generator_capturer.cc
index ebf9ebb..9eda4df 100644
--- a/test/frame_generator_capturer.cc
+++ b/test/frame_generator_capturer.cc
@@ -13,10 +13,10 @@
 #include <algorithm>
 #include <cmath>
 #include <limits>
+#include <memory>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/critical_section.h"
 #include "rtc_base/logging.h"
@@ -69,7 +69,7 @@
     Clock* clock,
     TaskQueueFactory& task_queue_factory,
     FrameGeneratorCapturerConfig::SquaresVideo config) {
-  return absl::make_unique<FrameGeneratorCapturer>(
+  return std::make_unique<FrameGeneratorCapturer>(
       clock,
       FrameGenerator::CreateSquareGenerator(
           config.width, config.height, config.pixel_format, config.num_squares),
@@ -79,7 +79,7 @@
     Clock* clock,
     TaskQueueFactory& task_queue_factory,
     FrameGeneratorCapturerConfig::SquareSlides config) {
-  return absl::make_unique<FrameGeneratorCapturer>(
+  return std::make_unique<FrameGeneratorCapturer>(
       clock,
       FrameGenerator::CreateSlideGenerator(
           config.width, config.height,
@@ -92,7 +92,7 @@
     TaskQueueFactory& task_queue_factory,
     FrameGeneratorCapturerConfig::VideoFile config) {
   RTC_CHECK(config.width && config.height);
-  return absl::make_unique<FrameGeneratorCapturer>(
+  return std::make_unique<FrameGeneratorCapturer>(
       clock,
       FrameGenerator::CreateFromYuvFile({TransformFilePath(config.name)},
                                         config.width, config.height,
@@ -126,7 +126,7 @@
         /*frame_repeat_count*/ config.change_interval.seconds<double>() *
             config.framerate);
   }
-  return absl::make_unique<FrameGeneratorCapturer>(
+  return std::make_unique<FrameGeneratorCapturer>(
       clock, std::move(slides_generator), config.framerate, task_queue_factory);
 }
 
diff --git a/test/fuzzers/BUILD.gn b/test/fuzzers/BUILD.gn
index 0a81bf3..7d32c97 100644
--- a/test/fuzzers/BUILD.gn
+++ b/test/fuzzers/BUILD.gn
@@ -452,7 +452,6 @@
   deps = [
     "../../p2p:rtc_p2p",
     "../../rtc_base:rtc_base_approved",
-    "//third_party/abseil-cpp/absl/memory",
   ]
   seed_corpus = "corpora/mdns-corpus"
 }
@@ -529,7 +528,6 @@
     "../../modules/audio_processing:audio_buffer",
     "../../rtc_base:rtc_base_approved",
     "../../rtc_base:safe_minmax",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 
   seed_corpus = "corpora/agc-corpus"
@@ -555,7 +553,6 @@
     "../../api:scoped_refptr",
     "../../modules/video_coding/",
     "../../system_wrappers",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -637,7 +634,6 @@
   deps = [
     "../../rtc_base:rtc_base_approved",
     "utils:rtp_replayer",
-    "//third_party/abseil-cpp/absl/memory",
   ]
   seed_corpus = "corpora/rtpdump-corpus/vp8"
 }
@@ -649,7 +645,6 @@
   deps = [
     "../../rtc_base:rtc_base_approved",
     "utils:rtp_replayer",
-    "//third_party/abseil-cpp/absl/memory",
   ]
   seed_corpus = "corpora/rtpdump-corpus/vp9"
 }
diff --git a/test/fuzzers/agc_fuzzer.cc b/test/fuzzers/agc_fuzzer.cc
index a330c7b..a40a213 100644
--- a/test/fuzzers/agc_fuzzer.cc
+++ b/test/fuzzers/agc_fuzzer.cc
@@ -8,7 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "modules/audio_processing/audio_buffer.h"
 #include "modules/audio_processing/gain_control_impl.h"
 #include "modules/audio_processing/include/audio_processing.h"
@@ -113,7 +114,7 @@
     return;
   }
   test::FuzzDataHelper fuzz_data(rtc::ArrayView<const uint8_t>(data, size));
-  auto gci = absl::make_unique<GainControlImpl>();
+  auto gci = std::make_unique<GainControlImpl>();
   FuzzGainController(&fuzz_data, gci.get());
 }
 }  // namespace webrtc
diff --git a/test/fuzzers/mdns_parser_fuzzer.cc b/test/fuzzers/mdns_parser_fuzzer.cc
index 294f683..4517423 100644
--- a/test/fuzzers/mdns_parser_fuzzer.cc
+++ b/test/fuzzers/mdns_parser_fuzzer.cc
@@ -11,7 +11,8 @@
 #include <stddef.h>
 #include <stdint.h>
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "p2p/base/mdns_message.h"
 #include "rtc_base/message_buffer_reader.h"
 
@@ -19,7 +20,7 @@
 
 void FuzzOneInput(const uint8_t* data, size_t size) {
   MessageBufferReader buf(reinterpret_cast<const char*>(data), size);
-  auto mdns_msg = absl::make_unique<MdnsMessage>();
+  auto mdns_msg = std::make_unique<MdnsMessage>();
   mdns_msg->Read(&buf);
 }
 
diff --git a/test/fuzzers/rtp_frame_reference_finder_fuzzer.cc b/test/fuzzers/rtp_frame_reference_finder_fuzzer.cc
index e54b90d..f2482fe 100644
--- a/test/fuzzers/rtp_frame_reference_finder_fuzzer.cc
+++ b/test/fuzzers/rtp_frame_reference_finder_fuzzer.cc
@@ -8,7 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/rtp_packet_infos.h"
 #include "modules/video_coding/frame_object.h"
 #include "modules/video_coding/packet_buffer.h"
@@ -129,7 +130,7 @@
     first_packet->video_header.is_first_packet_in_frame = true;
     last_packet->video_header.is_last_packet_in_frame = true;
 
-    auto frame = absl::make_unique<video_coding::RtpFrameObject>(
+    auto frame = std::make_unique<video_coding::RtpFrameObject>(
         pb, first_seq_num, last_seq_num, 0, 0, 0, 0, RtpPacketInfos());
     reference_finder.ManageFrame(std::move(frame));
   }
diff --git a/test/fuzzers/utils/BUILD.gn b/test/fuzzers/utils/BUILD.gn
index 007c750..e821e2f 100644
--- a/test/fuzzers/utils/BUILD.gn
+++ b/test/fuzzers/utils/BUILD.gn
@@ -37,6 +37,5 @@
     "../../../test:test_renderer",
     "../../../test:test_support",
     "../../../test:video_test_common",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
diff --git a/test/fuzzers/utils/rtp_replayer.cc b/test/fuzzers/utils/rtp_replayer.cc
index 0656f4c..4a9712a 100644
--- a/test/fuzzers/utils/rtp_replayer.cc
+++ b/test/fuzzers/utils/rtp_replayer.cc
@@ -11,10 +11,10 @@
 #include "test/fuzzers/utils/rtp_replayer.h"
 
 #include <algorithm>
+#include <memory>
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/task_queue/default_task_queue_factory.h"
 #include "rtc_base/strings/json.h"
 #include "system_wrappers/include/clock.h"
@@ -31,7 +31,7 @@
 void RtpReplayer::Replay(const std::string& replay_config_filepath,
                          const uint8_t* rtp_dump_data,
                          size_t rtp_dump_size) {
-  auto stream_state = absl::make_unique<StreamState>();
+  auto stream_state = std::make_unique<StreamState>();
   std::vector<VideoReceiveStream::Config> receive_stream_configs =
       ReadConfigFromFile(replay_config_filepath, &(stream_state->transport));
   return Replay(std::move(stream_state), std::move(receive_stream_configs),
@@ -96,7 +96,7 @@
     std::vector<VideoReceiveStream::Config>* receive_stream_configs,
     StreamState* stream_state,
     Call* call) {
-  stream_state->decoder_factory = absl::make_unique<InternalDecoderFactory>();
+  stream_state->decoder_factory = std::make_unique<InternalDecoderFactory>();
   for (auto& receive_config : *receive_stream_configs) {
     // Attach the decoder for the corresponding payload type in the config.
     for (auto& decoder : receive_config.decoders) {
diff --git a/test/fuzzers/vp8_replay_fuzzer.cc b/test/fuzzers/vp8_replay_fuzzer.cc
index 2ba5cfe..5b62d8b 100644
--- a/test/fuzzers/vp8_replay_fuzzer.cc
+++ b/test/fuzzers/vp8_replay_fuzzer.cc
@@ -11,13 +11,14 @@
 #include <stddef.h>
 #include <stdint.h>
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "test/fuzzers/utils/rtp_replayer.h"
 
 namespace webrtc {
 
 void FuzzOneInput(const uint8_t* data, size_t size) {
-  auto stream_state = absl::make_unique<test::RtpReplayer::StreamState>();
+  auto stream_state = std::make_unique<test::RtpReplayer::StreamState>();
   VideoReceiveStream::Config vp8_config(&(stream_state->transport));
 
   VideoReceiveStream::Decoder vp8_decoder;
diff --git a/test/fuzzers/vp9_replay_fuzzer.cc b/test/fuzzers/vp9_replay_fuzzer.cc
index 8e046f1..e36c788 100644
--- a/test/fuzzers/vp9_replay_fuzzer.cc
+++ b/test/fuzzers/vp9_replay_fuzzer.cc
@@ -11,13 +11,14 @@
 #include <stddef.h>
 #include <stdint.h>
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "test/fuzzers/utils/rtp_replayer.h"
 
 namespace webrtc {
 
 void FuzzOneInput(const uint8_t* data, size_t size) {
-  auto stream_state = absl::make_unique<test::RtpReplayer::StreamState>();
+  auto stream_state = std::make_unique<test::RtpReplayer::StreamState>();
   VideoReceiveStream::Config vp9_config(&(stream_state->transport));
 
   VideoReceiveStream::Decoder vp9_decoder;
diff --git a/test/logging/BUILD.gn b/test/logging/BUILD.gn
index f588925..ee00d1c 100644
--- a/test/logging/BUILD.gn
+++ b/test/logging/BUILD.gn
@@ -27,7 +27,6 @@
     "../../rtc_base:rtc_base_tests_utils",
     "../../rtc_base:stringutils",
     "../../test:fileutils",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
diff --git a/test/logging/file_log_writer.cc b/test/logging/file_log_writer.cc
index ced81fe..150f173 100644
--- a/test/logging/file_log_writer.cc
+++ b/test/logging/file_log_writer.cc
@@ -9,7 +9,8 @@
  */
 #include "test/logging/file_log_writer.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
 #include "test/testsupport/file_utils.h"
@@ -57,6 +58,6 @@
 
 std::unique_ptr<RtcEventLogOutput> FileLogWriterFactory::Create(
     std::string filename) {
-  return absl::make_unique<webrtc_impl::FileLogWriter>(base_path_ + filename);
+  return std::make_unique<webrtc_impl::FileLogWriter>(base_path_ + filename);
 }
 }  // namespace webrtc
diff --git a/test/logging/memory_log_writer.cc b/test/logging/memory_log_writer.cc
index 92945ed..ee9befe 100644
--- a/test/logging/memory_log_writer.cc
+++ b/test/logging/memory_log_writer.cc
@@ -9,9 +9,11 @@
  */
 #include "test/logging/memory_log_writer.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
+
 namespace webrtc {
 namespace {
 class MemoryLogWriter final : public RtcEventLogOutput {
@@ -45,7 +47,7 @@
       : target_(target) {}
   ~MemoryLogWriterFactory() final {}
   std::unique_ptr<RtcEventLogOutput> Create(std::string filename) override {
-    return absl::make_unique<MemoryLogWriter>(target_, filename);
+    return std::make_unique<MemoryLogWriter>(target_, filename);
   }
 
  private:
@@ -59,7 +61,7 @@
 MemoryLogStorage::~MemoryLogStorage() {}
 
 std::unique_ptr<LogWriterFactoryInterface> MemoryLogStorage::CreateFactory() {
-  return absl::make_unique<MemoryLogWriterFactory>(&logs_);
+  return std::make_unique<MemoryLogWriterFactory>(&logs_);
 }
 
 // namespace webrtc_impl
diff --git a/test/network/BUILD.gn b/test/network/BUILD.gn
index 2470c00..ea6c386 100644
--- a/test/network/BUILD.gn
+++ b/test/network/BUILD.gn
@@ -77,7 +77,6 @@
     "../../rtc_base:logging",
     "../../rtc_base:rtc_event",
     "../../system_wrappers:system_wrappers",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -106,7 +105,6 @@
     "../../rtc_base:gunit_helpers",
     "../../rtc_base:logging",
     "../../rtc_base:rtc_event",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
diff --git a/test/network/network_emulation.cc b/test/network/network_emulation.cc
index 7d3ed44..2d4a057 100644
--- a/test/network/network_emulation.cc
+++ b/test/network/network_emulation.cc
@@ -14,7 +14,6 @@
 #include <limits>
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/units/data_size.h"
 #include "rtc_base/bind.h"
 #include "rtc_base/logging.h"
@@ -190,7 +189,7 @@
     prefix_length = kIPv6NetworkPrefixLength;
   }
   rtc::IPAddress prefix = TruncateIP(ip, prefix_length);
-  network_ = absl::make_unique<rtc::Network>(
+  network_ = std::make_unique<rtc::Network>(
       ip.ToString(), "Endpoint id=" + std::to_string(id_), prefix,
       prefix_length, rtc::AdapterType::ADAPTER_TYPE_UNKNOWN);
   network_->AddIP(ip);
@@ -371,7 +370,7 @@
   for (auto* endpoint : endpoints_) {
     if (endpoint->Enabled()) {
       networks.emplace_back(
-          absl::make_unique<rtc::Network>(endpoint->network()));
+          std::make_unique<rtc::Network>(endpoint->network()));
     }
   }
   return networks;
diff --git a/test/network/network_emulation_manager.cc b/test/network/network_emulation_manager.cc
index e036679..febcd61 100644
--- a/test/network/network_emulation_manager.cc
+++ b/test/network/network_emulation_manager.cc
@@ -13,7 +13,6 @@
 #include <algorithm>
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/units/time_delta.h"
 #include "api/units/timestamp.h"
 #include "call/simulated_network.h"
@@ -48,7 +47,7 @@
 template <typename T, typename Closure>
 std::unique_ptr<QueuedTask> CreateResourceOwningTask(T resource,
                                                      Closure&& closure) {
-  return absl::make_unique<ResourceOwningTask<T, Closure>>(
+  return std::make_unique<ResourceOwningTask<T, Closure>>(
       std::forward<T>(resource), std::forward<Closure>(closure));
 }
 }  // namespace
@@ -72,12 +71,12 @@
 
 EmulatedNetworkNode* NetworkEmulationManagerImpl::CreateEmulatedNode(
     BuiltInNetworkBehaviorConfig config) {
-  return CreateEmulatedNode(absl::make_unique<SimulatedNetwork>(config));
+  return CreateEmulatedNode(std::make_unique<SimulatedNetwork>(config));
 }
 
 EmulatedNetworkNode* NetworkEmulationManagerImpl::CreateEmulatedNode(
     std::unique_ptr<NetworkBehaviorInterface> network_behavior) {
-  auto node = absl::make_unique<EmulatedNetworkNode>(
+  auto node = std::make_unique<EmulatedNetworkNode>(
       clock_, &task_queue_, std::move(network_behavior));
   EmulatedNetworkNode* out = node.get();
   task_queue_.PostTask(CreateResourceOwningTask(
@@ -110,7 +109,7 @@
 
   bool res = used_ip_addresses_.insert(*ip).second;
   RTC_CHECK(res) << "IP=" << ip->ToString() << " already in use";
-  auto node = absl::make_unique<EmulatedEndpoint>(
+  auto node = std::make_unique<EmulatedEndpoint>(
       next_node_id_++, *ip, config.start_as_enabled, &task_queue_, clock_);
   EmulatedEndpoint* out = node.get();
   endpoints_.push_back(std::move(node));
@@ -148,7 +147,7 @@
   cur_node->router()->SetReceiver(to->GetPeerLocalAddress(), to);
 
   std::unique_ptr<EmulatedRoute> route =
-      absl::make_unique<EmulatedRoute>(from, std::move(via_nodes), to);
+      std::make_unique<EmulatedRoute>(from, std::move(via_nodes), to);
   EmulatedRoute* out = route.get();
   routes_.push_back(std::move(route));
   return out;
@@ -190,7 +189,7 @@
   cur_node->router()->SetReceiver(endpoint->GetPeerLocalAddress(), endpoint);
 
   std::unique_ptr<TrafficRoute> traffic_route =
-      absl::make_unique<TrafficRoute>(clock_, via_nodes[0], endpoint);
+      std::make_unique<TrafficRoute>(clock_, via_nodes[0], endpoint);
   TrafficRoute* out = traffic_route.get();
   traffic_routes_.push_back(std::move(traffic_route));
   return out;
@@ -201,7 +200,7 @@
     TrafficRoute* traffic_route,
     RandomWalkConfig config) {
   auto traffic =
-      absl::make_unique<RandomWalkCrossTraffic>(config, traffic_route);
+      std::make_unique<RandomWalkCrossTraffic>(config, traffic_route);
   RandomWalkCrossTraffic* out = traffic.get();
 
   task_queue_.PostTask(CreateResourceOwningTask(
@@ -223,7 +222,7 @@
     TrafficRoute* traffic_route,
     PulsedPeaksConfig config) {
   auto traffic =
-      absl::make_unique<PulsedPeaksCrossTraffic>(config, traffic_route);
+      std::make_unique<PulsedPeaksCrossTraffic>(config, traffic_route);
   PulsedPeaksCrossTraffic* out = traffic.get();
   task_queue_.PostTask(CreateResourceOwningTask(
       std::move(traffic),
@@ -245,7 +244,7 @@
     FakeTcpConfig config) {
   task_queue_.PostTask([=]() {
     auto traffic =
-        absl::make_unique<FakeTcpCrossTraffic>(config, send_route, ret_route);
+        std::make_unique<FakeTcpCrossTraffic>(config, send_route, ret_route);
     auto* traffic_ptr = traffic.get();
     tcp_cross_traffics_.push_back(std::move(traffic));
     TimeDelta process_interval = config.process_interval;
@@ -260,8 +259,8 @@
 EmulatedNetworkManagerInterface*
 NetworkEmulationManagerImpl::CreateEmulatedNetworkManagerInterface(
     const std::vector<EmulatedEndpoint*>& endpoints) {
-  auto endpoints_container = absl::make_unique<EndpointsContainer>(endpoints);
-  auto network_manager = absl::make_unique<EmulatedNetworkManager>(
+  auto endpoints_container = std::make_unique<EndpointsContainer>(endpoints);
+  auto network_manager = std::make_unique<EmulatedNetworkManager>(
       clock_, &task_queue_, endpoints_container.get());
   for (auto* endpoint : endpoints) {
     // Associate endpoint with network manager.
diff --git a/test/network/network_emulation_pc_unittest.cc b/test/network/network_emulation_pc_unittest.cc
index 6c83a99..c158226 100644
--- a/test/network/network_emulation_pc_unittest.cc
+++ b/test/network/network_emulation_pc_unittest.cc
@@ -11,7 +11,6 @@
 #include <cstdint>
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/call/call_factory_interface.h"
 #include "api/peer_connection_interface.h"
 #include "api/rtc_event_log/rtc_event_log_factory.h"
@@ -57,7 +56,7 @@
   pcf_deps.task_queue_factory = CreateDefaultTaskQueueFactory();
   pcf_deps.call_factory = CreateCallFactory();
   pcf_deps.event_log_factory =
-      absl::make_unique<RtcEventLogFactory>(pcf_deps.task_queue_factory.get());
+      std::make_unique<RtcEventLogFactory>(pcf_deps.task_queue_factory.get());
   pcf_deps.network_thread = network_thread;
   pcf_deps.signaling_thread = signaling_thread;
   cricket::MediaEngineDependencies media_deps;
@@ -79,7 +78,7 @@
     rtc::NetworkManager* network_manager) {
   PeerConnectionDependencies pc_deps(observer);
   auto port_allocator =
-      absl::make_unique<cricket::BasicPortAllocator>(network_manager);
+      std::make_unique<cricket::BasicPortAllocator>(network_manager);
 
   // This test does not support TCP
   int flags = cricket::PORTALLOCATOR_DISABLE_TCP;
@@ -103,9 +102,9 @@
   NetworkEmulationManagerImpl emulation;
 
   EmulatedNetworkNode* alice_node = emulation.CreateEmulatedNode(
-      absl::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
+      std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
   EmulatedNetworkNode* bob_node = emulation.CreateEmulatedNode(
-      absl::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
+      std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
   EmulatedEndpoint* alice_endpoint =
       emulation.CreateEndpoint(EmulatedEndpointConfig());
   EmulatedEndpoint* bob_endpoint =
@@ -122,12 +121,12 @@
   rtc::scoped_refptr<PeerConnectionFactoryInterface> alice_pcf;
   rtc::scoped_refptr<PeerConnectionInterface> alice_pc;
   std::unique_ptr<MockPeerConnectionObserver> alice_observer =
-      absl::make_unique<MockPeerConnectionObserver>();
+      std::make_unique<MockPeerConnectionObserver>();
 
   rtc::scoped_refptr<PeerConnectionFactoryInterface> bob_pcf;
   rtc::scoped_refptr<PeerConnectionInterface> bob_pc;
   std::unique_ptr<MockPeerConnectionObserver> bob_observer =
-      absl::make_unique<MockPeerConnectionObserver>();
+      std::make_unique<MockPeerConnectionObserver>();
 
   signaling_thread->Invoke<void>(RTC_FROM_HERE, [&]() {
     alice_pcf = CreatePeerConnectionFactory(signaling_thread.get(),
@@ -142,11 +141,11 @@
   });
 
   std::unique_ptr<PeerConnectionWrapper> alice =
-      absl::make_unique<PeerConnectionWrapper>(alice_pcf, alice_pc,
-                                               std::move(alice_observer));
+      std::make_unique<PeerConnectionWrapper>(alice_pcf, alice_pc,
+                                              std::move(alice_observer));
   std::unique_ptr<PeerConnectionWrapper> bob =
-      absl::make_unique<PeerConnectionWrapper>(bob_pcf, bob_pc,
-                                               std::move(bob_observer));
+      std::make_unique<PeerConnectionWrapper>(bob_pcf, bob_pc,
+                                              std::move(bob_observer));
 
   signaling_thread->Invoke<void>(RTC_FROM_HERE, [&]() {
     rtc::scoped_refptr<webrtc::AudioSourceInterface> source =
diff --git a/test/network/network_emulation_unittest.cc b/test/network/network_emulation_unittest.cc
index e38867f..b119442 100644
--- a/test/network/network_emulation_unittest.cc
+++ b/test/network/network_emulation_unittest.cc
@@ -14,7 +14,6 @@
 #include <memory>
 #include <set>
 
-#include "absl/memory/memory.h"
 #include "api/test/simulated_network.h"
 #include "api/units/time_delta.h"
 #include "call/simulated_network.h"
@@ -149,7 +148,7 @@
 EmulatedNetworkNode* CreateEmulatedNodeWithDefaultBuiltInConfig(
     NetworkEmulationManager* emulation) {
   return emulation->CreateEmulatedNode(
-      absl::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
+      std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
 }
 
 }  // namespace
@@ -186,9 +185,9 @@
   NetworkEmulationManagerImpl network_manager;
 
   EmulatedNetworkNode* alice_node = network_manager.CreateEmulatedNode(
-      absl::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
+      std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
   EmulatedNetworkNode* bob_node = network_manager.CreateEmulatedNode(
-      absl::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
+      std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
   EmulatedEndpoint* alice_endpoint =
       network_manager.CreateEndpoint(EmulatedEndpointConfig());
   EmulatedEndpoint* bob_endpoint =
@@ -263,9 +262,9 @@
   NetworkEmulationManagerImpl network_manager;
 
   EmulatedNetworkNode* alice_node = network_manager.CreateEmulatedNode(
-      absl::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
+      std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
   EmulatedNetworkNode* bob_node = network_manager.CreateEmulatedNode(
-      absl::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
+      std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
   EmulatedEndpoint* alice_endpoint =
       network_manager.CreateEndpoint(EmulatedEndpointConfig());
   EmulatedEndpoint* bob_endpoint =
diff --git a/test/network/simulated_network_node.cc b/test/network/simulated_network_node.cc
index e4c5d90..d85f2e6 100644
--- a/test/network/simulated_network_node.cc
+++ b/test/network/simulated_network_node.cc
@@ -9,10 +9,9 @@
  */
 #include "test/network/simulated_network_node.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
-
 namespace webrtc {
 namespace test {
 
@@ -59,7 +58,7 @@
 SimulatedNetworkNode SimulatedNetworkNode::Builder::Build(
     NetworkEmulationManager* net) const {
   SimulatedNetworkNode res;
-  auto behavior = absl::make_unique<SimulatedNetwork>(config_);
+  auto behavior = std::make_unique<SimulatedNetwork>(config_);
   res.simulation = behavior.get();
   res.node = net->CreateEmulatedNode(std::move(behavior));
   return res;
diff --git a/test/network/traffic_route.cc b/test/network/traffic_route.cc
index b658c9e..2baf5a4 100644
--- a/test/network/traffic_route.cc
+++ b/test/network/traffic_route.cc
@@ -11,9 +11,9 @@
 #include "test/network/traffic_route.h"
 
 #include <algorithm>
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/numerics/safe_minmax.h"
@@ -57,7 +57,7 @@
                            EmulatedNetworkReceiverInterface* receiver,
                            EmulatedEndpoint* endpoint)
     : clock_(clock), receiver_(receiver), endpoint_(endpoint) {
-  null_receiver_ = absl::make_unique<NullReceiver>();
+  null_receiver_ = std::make_unique<NullReceiver>();
   absl::optional<uint16_t> port =
       endpoint_->BindReceiver(0, null_receiver_.get());
   RTC_DCHECK(port);
@@ -73,7 +73,7 @@
 
 void TrafficRoute::NetworkDelayedAction(size_t packet_size,
                                         std::function<void()> action) {
-  auto action_receiver = absl::make_unique<ActionReceiver>(action, endpoint_);
+  auto action_receiver = std::make_unique<ActionReceiver>(action, endpoint_);
   absl::optional<uint16_t> port =
       endpoint_->BindReceiver(0, action_receiver.get());
   RTC_DCHECK(port);
diff --git a/test/pc/e2e/BUILD.gn b/test/pc/e2e/BUILD.gn
index 497fbe2..ef5ba43 100644
--- a/test/pc/e2e/BUILD.gn
+++ b/test/pc/e2e/BUILD.gn
@@ -60,7 +60,6 @@
     "../../../api/transport/media:media_transport_interface",
     "../../../api/video_codecs:video_codecs_api",
     "../../../rtc_base",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -153,7 +152,6 @@
     "../../../modules/video_coding:video_codec_interface",
     "../../../rtc_base:criticalsection",
     "../../../rtc_base:logging",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -176,7 +174,6 @@
     "../../../modules/video_coding:video_codec_interface",
     "../../../rtc_base:criticalsection",
     "../../../rtc_base:logging",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -302,7 +299,6 @@
       "../../../system_wrappers:field_trial",
       "../../../test:fileutils",
       "../../../test:video_test_support",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -380,7 +376,6 @@
       "../../../rtc_base:rtc_event",
       "../../../test:fileutils",
       "../../../test:test_support",
-      "//third_party/abseil-cpp/absl/memory",
     ]
     data = peer_connection_e2e_smoke_test_resources
     if (is_ios) {
@@ -478,7 +473,6 @@
     "../../../rtc_base:rtc_event",
     "../../../rtc_base:rtc_numerics",
     "../../../system_wrappers",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -512,7 +506,7 @@
     "../../../pc:peerconnection",
     "../../../pc:rtc_pc_base",
     "../../../rtc_base:stringutils",
-    "//third_party/abseil-cpp/absl/memory:memory",
+    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings:strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
diff --git a/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc b/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc
index 60fd1fc..9e984af 100644
--- a/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc
+++ b/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc
@@ -11,9 +11,9 @@
 #include "test/pc/e2e/analyzer/video/default_video_quality_analyzer.h"
 
 #include <algorithm>
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/units/time_delta.h"
 #include "common_video/libyuv/include/webrtc_libyuv.h"
 #include "rtc_base/logging.h"
@@ -75,7 +75,7 @@
                                         int max_threads_count) {
   test_label_ = std::move(test_case_name);
   for (int i = 0; i < max_threads_count; i++) {
-    auto thread = absl::make_unique<rtc::PlatformThread>(
+    auto thread = std::make_unique<rtc::PlatformThread>(
         &DefaultVideoQualityAnalyzer::ProcessComparisonsThread, this,
         ("DefaultVideoQualityAnalyzerWorker-" + std::to_string(i)).data(),
         rtc::ThreadPriority::kNormalPriority);
diff --git a/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.cc b/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.cc
index a250910..b304beb 100644
--- a/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.cc
+++ b/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.cc
@@ -12,9 +12,9 @@
 
 #include <cstdint>
 #include <cstring>
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/video/i420_buffer.h"
 #include "modules/video_coding/include/video_error_codes.h"
@@ -35,7 +35,7 @@
       delegate_(std::move(delegate)),
       extractor_(extractor),
       analyzer_(analyzer) {
-  analyzing_callback_ = absl::make_unique<DecoderCallback>(this);
+  analyzing_callback_ = std::make_unique<DecoderCallback>(this);
 }
 QualityAnalyzingVideoDecoder::~QualityAnalyzingVideoDecoder() = default;
 
@@ -242,7 +242,7 @@
 QualityAnalyzingVideoDecoderFactory::CreateVideoDecoder(
     const SdpVideoFormat& format) {
   std::unique_ptr<VideoDecoder> decoder = delegate_->CreateVideoDecoder(format);
-  return absl::make_unique<QualityAnalyzingVideoDecoder>(
+  return std::make_unique<QualityAnalyzingVideoDecoder>(
       id_generator_->GetNextId(), std::move(decoder), extractor_, analyzer_);
 }
 
@@ -252,7 +252,7 @@
     const std::string& receive_stream_id) {
   std::unique_ptr<VideoDecoder> decoder =
       delegate_->LegacyCreateVideoDecoder(format, receive_stream_id);
-  return absl::make_unique<QualityAnalyzingVideoDecoder>(
+  return std::make_unique<QualityAnalyzingVideoDecoder>(
       id_generator_->GetNextId(), std::move(decoder), extractor_, analyzer_);
 }
 
diff --git a/test/pc/e2e/analyzer/video/quality_analyzing_video_encoder.cc b/test/pc/e2e/analyzer/video/quality_analyzing_video_encoder.cc
index 633d6b1..af95790 100644
--- a/test/pc/e2e/analyzer/video/quality_analyzing_video_encoder.cc
+++ b/test/pc/e2e/analyzer/video/quality_analyzing_video_encoder.cc
@@ -11,9 +11,9 @@
 #include "test/pc/e2e/analyzer/video/quality_analyzing_video_encoder.h"
 
 #include <cmath>
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/video/video_codec_type.h"
 #include "api/video_codecs/video_encoder.h"
 #include "modules/video_coding/include/video_error_codes.h"
@@ -354,7 +354,7 @@
 std::unique_ptr<VideoEncoder>
 QualityAnalyzingVideoEncoderFactory::CreateVideoEncoder(
     const SdpVideoFormat& format) {
-  return absl::make_unique<QualityAnalyzingVideoEncoder>(
+  return std::make_unique<QualityAnalyzingVideoEncoder>(
       id_generator_->GetNextId(), delegate_->CreateVideoEncoder(format),
       bitrate_multiplier_, stream_required_spatial_index_, injector_,
       analyzer_);
diff --git a/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.cc b/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.cc
index bc276ba..b7d87b8 100644
--- a/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.cc
+++ b/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.cc
@@ -115,7 +115,7 @@
     : analyzer_(std::move(analyzer)),
       injector_(injector),
       extractor_(extractor),
-      encoding_entities_id_generator_(absl::make_unique<IntIdGenerator>(1)) {
+      encoding_entities_id_generator_(std::make_unique<IntIdGenerator>(1)) {
   RTC_DCHECK(injector_);
   RTC_DCHECK(extractor_);
 }
@@ -128,7 +128,7 @@
     double bitrate_multiplier,
     std::map<std::string, absl::optional<int>> stream_required_spatial_index)
     const {
-  return absl::make_unique<QualityAnalyzingVideoEncoderFactory>(
+  return std::make_unique<QualityAnalyzingVideoEncoderFactory>(
       std::move(delegate), bitrate_multiplier,
       std::move(stream_required_spatial_index),
       encoding_entities_id_generator_.get(), injector_, analyzer_.get());
@@ -137,7 +137,7 @@
 std::unique_ptr<VideoDecoderFactory>
 VideoQualityAnalyzerInjectionHelper::WrapVideoDecoderFactory(
     std::unique_ptr<VideoDecoderFactory> delegate) const {
-  return absl::make_unique<QualityAnalyzingVideoDecoderFactory>(
+  return std::make_unique<QualityAnalyzingVideoDecoderFactory>(
       std::move(delegate), encoding_entities_id_generator_.get(), extractor_,
       analyzer_.get());
 }
@@ -149,14 +149,14 @@
     test::VideoFrameWriter* writer) const {
   std::vector<std::unique_ptr<rtc::VideoSinkInterface<VideoFrame>>> sinks;
   if (writer) {
-    sinks.push_back(absl::make_unique<VideoWriter>(writer));
+    sinks.push_back(std::make_unique<VideoWriter>(writer));
   }
   if (config.show_on_screen) {
     sinks.push_back(absl::WrapUnique(
         test::VideoRenderer::Create((*config.stream_label + "-capture").c_str(),
                                     config.width, config.height)));
   }
-  return absl::make_unique<AnalyzingFrameGenerator>(
+  return std::make_unique<AnalyzingFrameGenerator>(
       std::move(*config.stream_label), std::move(delegate), analyzer_.get(),
       std::move(sinks));
 }
@@ -167,15 +167,15 @@
     test::VideoFrameWriter* writer) const {
   std::vector<std::unique_ptr<rtc::VideoSinkInterface<VideoFrame>>> sinks;
   if (writer) {
-    sinks.push_back(absl::make_unique<VideoWriter>(writer));
+    sinks.push_back(std::make_unique<VideoWriter>(writer));
   }
   if (config.show_on_screen) {
     sinks.push_back(absl::WrapUnique(
         test::VideoRenderer::Create((*config.stream_label + "-render").c_str(),
                                     config.width, config.height)));
   }
-  return absl::make_unique<AnalyzingVideoSink>(analyzer_.get(),
-                                               std::move(sinks));
+  return std::make_unique<AnalyzingVideoSink>(analyzer_.get(),
+                                              std::move(sinks));
 }
 
 void VideoQualityAnalyzerInjectionHelper::Start(std::string test_case_name,
diff --git a/test/pc/e2e/peer_connection_e2e_smoke_test.cc b/test/pc/e2e/peer_connection_e2e_smoke_test.cc
index 7263c41..8765b2d 100644
--- a/test/pc/e2e/peer_connection_e2e_smoke_test.cc
+++ b/test/pc/e2e/peer_connection_e2e_smoke_test.cc
@@ -11,7 +11,6 @@
 #include <cstdint>
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/test/create_network_emulation_manager.h"
 #include "api/test/create_peerconnection_quality_test_fixture.h"
 #include "api/test/network_emulation_manager.h"
@@ -50,15 +49,14 @@
         CreateNetworkEmulationManager();
 
     auto alice_network_behavior =
-        absl::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig());
+        std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig());
     SimulatedNetwork* alice_network_behavior_ptr = alice_network_behavior.get();
     EmulatedNetworkNode* alice_node =
         network_emulation_manager->CreateEmulatedNode(
             std::move(alice_network_behavior));
     EmulatedNetworkNode* bob_node =
         network_emulation_manager->CreateEmulatedNode(
-            absl::make_unique<SimulatedNetwork>(
-                BuiltInNetworkBehaviorConfig()));
+            std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
     auto* alice_endpoint =
         network_emulation_manager->CreateEndpoint(EmulatedEndpointConfig());
     EmulatedEndpoint* bob_endpoint =
@@ -70,7 +68,7 @@
 
     // Create analyzers.
     std::unique_ptr<VideoQualityAnalyzerInterface> video_quality_analyzer =
-        absl::make_unique<DefaultVideoQualityAnalyzer>();
+        std::make_unique<DefaultVideoQualityAnalyzer>();
     // This is only done for the sake of smoke testing. In general there should
     // be no need to explicitly pull data from analyzers after the run.
     auto* video_analyzer_ptr =
@@ -100,8 +98,8 @@
     fixture->AddPeer(bob_network->network_thread(),
                      bob_network->network_manager(), bob_configurer);
     fixture->AddQualityMetricsReporter(
-        absl::make_unique<NetworkQualityMetricsReporter>(alice_network,
-                                                         bob_network));
+        std::make_unique<NetworkQualityMetricsReporter>(alice_network,
+                                                        bob_network));
 
     fixture->Run(run_params);
 
diff --git a/test/pc/e2e/peer_connection_quality_test.cc b/test/pc/e2e/peer_connection_quality_test.cc
index cf1f095..a631237 100644
--- a/test/pc/e2e/peer_connection_quality_test.cc
+++ b/test/pc/e2e/peer_connection_quality_test.cc
@@ -10,10 +10,10 @@
 #include "test/pc/e2e/peer_connection_quality_test.h"
 
 #include <algorithm>
+#include <memory>
 #include <set>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/jsep.h"
 #include "api/media_stream_interface.h"
 #include "api/peer_connection_interface.h"
@@ -119,17 +119,17 @@
   // even if there are no video streams, because it will be installed into video
   // encoder/decoder factories.
   if (video_quality_analyzer == nullptr) {
-    video_quality_analyzer = absl::make_unique<DefaultVideoQualityAnalyzer>();
+    video_quality_analyzer = std::make_unique<DefaultVideoQualityAnalyzer>();
   }
   encoded_image_id_controller_ =
-      absl::make_unique<SingleProcessEncodedImageDataInjector>();
+      std::make_unique<SingleProcessEncodedImageDataInjector>();
   video_quality_analyzer_injection_helper_ =
-      absl::make_unique<VideoQualityAnalyzerInjectionHelper>(
+      std::make_unique<VideoQualityAnalyzerInjectionHelper>(
           std::move(video_quality_analyzer), encoded_image_id_controller_.get(),
           encoded_image_id_controller_.get());
 
   if (audio_quality_analyzer == nullptr) {
-    audio_quality_analyzer = absl::make_unique<DefaultAudioQualityAnalyzer>();
+    audio_quality_analyzer = std::make_unique<DefaultAudioQualityAnalyzer>();
   }
   audio_quality_analyzer_.swap(audio_quality_analyzer);
 }
@@ -217,7 +217,7 @@
     rtc::NetworkManager* network_manager,
     rtc::FunctionView<void(PeerConfigurer*)> configurer) {
   peer_configurations_.push_back(
-      absl::make_unique<PeerConfigurerImpl>(network_thread, network_manager));
+      std::make_unique<PeerConfigurerImpl>(network_thread, network_manager));
   configurer(peer_configurations_.back().get());
 }
 
@@ -252,7 +252,7 @@
   signaling_thread->Start();
 
   // Create a |task_queue_|.
-  task_queue_ = absl::make_unique<TaskQueueForTest>("pc_e2e_quality_test");
+  task_queue_ = std::make_unique<TaskQueueForTest>("pc_e2e_quality_test");
 
   // Create call participants: Alice and Bob.
   // Audio streams are intercepted in AudioDeviceModule, so if it is required to
@@ -268,7 +268,7 @@
 
   alice_ = TestPeer::CreateTestPeer(
       std::move(alice_components), std::move(alice_params),
-      absl::make_unique<FixturePeerConnectionObserver>(
+      std::make_unique<FixturePeerConnectionObserver>(
           [this, bob_video_configs](
               rtc::scoped_refptr<RtpTransceiverInterface> transceiver) {
             OnTrackCallback(transceiver, bob_video_configs);
@@ -279,7 +279,7 @@
       run_params.echo_emulation_config, task_queue_.get());
   bob_ = TestPeer::CreateTestPeer(
       std::move(bob_components), std::move(bob_params),
-      absl::make_unique<FixturePeerConnectionObserver>(
+      std::make_unique<FixturePeerConnectionObserver>(
           [this, alice_video_configs](
               rtc::scoped_refptr<RtpTransceiverInterface> transceiver) {
             OnTrackCallback(transceiver, alice_video_configs);
@@ -310,13 +310,13 @@
 
   // Start RTCEventLog recording if requested.
   if (alice_->params()->rtc_event_log_path) {
-    auto alice_rtc_event_log = absl::make_unique<webrtc::RtcEventLogOutputFile>(
+    auto alice_rtc_event_log = std::make_unique<webrtc::RtcEventLogOutputFile>(
         alice_->params()->rtc_event_log_path.value());
     alice_->pc()->StartRtcEventLog(std::move(alice_rtc_event_log),
                                    webrtc::RtcEventLog::kImmediateOutput);
   }
   if (bob_->params()->rtc_event_log_path) {
-    auto bob_rtc_event_log = absl::make_unique<webrtc::RtcEventLogOutputFile>(
+    auto bob_rtc_event_log = std::make_unique<webrtc::RtcEventLogOutputFile>(
         bob_->params()->rtc_event_log_path.value());
     bob_->pc()->StartRtcEventLog(std::move(bob_rtc_event_log),
                                  webrtc::RtcEventLog::kImmediateOutput);
@@ -559,7 +559,7 @@
     field_trials += kFlexFecEnabledFieldTrials;
   }
   if (!field_trials.empty()) {
-    override_field_trials_ = absl::make_unique<test::ScopedFieldTrials>(
+    override_field_trials_ = std::make_unique<test::ScopedFieldTrials>(
         field_trial::GetFieldTrialString() + field_trials);
   }
 }
@@ -684,7 +684,7 @@
             video_config, std::move(frame_generator), writer);
 
     // Setup FrameGenerator into peer connection.
-    auto capturer = absl::make_unique<test::FrameGeneratorCapturer>(
+    auto capturer = std::make_unique<test::FrameGeneratorCapturer>(
         clock_, std::move(frame_generator), video_config.fps,
         *task_queue_factory_);
     capturer->Init();
@@ -974,7 +974,7 @@
     return nullptr;
   }
   // TODO(titovartem) create only one file writer for simulcast video track.
-  auto video_writer = absl::make_unique<test::Y4mVideoFrameWriterImpl>(
+  auto video_writer = std::make_unique<test::Y4mVideoFrameWriterImpl>(
       file_name.value(), config.width, config.height, config.fps);
   test::VideoFrameWriter* out = video_writer.get();
   video_writers_.push_back(std::move(video_writer));
diff --git a/test/pc/e2e/peer_connection_quality_test.h b/test/pc/e2e/peer_connection_quality_test.h
index 04cde84..43a2f94 100644
--- a/test/pc/e2e/peer_connection_quality_test.h
+++ b/test/pc/e2e/peer_connection_quality_test.h
@@ -15,7 +15,6 @@
 #include <string>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/task_queue/task_queue_factory.h"
 #include "api/test/audio_quality_analyzer_interface.h"
 #include "api/test/peerconnection_quality_test_fixture.h"
@@ -44,9 +43,9 @@
  public:
   PeerConfigurerImpl(rtc::Thread* network_thread,
                      rtc::NetworkManager* network_manager)
-      : components_(absl::make_unique<InjectableComponents>(network_thread,
-                                                            network_manager)),
-        params_(absl::make_unique<Params>()) {}
+      : components_(std::make_unique<InjectableComponents>(network_thread,
+                                                           network_manager)),
+        params_(std::make_unique<Params>()) {}
 
   PeerConfigurer* SetTaskQueueFactory(
       std::unique_ptr<TaskQueueFactory> task_queue_factory) override {
diff --git a/test/pc/e2e/peer_connection_quality_test_params.h b/test/pc/e2e/peer_connection_quality_test_params.h
index cb6add8..765f5a8 100644
--- a/test/pc/e2e/peer_connection_quality_test_params.h
+++ b/test/pc/e2e/peer_connection_quality_test_params.h
@@ -14,7 +14,6 @@
 #include <string>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/async_resolver_factory.h"
 #include "api/call/call_factory_interface.h"
 #include "api/fec_controller.h"
@@ -83,9 +82,9 @@
   explicit InjectableComponents(rtc::Thread* network_thread,
                                 rtc::NetworkManager* network_manager)
       : network_thread(network_thread),
-        pcf_dependencies(absl::make_unique<PeerConnectionFactoryComponents>()),
+        pcf_dependencies(std::make_unique<PeerConnectionFactoryComponents>()),
         pc_dependencies(
-            absl::make_unique<PeerConnectionComponents>(network_manager)) {
+            std::make_unique<PeerConnectionComponents>(network_manager)) {
     RTC_CHECK(network_thread);
   }
 
diff --git a/test/pc/e2e/sdp/sdp_changer.cc b/test/pc/e2e/sdp/sdp_changer.cc
index 335147d..3fa2e9f 100644
--- a/test/pc/e2e/sdp/sdp_changer.cc
+++ b/test/pc/e2e/sdp/sdp_changer.cc
@@ -273,7 +273,7 @@
 
   // Create patched offer.
   auto patched_offer =
-      absl::make_unique<JsepSessionDescription>(SdpType::kOffer);
+      std::make_unique<JsepSessionDescription>(SdpType::kOffer);
   patched_offer->Initialize(std::move(desc), offer->session_id(),
                             offer->session_version());
   return LocalAndRemoteSdp(std::move(offer), std::move(patched_offer));
@@ -466,7 +466,7 @@
   desc->set_transport_infos(transport_infos);
 
   auto patched_answer =
-      absl::make_unique<JsepSessionDescription>(SdpType::kAnswer);
+      std::make_unique<JsepSessionDescription>(SdpType::kAnswer);
   patched_answer->Initialize(std::move(desc), answer->session_id(),
                              answer->session_version());
   return LocalAndRemoteSdp(std::move(answer), std::move(patched_answer));
diff --git a/test/pc/e2e/test_peer.cc b/test/pc/e2e/test_peer.cc
index 6cc1168..ad7b58b 100644
--- a/test/pc/e2e/test_peer.cc
+++ b/test/pc/e2e/test_peer.cc
@@ -61,7 +61,7 @@
   }
   if (components->pcf_dependencies->event_log_factory == nullptr) {
     components->pcf_dependencies->event_log_factory =
-        absl::make_unique<RtcEventLogFactory>(
+        std::make_unique<RtcEventLogFactory>(
             components->pcf_dependencies->task_queue_factory.get());
   }
 }
@@ -191,16 +191,16 @@
 
     // Setup echo emulation if required.
     if (echo_emulation_config_) {
-      capturer = absl::make_unique<EchoEmulatingCapturer>(
+      capturer = std::make_unique<EchoEmulatingCapturer>(
           std::move(capturer), *echo_emulation_config_);
-      renderer = absl::make_unique<EchoEmulatingRenderer>(
+      renderer = std::make_unique<EchoEmulatingRenderer>(
           std::move(renderer),
           static_cast<EchoEmulatingCapturer*>(capturer.get()));
     }
 
     // Setup input stream dumping if required.
     if (audio_config_opt_ && audio_config_opt_->input_dump_file_name) {
-      capturer = absl::make_unique<test::CopyToFileAudioCapturer>(
+      capturer = std::make_unique<test::CopyToFileAudioCapturer>(
           std::move(capturer), audio_config_opt_->input_dump_file_name.value());
     }
 
@@ -279,7 +279,7 @@
       std::unique_ptr<PeerConnectionComponents> pc_dependencies) {
     PeerConnectionDependencies pc_deps(observer_);
 
-    auto port_allocator = absl::make_unique<cricket::BasicPortAllocator>(
+    auto port_allocator = std::make_unique<cricket::BasicPortAllocator>(
         pc_dependencies->network_manager);
 
     // This test does not support TCP
diff --git a/test/peer_scenario/BUILD.gn b/test/peer_scenario/BUILD.gn
index 32c5892..e35a244 100644
--- a/test/peer_scenario/BUILD.gn
+++ b/test/peer_scenario/BUILD.gn
@@ -43,7 +43,7 @@
       "../../pc:rtc_pc_base",
       "..//network:emulated_network",
       "../scenario",
-      "//third_party/abseil-cpp/absl/memory:memory",
+      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 }
diff --git a/test/peer_scenario/peer_scenario_client.cc b/test/peer_scenario/peer_scenario_client.cc
index 64a7d51..f94d871 100644
--- a/test/peer_scenario/peer_scenario_client.cc
+++ b/test/peer_scenario/peer_scenario_client.cc
@@ -10,9 +10,9 @@
 #include "test/peer_scenario/peer_scenario_client.h"
 
 #include <limits>
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/audio_codecs/builtin_audio_decoder_factory.h"
 #include "api/audio_codecs/builtin_audio_encoder_factory.h"
 #include "api/rtc_event_log/rtc_event_log_factory.h"
@@ -160,7 +160,7 @@
   pcf_deps.task_queue_factory = CreateDefaultTaskQueueFactory();
   task_queue_factory_ = pcf_deps.task_queue_factory.get();
   pcf_deps.event_log_factory =
-      absl::make_unique<RtcEventLogFactory>(task_queue_factory_);
+      std::make_unique<RtcEventLogFactory>(task_queue_factory_);
 
   cricket::MediaEngineDependencies media_deps;
   media_deps.task_queue_factory = task_queue_factory_;
@@ -187,8 +187,8 @@
   pc_factory_ = CreateModularPeerConnectionFactory(std::move(pcf_deps));
 
   PeerConnectionDependencies pc_deps(observer_.get());
-  pc_deps.allocator = absl::make_unique<cricket::BasicPortAllocator>(
-      manager->network_manager());
+  pc_deps.allocator =
+      std::make_unique<cricket::BasicPortAllocator>(manager->network_manager());
   pc_deps.allocator->set_flags(pc_deps.allocator->flags() |
                                cricket::PORTALLOCATOR_DISABLE_TCP);
   peer_connection_ =
diff --git a/test/peer_scenario/scenario_connection.cc b/test/peer_scenario/scenario_connection.cc
index 6394ac8..6f51799 100644
--- a/test/peer_scenario/scenario_connection.cc
+++ b/test/peer_scenario/scenario_connection.cc
@@ -77,7 +77,7 @@
 std::unique_ptr<ScenarioIceConnection> ScenarioIceConnection::Create(
     webrtc::test::NetworkEmulationManagerImpl* net,
     IceConnectionObserver* observer) {
-  return absl::make_unique<ScenarioIceConnectionImpl>(net, observer);
+  return std::make_unique<ScenarioIceConnectionImpl>(net, observer);
 }
 
 ScenarioIceConnectionImpl::ScenarioIceConnectionImpl(
diff --git a/test/rtp_header_parser.cc b/test/rtp_header_parser.cc
index 1a4ba42..713e64d 100644
--- a/test/rtp_header_parser.cc
+++ b/test/rtp_header_parser.cc
@@ -11,7 +11,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
 #include "modules/rtp_rtcp/source/rtp_utility.h"
 #include "rtc_base/critical_section.h"
@@ -41,7 +40,7 @@
 };
 
 std::unique_ptr<RtpHeaderParser> RtpHeaderParser::CreateForTest() {
-  return absl::make_unique<RtpHeaderParserImpl>();
+  return std::make_unique<RtpHeaderParserImpl>();
 }
 
 RtpHeaderParserImpl::RtpHeaderParserImpl() {}
diff --git a/test/scenario/BUILD.gn b/test/scenario/BUILD.gn
index dce7775..af1059d 100644
--- a/test/scenario/BUILD.gn
+++ b/test/scenario/BUILD.gn
@@ -177,7 +177,6 @@
       "../../test:test_support",
       "../logging:log_writer",
       "//testing/gmock",
-      "//third_party/abseil-cpp/absl/memory",
     ]
     data = scenario_unittest_resources
     if (is_ios) {
diff --git a/test/scenario/call_client.cc b/test/scenario/call_client.cc
index 1654afc..3d907f3 100644
--- a/test/scenario/call_client.cc
+++ b/test/scenario/call_client.cc
@@ -11,7 +11,7 @@
 
 #include <utility>
 
-#include "absl/memory/memory.h"
+#include <memory>
 #include "api/rtc_event_log/rtc_event_log.h"
 #include "api/rtc_event_log/rtc_event_log_factory.h"
 #include "modules/audio_mixer/audio_mixer_impl.h"
@@ -74,7 +74,7 @@
     TaskQueueFactory* task_queue_factory,
     LogWriterFactoryInterface* log_writer_factory) {
   if (!log_writer_factory) {
-    return absl::make_unique<RtcEventLogNull>();
+    return std::make_unique<RtcEventLogNull>();
   }
   auto event_log = RtcEventLogFactory(task_queue_factory)
                        .CreateRtcEventLog(RtcEventLog::EncodingType::NewFormat);
@@ -185,8 +185,8 @@
 
 std::unique_ptr<NetworkControllerInterface>
 LoggingNetworkControllerFactory::Create(NetworkControllerConfig config) {
-  auto controller = absl::make_unique<NetworkControleUpdateCache>(
-      cc_factory_->Create(config));
+  auto controller =
+      std::make_unique<NetworkControleUpdateCache>(cc_factory_->Create(config));
   last_controller_ = controller.get();
   return controller;
 }
@@ -214,7 +214,7 @@
     call_.reset(CreateCall(time_controller_, event_log_.get(), config,
                            &network_controller_factory_,
                            fake_audio_setup_.audio_state));
-    transport_ = absl::make_unique<NetworkNodeTransport>(clock_, call_.get());
+    transport_ = std::make_unique<NetworkNodeTransport>(clock_, call_.get());
   });
 }
 
diff --git a/test/scenario/network_node.cc b/test/scenario/network_node.cc
index 650e26d..b936fcb 100644
--- a/test/scenario/network_node.cc
+++ b/test/scenario/network_node.cc
@@ -12,7 +12,7 @@
 #include <algorithm>
 #include <vector>
 
-#include "absl/memory/memory.h"
+#include <memory>
 #include "rtc_base/numerics/safe_minmax.h"
 
 namespace webrtc {
@@ -41,7 +41,7 @@
 std::unique_ptr<SimulatedNetwork> SimulationNode::CreateBehavior(
     NetworkSimulationConfig config) {
   SimulatedNetwork::Config sim_config = CreateSimulationConfig(config);
-  return absl::make_unique<SimulatedNetwork>(sim_config);
+  return std::make_unique<SimulatedNetwork>(sim_config);
 }
 
 void SimulationNode::UpdateConfig(
diff --git a/test/scenario/scenario.cc b/test/scenario/scenario.cc
index e4551db..605d0e2 100644
--- a/test/scenario/scenario.cc
+++ b/test/scenario/scenario.cc
@@ -10,10 +10,10 @@
 #include "test/scenario/scenario.h"
 
 #include <algorithm>
+#include <memory>
 
 #include "absl/flags/flag.h"
 #include "absl/flags/parse.h"
-#include "absl/memory/memory.h"
 #include "api/audio_codecs/builtin_audio_decoder_factory.h"
 #include "api/audio_codecs/builtin_audio_encoder_factory.h"
 #include "rtc_base/socket_address.h"
@@ -43,16 +43,15 @@
 
     auto base_filename = output_root + file_name + ".";
     RTC_LOG(LS_INFO) << "Saving scenario logs to: " << base_filename;
-    return absl::make_unique<FileLogWriterFactory>(base_filename);
+    return std::make_unique<FileLogWriterFactory>(base_filename);
   }
   return nullptr;
 }
 std::unique_ptr<TimeController> CreateTimeController(bool real_time) {
   if (real_time) {
-    return absl::make_unique<RealTimeController>();
+    return std::make_unique<RealTimeController>();
   } else {
-    return absl::make_unique<GlobalSimulatedTimeController>(
-        kSimulatedStartTime);
+    return std::make_unique<GlobalSimulatedTimeController>(kSimulatedStartTime);
   }
 }
 }  // namespace
diff --git a/test/scenario/scenario.h b/test/scenario/scenario.h
index fc4fced..33cf029 100644
--- a/test/scenario/scenario.h
+++ b/test/scenario/scenario.h
@@ -14,7 +14,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/constructor_magic.h"
 #include "rtc_base/fake_clock.h"
 #include "rtc_base/task_queue.h"
@@ -148,7 +147,7 @@
       std::string name) {
     if (!log_writer_factory_ || name.empty())
       return nullptr;
-    return absl::make_unique<LogWriterFactoryAddPrefix>(
+    return std::make_unique<LogWriterFactoryAddPrefix>(
         log_writer_factory_.get(), name);
   }
 
diff --git a/test/scenario/video_stream.cc b/test/scenario/video_stream.cc
index a466162..b086a33 100644
--- a/test/scenario/video_stream.cc
+++ b/test/scenario/video_stream.cc
@@ -10,9 +10,9 @@
 #include "test/scenario/video_stream.h"
 
 #include <algorithm>
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/test/video/function_video_encoder_factory.h"
 #include "api/video/builtin_video_bitrate_allocator_factory.h"
 #include "media/base/media_constants.h"
@@ -350,7 +350,7 @@
                                  Transport* send_transport,
                                  VideoFrameMatcher* matcher)
     : sender_(sender), config_(config) {
-  video_capturer_ = absl::make_unique<FrameGeneratorCapturer>(
+  video_capturer_ = std::make_unique<FrameGeneratorCapturer>(
       sender_->clock_, CreateFrameGenerator(sender_->clock_, config.source),
       config.source.framerate,
       *sender->time_controller_->GetTaskQueueFactory());
@@ -361,14 +361,13 @@
   switch (config.encoder.implementation) {
     case Encoder::Implementation::kFake:
       encoder_factory_ =
-          absl::make_unique<FunctionVideoEncoderFactory>([this]() {
+          std::make_unique<FunctionVideoEncoderFactory>([this]() {
             rtc::CritScope cs(&crit_);
             std::unique_ptr<FakeEncoder> encoder;
             if (config_.encoder.codec == Codec::kVideoCodecVP8) {
-              encoder =
-                  absl::make_unique<test::FakeVP8Encoder>(sender_->clock_);
+              encoder = std::make_unique<test::FakeVP8Encoder>(sender_->clock_);
             } else if (config_.encoder.codec == Codec::kVideoCodecGeneric) {
-              encoder = absl::make_unique<test::FakeEncoder>(sender_->clock_);
+              encoder = std::make_unique<test::FakeEncoder>(sender_->clock_);
             } else {
               RTC_NOTREACHED();
             }
@@ -412,7 +411,7 @@
     }
 
     if (matcher->Active()) {
-      frame_tap_ = absl::make_unique<ForwardingCapturedFrameTap>(
+      frame_tap_ = std::make_unique<ForwardingCapturedFrameTap>(
           sender_->clock_, matcher, video_capturer_.get());
       send_stream_->SetSource(frame_tap_.get(),
                               config.encoder.degradation_preference);
@@ -513,10 +512,10 @@
     : receiver_(receiver), config_(config) {
   if (config.encoder.codec ==
       VideoStreamConfig::Encoder::Codec::kVideoCodecGeneric) {
-    decoder_factory_ = absl::make_unique<FunctionVideoDecoderFactory>(
-        []() { return absl::make_unique<FakeDecoder>(); });
+    decoder_factory_ = std::make_unique<FunctionVideoDecoderFactory>(
+        []() { return std::make_unique<FakeDecoder>(); });
   } else {
-    decoder_factory_ = absl::make_unique<InternalDecoderFactory>();
+    decoder_factory_ = std::make_unique<InternalDecoderFactory>();
   }
 
   VideoReceiveStream::Decoder decoder =
@@ -530,7 +529,7 @@
     rtc::VideoSinkInterface<VideoFrame>* renderer = &fake_renderer_;
     if (matcher->Active()) {
       render_taps_.emplace_back(
-          absl::make_unique<DecodedFrameTap>(receiver_->clock_, matcher, i));
+          std::make_unique<DecodedFrameTap>(receiver_->clock_, matcher, i));
       renderer = render_taps_.back().get();
     }
     auto recv_config = CreateVideoReceiveStreamConfig(
diff --git a/test/single_threaded_task_queue.cc b/test/single_threaded_task_queue.cc
index ed4feef..24b9038 100644
--- a/test/single_threaded_task_queue.cc
+++ b/test/single_threaded_task_queue.cc
@@ -10,9 +10,9 @@
 
 #include "test/single_threaded_task_queue.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/numerics/safe_conversions.h"
 #include "rtc_base/time_utils.h"
@@ -66,8 +66,7 @@
       break;
     }
   }
-  tasks_.insert(it,
-                absl::make_unique<QueuedTask>(id, earliest_exec_time, task));
+  tasks_.insert(it, std::make_unique<QueuedTask>(id, earliest_exec_time, task));
 
   // This class is optimized for simplicty, not for performance. This will wake
   // the thread up even if the next task in the queue is only scheduled for
diff --git a/test/single_threaded_task_queue_unittest.cc b/test/single_threaded_task_queue_unittest.cc
index 81eb470..b945bc0 100644
--- a/test/single_threaded_task_queue_unittest.cc
+++ b/test/single_threaded_task_queue_unittest.cc
@@ -14,7 +14,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/event.h"
 #include "test/gtest.h"
 
@@ -61,7 +60,7 @@
 
   std::vector<std::unique_ptr<rtc::Event>> done_events;
   for (size_t i = 0; i < kCount; i++) {
-    done_events.emplace_back(absl::make_unique<rtc::Event>());
+    done_events.emplace_back(std::make_unique<rtc::Event>());
   }
 
   // To avoid the tasks which comprise the actual test from running before they
@@ -334,7 +333,7 @@
 TEST(DEPRECATED_SingleThreadedTaskQueueForTestingTest,
      DestructTaskQueueWhileTasksPending) {
   auto task_queue =
-      absl::make_unique<DEPRECATED_SingleThreadedTaskQueueForTesting>(
+      std::make_unique<DEPRECATED_SingleThreadedTaskQueueForTesting>(
           "task_queue");
 
   std::atomic<size_t> counter(0);
diff --git a/test/test_main_lib.cc b/test/test_main_lib.cc
index c9b45c6..bb41e65 100644
--- a/test/test_main_lib.cc
+++ b/test/test_main_lib.cc
@@ -11,11 +11,11 @@
 #include "test/test_main_lib.h"
 
 #include <fstream>
+#include <memory>
 #include <string>
 
 #include "absl/flags/flag.h"
 #include "absl/flags/parse.h"
-#include "absl/memory/memory.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/event_tracer.h"
 #include "rtc_base/logging.h"
@@ -138,7 +138,7 @@
     webrtc::metrics::Enable();
 
 #if defined(WEBRTC_WIN)
-    winsock_init_ = absl::make_unique<rtc::WinsockInitializer>();
+    winsock_init_ = std::make_unique<rtc::WinsockInitializer>();
 #endif
 
     // Initialize SSL which are used by several tests.
@@ -214,7 +214,7 @@
 }  // namespace
 
 std::unique_ptr<TestMain> TestMain::Create() {
-  return absl::make_unique<TestMainImpl>();
+  return std::make_unique<TestMainImpl>();
 }
 
 }  // namespace webrtc
diff --git a/test/testsupport/copy_to_file_audio_capturer.cc b/test/testsupport/copy_to_file_audio_capturer.cc
index 3c19da4..6de8e7f 100644
--- a/test/testsupport/copy_to_file_audio_capturer.cc
+++ b/test/testsupport/copy_to_file_audio_capturer.cc
@@ -10,10 +10,9 @@
 
 #include "test/testsupport/copy_to_file_audio_capturer.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
-
 namespace webrtc {
 namespace test {
 
@@ -21,9 +20,9 @@
     std::unique_ptr<TestAudioDeviceModule::Capturer> delegate,
     std::string stream_dump_file_name)
     : delegate_(std::move(delegate)),
-      wav_writer_(absl::make_unique<WavWriter>(std::move(stream_dump_file_name),
-                                               delegate_->SamplingFrequency(),
-                                               delegate_->NumChannels())) {}
+      wav_writer_(std::make_unique<WavWriter>(std::move(stream_dump_file_name),
+                                              delegate_->SamplingFrequency(),
+                                              delegate_->NumChannels())) {}
 CopyToFileAudioCapturer::~CopyToFileAudioCapturer() = default;
 
 int CopyToFileAudioCapturer::SamplingFrequency() const {
diff --git a/test/testsupport/copy_to_file_audio_capturer_unittest.cc b/test/testsupport/copy_to_file_audio_capturer_unittest.cc
index 6a4e194..b82091a 100644
--- a/test/testsupport/copy_to_file_audio_capturer_unittest.cc
+++ b/test/testsupport/copy_to_file_audio_capturer_unittest.cc
@@ -13,7 +13,6 @@
 #include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/audio_device/include/test_audio_device.h"
 #include "test/gtest.h"
 #include "test/testsupport/file_utils.h"
@@ -28,8 +27,8 @@
         webrtc::test::OutputPath(), "copy_to_file_audio_capturer_unittest");
     std::unique_ptr<TestAudioDeviceModule::Capturer> delegate =
         TestAudioDeviceModule::CreatePulsedNoiseCapturer(32000, 48000);
-    capturer_ = absl::make_unique<CopyToFileAudioCapturer>(std::move(delegate),
-                                                           temp_filename_);
+    capturer_ = std::make_unique<CopyToFileAudioCapturer>(std::move(delegate),
+                                                          temp_filename_);
   }
 
   void TearDown() override { ASSERT_EQ(remove(temp_filename_.c_str()), 0); }
diff --git a/test/testsupport/video_frame_writer.cc b/test/testsupport/video_frame_writer.cc
index 311f74a..c36ebde 100644
--- a/test/testsupport/video_frame_writer.cc
+++ b/test/testsupport/video_frame_writer.cc
@@ -13,9 +13,9 @@
 #include <cmath>
 #include <cstdlib>
 #include <limits>
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/scoped_refptr.h"
 #include "api/video/i420_buffer.h"
 #include "common_video/libyuv/include/webrtc_libyuv.h"
@@ -63,10 +63,10 @@
     : width_(width),
       height_(height),
       frame_writer_(
-          absl::make_unique<Y4mFrameWriterImpl>(std::move(output_file_name),
-                                                width_,
-                                                height_,
-                                                fps)) {
+          std::make_unique<Y4mFrameWriterImpl>(std::move(output_file_name),
+                                               width_,
+                                               height_,
+                                               fps)) {
   // Init underlying frame writer and ensure that it is operational.
   RTC_CHECK(frame_writer_->Init());
 }
@@ -90,9 +90,9 @@
     : width_(width),
       height_(height),
       frame_writer_(
-          absl::make_unique<YuvFrameWriterImpl>(std::move(output_file_name),
-                                                width_,
-                                                height_)) {
+          std::make_unique<YuvFrameWriterImpl>(std::move(output_file_name),
+                                               width_,
+                                               height_)) {
   // Init underlying frame writer and ensure that it is operational.
   RTC_CHECK(frame_writer_->Init());
 }
diff --git a/test/testsupport/video_frame_writer_unittest.cc b/test/testsupport/video_frame_writer_unittest.cc
index c712a6e..ea1afaa 100644
--- a/test/testsupport/video_frame_writer_unittest.cc
+++ b/test/testsupport/video_frame_writer_unittest.cc
@@ -17,7 +17,6 @@
 #include <memory>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/string_view.h"
 #include "api/video/i420_buffer.h"
 #include "test/gtest.h"
@@ -110,7 +109,7 @@
 class Y4mVideoFrameWriterTest : public VideoFrameWriterTest {
  protected:
   std::unique_ptr<VideoFrameWriter> CreateFrameWriter() override {
-    return absl::make_unique<Y4mVideoFrameWriterImpl>(
+    return std::make_unique<Y4mVideoFrameWriterImpl>(
         temp_filename_, kFrameWidth, kFrameHeight, kFrameRate);
   }
 };
@@ -118,8 +117,8 @@
 class YuvVideoFrameWriterTest : public VideoFrameWriterTest {
  protected:
   std::unique_ptr<VideoFrameWriter> CreateFrameWriter() override {
-    return absl::make_unique<YuvVideoFrameWriterImpl>(
-        temp_filename_, kFrameWidth, kFrameHeight);
+    return std::make_unique<YuvVideoFrameWriterImpl>(temp_filename_,
+                                                     kFrameWidth, kFrameHeight);
   }
 };
 
@@ -140,8 +139,8 @@
             GetFileSize(temp_filename_));
 
   std::unique_ptr<FrameReader> frame_reader =
-      absl::make_unique<Y4mFrameReaderImpl>(temp_filename_, kFrameWidth,
-                                            kFrameHeight);
+      std::make_unique<Y4mFrameReaderImpl>(temp_filename_, kFrameWidth,
+                                           kFrameHeight);
   ASSERT_TRUE(frame_reader->Init());
   AssertI420BuffersEq(frame_reader->ReadFrame(), expected_buffer);
   AssertI420BuffersEq(frame_reader->ReadFrame(), expected_buffer);
@@ -165,8 +164,8 @@
   EXPECT_EQ(2 * kFrameLength, GetFileSize(temp_filename_));
 
   std::unique_ptr<FrameReader> frame_reader =
-      absl::make_unique<YuvFrameReaderImpl>(temp_filename_, kFrameWidth,
-                                            kFrameHeight);
+      std::make_unique<YuvFrameReaderImpl>(temp_filename_, kFrameWidth,
+                                           kFrameHeight);
   ASSERT_TRUE(frame_reader->Init());
   AssertI420BuffersEq(frame_reader->ReadFrame(), expected_buffer);
   AssertI420BuffersEq(frame_reader->ReadFrame(), expected_buffer);
diff --git a/test/time_controller/BUILD.gn b/test/time_controller/BUILD.gn
index 252dca9..aa12477 100644
--- a/test/time_controller/BUILD.gn
+++ b/test/time_controller/BUILD.gn
@@ -33,7 +33,6 @@
       "../../rtc_base/synchronization:yield_policy",
       "../../rtc_base/task_utils:to_queued_task",
       "../../system_wrappers",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/strings",
     ]
   }
@@ -48,7 +47,6 @@
       "../../rtc_base:rtc_base_approved",
       "../../rtc_base:rtc_task_queue",
       "../../rtc_base/task_utils:repeating_task",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 }
diff --git a/test/time_controller/simulated_time_controller.cc b/test/time_controller/simulated_time_controller.cc
index 5e163cb..05f86b4 100644
--- a/test/time_controller/simulated_time_controller.cc
+++ b/test/time_controller/simulated_time_controller.cc
@@ -13,11 +13,11 @@
 #include <deque>
 #include <list>
 #include <map>
+#include <memory>
 #include <string>
 #include <thread>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/strings/string_view.h"
 
 namespace webrtc {
@@ -307,7 +307,7 @@
     const char* thread_name) {
   rtc::CritScope lock(&lock_);
   auto process_thread =
-      absl::make_unique<SimulatedSequenceRunner>(this, thread_name);
+      std::make_unique<SimulatedSequenceRunner>(this, thread_name);
   runners_.push_back(process_thread.get());
   return process_thread;
 }
diff --git a/test/time_controller/simulated_time_controller_unittest.cc b/test/time_controller/simulated_time_controller_unittest.cc
index 15155c1..7ff4288 100644
--- a/test/time_controller/simulated_time_controller_unittest.cc
+++ b/test/time_controller/simulated_time_controller_unittest.cc
@@ -13,7 +13,6 @@
 #include <atomic>
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/task_queue.h"
 #include "rtc_base/task_utils/repeating_task.h"
 #include "test/gmock.h"
@@ -104,7 +103,7 @@
   rtc::TaskQueue task_queue(
       time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
           "TestQueue", TaskQueueFactory::Priority::NORMAL));
-  auto object = absl::make_unique<ObjectOnTaskQueue>();
+  auto object = std::make_unique<ObjectOnTaskQueue>();
   // Create and start the periodic task.
   RepeatingTaskHandle handle;
   object->StartPeriodicTask(&handle, &task_queue);
diff --git a/test/video_decoder_proxy_factory.h b/test/video_decoder_proxy_factory.h
index b58c399..7e0fcdb 100644
--- a/test/video_decoder_proxy_factory.h
+++ b/test/video_decoder_proxy_factory.h
@@ -14,7 +14,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/video_codecs/video_decoder.h"
 #include "api/video_codecs/video_decoder_factory.h"
 
@@ -37,7 +36,7 @@
 
   std::unique_ptr<VideoDecoder> CreateVideoDecoder(
       const SdpVideoFormat& format) override {
-    return absl::make_unique<DecoderProxy>(decoder_);
+    return std::make_unique<DecoderProxy>(decoder_);
   }
 
  private:
diff --git a/test/video_encoder_proxy_factory.h b/test/video_encoder_proxy_factory.h
index ac19e52..d560911 100644
--- a/test/video_encoder_proxy_factory.h
+++ b/test/video_encoder_proxy_factory.h
@@ -14,7 +14,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/video_codecs/video_encoder.h"
 #include "api/video_codecs/video_encoder_factory.h"
 
@@ -54,7 +53,7 @@
     max_num_simultaneous_encoder_instances_ =
         std::max(max_num_simultaneous_encoder_instances_,
                  num_simultaneous_encoder_instances_);
-    return absl::make_unique<EncoderProxy>(encoder_, this);
+    return std::make_unique<EncoderProxy>(encoder_, this);
   }
 
   void SetIsHardwareAccelerated(bool is_hardware_accelerated) {
diff --git a/video/BUILD.gn b/video/BUILD.gn
index 09ea987..48d67f7 100644
--- a/video/BUILD.gn
+++ b/video/BUILD.gn
@@ -147,7 +147,6 @@
     "../rtc_base:rtc_base_approved",
     "../rtc_base:rtc_task_queue",
     "../system_wrappers",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -169,7 +168,6 @@
     "../modules/video_coding:video_coding_utility",
     "../rtc_base:rtc_base_approved",
     "../rtc_base/system:file_wrapper",
-    "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
@@ -229,7 +227,6 @@
     "../system_wrappers",
     "../system_wrappers:field_trial",
     "//third_party/abseil-cpp/absl/algorithm:container",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -310,7 +307,6 @@
       "//third_party/abseil-cpp/absl/algorithm:container",
       "//third_party/abseil-cpp/absl/flags:flag",
       "//third_party/abseil-cpp/absl/flags:parse",
-      "//third_party/abseil-cpp/absl/memory",
     ]
 
     if (is_mac || is_ios) {
@@ -342,7 +338,6 @@
       "//testing/gtest",
       "//third_party/abseil-cpp/absl/flags:flag",
       "//third_party/abseil-cpp/absl/flags:parse",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -366,7 +361,6 @@
       "../test:fileutils",
       "../test:test_support",
       "../test/pc/e2e:network_quality_metrics_reporter",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -394,7 +388,6 @@
       "//testing/gtest",
       "//third_party/abseil-cpp/absl/flags:flag",
       "//third_party/abseil-cpp/absl/flags:parse",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -445,7 +438,6 @@
       "../test:test_support",
       "//third_party/abseil-cpp/absl/flags:flag",
       "//third_party/abseil-cpp/absl/flags:parse",
-      "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
   }
@@ -474,7 +466,6 @@
       "//testing/gtest",
       "//third_party/abseil-cpp/absl/flags:flag",
       "//third_party/abseil-cpp/absl/flags:parse",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
@@ -510,7 +501,6 @@
       "../test:video_test_support",
       "//third_party/abseil-cpp/absl/flags:flag",
       "//third_party/abseil-cpp/absl/flags:parse",
-      "//third_party/abseil-cpp/absl/memory",
     ]
   }
 
diff --git a/video/buffered_frame_decryptor_unittest.cc b/video/buffered_frame_decryptor_unittest.cc
index f652619..effd828 100644
--- a/video/buffered_frame_decryptor_unittest.cc
+++ b/video/buffered_frame_decryptor_unittest.cc
@@ -14,7 +14,6 @@
 #include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/test/mock_frame_decryptor.h"
 #include "modules/video_coding/packet_buffer.h"
 #include "rtc_base/ref_counted_object.h"
@@ -115,7 +114,7 @@
     seq_num_ = 0;
     mock_frame_decryptor_ = new rtc::RefCountedObject<MockFrameDecryptor>();
     buffered_frame_decryptor_ =
-        absl::make_unique<BufferedFrameDecryptor>(this, this);
+        std::make_unique<BufferedFrameDecryptor>(this, this);
     buffered_frame_decryptor_->SetFrameDecryptor(mock_frame_decryptor_.get());
   }
 
diff --git a/video/encoder_bitrate_adjuster.cc b/video/encoder_bitrate_adjuster.cc
index 3492128..5fa7434 100644
--- a/video/encoder_bitrate_adjuster.cc
+++ b/video/encoder_bitrate_adjuster.cc
@@ -11,9 +11,9 @@
 #include "video/encoder_bitrate_adjuster.h"
 
 #include <algorithm>
+#include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "rtc_base/experiments/rate_control_settings.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/time_utils.h"
@@ -87,7 +87,7 @@
         ++active_tls_[si];
         if (!overshoot_detectors_[si][ti]) {
           overshoot_detectors_[si][ti] =
-              absl::make_unique<EncoderOvershootDetector>(kWindowSizeMs);
+              std::make_unique<EncoderOvershootDetector>(kWindowSizeMs);
           frames_since_layout_change_ = 0;
         }
       } else if (overshoot_detectors_[si][ti]) {
diff --git a/video/encoder_bitrate_adjuster_unittest.cc b/video/encoder_bitrate_adjuster_unittest.cc
index 7caf123..b7cdfd3 100644
--- a/video/encoder_bitrate_adjuster_unittest.cc
+++ b/video/encoder_bitrate_adjuster_unittest.cc
@@ -10,9 +10,9 @@
 
 #include "video/encoder_bitrate_adjuster.h"
 
+#include <memory>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/units/data_rate.h"
 #include "rtc_base/fake_clock.h"
 #include "rtc_base/numerics/safe_conversions.h"
@@ -80,7 +80,7 @@
       }
     }
 
-    adjuster_ = absl::make_unique<EncoderBitrateAdjuster>(codec_);
+    adjuster_ = std::make_unique<EncoderBitrateAdjuster>(codec_);
     adjuster_->OnEncoderInfo(encoder_info_);
     current_adjusted_allocation_ =
         adjuster_->AdjustRateAllocation(VideoEncoder::RateControlParameters(
diff --git a/video/end_to_end_tests/bandwidth_tests.cc b/video/end_to_end_tests/bandwidth_tests.cc
index ecdc0e9..b56ac79 100644
--- a/video/end_to_end_tests/bandwidth_tests.cc
+++ b/video/end_to_end_tests/bandwidth_tests.cc
@@ -8,7 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/test/simulated_network.h"
 #include "api/video/builtin_video_bitrate_allocator_factory.h"
 #include "api/video/video_bitrate_allocation.h"
@@ -175,8 +176,8 @@
       receive_transport_ = new test::PacketTransport(
           task_queue, nullptr, this, test::PacketTransport::kReceiver,
           payload_type_map_,
-          absl::make_unique<FakeNetworkPipe>(
-              Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
+          std::make_unique<FakeNetworkPipe>(
+              Clock::GetRealTimeClock(), std::make_unique<SimulatedNetwork>(
                                              BuiltInNetworkBehaviorConfig())));
       return receive_transport_;
     }
diff --git a/video/end_to_end_tests/call_operation_tests.cc b/video/end_to_end_tests/call_operation_tests.cc
index ad200d4..85cbaa8b 100644
--- a/video/end_to_end_tests/call_operation_tests.cc
+++ b/video/end_to_end_tests/call_operation_tests.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
 #include "api/test/simulated_network.h"
 #include "call/fake_network_pipe.h"
 #include "call/simulated_network.h"
@@ -97,17 +97,17 @@
                         &receiver_transport]() {
     CreateCalls();
 
-    sender_transport = absl::make_unique<test::DirectTransport>(
+    sender_transport = std::make_unique<test::DirectTransport>(
         &task_queue_,
-        absl::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
-                                           absl::make_unique<SimulatedNetwork>(
-                                               BuiltInNetworkBehaviorConfig())),
+        std::make_unique<FakeNetworkPipe>(
+            Clock::GetRealTimeClock(),
+            std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig())),
         sender_call_.get(), payload_type_map_);
-    receiver_transport = absl::make_unique<test::DirectTransport>(
+    receiver_transport = std::make_unique<test::DirectTransport>(
         &task_queue_,
-        absl::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
-                                           absl::make_unique<SimulatedNetwork>(
-                                               BuiltInNetworkBehaviorConfig())),
+        std::make_unique<FakeNetworkPipe>(
+            Clock::GetRealTimeClock(),
+            std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig())),
         receiver_call_.get(), payload_type_map_);
     sender_transport->SetReceiver(receiver_call_->Receiver());
     receiver_transport->SetReceiver(sender_call_->Receiver());
@@ -163,17 +163,17 @@
                         &sender_transport, &receiver_transport]() {
     CreateCalls();
 
-    sender_transport = absl::make_unique<test::DirectTransport>(
+    sender_transport = std::make_unique<test::DirectTransport>(
         &task_queue_,
-        absl::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
-                                           absl::make_unique<SimulatedNetwork>(
-                                               BuiltInNetworkBehaviorConfig())),
+        std::make_unique<FakeNetworkPipe>(
+            Clock::GetRealTimeClock(),
+            std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig())),
         sender_call_.get(), payload_type_map_);
-    receiver_transport = absl::make_unique<test::DirectTransport>(
+    receiver_transport = std::make_unique<test::DirectTransport>(
         &task_queue_,
-        absl::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
-                                           absl::make_unique<SimulatedNetwork>(
-                                               BuiltInNetworkBehaviorConfig())),
+        std::make_unique<FakeNetworkPipe>(
+            Clock::GetRealTimeClock(),
+            std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig())),
         receiver_call_.get(), payload_type_map_);
     sender_transport->SetReceiver(receiver_call_->Receiver());
     receiver_transport->SetReceiver(sender_call_->Receiver());
diff --git a/video/end_to_end_tests/codec_tests.cc b/video/end_to_end_tests/codec_tests.cc
index 4149bef..b73b289 100644
--- a/video/end_to_end_tests/codec_tests.cc
+++ b/video/end_to_end_tests/codec_tests.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
 #include "absl/types/optional.h"
 #include "api/test/video/function_video_encoder_factory.h"
 #include "api/video/color_space.h"
@@ -197,12 +197,12 @@
   InternalDecoderFactory internal_decoder_factory;
   test::FunctionVideoEncoderFactory encoder_factory(
       [&internal_encoder_factory]() {
-        return absl::make_unique<MultiplexEncoderAdapter>(
+        return std::make_unique<MultiplexEncoderAdapter>(
             &internal_encoder_factory, SdpVideoFormat(cricket::kVp9CodecName));
       });
   test::FunctionVideoDecoderFactory decoder_factory(
       [&internal_decoder_factory]() {
-        return absl::make_unique<MultiplexDecoderAdapter>(
+        return std::make_unique<MultiplexDecoderAdapter>(
             &internal_decoder_factory, SdpVideoFormat(cricket::kVp9CodecName));
       });
 
@@ -216,12 +216,12 @@
   InternalDecoderFactory internal_decoder_factory;
   test::FunctionVideoEncoderFactory encoder_factory(
       [&internal_encoder_factory]() {
-        return absl::make_unique<MultiplexEncoderAdapter>(
+        return std::make_unique<MultiplexEncoderAdapter>(
             &internal_encoder_factory, SdpVideoFormat(cricket::kVp9CodecName));
       });
   test::FunctionVideoDecoderFactory decoder_factory(
       [&internal_decoder_factory]() {
-        return absl::make_unique<MultiplexDecoderAdapter>(
+        return std::make_unique<MultiplexDecoderAdapter>(
             &internal_decoder_factory, SdpVideoFormat(cricket::kVp9CodecName));
       });
   CodecObserver test(5, kVideoRotation_90, absl::nullopt, "multiplex",
diff --git a/video/end_to_end_tests/extended_reports_tests.cc b/video/end_to_end_tests/extended_reports_tests.cc
index 2b3b75d..bdaa492 100644
--- a/video/end_to_end_tests/extended_reports_tests.cc
+++ b/video/end_to_end_tests/extended_reports_tests.cc
@@ -16,7 +16,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/rtp_headers.h"
 #include "api/test/simulated_network.h"
@@ -163,13 +162,13 @@
       test::DEPRECATED_SingleThreadedTaskQueueForTesting* task_queue,
       Call* sender_call) {
     auto network =
-        absl::make_unique<SimulatedNetwork>(forward_transport_config_);
+        std::make_unique<SimulatedNetwork>(forward_transport_config_);
     send_simulated_network_ = network.get();
     return new test::PacketTransport(
         task_queue, sender_call, this, test::PacketTransport::kSender,
         test::CallTest::payload_type_map_,
-        absl::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
-                                           std::move(network)));
+        std::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
+                                          std::move(network)));
   }
 
   void ModifyVideoConfigs(
diff --git a/video/end_to_end_tests/fec_tests.cc b/video/end_to_end_tests/fec_tests.cc
index de666ee..e08fc88 100644
--- a/video/end_to_end_tests/fec_tests.cc
+++ b/video/end_to_end_tests/fec_tests.cc
@@ -8,7 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/test/simulated_network.h"
 #include "api/test/video/function_video_encoder_factory.h"
 #include "call/fake_network_pipe.h"
@@ -255,9 +256,9 @@
     return new test::PacketTransport(
         task_queue, sender_call, this, test::PacketTransport::kSender,
         test::CallTest::payload_type_map_,
-        absl::make_unique<FakeNetworkPipe>(
+        std::make_unique<FakeNetworkPipe>(
             Clock::GetRealTimeClock(),
-            absl::make_unique<SimulatedNetwork>(config)));
+            std::make_unique<SimulatedNetwork>(config)));
   }
 
   void OnFrame(const VideoFrame& video_frame) override {
@@ -441,9 +442,9 @@
       return new test::PacketTransport(
           task_queue, sender_call, this, test::PacketTransport::kSender,
           payload_type_map_,
-          absl::make_unique<FakeNetworkPipe>(
+          std::make_unique<FakeNetworkPipe>(
               Clock::GetRealTimeClock(),
-              absl::make_unique<SimulatedNetwork>(config)));
+              std::make_unique<SimulatedNetwork>(config)));
     }
 
     // TODO(holmer): Investigate why we don't send FEC packets when the bitrate
diff --git a/video/end_to_end_tests/multi_codec_receive_tests.cc b/video/end_to_end_tests/multi_codec_receive_tests.cc
index bbb2218..94cea62 100644
--- a/video/end_to_end_tests/multi_codec_receive_tests.cc
+++ b/video/end_to_end_tests/multi_codec_receive_tests.cc
@@ -8,7 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/test/simulated_network.h"
 #include "api/test/video/function_video_encoder_factory.h"
 #include "call/fake_network_pipe.h"
@@ -131,16 +132,16 @@
       send_transport_.reset(new test::PacketTransport(
           &task_queue_, sender_call_.get(), &observer_,
           test::PacketTransport::kSender, kPayloadTypeMap,
-          absl::make_unique<FakeNetworkPipe>(
-              Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
+          std::make_unique<FakeNetworkPipe>(
+              Clock::GetRealTimeClock(), std::make_unique<SimulatedNetwork>(
                                              BuiltInNetworkBehaviorConfig()))));
       send_transport_->SetReceiver(receiver_call_->Receiver());
 
       receive_transport_.reset(new test::PacketTransport(
           &task_queue_, receiver_call_.get(), &observer_,
           test::PacketTransport::kReceiver, kPayloadTypeMap,
-          absl::make_unique<FakeNetworkPipe>(
-              Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
+          std::make_unique<FakeNetworkPipe>(
+              Clock::GetRealTimeClock(), std::make_unique<SimulatedNetwork>(
                                              BuiltInNetworkBehaviorConfig()))));
       receive_transport_->SetReceiver(sender_call_->Receiver());
     });
diff --git a/video/end_to_end_tests/multi_stream_tester.cc b/video/end_to_end_tests/multi_stream_tester.cc
index fad6688..97b0cb9 100644
--- a/video/end_to_end_tests/multi_stream_tester.cc
+++ b/video/end_to_end_tests/multi_stream_tester.cc
@@ -156,9 +156,9 @@
     Call* sender_call) {
   return new test::DirectTransport(
       task_queue,
-      absl::make_unique<FakeNetworkPipe>(
+      std::make_unique<FakeNetworkPipe>(
           Clock::GetRealTimeClock(),
-          absl::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig())),
+          std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig())),
       sender_call, payload_type_map_);
 }
 
@@ -167,9 +167,9 @@
     Call* receiver_call) {
   return new test::DirectTransport(
       task_queue,
-      absl::make_unique<FakeNetworkPipe>(
+      std::make_unique<FakeNetworkPipe>(
           Clock::GetRealTimeClock(),
-          absl::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig())),
+          std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig())),
       receiver_call, payload_type_map_);
 }
 }  // namespace webrtc
diff --git a/video/end_to_end_tests/network_state_tests.cc b/video/end_to_end_tests/network_state_tests.cc
index f7cbd93..df7c980 100644
--- a/video/end_to_end_tests/network_state_tests.cc
+++ b/video/end_to_end_tests/network_state_tests.cc
@@ -8,7 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/test/simulated_network.h"
 #include "api/video_codecs/video_encoder.h"
 #include "call/fake_network_pipe.h"
@@ -118,11 +119,11 @@
                         transport]() {
     CreateCalls();
     receiver_call_->SignalChannelNetworkState(network_to_bring_up, kNetworkUp);
-    sender_transport = absl::make_unique<test::DirectTransport>(
+    sender_transport = std::make_unique<test::DirectTransport>(
         &task_queue_,
-        absl::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
-                                           absl::make_unique<SimulatedNetwork>(
-                                               BuiltInNetworkBehaviorConfig())),
+        std::make_unique<FakeNetworkPipe>(
+            Clock::GetRealTimeClock(),
+            std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig())),
         sender_call_.get(), payload_type_map_);
     sender_transport->SetReceiver(receiver_call_->Receiver());
     CreateSendConfig(1, 0, 0, sender_transport.get());
diff --git a/video/end_to_end_tests/probing_tests.cc b/video/end_to_end_tests/probing_tests.cc
index b92ce6b..402db91 100644
--- a/video/end_to_end_tests/probing_tests.cc
+++ b/video/end_to_end_tests/probing_tests.cc
@@ -8,7 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/test/simulated_network.h"
 #include "call/fake_network_pipe.h"
 #include "call/simulated_network.h"
@@ -223,13 +224,13 @@
         test::DEPRECATED_SingleThreadedTaskQueueForTesting* task_queue,
         Call* sender_call) override {
       auto network =
-          absl::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig());
+          std::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig());
       send_simulated_network_ = network.get();
       return new test::PacketTransport(
           task_queue, sender_call, this, test::PacketTransport::kSender,
           CallTest::payload_type_map_,
-          absl::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
-                                             std::move(network)));
+          std::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
+                                            std::move(network)));
     }
 
     void PerformTest() override {
diff --git a/video/end_to_end_tests/retransmission_tests.cc b/video/end_to_end_tests/retransmission_tests.cc
index abf2f34..a75b9eb 100644
--- a/video/end_to_end_tests/retransmission_tests.cc
+++ b/video/end_to_end_tests/retransmission_tests.cc
@@ -8,8 +8,9 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include <memory>
+
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "api/test/simulated_network.h"
 #include "api/test/video/function_video_encoder_factory.h"
 #include "call/fake_network_pipe.h"
@@ -142,8 +143,8 @@
       test::PacketTransport* receive_transport = new test::PacketTransport(
           task_queue, nullptr, this, test::PacketTransport::kReceiver,
           payload_type_map_,
-          absl::make_unique<FakeNetworkPipe>(
-              Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
+          std::make_unique<FakeNetworkPipe>(
+              Clock::GetRealTimeClock(), std::make_unique<SimulatedNetwork>(
                                              BuiltInNetworkBehaviorConfig())));
       receive_transport_ = receive_transport;
       return receive_transport;
diff --git a/video/end_to_end_tests/rtp_rtcp_tests.cc b/video/end_to_end_tests/rtp_rtcp_tests.cc
index d89a024..a22bada 100644
--- a/video/end_to_end_tests/rtp_rtcp_tests.cc
+++ b/video/end_to_end_tests/rtp_rtcp_tests.cc
@@ -8,7 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/test/simulated_network.h"
 #include "call/fake_network_pipe.h"
 #include "call/simulated_network.h"
@@ -283,18 +284,18 @@
                         &one_stream, use_rtx]() {
     CreateCalls();
 
-    send_transport = absl::make_unique<test::PacketTransport>(
+    send_transport = std::make_unique<test::PacketTransport>(
         &task_queue_, sender_call_.get(), &observer,
         test::PacketTransport::kSender, payload_type_map_,
-        absl::make_unique<FakeNetworkPipe>(
-            Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
-                                           BuiltInNetworkBehaviorConfig())));
-    receive_transport = absl::make_unique<test::PacketTransport>(
+        std::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
+                                          std::make_unique<SimulatedNetwork>(
+                                              BuiltInNetworkBehaviorConfig())));
+    receive_transport = std::make_unique<test::PacketTransport>(
         &task_queue_, nullptr, &observer, test::PacketTransport::kReceiver,
         payload_type_map_,
-        absl::make_unique<FakeNetworkPipe>(
-            Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
-                                           BuiltInNetworkBehaviorConfig())));
+        std::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
+                                          std::make_unique<SimulatedNetwork>(
+                                              BuiltInNetworkBehaviorConfig())));
     send_transport->SetReceiver(receiver_call_->Receiver());
     receive_transport->SetReceiver(sender_call_->Receiver());
 
@@ -482,21 +483,21 @@
     lossy_delayed_link.loss_percent = 2;
     lossy_delayed_link.queue_delay_ms = 50;
 
-    send_transport = absl::make_unique<test::PacketTransport>(
+    send_transport = std::make_unique<test::PacketTransport>(
         &task_queue_, sender_call_.get(), &observer,
         test::PacketTransport::kSender, payload_type_map_,
-        absl::make_unique<FakeNetworkPipe>(
+        std::make_unique<FakeNetworkPipe>(
             Clock::GetRealTimeClock(),
-            absl::make_unique<SimulatedNetwork>(lossy_delayed_link)));
+            std::make_unique<SimulatedNetwork>(lossy_delayed_link)));
     send_transport->SetReceiver(receiver_call_->Receiver());
 
     BuiltInNetworkBehaviorConfig flawless_link;
-    receive_transport = absl::make_unique<test::PacketTransport>(
+    receive_transport = std::make_unique<test::PacketTransport>(
         &task_queue_, nullptr, &observer, test::PacketTransport::kReceiver,
         payload_type_map_,
-        absl::make_unique<FakeNetworkPipe>(
+        std::make_unique<FakeNetworkPipe>(
             Clock::GetRealTimeClock(),
-            absl::make_unique<SimulatedNetwork>(flawless_link)));
+            std::make_unique<SimulatedNetwork>(flawless_link)));
     receive_transport->SetReceiver(sender_call_->Receiver());
 
     // For reduced flakyness, we use a real VP8 encoder together with NACK
diff --git a/video/end_to_end_tests/ssrc_tests.cc b/video/end_to_end_tests/ssrc_tests.cc
index 4d81a57..07fafe6 100644
--- a/video/end_to_end_tests/ssrc_tests.cc
+++ b/video/end_to_end_tests/ssrc_tests.cc
@@ -8,7 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/test/simulated_network.h"
 #include "call/fake_network_pipe.h"
 #include "call/simulated_network.h"
@@ -81,20 +82,20 @@
       [this, &send_transport, &receive_transport, &input_observer]() {
         CreateCalls();
 
-        send_transport = absl::make_unique<test::DirectTransport>(
+        send_transport = std::make_unique<test::DirectTransport>(
             &task_queue_,
-            absl::make_unique<FakeNetworkPipe>(
-                Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
+            std::make_unique<FakeNetworkPipe>(
+                Clock::GetRealTimeClock(), std::make_unique<SimulatedNetwork>(
                                                BuiltInNetworkBehaviorConfig())),
             sender_call_.get(), payload_type_map_);
-        receive_transport = absl::make_unique<test::DirectTransport>(
+        receive_transport = std::make_unique<test::DirectTransport>(
             &task_queue_,
-            absl::make_unique<FakeNetworkPipe>(
-                Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
+            std::make_unique<FakeNetworkPipe>(
+                Clock::GetRealTimeClock(), std::make_unique<SimulatedNetwork>(
                                                BuiltInNetworkBehaviorConfig())),
             receiver_call_.get(), payload_type_map_);
         input_observer =
-            absl::make_unique<PacketInputObserver>(receiver_call_->Receiver());
+            std::make_unique<PacketInputObserver>(receiver_call_->Receiver());
         send_transport->SetReceiver(input_observer.get());
         receive_transport->SetReceiver(sender_call_->Receiver());
 
diff --git a/video/end_to_end_tests/stats_tests.cc b/video/end_to_end_tests/stats_tests.cc
index 56acb96..2a8d903 100644
--- a/video/end_to_end_tests/stats_tests.cc
+++ b/video/end_to_end_tests/stats_tests.cc
@@ -8,8 +8,9 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include <memory>
+
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "api/test/simulated_network.h"
 #include "api/test/video/function_video_encoder_factory.h"
 #include "call/fake_network_pipe.h"
@@ -56,7 +57,7 @@
     StatsObserver()
         : EndToEndTest(kLongTimeoutMs),
           encoder_factory_([]() {
-            return absl::make_unique<test::DelayedEncoder>(
+            return std::make_unique<test::DelayedEncoder>(
                 Clock::GetRealTimeClock(), 10);
           }),
           send_stream_(nullptr),
@@ -239,9 +240,9 @@
       return new test::PacketTransport(
           task_queue, sender_call, this, test::PacketTransport::kSender,
           payload_type_map_,
-          absl::make_unique<FakeNetworkPipe>(
+          std::make_unique<FakeNetworkPipe>(
               Clock::GetRealTimeClock(),
-              absl::make_unique<SimulatedNetwork>(network_config)));
+              std::make_unique<SimulatedNetwork>(network_config)));
     }
     void ModifySenderBitrateConfig(
         BitrateConstraints* bitrate_config) override {
@@ -719,18 +720,18 @@
     BuiltInNetworkBehaviorConfig config;
     config.queue_delay_ms = kSendDelayMs;
     CreateCalls();
-    sender_transport = absl::make_unique<test::DirectTransport>(
+    sender_transport = std::make_unique<test::DirectTransport>(
         &task_queue_,
-        absl::make_unique<FakeNetworkPipe>(
+        std::make_unique<FakeNetworkPipe>(
             Clock::GetRealTimeClock(),
-            absl::make_unique<SimulatedNetwork>(config)),
+            std::make_unique<SimulatedNetwork>(config)),
         sender_call_.get(), payload_type_map_);
     config.queue_delay_ms = kReceiveDelayMs;
-    receiver_transport = absl::make_unique<test::DirectTransport>(
+    receiver_transport = std::make_unique<test::DirectTransport>(
         &task_queue_,
-        absl::make_unique<FakeNetworkPipe>(
+        std::make_unique<FakeNetworkPipe>(
             Clock::GetRealTimeClock(),
-            absl::make_unique<SimulatedNetwork>(config)),
+            std::make_unique<SimulatedNetwork>(config)),
         receiver_call_.get(), payload_type_map_);
     sender_transport->SetReceiver(receiver_call_->Receiver());
     receiver_transport->SetReceiver(sender_call_->Receiver());
diff --git a/video/end_to_end_tests/transport_feedback_tests.cc b/video/end_to_end_tests/transport_feedback_tests.cc
index c49f02e..1cefb16 100644
--- a/video/end_to_end_tests/transport_feedback_tests.cc
+++ b/video/end_to_end_tests/transport_feedback_tests.cc
@@ -8,7 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "call/call.h"
 #include "call/fake_network_pipe.h"
 #include "call/simulated_network.h"
@@ -44,9 +45,9 @@
         const std::map<uint32_t, uint32_t>& ssrc_map,
         const std::map<uint8_t, MediaType>& payload_type_map)
         : DirectTransport(task_queue,
-                          absl::make_unique<FakeNetworkPipe>(
+                          std::make_unique<FakeNetworkPipe>(
                               Clock::GetRealTimeClock(),
-                              absl::make_unique<SimulatedNetwork>(
+                              std::make_unique<SimulatedNetwork>(
                                   BuiltInNetworkBehaviorConfig())),
                           sender_call,
                           payload_type_map),
diff --git a/video/frame_dumping_decoder.cc b/video/frame_dumping_decoder.cc
index 31d024c..4ccb333 100644
--- a/video/frame_dumping_decoder.cc
+++ b/video/frame_dumping_decoder.cc
@@ -10,9 +10,9 @@
 
 #include "video/frame_dumping_decoder.h"
 
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "modules/video_coding/include/video_codec_interface.h"
 #include "modules/video_coding/utility/ivf_file_writer.h"
 
@@ -86,8 +86,8 @@
 std::unique_ptr<VideoDecoder> CreateFrameDumpingDecoderWrapper(
     std::unique_ptr<VideoDecoder> decoder,
     FileWrapper file) {
-  return absl::make_unique<FrameDumpingDecoder>(std::move(decoder),
-                                                std::move(file));
+  return std::make_unique<FrameDumpingDecoder>(std::move(decoder),
+                                               std::move(file));
 }
 
 }  // namespace webrtc
diff --git a/video/frame_encode_metadata_writer.cc b/video/frame_encode_metadata_writer.cc
index 4ed90db..a0a16c2 100644
--- a/video/frame_encode_metadata_writer.cc
+++ b/video/frame_encode_metadata_writer.cc
@@ -11,9 +11,9 @@
 #include "video/frame_encode_metadata_writer.h"
 
 #include <algorithm>
+#include <memory>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "common_video/h264/sps_vui_rewriter.h"
 #include "modules/include/module_common_types_public.h"
 #include "modules/video_coding/include/video_coding_defines.h"
@@ -217,7 +217,7 @@
 
   rtc::Buffer modified_buffer;
   std::unique_ptr<RTPFragmentationHeader> modified_fragmentation =
-      absl::make_unique<RTPFragmentationHeader>();
+      std::make_unique<RTPFragmentationHeader>();
   modified_fragmentation->CopyFrom(*fragmentation);
 
   // Make sure that the data is not copied if owned by EncodedImage.
diff --git a/video/full_stack_tests.cc b/video/full_stack_tests.cc
index 07d1510..823137b 100644
--- a/video/full_stack_tests.cc
+++ b/video/full_stack_tests.cc
@@ -14,7 +14,6 @@
 
 #include "absl/flags/flag.h"
 #include "absl/flags/parse.h"
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/test/simulated_network.h"
 #include "api/test/test_dependency_factory.h"
@@ -68,7 +67,7 @@
   // The components will normally be nullptr (= use defaults), but it's possible
   // for external test runners to override the list of injected components.
   auto components = TestDependencyFactory::GetInstance().CreateComponents();
-  return absl::make_unique<VideoQualityTest>(std::move(components));
+  return std::make_unique<VideoQualityTest>(std::move(components));
 }
 
 // Takes the current active field trials set, and appends some new trials.
diff --git a/video/overuse_frame_detector.cc b/video/overuse_frame_detector.cc
index 182ff54..429dbc4 100644
--- a/video/overuse_frame_detector.cc
+++ b/video/overuse_frame_detector.cc
@@ -16,10 +16,10 @@
 #include <algorithm>
 #include <list>
 #include <map>
+#include <memory>
 #include <string>
 #include <utility>
 
-#include "absl/memory/memory.h"
 #include "api/video/video_frame.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
@@ -487,9 +487,9 @@
 OveruseFrameDetector::CreateProcessingUsage(const CpuOveruseOptions& options) {
   std::unique_ptr<ProcessingUsage> instance;
   if (options.filter_time_ms > 0) {
-    instance = absl::make_unique<SendProcessingUsage2>(options);
+    instance = std::make_unique<SendProcessingUsage2>(options);
   } else {
-    instance = absl::make_unique<SendProcessingUsage1>(options);
+    instance = std::make_unique<SendProcessingUsage1>(options);
   }
   std::string toggling_interval =
       field_trial::FindFullName("WebRTC-ForceSimulatedOveruseIntervalMs");
@@ -501,7 +501,7 @@
                &overuse_period_ms, &underuse_period_ms) == 3) {
       if (normal_period_ms > 0 && overuse_period_ms > 0 &&
           underuse_period_ms > 0) {
-        instance = absl::make_unique<OverdoseInjector>(
+        instance = std::make_unique<OverdoseInjector>(
             std::move(instance), normal_period_ms, overuse_period_ms,
             underuse_period_ms);
       } else {
diff --git a/video/overuse_frame_detector_unittest.cc b/video/overuse_frame_detector_unittest.cc
index 3a1c97c..fac56b9 100644
--- a/video/overuse_frame_detector_unittest.cc
+++ b/video/overuse_frame_detector_unittest.cc
@@ -12,7 +12,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "api/video/encoded_image.h"
 #include "api/video/i420_buffer.h"
 #include "modules/video_coding/utility/quality_scaler.h"
@@ -77,7 +76,7 @@
   void SetUp() override {
     observer_ = &mock_observer_;
     options_.min_process_count = 0;
-    overuse_detector_ = absl::make_unique<OveruseFrameDetectorUnderTest>(this);
+    overuse_detector_ = std::make_unique<OveruseFrameDetectorUnderTest>(this);
     // Unfortunately, we can't call SetOptions here, since that would break
     // single-threading requirements in the RunOnTqNormalUsage test.
   }
diff --git a/video/pc_full_stack_tests.cc b/video/pc_full_stack_tests.cc
index 0534874..751eebe 100644
--- a/video/pc_full_stack_tests.cc
+++ b/video/pc_full_stack_tests.cc
@@ -12,7 +12,6 @@
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/test/create_network_emulation_manager.h"
 #include "api/test/create_peerconnection_quality_test_fixture.h"
 #include "api/test/network_emulation_manager.h"
@@ -53,7 +52,7 @@
     NetworkEmulationManager* emulation,
     const BuiltInNetworkBehaviorConfig& config) {
   return emulation->CreateEmulatedNode(
-      absl::make_unique<SimulatedNetwork>(config));
+      std::make_unique<SimulatedNetwork>(config));
 }
 
 std::pair<EmulatedNetworkManagerInterface*, EmulatedNetworkManagerInterface*>
@@ -88,7 +87,7 @@
   fixture->AddPeer(network_links.second->network_thread(),
                    network_links.second->network_manager(), bob_configurer);
   fixture->AddQualityMetricsReporter(
-      absl::make_unique<webrtc_pc_e2e::NetworkQualityMetricsReporter>(
+      std::make_unique<webrtc_pc_e2e::NetworkQualityMetricsReporter>(
           network_links.first, network_links.second));
   return fixture;
 }
diff --git a/video/picture_id_tests.cc b/video/picture_id_tests.cc
index c007877..e76edc9 100644
--- a/video/picture_id_tests.cc
+++ b/video/picture_id_tests.cc
@@ -8,7 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/test/simulated_network.h"
 #include "api/test/video/function_video_encoder_factory.h"
 #include "call/fake_network_pipe.h"
@@ -256,8 +257,8 @@
     send_transport_.reset(new test::PacketTransport(
         &task_queue_, sender_call_.get(), observer_.get(),
         test::PacketTransport::kSender, payload_type_map_,
-        absl::make_unique<FakeNetworkPipe>(
-            Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
+        std::make_unique<FakeNetworkPipe>(
+            Clock::GetRealTimeClock(), std::make_unique<SimulatedNetwork>(
                                            BuiltInNetworkBehaviorConfig()))));
 
     CreateSendConfig(kNumSimulcastStreams, 0, 0, send_transport_.get());
@@ -389,7 +390,7 @@
   InternalEncoderFactory internal_encoder_factory;
   test::FunctionVideoEncoderFactory encoder_factory(
       [&internal_encoder_factory]() {
-        return absl::make_unique<SimulcastEncoderAdapter>(
+        return std::make_unique<SimulcastEncoderAdapter>(
             &internal_encoder_factory, SdpVideoFormat("VP8"));
       });
   SetupEncoder(&encoder_factory, "VP8");
@@ -400,7 +401,7 @@
   InternalEncoderFactory internal_encoder_factory;
   test::FunctionVideoEncoderFactory encoder_factory(
       [&internal_encoder_factory]() {
-        return absl::make_unique<SimulcastEncoderAdapter>(
+        return std::make_unique<SimulcastEncoderAdapter>(
             &internal_encoder_factory, SdpVideoFormat("VP8"));
       });
   SetupEncoder(&encoder_factory, "VP8");
@@ -411,7 +412,7 @@
   InternalEncoderFactory internal_encoder_factory;
   test::FunctionVideoEncoderFactory encoder_factory(
       [&internal_encoder_factory]() {
-        return absl::make_unique<SimulcastEncoderAdapter>(
+        return std::make_unique<SimulcastEncoderAdapter>(
             &internal_encoder_factory, SdpVideoFormat("VP8"));
       });
   // Make sure that the picture id is not reset if the stream count goes
diff --git a/video/rtp_video_stream_receiver.cc b/video/rtp_video_stream_receiver.cc
index 5e076b3..9ff089b 100644
--- a/video/rtp_video_stream_receiver.cc
+++ b/video/rtp_video_stream_receiver.cc
@@ -232,13 +232,13 @@
 
   if (config_.rtp.lntf.enabled) {
     loss_notification_controller_ =
-        absl::make_unique<LossNotificationController>(&rtcp_feedback_buffer_,
-                                                      &rtcp_feedback_buffer_);
+        std::make_unique<LossNotificationController>(&rtcp_feedback_buffer_,
+                                                     &rtcp_feedback_buffer_);
   }
 
   if (config_.rtp.nack.rtp_history_ms != 0) {
-    nack_module_ = absl::make_unique<NackModule>(clock_, &rtcp_feedback_buffer_,
-                                                 &rtcp_feedback_buffer_);
+    nack_module_ = std::make_unique<NackModule>(clock_, &rtcp_feedback_buffer_,
+                                                &rtcp_feedback_buffer_);
     process_thread_->RegisterModule(nack_module_.get(), RTC_FROM_HERE);
   }
 
@@ -259,12 +259,12 @@
   packet_buffer_ = video_coding::PacketBuffer::Create(
       clock_, kPacketBufferStartSize, packet_buffer_max_size, this);
   reference_finder_ =
-      absl::make_unique<video_coding::RtpFrameReferenceFinder>(this);
+      std::make_unique<video_coding::RtpFrameReferenceFinder>(this);
 
   // Only construct the encrypted receiver if frame encryption is enabled.
   if (config_.crypto_options.sframe.require_frame_encryption) {
     buffered_frame_decryptor_ =
-        absl::make_unique<BufferedFrameDecryptor>(this, this);
+        std::make_unique<BufferedFrameDecryptor>(this, this);
     if (frame_decryptor != nullptr) {
       buffered_frame_decryptor_->SetFrameDecryptor(std::move(frame_decryptor));
     }
@@ -569,7 +569,7 @@
   RTC_DCHECK_RUN_ON(&network_tc_);
   if (buffered_frame_decryptor_ == nullptr) {
     buffered_frame_decryptor_ =
-        absl::make_unique<BufferedFrameDecryptor>(this, this);
+        std::make_unique<BufferedFrameDecryptor>(this, this);
   }
   buffered_frame_decryptor_->SetFrameDecryptor(std::move(frame_decryptor));
 }
diff --git a/video/rtp_video_stream_receiver_unittest.cc b/video/rtp_video_stream_receiver_unittest.cc
index 4cebc4e..c1850e2 100644
--- a/video/rtp_video_stream_receiver_unittest.cc
+++ b/video/rtp_video_stream_receiver_unittest.cc
@@ -10,7 +10,8 @@
 
 #include "video/rtp_video_stream_receiver.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/video/video_codec_type.h"
 #include "api/video/video_frame_type.h"
 #include "common_video/h264/h264_common.h"
@@ -116,7 +117,7 @@
 std::unique_ptr<RtpPacketReceived> CreateRtpPacketReceived(
     uint32_t ssrc = kSsrc,
     uint16_t sequence_number = kSequenceNumber) {
-  auto packet = absl::make_unique<RtpPacketReceived>();
+  auto packet = std::make_unique<RtpPacketReceived>();
   packet->SetSsrc(ssrc);
   packet->SetSequenceNumber(sequence_number);
   return packet;
@@ -140,7 +141,7 @@
   void SetUp() {
     rtp_receive_statistics_ =
         ReceiveStatistics::Create(Clock::GetRealTimeClock());
-    rtp_video_stream_receiver_ = absl::make_unique<RtpVideoStreamReceiver>(
+    rtp_video_stream_receiver_ = std::make_unique<RtpVideoStreamReceiver>(
         Clock::GetRealTimeClock(), &mock_transport_, nullptr, nullptr, &config_,
         rtp_receive_statistics_.get(), nullptr, process_thread_.get(),
         &mock_nack_sender_, &mock_key_frame_request_sender_,
diff --git a/video/screenshare_loopback.cc b/video/screenshare_loopback.cc
index ed14b30..e5625a9 100644
--- a/video/screenshare_loopback.cc
+++ b/video/screenshare_loopback.cc
@@ -16,7 +16,6 @@
 
 #include "absl/flags/flag.h"
 #include "absl/flags/parse.h"
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/bitrate_constraints.h"
 #include "api/test/simulated_network.h"
@@ -367,7 +366,7 @@
       &params, 0, stream_descriptors, NumStreams(), SelectedStream(),
       NumSpatialLayers(), SelectedSL(), InterLayerPred(), SL_descriptors);
 
-  auto fixture = absl::make_unique<VideoQualityTest>(nullptr);
+  auto fixture = std::make_unique<VideoQualityTest>(nullptr);
   if (DurationSecs()) {
     fixture->RunWithAnalyzer(params);
   } else {
diff --git a/video/sv_loopback.cc b/video/sv_loopback.cc
index d27e0cc..c13a958 100644
--- a/video/sv_loopback.cc
+++ b/video/sv_loopback.cc
@@ -16,7 +16,6 @@
 
 #include "absl/flags/flag.h"
 #include "absl/flags/parse.h"
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/bitrate_constraints.h"
 #include "api/test/simulated_network.h"
@@ -689,7 +688,7 @@
       VideoSelectedStream(), VideoNumSpatialLayers(), VideoSelectedSL(),
       VideoInterLayerPred(), SL_descriptors);
 
-  auto fixture = absl::make_unique<VideoQualityTest>(nullptr);
+  auto fixture = std::make_unique<VideoQualityTest>(nullptr);
   if (DurationSecs()) {
     fixture->RunWithAnalyzer(params);
   } else {
diff --git a/video/video_loopback.cc b/video/video_loopback.cc
index 4270ba9..7d6f535 100644
--- a/video/video_loopback.cc
+++ b/video/video_loopback.cc
@@ -17,7 +17,6 @@
 
 #include "absl/flags/flag.h"
 #include "absl/flags/parse.h"
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/bitrate_constraints.h"
 #include "api/test/simulated_network.h"
@@ -421,7 +420,7 @@
       &params, 0, stream_descriptors, NumStreams(), SelectedStream(),
       NumSpatialLayers(), SelectedSL(), InterLayerPred(), SL_descriptors);
 
-  auto fixture = absl::make_unique<VideoQualityTest>(nullptr);
+  auto fixture = std::make_unique<VideoQualityTest>(nullptr);
   if (DurationSecs()) {
     fixture->RunWithAnalyzer(params);
   } else {
diff --git a/video/video_quality_test.cc b/video/video_quality_test.cc
index 1511254..e192731 100644
--- a/video/video_quality_test.cc
+++ b/video/video_quality_test.cc
@@ -14,10 +14,10 @@
 #include <algorithm>
 #include <deque>
 #include <map>
+#include <memory>
 #include <string>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/fec_controller_override.h"
 #include "api/rtc_event_log_output_file.h"
 #include "api/task_queue/default_task_queue_factory.h"
@@ -274,7 +274,7 @@
     const SdpVideoFormat& format) {
   std::unique_ptr<VideoDecoder> decoder;
   if (format.name == "multiplex") {
-    decoder = absl::make_unique<MultiplexDecoderAdapter>(
+    decoder = std::make_unique<MultiplexDecoderAdapter>(
         decoder_factory_.get(), SdpVideoFormat(cricket::kVp9CodecName));
   } else if (format.name == "FakeCodec") {
     decoder = webrtc::FakeVideoDecoderFactory::CreateVideoDecoder();
@@ -297,10 +297,10 @@
     VideoAnalyzer* analyzer) {
   std::unique_ptr<VideoEncoder> encoder;
   if (format.name == "VP8") {
-    encoder = absl::make_unique<EncoderSimulcastProxy>(encoder_factory_.get(),
-                                                       format);
+    encoder =
+        std::make_unique<EncoderSimulcastProxy>(encoder_factory_.get(), format);
   } else if (format.name == "multiplex") {
-    encoder = absl::make_unique<MultiplexEncoderAdapter>(
+    encoder = std::make_unique<MultiplexEncoderAdapter>(
         encoder_factory_.get(), SdpVideoFormat(cricket::kVp9CodecName));
   } else if (format.name == "FakeCodec") {
     encoder = webrtc::FakeVideoEncoderFactory::CreateVideoEncoder();
@@ -340,7 +340,7 @@
   }
 
   if (analyzer || !encoded_frame_dump_files.empty() || overshoot_factor > 1.0) {
-    encoder = absl::make_unique<QualityTestVideoEncoder>(
+    encoder = std::make_unique<QualityTestVideoEncoder>(
         std::move(encoder), analyzer, std::move(encoded_frame_dump_files),
         overshoot_factor);
   }
@@ -370,17 +370,17 @@
       injection_components_(std::move(injection_components)),
       num_video_streams_(0) {
   if (injection_components_ == nullptr) {
-    injection_components_ = absl::make_unique<InjectionComponents>();
+    injection_components_ = std::make_unique<InjectionComponents>();
   }
   if (injection_components_->video_decoder_factory != nullptr) {
     decoder_factory_ = std::move(injection_components_->video_decoder_factory);
   } else {
-    decoder_factory_ = absl::make_unique<InternalDecoderFactory>();
+    decoder_factory_ = std::make_unique<InternalDecoderFactory>();
   }
   if (injection_components_->video_encoder_factory != nullptr) {
     encoder_factory_ = std::move(injection_components_->video_encoder_factory);
   } else {
-    encoder_factory_ = absl::make_unique<InternalEncoderFactory>();
+    encoder_factory_ = std::make_unique<InternalEncoderFactory>();
   }
 
   payload_type_map_ = test::CallTest::payload_type_map_;
@@ -480,7 +480,7 @@
 
 void VideoQualityTest::CheckParamsAndInjectionComponents() {
   if (injection_components_ == nullptr) {
-    injection_components_ = absl::make_unique<InjectionComponents>();
+    injection_components_ = std::make_unique<InjectionComponents>();
   }
   if (!params_.config && injection_components_->sender_network == nullptr &&
       injection_components_->receiver_network == nullptr) {
@@ -1046,7 +1046,7 @@
   VideoStream thumbnail = DefaultThumbnailStream();
   for (size_t i = 0; i < num_thumbnail_streams; ++i) {
     auto frame_generator_capturer =
-        absl::make_unique<test::FrameGeneratorCapturer>(
+        std::make_unique<test::FrameGeneratorCapturer>(
             clock_,
             test::FrameGenerator::CreateSquareGenerator(
                 static_cast<int>(thumbnail.width),
@@ -1150,7 +1150,7 @@
     }
     ASSERT_TRUE(frame_generator);
     auto frame_generator_capturer =
-        absl::make_unique<test::FrameGeneratorCapturer>(
+        std::make_unique<test::FrameGeneratorCapturer>(
             clock_, std::move(frame_generator), params_.video[video_idx].fps,
             *task_queue_factory_);
     EXPECT_TRUE(frame_generator_capturer->Init());
@@ -1182,13 +1182,13 @@
 VideoQualityTest::CreateSendTransport() {
   std::unique_ptr<NetworkBehaviorInterface> network_behavior = nullptr;
   if (injection_components_->sender_network == nullptr) {
-    network_behavior = absl::make_unique<SimulatedNetwork>(*params_.config);
+    network_behavior = std::make_unique<SimulatedNetwork>(*params_.config);
   } else {
     network_behavior = std::move(injection_components_->sender_network);
   }
-  return absl::make_unique<test::LayerFilteringTransport>(
+  return std::make_unique<test::LayerFilteringTransport>(
       &task_queue_,
-      absl::make_unique<FakeNetworkPipe>(clock_, std::move(network_behavior)),
+      std::make_unique<FakeNetworkPipe>(clock_, std::move(network_behavior)),
       sender_call_.get(), kPayloadTypeVP8, kPayloadTypeVP9,
       params_.video[0].selected_tl, params_.ss[0].selected_sl,
       payload_type_map_, kVideoSendSsrcs[0],
@@ -1200,13 +1200,13 @@
 VideoQualityTest::CreateReceiveTransport() {
   std::unique_ptr<NetworkBehaviorInterface> network_behavior = nullptr;
   if (injection_components_->receiver_network == nullptr) {
-    network_behavior = absl::make_unique<SimulatedNetwork>(*params_.config);
+    network_behavior = std::make_unique<SimulatedNetwork>(*params_.config);
   } else {
     network_behavior = std::move(injection_components_->receiver_network);
   }
-  return absl::make_unique<test::DirectTransport>(
+  return std::make_unique<test::DirectTransport>(
       &task_queue_,
-      absl::make_unique<FakeNetworkPipe>(clock_, std::move(network_behavior)),
+      std::make_unique<FakeNetworkPipe>(clock_, std::move(network_behavior)),
       receiver_call_.get(), payload_type_map_);
 }
 
@@ -1235,11 +1235,11 @@
     recv_event_log_ = rtc_event_log_factory_.CreateRtcEventLog(
         RtcEventLog::EncodingType::Legacy);
     std::unique_ptr<RtcEventLogOutputFile> send_output(
-        absl::make_unique<RtcEventLogOutputFile>(
+        std::make_unique<RtcEventLogOutputFile>(
             params.logging.rtc_event_log_name + "_send",
             RtcEventLog::kUnlimitedOutput));
     std::unique_ptr<RtcEventLogOutputFile> recv_output(
-        absl::make_unique<RtcEventLogOutputFile>(
+        std::make_unique<RtcEventLogOutputFile>(
             params.logging.rtc_event_log_name + "_recv",
             RtcEventLog::kUnlimitedOutput));
     bool event_log_started =
@@ -1249,8 +1249,8 @@
                                       RtcEventLog::kImmediateOutput);
     RTC_DCHECK(event_log_started);
   } else {
-    send_event_log_ = absl::make_unique<RtcEventLogNull>();
-    recv_event_log_ = absl::make_unique<RtcEventLogNull>();
+    send_event_log_ = std::make_unique<RtcEventLogNull>();
+    recv_event_log_ = std::make_unique<RtcEventLogNull>();
   }
 
   task_queue_.SendTask([this, &params, &send_transport, &recv_transport]() {
@@ -1271,7 +1271,7 @@
   if (graph_title.empty())
     graph_title = VideoQualityTest::GenerateGraphTitle();
   bool is_quick_test_enabled = field_trial::IsEnabled("WebRTC-QuickPerfTest");
-  analyzer_ = absl::make_unique<VideoAnalyzer>(
+  analyzer_ = std::make_unique<VideoAnalyzer>(
       send_transport.get(), params_.analyzer.test_label,
       params_.analyzer.avg_psnr_threshold, params_.analyzer.avg_ssim_threshold,
       is_quick_test_enabled
@@ -1358,7 +1358,7 @@
   // CO_E_NOTINITIALIZED otherwise. The legacy ADM for Windows used internal
   // COM initialization but the new ADM requires COM to be initialized
   // externally.
-  com_initializer_ = absl::make_unique<webrtc_win::ScopedCOMInitializer>(
+  com_initializer_ = std::make_unique<webrtc_win::ScopedCOMInitializer>(
       webrtc_win::ScopedCOMInitializer::kMTA);
   RTC_CHECK(com_initializer_->Succeeded());
   RTC_CHECK(webrtc_win::core_audio_utility::IsSupported());
@@ -1457,11 +1457,11 @@
     recv_event_log_ = rtc_event_log_factory_.CreateRtcEventLog(
         RtcEventLog::EncodingType::Legacy);
     std::unique_ptr<RtcEventLogOutputFile> send_output(
-        absl::make_unique<RtcEventLogOutputFile>(
+        std::make_unique<RtcEventLogOutputFile>(
             params.logging.rtc_event_log_name + "_send",
             RtcEventLog::kUnlimitedOutput));
     std::unique_ptr<RtcEventLogOutputFile> recv_output(
-        absl::make_unique<RtcEventLogOutputFile>(
+        std::make_unique<RtcEventLogOutputFile>(
             params.logging.rtc_event_log_name + "_recv",
             RtcEventLog::kUnlimitedOutput));
     bool event_log_started =
@@ -1471,8 +1471,8 @@
                                       /*output_period_ms=*/5000);
     RTC_DCHECK(event_log_started);
   } else {
-    send_event_log_ = absl::make_unique<RtcEventLogNull>();
-    recv_event_log_ = absl::make_unique<RtcEventLogNull>();
+    send_event_log_ = std::make_unique<RtcEventLogNull>();
+    recv_event_log_ = std::make_unique<RtcEventLogNull>();
   }
 
   task_queue_.SendTask([&]() {
diff --git a/video/video_receive_stream.cc b/video/video_receive_stream.cc
index bfc6d2a..f32d087 100644
--- a/video/video_receive_stream.cc
+++ b/video/video_receive_stream.cc
@@ -14,12 +14,12 @@
 #include <string.h>
 
 #include <algorithm>
+#include <memory>
 #include <set>
 #include <string>
 #include <utility>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/array_view.h"
 #include "api/crypto/frame_decryptor_interface.h"
@@ -246,7 +246,7 @@
     media_receiver_ = receiver_controller->CreateReceiver(
         config_.rtp.remote_ssrc, &rtp_video_stream_receiver_);
     if (config_.rtp.rtx_ssrc) {
-      rtx_receive_stream_ = absl::make_unique<RtxReceiveStream>(
+      rtx_receive_stream_ = std::make_unique<RtxReceiveStream>(
           &rtp_video_stream_receiver_, config.rtp.rtx_associated_payload_types,
           config_.rtp.remote_ssrc, rtp_receive_statistics_.get());
       rtx_receiver_ = receiver_controller->CreateReceiver(
@@ -338,7 +338,7 @@
     // old decoder factory interface doesn't have a way to query supported
     // codecs.
     if (!video_decoder) {
-      video_decoder = absl::make_unique<NullVideoDecoder>();
+      video_decoder = std::make_unique<NullVideoDecoder>();
     }
 
     std::string decoded_output_file =
@@ -573,7 +573,7 @@
 void VideoReceiveStream::OnData(uint64_t channel_id,
                                 MediaTransportEncodedVideoFrame frame) {
   OnCompleteFrame(
-      absl::make_unique<EncodedFrameForMediaTransport>(std::move(frame)));
+      std::make_unique<EncodedFrameForMediaTransport>(std::move(frame)));
 }
 
 void VideoReceiveStream::OnRttUpdate(int64_t avg_rtt_ms, int64_t max_rtt_ms) {
diff --git a/video/video_receive_stream_unittest.cc b/video/video_receive_stream_unittest.cc
index 6d88f67..c9d0ad1 100644
--- a/video/video_receive_stream_unittest.cc
+++ b/video/video_receive_stream_unittest.cc
@@ -11,10 +11,10 @@
 #include "video/video_receive_stream.h"
 
 #include <algorithm>
+#include <memory>
 #include <utility>
 #include <vector>
 
-#include "absl/memory/memory.h"
 #include "api/task_queue/default_task_queue_factory.h"
 #include "api/test/video/function_video_decoder_factory.h"
 #include "api/video_codecs/video_decoder.h"
@@ -115,7 +115,7 @@
     timing_ = new VCMTiming(clock_);
 
     video_receive_stream_ =
-        absl::make_unique<webrtc::internal::VideoReceiveStream>(
+        std::make_unique<webrtc::internal::VideoReceiveStream>(
             task_queue_factory_.get(), &rtp_stream_receiver_controller_,
             kDefaultNumCpuCores, &packet_router_, config_.Copy(),
             process_thread_.get(), &call_stats_, clock_, timing_);
@@ -232,7 +232,7 @@
  public:
   VideoReceiveStreamTestWithFakeDecoder()
       : fake_decoder_factory_(
-            []() { return absl::make_unique<test::FakeDecoder>(); }),
+            []() { return std::make_unique<test::FakeDecoder>(); }),
         process_thread_(ProcessThread::Create("TestThread")),
         task_queue_factory_(CreateDefaultTaskQueueFactory()),
         config_(&mock_transport_),
@@ -274,7 +274,7 @@
 
 TEST_F(VideoReceiveStreamTestWithFakeDecoder, PassesNtpTime) {
   const int64_t kNtpTimestamp = 12345;
-  auto test_frame = absl::make_unique<FrameObjectFake>();
+  auto test_frame = std::make_unique<FrameObjectFake>();
   test_frame->SetPayloadType(99);
   test_frame->id.picture_id = 0;
   test_frame->SetNtpTime(kNtpTimestamp);
@@ -287,7 +287,7 @@
 
 TEST_F(VideoReceiveStreamTestWithFakeDecoder, PassesRotation) {
   const webrtc::VideoRotation kRotation = webrtc::kVideoRotation_180;
-  auto test_frame = absl::make_unique<FrameObjectFake>();
+  auto test_frame = std::make_unique<FrameObjectFake>();
   test_frame->SetPayloadType(99);
   test_frame->id.picture_id = 0;
   test_frame->SetRotation(kRotation);
@@ -300,7 +300,7 @@
 }
 
 TEST_F(VideoReceiveStreamTestWithFakeDecoder, PassesPacketInfos) {
-  auto test_frame = absl::make_unique<FrameObjectFake>();
+  auto test_frame = std::make_unique<FrameObjectFake>();
   test_frame->SetPayloadType(99);
   test_frame->id.picture_id = 0;
   RtpPacketInfos packet_infos = CreatePacketInfos(3);
@@ -319,7 +319,7 @@
   constexpr uint32_t kRtpTimestamp = 12345;
 
   // Prepare one video frame with per-packet information.
-  auto test_frame = absl::make_unique<FrameObjectFake>();
+  auto test_frame = std::make_unique<FrameObjectFake>();
   test_frame->SetPayloadType(99);
   test_frame->id.picture_id = 0;
   RtpPacketInfos packet_infos;
diff --git a/video/video_replay.cc b/video/video_replay.cc
index f6dd150..6562f42 100644
--- a/video/video_replay.cc
+++ b/video/video_replay.cc
@@ -16,7 +16,6 @@
 
 #include "absl/flags/flag.h"
 #include "absl/flags/parse.h"
-#include "absl/memory/memory.h"
 #include "api/rtc_event_log/rtc_event_log.h"
 #include "api/task_queue/default_task_queue_factory.h"
 #include "api/test/video/function_video_decoder_factory.h"
@@ -310,7 +309,7 @@
   static std::unique_ptr<StreamState> ConfigureFromFile(
       const std::string& config_path,
       Call* call) {
-    auto stream_state = absl::make_unique<StreamState>();
+    auto stream_state = std::make_unique<StreamState>();
     // Parse the configuration file.
     std::ifstream config_file(config_path);
     std::stringstream raw_json_buffer;
@@ -324,7 +323,7 @@
       return nullptr;
     }
 
-    stream_state->decoder_factory = absl::make_unique<InternalDecoderFactory>();
+    stream_state->decoder_factory = std::make_unique<InternalDecoderFactory>();
     size_t config_count = 0;
     for (const auto& json : json_configs) {
       // Create the configuration and parse the JSON into the config.
@@ -353,14 +352,14 @@
   static std::unique_ptr<StreamState> ConfigureFromFlags(
       const std::string& rtp_dump_path,
       Call* call) {
-    auto stream_state = absl::make_unique<StreamState>();
+    auto stream_state = std::make_unique<StreamState>();
     // Create the video renderers. We must add both to the stream state to keep
     // them from deallocating.
     std::stringstream window_title;
     window_title << "Playback Video (" << rtp_dump_path << ")";
     std::unique_ptr<test::VideoRenderer> playback_video(
         test::VideoRenderer::Create(window_title.str().c_str(), 640, 480));
-    auto file_passthrough = absl::make_unique<FileRenderPassthrough>(
+    auto file_passthrough = std::make_unique<FileRenderPassthrough>(
         OutBase(), playback_video.get());
     stream_state->sinks.push_back(std::move(playback_video));
     stream_state->sinks.push_back(std::move(file_passthrough));
@@ -391,13 +390,13 @@
     decoder = test::CreateMatchingDecoder(MediaPayloadType(), Codec());
     if (DecoderBitstreamFilename().empty()) {
       stream_state->decoder_factory =
-          absl::make_unique<InternalDecoderFactory>();
+          std::make_unique<InternalDecoderFactory>();
     } else {
       // Replace decoder with file writer if we're writing the bitstream to a
       // file instead.
       stream_state->decoder_factory =
-          absl::make_unique<test::FunctionVideoDecoderFactory>([]() {
-            return absl::make_unique<DecoderBitstreamFileWriter>(
+          std::make_unique<test::FunctionVideoDecoderFactory>([]() {
+            return std::make_unique<DecoderBitstreamFileWriter>(
                 DecoderBitstreamFilename().c_str());
           });
     }
diff --git a/video/video_send_stream_impl_unittest.cc b/video/video_send_stream_impl_unittest.cc
index b56cf43..5c19a18 100644
--- a/video/video_send_stream_impl_unittest.cc
+++ b/video/video_send_stream_impl_unittest.cc
@@ -10,9 +10,9 @@
 
 #include "video/video_send_stream_impl.h"
 
+#include <memory>
 #include <string>
 
-#include "absl/memory/memory.h"
 #include "absl/types/optional.h"
 #include "api/rtc_event_log/rtc_event_log.h"
 #include "call/rtp_video_sender.h"
@@ -123,13 +123,13 @@
         .WillOnce(Return(123000));
     std::map<uint32_t, RtpState> suspended_ssrcs;
     std::map<uint32_t, RtpPayloadState> suspended_payload_states;
-    return absl::make_unique<VideoSendStreamImpl>(
+    return std::make_unique<VideoSendStreamImpl>(
         &clock_, &stats_proxy_, &test_queue_, &call_stats_,
         &transport_controller_, &bitrate_allocator_, &send_delay_stats_,
         &video_stream_encoder_, &event_log_, &config_,
         initial_encoder_max_bitrate, initial_encoder_bitrate_priority,
         suspended_ssrcs, suspended_payload_states, content_type,
-        absl::make_unique<FecControllerDefault>(&clock_),
+        std::make_unique<FecControllerDefault>(&clock_),
         /*media_transport=*/nullptr);
   }
 
diff --git a/video/video_send_stream_tests.cc b/video/video_send_stream_tests.cc
index f300038..ae56f9b 100644
--- a/video/video_send_stream_tests.cc
+++ b/video/video_send_stream_tests.cc
@@ -12,7 +12,6 @@
 #include <vector>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "api/task_queue/default_task_queue_factory.h"
 #include "api/test/simulated_network.h"
 #include "api/video/builtin_video_bitrate_allocator_factory.h"
@@ -229,7 +228,7 @@
    public:
     TransmissionTimeOffsetObserver()
         : SendTest(kDefaultTimeoutMs), encoder_factory_([]() {
-            return absl::make_unique<test::DelayedEncoder>(
+            return std::make_unique<test::DelayedEncoder>(
                 Clock::GetRealTimeClock(), kEncodeDelayMs);
           }) {
       EXPECT_TRUE(parser_->RegisterRtpHeaderExtension(
@@ -276,7 +275,7 @@
    public:
     TransportWideSequenceNumberObserver()
         : SendTest(kDefaultTimeoutMs), encoder_factory_([]() {
-            return absl::make_unique<test::FakeEncoder>(
+            return std::make_unique<test::FakeEncoder>(
                 Clock::GetRealTimeClock());
           }) {
       EXPECT_TRUE(parser_->RegisterRtpHeaderExtension(
@@ -567,9 +566,9 @@
     return new test::PacketTransport(
         task_queue, sender_call, this, test::PacketTransport::kSender,
         VideoSendStreamTest::payload_type_map_,
-        absl::make_unique<FakeNetworkPipe>(
+        std::make_unique<FakeNetworkPipe>(
             Clock::GetRealTimeClock(),
-            absl::make_unique<SimulatedNetwork>(config)));
+            std::make_unique<SimulatedNetwork>(config)));
   }
 
   void ModifyVideoConfigs(
@@ -652,7 +651,7 @@
 // that the received state is actually decodable.
 TEST_F(VideoSendStreamTest, DoesNotUtilizeUlpfecForH264WithNackEnabled) {
   test::FunctionVideoEncoderFactory encoder_factory([]() {
-    return absl::make_unique<test::FakeH264Encoder>(Clock::GetRealTimeClock());
+    return std::make_unique<test::FakeH264Encoder>(Clock::GetRealTimeClock());
   });
   UlpfecObserver test(false, true, false, false, "H264", &encoder_factory);
   RunBaseTest(&test);
@@ -661,7 +660,7 @@
 // Without retransmissions FEC for H264 is fine.
 TEST_F(VideoSendStreamTest, DoesUtilizeUlpfecForH264WithoutNackEnabled) {
   test::FunctionVideoEncoderFactory encoder_factory([]() {
-    return absl::make_unique<test::FakeH264Encoder>(Clock::GetRealTimeClock());
+    return std::make_unique<test::FakeH264Encoder>(Clock::GetRealTimeClock());
   });
   UlpfecObserver test(false, false, true, true, "H264", &encoder_factory);
   RunBaseTest(&test);
@@ -687,7 +686,7 @@
   std::unique_ptr<TaskQueueFactory> task_queue_factory =
       CreateDefaultTaskQueueFactory();
   test::FunctionVideoEncoderFactory encoder_factory([&]() {
-    return absl::make_unique<test::MultithreadedFakeH264Encoder>(
+    return std::make_unique<test::MultithreadedFakeH264Encoder>(
         Clock::GetRealTimeClock(), task_queue_factory.get());
   });
   UlpfecObserver test(false, false, true, true, "H264", &encoder_factory);
@@ -764,9 +763,9 @@
     return new test::PacketTransport(
         task_queue, sender_call, this, test::PacketTransport::kSender,
         VideoSendStreamTest::payload_type_map_,
-        absl::make_unique<FakeNetworkPipe>(
+        std::make_unique<FakeNetworkPipe>(
             Clock::GetRealTimeClock(),
-            absl::make_unique<SimulatedNetwork>(config)));
+            std::make_unique<SimulatedNetwork>(config)));
   }
 
   void ModifyVideoConfigs(
@@ -852,7 +851,7 @@
 
 TEST_F(VideoSendStreamTest, SupportsFlexfecH264) {
   test::FunctionVideoEncoderFactory encoder_factory([]() {
-    return absl::make_unique<test::FakeH264Encoder>(Clock::GetRealTimeClock());
+    return std::make_unique<test::FakeH264Encoder>(Clock::GetRealTimeClock());
   });
   FlexfecObserver test(false, false, "H264", &encoder_factory, 1);
   RunBaseTest(&test);
@@ -860,7 +859,7 @@
 
 TEST_F(VideoSendStreamTest, SupportsFlexfecWithNackH264) {
   test::FunctionVideoEncoderFactory encoder_factory([]() {
-    return absl::make_unique<test::FakeH264Encoder>(Clock::GetRealTimeClock());
+    return std::make_unique<test::FakeH264Encoder>(Clock::GetRealTimeClock());
   });
   FlexfecObserver test(false, true, "H264", &encoder_factory, 1);
   RunBaseTest(&test);
@@ -870,7 +869,7 @@
   std::unique_ptr<TaskQueueFactory> task_queue_factory =
       CreateDefaultTaskQueueFactory();
   test::FunctionVideoEncoderFactory encoder_factory([&]() {
-    return absl::make_unique<test::MultithreadedFakeH264Encoder>(
+    return std::make_unique<test::MultithreadedFakeH264Encoder>(
         Clock::GetRealTimeClock(), task_queue_factory.get());
   });
 
@@ -1543,9 +1542,9 @@
       return new test::PacketTransport(
           task_queue, sender_call, this, test::PacketTransport::kSender,
           payload_type_map_,
-          absl::make_unique<FakeNetworkPipe>(
+          std::make_unique<FakeNetworkPipe>(
               Clock::GetRealTimeClock(),
-              absl::make_unique<SimulatedNetwork>(config)));
+              std::make_unique<SimulatedNetwork>(config)));
     }
 
     void ModifyVideoConfigs(
diff --git a/video/video_stream_decoder_impl.cc b/video/video_stream_decoder_impl.cc
index 48733ec..0477be0 100644
--- a/video/video_stream_decoder_impl.cc
+++ b/video/video_stream_decoder_impl.cc
@@ -10,7 +10,8 @@
 
 #include "video/video_stream_decoder_impl.h"
 
-#include "absl/memory/memory.h"
+#include <memory>
+
 #include "api/task_queue/queued_task.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/numerics/mod_ops.h"
@@ -64,7 +65,7 @@
     };
 
     bookkeeping_queue_.PostTask(
-        absl::make_unique<OnFrameTask>(std::move(frame), this));
+        std::make_unique<OnFrameTask>(std::move(frame), this));
     return;
   }
 
diff --git a/video/video_stream_encoder.cc b/video/video_stream_encoder.cc
index 9257f93..5bdfa72 100644
--- a/video/video_stream_encoder.cc
+++ b/video/video_stream_encoder.cc
@@ -13,11 +13,11 @@
 #include <algorithm>
 #include <array>
 #include <limits>
+#include <memory>
 #include <numeric>
 #include <utility>
 
 #include "absl/algorithm/container.h"
-#include "absl/memory/memory.h"
 #include "api/video/encoded_image.h"
 #include "api/video/i420_buffer.h"
 #include "api/video/video_bitrate_allocator_factory.h"
@@ -938,7 +938,7 @@
 
   VideoEncoder::EncoderInfo info = encoder_->GetEncoderInfo();
   if (rate_control_settings_.UseEncoderBitrateAdjuster()) {
-    bitrate_adjuster_ = absl::make_unique<EncoderBitrateAdjuster>(codec);
+    bitrate_adjuster_ = std::make_unique<EncoderBitrateAdjuster>(codec);
     bitrate_adjuster_->OnEncoderInfo(info);
   }
 
@@ -989,10 +989,10 @@
         experimental_thresholds = QualityScalingExperiment::GetQpThresholds(
             encoder_config_.codec_type);
       }
-      // Since the interface is non-public, absl::make_unique can't do this
+      // Since the interface is non-public, std::make_unique can't do this
       // upcast.
       AdaptationObserverInterface* observer = this;
-      quality_scaler_ = absl::make_unique<QualityScaler>(
+      quality_scaler_ = std::make_unique<QualityScaler>(
           &encoder_queue_, observer,
           experimental_thresholds ? *experimental_thresholds
                                   : *(scaling_settings.thresholds));
@@ -1627,7 +1627,7 @@
 
     if (codec_specific_info && codec_specific_info->generic_frame_info) {
       codec_info_copy =
-          absl::make_unique<CodecSpecificInfo>(*codec_specific_info);
+          std::make_unique<CodecSpecificInfo>(*codec_specific_info);
       GenericFrameInfo& generic_info = *codec_info_copy->generic_frame_info;
       generic_info.frame_id = next_frame_id_++;