pjsip-pjproject/third_party/webrtc_aec3/PJSIP_NOTES

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