Update IWYU mappings with a few more lines.

Also run IWYU on a file picked for testing and check in the result.

Bug: none
Change-Id: Ide36bc59d126064f2bab7af441f72a6e8477c848
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280601
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38481}
diff --git a/media/BUILD.gn b/media/BUILD.gn
index 4433f44..a607563 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -264,6 +264,7 @@
   libs = []
   deps = [
     ":rtc_media_base",
+    "../api:array_view",
     "../api:call_api",
     "../api:field_trials_view",
     "../api:libjingle_peerconnection_api",
diff --git a/media/engine/webrtc_media_engine.cc b/media/engine/webrtc_media_engine.cc
index d0d6de2..514e228 100644
--- a/media/engine/webrtc_media_engine.cc
+++ b/media/engine/webrtc_media_engine.cc
@@ -10,13 +10,19 @@
 
 #include "media/engine/webrtc_media_engine.h"
 
+#include <algorithm>
 #include <map>
 #include <memory>
+#include <string>
 #include <utility>
 
 #include "absl/algorithm/container.h"
 #include "absl/strings/match.h"
+#include "api/transport/field_trial_based_config.h"
+#include "media/base/media_constants.h"
 #include "media/engine/webrtc_voice_engine.h"
+#include "rtc_base/checks.h"
+#include "rtc_base/logging.h"
 
 #ifdef HAVE_WEBRTC_VIDEO
 #include "media/engine/webrtc_video_engine.h"
diff --git a/media/engine/webrtc_media_engine.h b/media/engine/webrtc_media_engine.h
index 27d6f34..e65824b 100644
--- a/media/engine/webrtc_media_engine.h
+++ b/media/engine/webrtc_media_engine.h
@@ -12,18 +12,19 @@
 #define MEDIA_ENGINE_WEBRTC_MEDIA_ENGINE_H_
 
 #include <memory>
-#include <string>
 #include <vector>
 
+#include "absl/strings/string_view.h"
+#include "api/array_view.h"
 #include "api/audio/audio_frame_processor.h"
 #include "api/audio/audio_mixer.h"
 #include "api/audio_codecs/audio_decoder_factory.h"
 #include "api/audio_codecs/audio_encoder_factory.h"
 #include "api/field_trials_view.h"
 #include "api/rtp_parameters.h"
+#include "api/scoped_refptr.h"
 #include "api/task_queue/task_queue_factory.h"
 #include "api/transport/bitrate_settings.h"
-#include "api/transport/field_trial_based_config.h"
 #include "api/video_codecs/video_decoder_factory.h"
 #include "api/video_codecs/video_encoder_factory.h"
 #include "media/base/codec.h"
diff --git a/tools_webrtc/iwyu/mappings.imp b/tools_webrtc/iwyu/mappings.imp
index 9e1855a..fa111fa 100644
--- a/tools_webrtc/iwyu/mappings.imp
+++ b/tools_webrtc/iwyu/mappings.imp
@@ -32,4 +32,11 @@
 { symbol: ["std::unique_ptr", "public", "<memory>", "public"] },
 # Needed to avoid <iosfwd>
 { symbol: ["std::ostringstream", "public", "<sstream>", "public"] },
+# Needed for unknown reasons
+{ include: ['<__algorithm/equal.h>', "private", '<algorithm>', "public"] },
+{ include: ['<__algorithm/unique.h>', "private", '<algorithm>', "public"] },
+{ include: ['<__type_traits/remove_reference.h>', "private", '<type_traits>', "public"] },
+{ include: ['<__functional/function.h>', "private", '<functional>', "public"] },
+{ include: ['<__utility/pair.h>', "private", '<utility>', "public"] },
 ]
+