81 lines
3.5 KiB
Plaintext
81 lines
3.5 KiB
Plaintext
The WebRtc source is cloned from the repo:
|
|
https://webrtc.googlesource.com/src
|
|
dated Apr 21 2021
|
|
license: third_party/webrtc_aec3/LICENSE
|
|
|
|
The abseil's source in src/absl is not part of WebRtc and taken separately from:
|
|
https://github.com/abseil/abseil-cpp
|
|
dated Apr 20 2021
|
|
abseil's license: src/absl/LICENSE
|
|
|
|
src/third_party's source is obtained from:
|
|
* rnnoise
|
|
https://chromium.googlesource.com/chromium/src/+/HEAD/third_party/rnnoise
|
|
dated Apr 30 2021
|
|
license: src/third_party/rnnoise/COPYING
|
|
|
|
* pffft
|
|
https://bitbucket.org/jpommier/pffft/src/master/
|
|
dated Apr 30 2021
|
|
license: src/third_party/pffft/README.txt
|
|
|
|
Local changes:
|
|
1. Undeclared PR_SET_NAME on Android.
|
|
diff --git a/third_party/webrtc_aec3/src/rtc_base/platform_thread_types.cc b/third_party/webrtc_aec3/src/rtc_base/platform_thread_types.cc
|
|
index b0243b41d..fc7a09000 100644
|
|
--- a/third_party/webrtc_aec3/src/rtc_base/platform_thread_types.cc
|
|
+++ b/third_party/webrtc_aec3/src/rtc_base/platform_thread_types.cc
|
|
@@ -105,7 +105,7 @@ void SetCurrentThreadName(const char* name) {
|
|
} __except (EXCEPTION_EXECUTE_HANDLER) { // NOLINT
|
|
}
|
|
#pragma warning(pop)
|
|
-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_ANDROID)
|
|
+#elif defined(WEBRTC_LINUX) // || defined(WEBRTC_ANDROID)
|
|
prctl(PR_SET_NAME, reinterpret_cast<unsigned long>(name)); // NOLINT
|
|
#elif defined(WEBRTC_MAC) || defined(WEBRTC_IOS)
|
|
pthread_setname_np(name);
|
|
|
|
2. Error: 'unique_ptr' is not a member of 'std' on Linux.
|
|
diff --git a/third_party/webrtc_aec3/src/modules/audio_processing/aec3/reverb_model_estimator.h b/third_party/webrtc_aec3/src/modules/audio_processing/aec3/reverb_model_estimator.h
|
|
index 3b9971aba..e4e954067 100644
|
|
--- a/third_party/webrtc_aec3/src/modules/audio_processing/aec3/reverb_model_estimator.h
|
|
+++ b/third_party/webrtc_aec3/src/modules/audio_processing/aec3/reverb_model_estimator.h
|
|
@@ -12,6 +12,7 @@
|
|
#define MODULES_AUDIO_PROCESSING_AEC3_REVERB_MODEL_ESTIMATOR_H_
|
|
|
|
#include <array>
|
|
+#include <memory>
|
|
#include <vector>
|
|
|
|
3. Visual Studio will choose one implementation from the source code with the same file name.
|
|
Rename these files:
|
|
- third_party/webrtc_aec3/src/common_audio/signal_processing/{splitting_filter.c => splitting_filter2.c}
|
|
- third_party/webrtc_aec3/src/modules/audio_processing/agc2/rnn_vad/{vector_math_avx2.cc => rnn_vector_math_avx2.cc}
|
|
- third_party/webrtc_aec3/src/system_wrappers/source/{cpu_features.cc => cpu_features2.cc}
|
|
|
|
4. error C2011: 'sockaddr': 'struct' type redefinition
|
|
diff --git a/third_party/webrtc_aec3/src/rtc_base/logging.cc b/third_party/webrtc_aec3/src/rtc_base/logging.cc
|
|
index a333d8397..e0e669b5e 100644
|
|
--- a/third_party/webrtc_aec3/src/rtc_base/logging.cc
|
|
+++ b/third_party/webrtc_aec3/src/rtc_base/logging.cc
|
|
@@ -15,6 +15,7 @@
|
|
#if RTC_LOG_ENABLED()
|
|
|
|
#if defined(WEBRTC_WIN)
|
|
+#include <winsock2.h>
|
|
|
|
5. ARM64 support build for Visual Studio.
|
|
diff --git a/third_party/webrtc_aec3/src/third_party/pffft/src/pffft.c b/third_party/webrtc_aec3/src/third_party/pffft/src/pffft.c
|
|
index d76d35167..2d8b1037f 100644
|
|
--- a/third_party/webrtc_aec3/src/third_party/pffft/src/pffft.c
|
|
+++ b/third_party/webrtc_aec3/src/third_party/pffft/src/pffft.c
|
|
@@ -148,7 +148,7 @@ typedef __m128 v4sf;
|
|
/*
|
|
ARM NEON support macros
|
|
*/
|
|
-#elif !defined(PFFFT_SIMD_DISABLE) && (defined(__arm__) || defined(__aarch64__) || defined(__arm64__))
|
|
+#elif !defined(PFFFT_SIMD_DISABLE) && (defined(__arm__) || defined(__aarch64__) || defined(__arm64__) || defined(_M_ARM64))
|
|
# include <arm_neon.h>
|
|
typedef float32x4_t v4sf;
|
|
# define SIMD_SZ 4
|