IWYU common_audio

et al followed by
  find common_audio/ -name "*.h" -o -name "*.cc" | xargs tools_webrtc/iwyu/apply-include-cleaner
followed by
    tools_webrtc/gn_check_autofix.py -C out/Default/
and
  git cl format

C style headers were replaced with their C++ equivalents where they
showed up in the diff.

Bug: webrtc:42226242
Change-Id: Ic3f87925c93141c72dc8ce2ed7cf673dfd74851a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/397062
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Per Ã…hgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#45135}
diff --git a/common_audio/BUILD.gn b/common_audio/BUILD.gn
index c5459b2..6ddf551 100644
--- a/common_audio/BUILD.gn
+++ b/common_audio/BUILD.gn
@@ -58,6 +58,7 @@
     "../rtc_base/system:arch",
     "../rtc_base/system:file_wrapper",
     "third_party/ooura:fft_size_256",
+    "//third_party/abseil-cpp/absl/strings:string_view",
   ]
 
   defines = []
@@ -373,6 +374,7 @@
       ":fir_filter_factory",
       ":sinc_resampler",
       "../api/audio:audio_frame_api",
+      "../api/units:time_delta",
       "../rtc_base:checks",
       "../rtc_base:cpu_info",
       "../rtc_base:logging",
diff --git a/common_audio/audio_converter.cc b/common_audio/audio_converter.cc
index 485ec80..c5d2b5e 100644
--- a/common_audio/audio_converter.cc
+++ b/common_audio/audio_converter.cc
@@ -18,7 +18,6 @@
 #include "common_audio/channel_buffer.h"
 #include "common_audio/resampler/push_sinc_resampler.h"
 #include "rtc_base/checks.h"
-#include "rtc_base/numerics/safe_conversions.h"
 
 namespace webrtc {
 
diff --git a/common_audio/audio_util.cc b/common_audio/audio_util.cc
index b1e4d9a..417ef97 100644
--- a/common_audio/audio_util.cc
+++ b/common_audio/audio_util.cc
@@ -10,6 +10,9 @@
 
 #include "common_audio/include/audio_util.h"
 
+#include <cstddef>
+#include <cstdint>
+
 namespace webrtc {
 
 void FloatToS16(const float* src, size_t size, int16_t* dest) {
diff --git a/common_audio/channel_buffer.cc b/common_audio/channel_buffer.cc
index b9b8c25..83e807a 100644
--- a/common_audio/channel_buffer.cc
+++ b/common_audio/channel_buffer.cc
@@ -10,6 +10,7 @@
 
 #include "common_audio/channel_buffer.h"
 
+#include <cstddef>
 #include <cstdint>
 
 #include "common_audio/include/audio_util.h"
diff --git a/common_audio/channel_buffer.h b/common_audio/channel_buffer.h
index efe761c..7d040e5 100644
--- a/common_audio/channel_buffer.h
+++ b/common_audio/channel_buffer.h
@@ -11,15 +11,14 @@
 #ifndef COMMON_AUDIO_CHANNEL_BUFFER_H_
 #define COMMON_AUDIO_CHANNEL_BUFFER_H_
 
-#include <string.h>
-
+#include <cstdint>
+#include <cstring>
 #include <memory>
 #include <vector>
 
 #include "api/array_view.h"
-#include "common_audio/include/audio_util.h"
+#include "api/audio/audio_view.h"
 #include "rtc_base/checks.h"
-#include "rtc_base/gtest_prod_util.h"
 
 namespace webrtc {
 
diff --git a/common_audio/channel_buffer_unittest.cc b/common_audio/channel_buffer_unittest.cc
index 5a0708d..9c4b52f 100644
--- a/common_audio/channel_buffer_unittest.cc
+++ b/common_audio/channel_buffer_unittest.cc
@@ -10,6 +10,9 @@
 
 #include "common_audio/channel_buffer.h"
 
+#include <cstddef>
+
+#include "rtc_base/checks.h"
 #include "test/gtest.h"
 #include "test/testsupport/rtc_expect_death.h"
 
diff --git a/common_audio/fir_filter_factory.cc b/common_audio/fir_filter_factory.cc
index fdf758e..a41b3cf 100644
--- a/common_audio/fir_filter_factory.cc
+++ b/common_audio/fir_filter_factory.cc
@@ -10,6 +10,8 @@
 
 #include "common_audio/fir_filter_factory.h"
 
+#include <cstddef>
+
 #include "common_audio/fir_filter_c.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/cpu_info.h"
diff --git a/common_audio/mocks/mock_smoothing_filter.h b/common_audio/mocks/mock_smoothing_filter.h
index 0296659..3ac9367 100644
--- a/common_audio/mocks/mock_smoothing_filter.h
+++ b/common_audio/mocks/mock_smoothing_filter.h
@@ -11,6 +11,8 @@
 #ifndef COMMON_AUDIO_MOCKS_MOCK_SMOOTHING_FILTER_H_
 #define COMMON_AUDIO_MOCKS_MOCK_SMOOTHING_FILTER_H_
 
+#include <optional>
+
 #include "common_audio/smoothing_filter.h"
 #include "test/gmock.h"
 
diff --git a/common_audio/real_fourier.cc b/common_audio/real_fourier.cc
index 7365844..850d9f2 100644
--- a/common_audio/real_fourier.cc
+++ b/common_audio/real_fourier.cc
@@ -10,9 +10,16 @@
 
 #include "common_audio/real_fourier.h"
 
+#include <complex>
+#include <cstddef>
+#include <cstdint>
+#include <memory>
+
 #include "common_audio/real_fourier_ooura.h"
-#include "common_audio/signal_processing/include/signal_processing_library.h"
+#include "common_audio/signal_processing/include/signal_processing_library.h"  // IWYU pragma: keep
+#include "common_audio/signal_processing/include/spl_inl.h"
 #include "rtc_base/checks.h"
+#include "rtc_base/memory/aligned_malloc.h"
 
 namespace webrtc {
 
diff --git a/common_audio/real_fourier_ooura.cc b/common_audio/real_fourier_ooura.cc
index 9acda54..21c0242 100644
--- a/common_audio/real_fourier_ooura.cc
+++ b/common_audio/real_fourier_ooura.cc
@@ -12,6 +12,8 @@
 
 #include <algorithm>
 #include <cmath>
+#include <complex>
+#include <cstddef>
 
 #include "common_audio/third_party/ooura/fft_size_256/fft4g.h"
 #include "rtc_base/checks.h"
diff --git a/common_audio/real_fourier_unittest.cc b/common_audio/real_fourier_unittest.cc
index 3f3a2eb..0bf80e3 100644
--- a/common_audio/real_fourier_unittest.cc
+++ b/common_audio/real_fourier_unittest.cc
@@ -10,7 +10,9 @@
 
 #include "common_audio/real_fourier.h"
 
-#include <stdlib.h>
+#include <complex>
+#include <cstdint>
+#include <cstdlib>
 
 #include "common_audio/real_fourier_ooura.h"
 #include "test/gtest.h"
diff --git a/common_audio/resampler/push_resampler_unittest.cc b/common_audio/resampler/push_resampler_unittest.cc
index 4fba2f4..f0d0d6c 100644
--- a/common_audio/resampler/push_resampler_unittest.cc
+++ b/common_audio/resampler/push_resampler_unittest.cc
@@ -10,6 +10,8 @@
 
 #include "common_audio/resampler/include/push_resampler.h"
 
+#include <cstdint>
+
 #include "rtc_base/checks.h"  // RTC_DCHECK_IS_ON
 #include "test/gtest.h"
 #include "test/testsupport/rtc_expect_death.h"
diff --git a/common_audio/resampler/push_sinc_resampler.cc b/common_audio/resampler/push_sinc_resampler.cc
index 75bf33a..b1932a6 100644
--- a/common_audio/resampler/push_sinc_resampler.cc
+++ b/common_audio/resampler/push_sinc_resampler.cc
@@ -10,9 +10,11 @@
 
 #include "common_audio/resampler/push_sinc_resampler.h"
 
+#include <cstdint>
 #include <cstring>
 
 #include "common_audio/include/audio_util.h"
+#include "common_audio/resampler/sinc_resampler.h"
 #include "rtc_base/checks.h"
 
 namespace webrtc {
diff --git a/common_audio/resampler/push_sinc_resampler_unittest.cc b/common_audio/resampler/push_sinc_resampler_unittest.cc
index 30ebfb2..2b3a104 100644
--- a/common_audio/resampler/push_sinc_resampler_unittest.cc
+++ b/common_audio/resampler/push_sinc_resampler_unittest.cc
@@ -12,13 +12,16 @@
 
 #include <algorithm>
 #include <cmath>
+#include <cstdint>
+#include <cstdio>
 #include <cstring>
 #include <memory>
+#include <tuple>
 
 #include "common_audio/include/audio_util.h"
+#include "common_audio/resampler/sinc_resampler.h"
 #include "common_audio/resampler/sinusoidal_linear_chirp_source.h"
 #include "rtc_base/time_utils.h"
-#include "test/gmock.h"
 #include "test/gtest.h"
 
 namespace webrtc {
diff --git a/common_audio/resampler/resampler_unittest.cc b/common_audio/resampler/resampler_unittest.cc
index 5a919c0..428fb65 100644
--- a/common_audio/resampler/resampler_unittest.cc
+++ b/common_audio/resampler/resampler_unittest.cc
@@ -11,6 +11,9 @@
 #include "common_audio/resampler/include/resampler.h"
 
 #include <array>
+#include <cstddef>
+#include <cstdint>
+#include <cstring>
 
 #include "rtc_base/strings/string_builder.h"
 #include "test/gtest.h"
diff --git a/common_audio/resampler/sinusoidal_linear_chirp_source.h b/common_audio/resampler/sinusoidal_linear_chirp_source.h
index ccd11bb..496ffd5 100644
--- a/common_audio/resampler/sinusoidal_linear_chirp_source.h
+++ b/common_audio/resampler/sinusoidal_linear_chirp_source.h
@@ -14,6 +14,8 @@
 #ifndef COMMON_AUDIO_RESAMPLER_SINUSOIDAL_LINEAR_CHIRP_SOURCE_H_
 #define COMMON_AUDIO_RESAMPLER_SINUSOIDAL_LINEAR_CHIRP_SOURCE_H_
 
+#include <cstddef>
+
 #include "common_audio/resampler/sinc_resampler.h"
 
 namespace webrtc {
diff --git a/common_audio/ring_buffer_unittest.cc b/common_audio/ring_buffer_unittest.cc
index 0ead7e7..c010234 100644
--- a/common_audio/ring_buffer_unittest.cc
+++ b/common_audio/ring_buffer_unittest.cc
@@ -14,6 +14,7 @@
 #include <time.h>
 
 #include <algorithm>
+#include <cstdio>
 #include <memory>
 
 #include "test/gtest.h"
diff --git a/common_audio/signal_processing/dot_product_with_scale.cc b/common_audio/signal_processing/dot_product_with_scale.cc
index 56e0bcd..0bbf753 100644
--- a/common_audio/signal_processing/dot_product_with_scale.cc
+++ b/common_audio/signal_processing/dot_product_with_scale.cc
@@ -10,6 +10,9 @@
 
 #include "common_audio/signal_processing/dot_product_with_scale.h"
 
+#include <cstddef>
+#include <cstdint>
+
 #include "rtc_base/numerics/safe_conversions.h"
 
 int32_t WebRtcSpl_DotProductWithScale(const int16_t* vector1,
diff --git a/common_audio/signal_processing/include/signal_processing_library.h b/common_audio/signal_processing/include/signal_processing_library.h
index 72c5fc4..18a10d4 100644
--- a/common_audio/signal_processing/include/signal_processing_library.h
+++ b/common_audio/signal_processing/include/signal_processing_library.h
@@ -17,10 +17,9 @@
 #ifndef COMMON_AUDIO_SIGNAL_PROCESSING_INCLUDE_SIGNAL_PROCESSING_LIBRARY_H_
 #define COMMON_AUDIO_SIGNAL_PROCESSING_INCLUDE_SIGNAL_PROCESSING_LIBRARY_H_
 
+#include <stdint.h>
 #include <string.h>
 
-#include "common_audio/signal_processing/dot_product_with_scale.h"
-
 // Macros specific for the fixed point implementation
 #define WEBRTC_SPL_WORD16_MAX 32767
 #define WEBRTC_SPL_WORD16_MIN -32768
@@ -95,7 +94,7 @@
   memcpy(v1, v2, (length) * sizeof(int16_t))
 
 // inline functions:
-#include "common_audio/signal_processing/include/spl_inl.h"
+#include "common_audio/signal_processing/include/spl_inl.h"  // IWYU pragma: keep
 
 // third party math functions
 #include "common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.h"
diff --git a/common_audio/signal_processing/real_fft_unittest.cc b/common_audio/signal_processing/real_fft_unittest.cc
index 4162e15..ea766ca 100644
--- a/common_audio/signal_processing/real_fft_unittest.cc
+++ b/common_audio/signal_processing/real_fft_unittest.cc
@@ -10,6 +10,10 @@
 
 #include "common_audio/signal_processing/include/real_fft.h"
 
+#include <cstdint>
+#include <cstdlib>
+#include <cstring>
+
 #include "common_audio/signal_processing/include/signal_processing_library.h"
 #include "test/gtest.h"
 
diff --git a/common_audio/smoothing_filter.cc b/common_audio/smoothing_filter.cc
index 624182f..0cdd127 100644
--- a/common_audio/smoothing_filter.cc
+++ b/common_audio/smoothing_filter.cc
@@ -13,6 +13,8 @@
 #include <math.h>
 
 #include <cmath>
+#include <cstdint>
+#include <optional>
 
 #include "rtc_base/checks.h"
 #include "rtc_base/time_utils.h"
diff --git a/common_audio/smoothing_filter_unittest.cc b/common_audio/smoothing_filter_unittest.cc
index 01bfa56..bc0f9e6 100644
--- a/common_audio/smoothing_filter_unittest.cc
+++ b/common_audio/smoothing_filter_unittest.cc
@@ -11,8 +11,9 @@
 #include "common_audio/smoothing_filter.h"
 
 #include <cmath>
-#include <memory>
+#include <cstdint>
 
+#include "api/units/time_delta.h"
 #include "rtc_base/fake_clock.h"
 #include "test/gtest.h"
 
diff --git a/common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_common.h b/common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_common.h
index 6db1dd9..d0c34fd 100644
--- a/common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_common.h
+++ b/common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_common.h
@@ -11,7 +11,7 @@
 #ifndef MODULES_AUDIO_PROCESSING_UTILITY_OOURA_FFT_TABLES_COMMON_H_
 #define MODULES_AUDIO_PROCESSING_UTILITY_OOURA_FFT_TABLES_COMMON_H_
 
-#include "common_audio/third_party/ooura/fft_size_128/ooura_fft.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft.h" // IWYU pragma: keep
 
 namespace webrtc {
 
diff --git a/common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_neon_sse2.h b/common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_neon_sse2.h
index a63d187..5dd1178 100644
--- a/common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_neon_sse2.h
+++ b/common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_neon_sse2.h
@@ -11,7 +11,7 @@
 #ifndef MODULES_AUDIO_PROCESSING_UTILITY_OOURA_FFT_TABLES_NEON_SSE2_H_
 #define MODULES_AUDIO_PROCESSING_UTILITY_OOURA_FFT_TABLES_NEON_SSE2_H_
 
-#include "common_audio/third_party/ooura/fft_size_128/ooura_fft.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft.h" // IWYU pragma: keep
 #include "rtc_base/system/arch.h"
 
 #ifdef _MSC_VER /* visual c++ */
diff --git a/common_audio/vad/include/vad.h b/common_audio/vad/include/vad.h
index b15275b..c34c5bd 100644
--- a/common_audio/vad/include/vad.h
+++ b/common_audio/vad/include/vad.h
@@ -11,10 +11,10 @@
 #ifndef COMMON_AUDIO_VAD_INCLUDE_VAD_H_
 #define COMMON_AUDIO_VAD_INCLUDE_VAD_H_
 
+#include <cstddef>
+#include <cstdint>
 #include <memory>
 
-#include "common_audio/vad/include/webrtc_vad.h"
-#include "rtc_base/checks.h"
 
 namespace webrtc {
 
diff --git a/common_audio/vad/mock/mock_vad.h b/common_audio/vad/mock/mock_vad.h
index 5a554ce..9e8ed2a 100644
--- a/common_audio/vad/mock/mock_vad.h
+++ b/common_audio/vad/mock/mock_vad.h
@@ -11,6 +11,9 @@
 #ifndef COMMON_AUDIO_VAD_MOCK_MOCK_VAD_H_
 #define COMMON_AUDIO_VAD_MOCK_MOCK_VAD_H_
 
+#include <cstddef>
+#include <cstdint>
+
 #include "common_audio/vad/include/vad.h"
 #include "test/gmock.h"
 
diff --git a/common_audio/vad/vad.cc b/common_audio/vad/vad.cc
index 1647246..619b801 100644
--- a/common_audio/vad/vad.cc
+++ b/common_audio/vad/vad.cc
@@ -10,6 +10,8 @@
 
 #include "common_audio/vad/include/vad.h"
 
+#include <cstddef>
+#include <cstdint>
 #include <memory>
 
 #include "common_audio/vad/include/webrtc_vad.h"
diff --git a/common_audio/vad/vad_core.h b/common_audio/vad/vad_core.h
index fbaf970..7f60cf2 100644
--- a/common_audio/vad/vad_core.h
+++ b/common_audio/vad/vad_core.h
@@ -15,6 +15,9 @@
 #ifndef COMMON_AUDIO_VAD_VAD_CORE_H_
 #define COMMON_AUDIO_VAD_VAD_CORE_H_
 
+#include <stddef.h>
+#include <stdint.h>
+
 #include "common_audio/signal_processing/include/signal_processing_library.h"
 
 // TODO(https://bugs.webrtc.org/14476): When converted to C++, remove the macro.
diff --git a/common_audio/vad/vad_core_unittest.cc b/common_audio/vad/vad_core_unittest.cc
index 186ffa5..e23f44b9 100644
--- a/common_audio/vad/vad_core_unittest.cc
+++ b/common_audio/vad/vad_core_unittest.cc
@@ -10,6 +10,9 @@
 
 #include <stdlib.h>
 
+#include <cstdint>
+#include <cstring>
+
 #include "common_audio/vad/vad_unittest.h"
 #include "test/gtest.h"
 
diff --git a/common_audio/vad/vad_filterbank.h b/common_audio/vad/vad_filterbank.h
index 205eac8..d3217a8 100644
--- a/common_audio/vad/vad_filterbank.h
+++ b/common_audio/vad/vad_filterbank.h
@@ -15,6 +15,9 @@
 #ifndef COMMON_AUDIO_VAD_VAD_FILTERBANK_H_
 #define COMMON_AUDIO_VAD_VAD_FILTERBANK_H_
 
+#include <stddef.h>
+#include <stdint.h>
+
 #include "common_audio/vad/vad_core.h"
 
 // Takes `data_length` samples of `data_in` and calculates the logarithm of the
diff --git a/common_audio/vad/vad_filterbank_unittest.cc b/common_audio/vad/vad_filterbank_unittest.cc
index 18e9f70..f8e2fa2 100644
--- a/common_audio/vad/vad_filterbank_unittest.cc
+++ b/common_audio/vad/vad_filterbank_unittest.cc
@@ -8,7 +8,9 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include <stdlib.h>
+#include <cstdint>
+#include <cstdlib>
+#include <cstring>
 
 #include "common_audio/vad/vad_unittest.h"
 #include "test/gtest.h"
diff --git a/common_audio/vad/vad_gmm_unittest.cc b/common_audio/vad/vad_gmm_unittest.cc
index f203cf2..e881f6e 100644
--- a/common_audio/vad/vad_gmm_unittest.cc
+++ b/common_audio/vad/vad_gmm_unittest.cc
@@ -8,6 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include <cstdint>
+
 #include "common_audio/vad/vad_unittest.h"
 #include "test/gtest.h"
 
diff --git a/common_audio/vad/vad_sp.h b/common_audio/vad/vad_sp.h
index 89138c5..96dde69 100644
--- a/common_audio/vad/vad_sp.h
+++ b/common_audio/vad/vad_sp.h
@@ -13,6 +13,9 @@
 #ifndef COMMON_AUDIO_VAD_VAD_SP_H_
 #define COMMON_AUDIO_VAD_VAD_SP_H_
 
+#include <stddef.h>
+#include <stdint.h>
+
 #include "common_audio/vad/vad_core.h"
 
 // Downsamples the signal by a factor 2, eg. 32->16 or 16->8.
diff --git a/common_audio/vad/vad_sp_unittest.cc b/common_audio/vad/vad_sp_unittest.cc
index bf208af..8ffe349 100644
--- a/common_audio/vad/vad_sp_unittest.cc
+++ b/common_audio/vad/vad_sp_unittest.cc
@@ -8,7 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include <stdlib.h>
+#include <cstdint>
+#include <cstdlib>
 
 #include "common_audio/vad/vad_unittest.h"
 #include "test/gtest.h"
diff --git a/common_audio/wav_file.cc b/common_audio/wav_file.cc
index 127c9c0..769d948 100644
--- a/common_audio/wav_file.cc
+++ b/common_audio/wav_file.cc
@@ -10,17 +10,19 @@
 
 #include "common_audio/wav_file.h"
 
-#include <errno.h>
-
 #include <algorithm>
 #include <array>
+#include <cstdint>
 #include <cstdio>
 #include <type_traits>
 #include <utility>
 
+#include "absl/strings/string_view.h"
 #include "common_audio/include/audio_util.h"
+#include "common_audio/wav_header.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/system/arch.h"
+#include "rtc_base/system/file_wrapper.h"
 
 namespace webrtc {
 namespace {
diff --git a/common_audio/wav_file.h b/common_audio/wav_file.h
index 72a4db7..eb43837 100644
--- a/common_audio/wav_file.h
+++ b/common_audio/wav_file.h
@@ -11,11 +11,10 @@
 #ifndef COMMON_AUDIO_WAV_FILE_H_
 #define COMMON_AUDIO_WAV_FILE_H_
 
-#include <stdint.h>
-
 #include <cstddef>
-#include <string>
+#include <cstdint>
 
+#include "absl/strings/string_view.h"
 #include "common_audio/wav_header.h"
 #include "rtc_base/system/file_wrapper.h"
 
diff --git a/common_audio/wav_header.cc b/common_audio/wav_header.cc
index 467dcc7..20e3048 100644
--- a/common_audio/wav_header.cc
+++ b/common_audio/wav_header.cc
@@ -14,6 +14,7 @@
 
 #include "common_audio/wav_header.h"
 
+#include <cstdint>
 #include <cstring>
 #include <limits>
 #include <string>
diff --git a/common_audio/wav_header_unittest.cc b/common_audio/wav_header_unittest.cc
index 95721da..9e0b8ae 100644
--- a/common_audio/wav_header_unittest.cc
+++ b/common_audio/wav_header_unittest.cc
@@ -10,8 +10,8 @@
 
 #include "common_audio/wav_header.h"
 
-#include <string.h>
-
+#include <cstdint>
+#include <cstring>
 #include <limits>
 
 #include "test/gtest.h"