diff --git a/CMakeLists.txt b/CMakeLists.txt index 23802db1a9..55281e0e71 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,7 @@ include(cmake/force_include.cmake) include(cmake/init_target.cmake) include(cmake/generate_target.cmake) include(cmake/nice_target_sources.cmake) +include(cmake/external/qt/package.cmake) add_subdirectory(cmake) add_subdirectory(Telegram) diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt index 440c7fec9d..cab0883030 100644 --- a/Telegram/CMakeLists.txt +++ b/Telegram/CMakeLists.txt @@ -6,15 +6,24 @@ add_subdirectory(lib_crl) add_subdirectory(lib_base) add_subdirectory(lib_ui) add_subdirectory(lib_tl) +add_subdirectory(lib_spellcheck) +add_subdirectory(lib_lottie) +add_subdirectory(lib_rlottie) add_subdirectory(codegen) include(lib_ui/cmake/generate_styles.cmake) -include(cmake/generate_scheme.cmake) include(cmake/generate_lang.cmake) include(cmake/generate_numbers.cmake) -get_filename_component(src_loc "./SourceFiles" REALPATH) -get_filename_component(res_loc "./Resources" REALPATH) +get_filename_component(src_loc SourceFiles REALPATH) +get_filename_component(res_loc Resources REALPATH) + +include(cmake/lib_export.cmake) +include(cmake/lib_ffmpeg.cmake) +include(cmake/lib_lz4.cmake) +include(cmake/lib_mtproto.cmake) +include(cmake/lib_scheme.cmake) +include(cmake/lib_tgvoip.cmake) set(style_files boxes/boxes.style @@ -41,16 +50,23 @@ set(dependent_style_files ${submodules_loc}/lib_ui/ui/widgets/widgets.style ) -set(scheme_files - ${res_loc}/tl/mtproto.tl - ${res_loc}/tl/api.tl -) - -generate_scheme(Telegram ${src_loc}/codegen/scheme/codegen_scheme.py "${scheme_files}") generate_styles(Telegram ${src_loc} "${style_files}" "${dependent_style_files}") generate_lang(Telegram ${res_loc}/langs/lang.strings) generate_numbers(Telegram ${res_loc}/numbers.txt) +target_link_libraries(Telegram +PRIVATE + lib_base + lib_ui + lib_tl + lib_spellcheck + lib_lottie + lib_scheme + lib_export + lib_ffmpeg + lib_tgvoip +) + set(telegram_sources PRIVATE api/api_common.h @@ -914,17 +930,16 @@ force_include(Telegram stdafx.h) target_include_directories(Telegram PRIVATE ${src_loc} + ${libs_loc}/zlib + ${libs_loc}/lzma/C + ${libs_loc}/openal-soft/include + ${third_party_loc}/minizip ) target_compile_definitions(Telegram PRIVATE TDESKTOP_API_ID=17349 TDESKTOP_API_HASH=344583e45741c457fe1862106095a5eb -) - -target_link_libraries(Telegram -PRIVATE - lib_base - lib_ui - lib_tl + AL_LIBTYPE_STATIC + AL_ALEXT_PROTOTYPES ) diff --git a/Telegram/cmake/lib_export.cmake b/Telegram/cmake/lib_export.cmake new file mode 100644 index 0000000000..293043392d --- /dev/null +++ b/Telegram/cmake/lib_export.cmake @@ -0,0 +1,41 @@ +add_library(lib_export OBJECT) +init_target(lib_export) + +set(lib_export_sources +PRIVATE + export/export_api_wrap.cpp + export/export_api_wrap.h + export/export_controller.cpp + export/export_controller.h + export/export_settings.cpp + export/export_settings.h + export/data/export_data_types.cpp + export/data/export_data_types.h + export/output/export_output_abstract.cpp + export/output/export_output_abstract.h + export/output/export_output_file.cpp + export/output/export_output_file.h + export/output/export_output_html.cpp + export/output/export_output_html.h + export/output/export_output_json.cpp + export/output/export_output_json.h + export/output/export_output_result.h + export/output/export_output_stats.cpp + export/output/export_output_stats.h + export/output/export_output_text.cpp + export/output/export_output_text.h +) +nice_target_sources(lib_export ${src_loc} "${lib_export_sources}") + +force_include(lib_export export/export_pch.h) + +target_include_directories(lib_export +PUBLIC + ${src_loc} +) + +target_link_libraries(lib_export +PUBLIC + lib_base + lib_scheme +) diff --git a/Telegram/cmake/lib_ffmpeg.cmake b/Telegram/cmake/lib_ffmpeg.cmake new file mode 100644 index 0000000000..0f38075bb2 --- /dev/null +++ b/Telegram/cmake/lib_ffmpeg.cmake @@ -0,0 +1,20 @@ +add_library(lib_ffmpeg OBJECT) +init_target(lib_ffmpeg) + +set(lib_ffmpeg_sources +PRIVATE + ffmpeg/ffmpeg_utility.cpp + ffmpeg/ffmpeg_utility.h +) +nice_target_sources(lib_ffmpeg ${src_loc} "${lib_ffmpeg_sources}") + +target_include_directories(lib_ffmpeg +PUBLIC + ${src_loc} + ${libs_loc}/ffmpeg +) + +target_link_libraries(lib_ffmpeg +PUBLIC + lib_base +) diff --git a/Telegram/cmake/lib_lz4.cmake b/Telegram/cmake/lib_lz4.cmake new file mode 100644 index 0000000000..373c8366ac --- /dev/null +++ b/Telegram/cmake/lib_lz4.cmake @@ -0,0 +1,22 @@ +add_library(lib_lz4 OBJECT) +init_target(lib_lz4) + +set(lz4_loc ${third_party_loc}/lz4/lib) + +target_sources(lib_lz4 +PRIVATE + ${lz4_loc}/lz4.c + ${lz4_loc}/lz4.h + ${lz4_loc}/lz4frame.c + ${lz4_loc}/lz4frame.h + ${lz4_loc}/lz4frame_static.h + ${lz4_loc}/lz4hc.c + ${lz4_loc}/lz4hc.h + ${lz4_loc}/xxhash.c + ${lz4_loc}/xxhash.h +) + +target_include_directories(lib_lz4 +PUBLIC + ${lz4_loc} +) diff --git a/Telegram/cmake/lib_mtproto.cmake b/Telegram/cmake/lib_mtproto.cmake new file mode 100644 index 0000000000..74878a42fa --- /dev/null +++ b/Telegram/cmake/lib_mtproto.cmake @@ -0,0 +1,25 @@ +add_library(lib_mtproto OBJECT) +init_target(lib_mtproto) + +set(lib_mtproto_sources +PRIVATE + mtproto/mtp_abstract_socket.cpp + mtproto/mtp_abstract_socket.h + mtproto/mtp_tcp_socket.cpp + mtproto/mtp_tcp_socket.h + mtproto/mtp_tls_socket.cpp + mtproto/mtp_tls_socket.h +) +nice_target_sources(lib_mtproto ${src_loc} "${lib_mtproto_sources}") + +force_include(lib_mtproto mtproto/mtp_pch.h) + +target_include_directories(lib_mtproto +PUBLIC + ${src_loc} +) + +target_link_libraries(lib_mtproto +PUBLIC + lib_scheme +) diff --git a/Telegram/cmake/lib_scheme.cmake b/Telegram/cmake/lib_scheme.cmake new file mode 100644 index 0000000000..eaf1fa4e06 --- /dev/null +++ b/Telegram/cmake/lib_scheme.cmake @@ -0,0 +1,22 @@ +add_library(lib_scheme OBJECT) +init_target(lib_scheme) + +include(cmake/generate_scheme.cmake) + +set(scheme_files + ${res_loc}/tl/mtproto.tl + ${res_loc}/tl/api.tl +) + +generate_scheme(lib_scheme ${src_loc}/codegen/scheme/codegen_scheme.py "${scheme_files}") + +target_include_directories(lib_scheme +PUBLIC + ${src_loc} +) + +target_link_libraries(lib_scheme +PUBLIC + lib_base + lib_tl +) diff --git a/Telegram/cmake/lib_tgvoip.cmake b/Telegram/cmake/lib_tgvoip.cmake new file mode 100644 index 0000000000..037b564239 --- /dev/null +++ b/Telegram/cmake/lib_tgvoip.cmake @@ -0,0 +1,732 @@ +add_library(lib_tgvoip OBJECT) +init_target_no_ranges(lib_tgvoip) + +set(tgvoip_loc ${third_party_loc}/libtgvoip) + +set(lib_tgvoip_sources +PRIVATE + BlockingQueue.cpp + BlockingQueue.h + Buffers.cpp + Buffers.h + CongestionControl.cpp + CongestionControl.h + EchoCanceller.cpp + EchoCanceller.h + JitterBuffer.cpp + JitterBuffer.h + logging.cpp + logging.h + MediaStreamItf.cpp + MediaStreamItf.h + OpusDecoder.cpp + OpusDecoder.h + OpusEncoder.cpp + OpusEncoder.h + threading.h + VoIPController.cpp + VoIPGroupController.cpp + VoIPController.h + PrivateDefines.h + VoIPServerConfig.cpp + VoIPServerConfig.h + audio/AudioInput.cpp + audio/AudioInput.h + audio/AudioOutput.cpp + audio/AudioOutput.h + audio/Resampler.cpp + audio/Resampler.h + NetworkSocket.cpp + NetworkSocket.h + PacketReassembler.cpp + PacketReassembler.h + MessageThread.cpp + MessageThread.h + audio/AudioIO.cpp + audio/AudioIO.h + video/ScreamCongestionController.cpp + video/ScreamCongestionController.h + video/VideoSource.cpp + video/VideoSource.h + video/VideoRenderer.cpp + video/VideoRenderer.h + json11.cpp + json11.hpp + + # Windows + os/windows/NetworkSocketWinsock.cpp + os/windows/NetworkSocketWinsock.h + os/windows/AudioInputWave.cpp + os/windows/AudioInputWave.h + os/windows/AudioOutputWave.cpp + os/windows/AudioOutputWave.h + os/windows/AudioOutputWASAPI.cpp + os/windows/AudioOutputWASAPI.h + os/windows/AudioInputWASAPI.cpp + os/windows/AudioInputWASAPI.h + os/windows/WindowsSpecific.cpp + os/windows/WindowsSpecific.h + + # macOS + os/darwin/AudioInputAudioUnit.cpp + os/darwin/AudioInputAudioUnit.h + os/darwin/AudioOutputAudioUnit.cpp + os/darwin/AudioOutputAudioUnit.h + os/darwin/AudioInputAudioUnitOSX.cpp + os/darwin/AudioInputAudioUnitOSX.h + os/darwin/AudioOutputAudioUnitOSX.cpp + os/darwin/AudioOutputAudioUnitOSX.h + os/darwin/AudioUnitIO.cpp + os/darwin/AudioUnitIO.h + os/darwin/DarwinSpecific.mm + os/darwin/DarwinSpecific.h + + # Linux + os/linux/AudioInputALSA.cpp + os/linux/AudioInputALSA.h + os/linux/AudioOutputALSA.cpp + os/linux/AudioOutputALSA.h + os/linux/AudioOutputPulse.cpp + os/linux/AudioOutputPulse.h + os/linux/AudioInputPulse.cpp + os/linux/AudioInputPulse.h + os/linux/AudioPulse.cpp + os/linux/AudioPulse.h + + # POSIX + os/posix/NetworkSocketPosix.cpp + os/posix/NetworkSocketPosix.h + + # WebRTC APM + webrtc_dsp/system_wrappers/include/field_trial.h + webrtc_dsp/system_wrappers/include/cpu_features_wrapper.h + webrtc_dsp/system_wrappers/include/asm_defines.h + webrtc_dsp/system_wrappers/include/metrics.h + webrtc_dsp/system_wrappers/include/compile_assert_c.h + webrtc_dsp/system_wrappers/source/field_trial.cc + webrtc_dsp/system_wrappers/source/metrics.cc + webrtc_dsp/system_wrappers/source/cpu_features.cc + webrtc_dsp/typedefs.h + webrtc_dsp/absl/strings/internal/memutil.h + webrtc_dsp/absl/strings/internal/memutil.cc + webrtc_dsp/absl/strings/string_view.cc + webrtc_dsp/absl/strings/ascii.h + webrtc_dsp/absl/strings/ascii.cc + webrtc_dsp/absl/strings/string_view.h + webrtc_dsp/absl/types/optional.h + webrtc_dsp/absl/types/bad_optional_access.h + webrtc_dsp/absl/types/bad_optional_access.cc + webrtc_dsp/absl/types/optional.cc + webrtc_dsp/absl/memory/memory.h + webrtc_dsp/absl/meta/type_traits.h + webrtc_dsp/absl/algorithm/algorithm.h + webrtc_dsp/absl/container/inlined_vector.h + webrtc_dsp/absl/base/policy_checks.h + webrtc_dsp/absl/base/port.h + webrtc_dsp/absl/base/config.h + webrtc_dsp/absl/base/internal/raw_logging.cc + webrtc_dsp/absl/base/internal/throw_delegate.cc + webrtc_dsp/absl/base/internal/invoke.h + webrtc_dsp/absl/base/internal/inline_variable.h + webrtc_dsp/absl/base/internal/atomic_hook.h + webrtc_dsp/absl/base/internal/identity.h + webrtc_dsp/absl/base/internal/raw_logging.h + webrtc_dsp/absl/base/internal/throw_delegate.h + webrtc_dsp/absl/base/attributes.h + webrtc_dsp/absl/base/macros.h + webrtc_dsp/absl/base/optimization.h + webrtc_dsp/absl/base/log_severity.h + webrtc_dsp/absl/utility/utility.h + webrtc_dsp/rtc_base/string_to_number.h + webrtc_dsp/rtc_base/constructormagic.h + webrtc_dsp/rtc_base/race_checker.cc + webrtc_dsp/rtc_base/strings/string_builder.h + webrtc_dsp/rtc_base/strings/string_builder.cc + webrtc_dsp/rtc_base/event_tracer.h + webrtc_dsp/rtc_base/stringencode.h + webrtc_dsp/rtc_base/memory/aligned_malloc.cc + webrtc_dsp/rtc_base/memory/aligned_malloc.h + webrtc_dsp/rtc_base/timeutils.cc + webrtc_dsp/rtc_base/event.h + webrtc_dsp/rtc_base/ignore_wundef.h + webrtc_dsp/rtc_base/stringutils.h + webrtc_dsp/rtc_base/arraysize.h + webrtc_dsp/rtc_base/platform_file.cc + webrtc_dsp/rtc_base/swap_queue.h + webrtc_dsp/rtc_base/string_to_number.cc + webrtc_dsp/rtc_base/trace_event.h + webrtc_dsp/rtc_base/checks.h + webrtc_dsp/rtc_base/deprecation.h + webrtc_dsp/rtc_base/thread_checker_impl.cc + webrtc_dsp/rtc_base/sanitizer.h + webrtc_dsp/rtc_base/scoped_ref_ptr.h + webrtc_dsp/rtc_base/logging.h + webrtc_dsp/rtc_base/timeutils.h + webrtc_dsp/rtc_base/atomicops.h + webrtc_dsp/rtc_base/stringencode.cc + webrtc_dsp/rtc_base/stringutils.cc + webrtc_dsp/rtc_base/checks.cc + webrtc_dsp/rtc_base/numerics/safe_minmax.h + webrtc_dsp/rtc_base/numerics/safe_conversions.h + webrtc_dsp/rtc_base/numerics/safe_conversions_impl.h + webrtc_dsp/rtc_base/numerics/safe_compare.h + webrtc_dsp/rtc_base/system/unused.h + webrtc_dsp/rtc_base/system/inline.h + webrtc_dsp/rtc_base/system/ignore_warnings.h + webrtc_dsp/rtc_base/system/asm_defines.h + webrtc_dsp/rtc_base/system/rtc_export.h + webrtc_dsp/rtc_base/system/arch.h + webrtc_dsp/rtc_base/platform_thread.cc + webrtc_dsp/rtc_base/platform_thread.h + webrtc_dsp/rtc_base/platform_thread_types.h + webrtc_dsp/rtc_base/protobuf_utils.h + webrtc_dsp/rtc_base/thread_annotations.h + webrtc_dsp/rtc_base/gtest_prod_util.h + webrtc_dsp/rtc_base/function_view.h + webrtc_dsp/rtc_base/criticalsection.h + webrtc_dsp/rtc_base/criticalsection.cc + webrtc_dsp/rtc_base/platform_thread_types.cc + webrtc_dsp/rtc_base/refcount.h + webrtc_dsp/rtc_base/event.cc + webrtc_dsp/rtc_base/thread_checker_impl.h + webrtc_dsp/rtc_base/event_tracer.cc + webrtc_dsp/rtc_base/compile_assert_c.h + webrtc_dsp/rtc_base/logging_webrtc.cc + webrtc_dsp/rtc_base/type_traits.h + webrtc_dsp/rtc_base/platform_file.h + webrtc_dsp/rtc_base/refcounter.h + webrtc_dsp/rtc_base/logging_mac.h + webrtc_dsp/rtc_base/thread_checker.h + webrtc_dsp/rtc_base/race_checker.h + webrtc_dsp/rtc_base/refcountedobject.h + webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.cc + webrtc_dsp/third_party/rnnoise/src/rnn_activations.h + webrtc_dsp/third_party/rnnoise/src/kiss_fft.h + webrtc_dsp/third_party/rnnoise/src/kiss_fft.cc + webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.h + webrtc_dsp/api/audio/audio_frame.cc + webrtc_dsp/api/audio/echo_canceller3_config.h + webrtc_dsp/api/audio/echo_control.h + webrtc_dsp/api/audio/audio_frame.h + webrtc_dsp/api/audio/echo_canceller3_config.cc + webrtc_dsp/api/audio/echo_canceller3_factory.h + webrtc_dsp/api/audio/echo_canceller3_factory.cc + webrtc_dsp/api/array_view.h + webrtc_dsp/modules/third_party/fft/fft.h + webrtc_dsp/modules/third_party/fft/fft.c + webrtc_dsp/modules/audio_coding/codecs/isac/bandwidth_info.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/include/isac.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_logist.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/os_specific_inline.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filterbanks.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/settings.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/transform.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lattice.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/intialize.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_float_type.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_hist.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/codec.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/structs.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode_bwe.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac.c + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.h + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.h + webrtc_dsp/modules/audio_processing/rms_level.cc + webrtc_dsp/modules/audio_processing/echo_detector/moving_max.h + webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.h + webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.h + webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.cc + webrtc_dsp/modules/audio_processing/echo_detector/moving_max.cc + webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.cc + webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.cc + webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.h + webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.h + webrtc_dsp/modules/audio_processing/splitting_filter.cc + webrtc_dsp/modules/audio_processing/gain_control_impl.cc + webrtc_dsp/modules/audio_processing/rms_level.h + webrtc_dsp/modules/audio_processing/ns/ns_core.h + webrtc_dsp/modules/audio_processing/ns/nsx_core.c + webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.c + webrtc_dsp/modules/audio_processing/ns/nsx_core_c.c + webrtc_dsp/modules/audio_processing/ns/defines.h + webrtc_dsp/modules/audio_processing/ns/noise_suppression.h + webrtc_dsp/modules/audio_processing/ns/ns_core.c + webrtc_dsp/modules/audio_processing/ns/nsx_core.h + webrtc_dsp/modules/audio_processing/ns/windows_private.h + webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.h + webrtc_dsp/modules/audio_processing/ns/noise_suppression.c + webrtc_dsp/modules/audio_processing/ns/nsx_defines.h + webrtc_dsp/modules/audio_processing/residual_echo_detector.h + webrtc_dsp/modules/audio_processing/audio_processing_impl.h + webrtc_dsp/modules/audio_processing/audio_buffer.cc + webrtc_dsp/modules/audio_processing/typing_detection.cc + webrtc_dsp/modules/audio_processing/render_queue_item_verifier.h + webrtc_dsp/modules/audio_processing/include/audio_generator.h + webrtc_dsp/modules/audio_processing/include/config.h + webrtc_dsp/modules/audio_processing/include/audio_frame_view.h + webrtc_dsp/modules/audio_processing/include/mock_audio_processing.h + webrtc_dsp/modules/audio_processing/include/gain_control.h + webrtc_dsp/modules/audio_processing/include/audio_generator_factory.h + webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.cc + webrtc_dsp/modules/audio_processing/include/audio_generator_factory.cc + webrtc_dsp/modules/audio_processing/include/aec_dump.cc + webrtc_dsp/modules/audio_processing/include/aec_dump.h + webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.h + webrtc_dsp/modules/audio_processing/include/audio_processing.h + webrtc_dsp/modules/audio_processing/include/audio_processing.cc + webrtc_dsp/modules/audio_processing/include/config.cc + webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.h + webrtc_dsp/modules/audio_processing/agc2/biquad_filter.h + webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.cc + webrtc_dsp/modules/audio_processing/agc2/agc2_common.cc + webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.h + webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.h + webrtc_dsp/modules/audio_processing/agc2/gain_applier.cc + webrtc_dsp/modules/audio_processing/agc2/signal_classifier.h + webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.cc + webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.cc + webrtc_dsp/modules/audio_processing/agc2/limiter.cc + webrtc_dsp/modules/audio_processing/agc2/saturation_protector.cc + webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.h + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.cc + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/sequence_buffer.h + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.h + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.cc + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/test_utils.h + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_info.h + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.h + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/ring_buffer.h + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.cc + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/symmetric_matrix_buffer.h + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.h + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.h + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/common.h + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.h + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.h + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.cc + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.h + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.cc + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.h + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.cc + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.cc + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.cc + webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.h + webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.cc + webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.cc + webrtc_dsp/modules/audio_processing/agc2/down_sampler.h + webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.cc + webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.cc + webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.cc + webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.cc + webrtc_dsp/modules/audio_processing/agc2/saturation_protector.h + webrtc_dsp/modules/audio_processing/agc2/vad_with_level.cc + webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.cc + webrtc_dsp/modules/audio_processing/agc2/agc2_common.h + webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.h + webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.h + webrtc_dsp/modules/audio_processing/agc2/vad_with_level.h + webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.h + webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.h + webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.h + webrtc_dsp/modules/audio_processing/agc2/gain_applier.h + webrtc_dsp/modules/audio_processing/agc2/down_sampler.cc + webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.h + webrtc_dsp/modules/audio_processing/agc2/signal_classifier.cc + webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.cc + webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.cc + webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.h + webrtc_dsp/modules/audio_processing/agc2/biquad_filter.cc + webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.h + webrtc_dsp/modules/audio_processing/agc2/limiter.h + webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc + webrtc_dsp/modules/audio_processing/transient/moving_moments.cc + webrtc_dsp/modules/audio_processing/transient/transient_detector.h + webrtc_dsp/modules/audio_processing/transient/wpd_tree.cc + webrtc_dsp/modules/audio_processing/transient/transient_suppressor.h + webrtc_dsp/modules/audio_processing/transient/daubechies_8_wavelet_coeffs.h + webrtc_dsp/modules/audio_processing/transient/common.h + webrtc_dsp/modules/audio_processing/transient/wpd_node.h + webrtc_dsp/modules/audio_processing/transient/moving_moments.h + webrtc_dsp/modules/audio_processing/transient/wpd_tree.h + webrtc_dsp/modules/audio_processing/transient/wpd_node.cc + webrtc_dsp/modules/audio_processing/transient/transient_suppressor.cc + webrtc_dsp/modules/audio_processing/transient/transient_detector.cc + webrtc_dsp/modules/audio_processing/transient/dyadic_decimator.h + webrtc_dsp/modules/audio_processing/low_cut_filter.cc + webrtc_dsp/modules/audio_processing/noise_suppression_impl.h + webrtc_dsp/modules/audio_processing/level_estimator_impl.cc + webrtc_dsp/modules/audio_processing/three_band_filter_bank.cc + webrtc_dsp/modules/audio_processing/aec/echo_cancellation.cc + webrtc_dsp/modules/audio_processing/aec/aec_resampler.h + webrtc_dsp/modules/audio_processing/aec/aec_resampler.cc + webrtc_dsp/modules/audio_processing/aec/echo_cancellation.h + webrtc_dsp/modules/audio_processing/aec/aec_core.cc + webrtc_dsp/modules/audio_processing/aec/aec_core.h + webrtc_dsp/modules/audio_processing/aec/aec_core_optimized_methods.h + webrtc_dsp/modules/audio_processing/aec/aec_core_sse2.cc + webrtc_dsp/modules/audio_processing/aec/aec_common.h + webrtc_dsp/modules/audio_processing/voice_detection_impl.h + webrtc_dsp/modules/audio_processing/voice_detection_impl.cc + webrtc_dsp/modules/audio_processing/echo_cancellation_impl.cc + webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.cc + webrtc_dsp/modules/audio_processing/agc/agc.cc + webrtc_dsp/modules/audio_processing/agc/loudness_histogram.cc + webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.cc + webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.h + webrtc_dsp/modules/audio_processing/agc/legacy/gain_control.h + webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.h + webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.c + webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.c + webrtc_dsp/modules/audio_processing/agc/utility.cc + webrtc_dsp/modules/audio_processing/agc/mock_agc.h + webrtc_dsp/modules/audio_processing/agc/loudness_histogram.h + webrtc_dsp/modules/audio_processing/agc/gain_map_internal.h + webrtc_dsp/modules/audio_processing/agc/utility.h + webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.h + webrtc_dsp/modules/audio_processing/agc/agc.h + webrtc_dsp/modules/audio_processing/common.h + webrtc_dsp/modules/audio_processing/audio_processing_impl.cc + webrtc_dsp/modules/audio_processing/audio_buffer.h + webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.h + webrtc_dsp/modules/audio_processing/splitting_filter.h + webrtc_dsp/modules/audio_processing/low_cut_filter.h + webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.h + webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.cc + webrtc_dsp/modules/audio_processing/gain_controller2.cc + webrtc_dsp/modules/audio_processing/three_band_filter_bank.h + webrtc_dsp/modules/audio_processing/residual_echo_detector.cc + webrtc_dsp/modules/audio_processing/echo_cancellation_impl.h + webrtc_dsp/modules/audio_processing/noise_suppression_impl.cc + webrtc_dsp/modules/audio_processing/level_estimator_impl.h + webrtc_dsp/modules/audio_processing/gain_controller2.h + webrtc_dsp/modules/audio_processing/aecm/aecm_core.h + webrtc_dsp/modules/audio_processing/aecm/aecm_defines.h + webrtc_dsp/modules/audio_processing/aecm/aecm_core.cc + webrtc_dsp/modules/audio_processing/aecm/aecm_core_c.cc + webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.h + webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.cc + webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.cc + webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.h + webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.h + webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.cc + webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.h + webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.h + webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.cc + webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.cc + webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer2.cc + webrtc_dsp/modules/audio_processing/aec3/aec_state.h + webrtc_dsp/modules/audio_processing/aec3/suppression_filter.h + webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.cc + webrtc_dsp/modules/audio_processing/aec3/frame_blocker.cc + webrtc_dsp/modules/audio_processing/aec3/subtractor.cc + webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.h + webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.h + webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.h + webrtc_dsp/modules/audio_processing/aec3/matched_filter.h + webrtc_dsp/modules/audio_processing/aec3/subtractor_output.h + webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.h + webrtc_dsp/modules/audio_processing/aec3/aec3_fft.cc + webrtc_dsp/modules/audio_processing/aec3/aec3_fft.h + webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.h + webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.cc + webrtc_dsp/modules/audio_processing/aec3/suppression_filter.cc + webrtc_dsp/modules/audio_processing/aec3/block_processor.cc + webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.h + webrtc_dsp/modules/audio_processing/aec3/subtractor.h + webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.h + webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.cc + webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.cc + webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.cc + webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.h + webrtc_dsp/modules/audio_processing/aec3/vector_buffer.cc + webrtc_dsp/modules/audio_processing/aec3/erl_estimator.cc + webrtc_dsp/modules/audio_processing/aec3/aec_state.cc + webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.cc + webrtc_dsp/modules/audio_processing/aec3/fft_data.h + webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.cc + webrtc_dsp/modules/audio_processing/aec3/skew_estimator.cc + webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.h + webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.h + webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.cc + webrtc_dsp/modules/audio_processing/aec3/erl_estimator.h + webrtc_dsp/modules/audio_processing/aec3/echo_remover.h + webrtc_dsp/modules/audio_processing/aec3/block_framer.cc + webrtc_dsp/modules/audio_processing/aec3/erle_estimator.cc + webrtc_dsp/modules/audio_processing/aec3/reverb_model.cc + webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.cc + webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.h + webrtc_dsp/modules/audio_processing/aec3/render_buffer.cc + webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.h + webrtc_dsp/modules/audio_processing/aec3/subtractor_output.cc + webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.cc + webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.cc + webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.h + webrtc_dsp/modules/audio_processing/aec3/moving_average.h + webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.h + webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.cc + webrtc_dsp/modules/audio_processing/aec3/suppression_gain.cc + webrtc_dsp/modules/audio_processing/aec3/echo_audibility.cc + webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.cc + webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.h + webrtc_dsp/modules/audio_processing/aec3/suppression_gain.h + webrtc_dsp/modules/audio_processing/aec3/moving_average.cc + webrtc_dsp/modules/audio_processing/aec3/erle_estimator.h + webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.h + webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.cc + webrtc_dsp/modules/audio_processing/aec3/aec3_common.cc + webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.cc + webrtc_dsp/modules/audio_processing/aec3/block_processor.h + webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.h + webrtc_dsp/modules/audio_processing/aec3/matched_filter.cc + webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.h + webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.h + webrtc_dsp/modules/audio_processing/aec3/skew_estimator.h + webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.cc + webrtc_dsp/modules/audio_processing/aec3/render_delay_controller2.cc + webrtc_dsp/modules/audio_processing/aec3/render_buffer.h + webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.cc + webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.cc + webrtc_dsp/modules/audio_processing/aec3/echo_remover.cc + webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.h + webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.cc + webrtc_dsp/modules/audio_processing/aec3/vector_buffer.h + webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.cc + webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.h + webrtc_dsp/modules/audio_processing/aec3/echo_audibility.h + webrtc_dsp/modules/audio_processing/aec3/fft_buffer.h + webrtc_dsp/modules/audio_processing/aec3/block_processor2.cc + webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.cc + webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.cc + webrtc_dsp/modules/audio_processing/aec3/aec3_common.h + webrtc_dsp/modules/audio_processing/aec3/fft_buffer.cc + webrtc_dsp/modules/audio_processing/aec3/vector_math.h + webrtc_dsp/modules/audio_processing/aec3/decimator.h + webrtc_dsp/modules/audio_processing/aec3/frame_blocker.h + webrtc_dsp/modules/audio_processing/aec3/block_framer.h + webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.h + webrtc_dsp/modules/audio_processing/aec3/delay_estimate.h + webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.cc + webrtc_dsp/modules/audio_processing/aec3/reverb_model.h + webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.h + webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.h + webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.cc + webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.cc + webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.h + webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.cc + webrtc_dsp/modules/audio_processing/aec3/decimator.cc + webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.h + webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.cc + webrtc_dsp/modules/audio_processing/gain_control_impl.h + webrtc_dsp/modules/audio_processing/typing_detection.h + webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.cc + webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.h + webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.cc + webrtc_dsp/modules/audio_processing/vad/standalone_vad.cc + webrtc_dsp/modules/audio_processing/vad/vad_audio_proc_internal.h + webrtc_dsp/modules/audio_processing/vad/pitch_internal.cc + webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.cc + webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.h + webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.h + webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.cc + webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.cc + webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.h + webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.cc + webrtc_dsp/modules/audio_processing/vad/gmm.h + webrtc_dsp/modules/audio_processing/vad/common.h + webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.h + webrtc_dsp/modules/audio_processing/vad/voice_gmm_tables.h + webrtc_dsp/modules/audio_processing/vad/noise_gmm_tables.h + webrtc_dsp/modules/audio_processing/vad/pitch_internal.h + webrtc_dsp/modules/audio_processing/vad/gmm.cc + webrtc_dsp/modules/audio_processing/vad/standalone_vad.h + webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.h + webrtc_dsp/modules/audio_processing/utility/delay_estimator_internal.h + webrtc_dsp/modules/audio_processing/utility/ooura_fft.cc + webrtc_dsp/modules/audio_processing/utility/ooura_fft.h + webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.cc + webrtc_dsp/modules/audio_processing/utility/ooura_fft_sse2.cc + webrtc_dsp/modules/audio_processing/utility/delay_estimator.cc + webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.h + webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.cc + webrtc_dsp/modules/audio_processing/utility/delay_estimator.h + webrtc_dsp/modules/audio_processing/utility/ooura_fft_tables_common.h + webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.h + webrtc_dsp/common_audio/mocks/mock_smoothing_filter.h + webrtc_dsp/common_audio/wav_file.h + webrtc_dsp/common_audio/window_generator.cc + webrtc_dsp/common_audio/channel_buffer.cc + webrtc_dsp/common_audio/fir_filter_factory.cc + webrtc_dsp/common_audio/sparse_fir_filter.h + webrtc_dsp/common_audio/fir_filter_sse.h + webrtc_dsp/common_audio/window_generator.h + webrtc_dsp/common_audio/ring_buffer.h + webrtc_dsp/common_audio/fir_filter.h + webrtc_dsp/common_audio/include/audio_util.h + webrtc_dsp/common_audio/wav_header.cc + webrtc_dsp/common_audio/real_fourier_ooura.cc + webrtc_dsp/common_audio/audio_util.cc + webrtc_dsp/common_audio/real_fourier_ooura.h + webrtc_dsp/common_audio/fir_filter_sse.cc + webrtc_dsp/common_audio/smoothing_filter.h + webrtc_dsp/common_audio/resampler/push_sinc_resampler.cc + webrtc_dsp/common_audio/resampler/sinc_resampler.h + webrtc_dsp/common_audio/resampler/resampler.cc + webrtc_dsp/common_audio/resampler/sinc_resampler_sse.cc + webrtc_dsp/common_audio/resampler/include/push_resampler.h + webrtc_dsp/common_audio/resampler/include/resampler.h + webrtc_dsp/common_audio/resampler/push_sinc_resampler.h + webrtc_dsp/common_audio/resampler/push_resampler.cc + webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.h + webrtc_dsp/common_audio/resampler/sinc_resampler.cc + webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.cc + webrtc_dsp/common_audio/fir_filter_factory.h + webrtc_dsp/common_audio/audio_converter.h + webrtc_dsp/common_audio/wav_file.cc + webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.c + webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.h + webrtc_dsp/common_audio/third_party/fft4g/fft4g.c + webrtc_dsp/common_audio/third_party/fft4g/fft4g.h + webrtc_dsp/common_audio/audio_converter.cc + webrtc_dsp/common_audio/real_fourier.cc + webrtc_dsp/common_audio/channel_buffer.h + webrtc_dsp/common_audio/real_fourier.h + webrtc_dsp/common_audio/sparse_fir_filter.cc + webrtc_dsp/common_audio/smoothing_filter.cc + webrtc_dsp/common_audio/fir_filter_c.cc + webrtc_dsp/common_audio/ring_buffer.c + webrtc_dsp/common_audio/fir_filter_c.h + webrtc_dsp/common_audio/signal_processing/complex_fft_tables.h + webrtc_dsp/common_audio/signal_processing/complex_fft.c + webrtc_dsp/common_audio/signal_processing/filter_ma_fast_q12.c + webrtc_dsp/common_audio/signal_processing/levinson_durbin.c + webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.cc + webrtc_dsp/common_audio/signal_processing/auto_corr_to_refl_coef.c + webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.c + webrtc_dsp/common_audio/signal_processing/energy.c + webrtc_dsp/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c + webrtc_dsp/common_audio/signal_processing/downsample_fast.c + webrtc_dsp/common_audio/signal_processing/splitting_filter1.c + webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12.c + webrtc_dsp/common_audio/signal_processing/spl_init.c + webrtc_dsp/common_audio/signal_processing/lpc_to_refl_coef.c + webrtc_dsp/common_audio/signal_processing/cross_correlation.c + webrtc_dsp/common_audio/signal_processing/include/signal_processing_library.h + webrtc_dsp/common_audio/signal_processing/include/real_fft.h + webrtc_dsp/common_audio/signal_processing/include/spl_inl.h + webrtc_dsp/common_audio/signal_processing/division_operations.c + webrtc_dsp/common_audio/signal_processing/auto_correlation.c + webrtc_dsp/common_audio/signal_processing/get_scaling_square.c + webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.h + webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.h + webrtc_dsp/common_audio/signal_processing/resample.c + webrtc_dsp/common_audio/signal_processing/min_max_operations.c + webrtc_dsp/common_audio/signal_processing/refl_coef_to_lpc.c + webrtc_dsp/common_audio/signal_processing/filter_ar.c + webrtc_dsp/common_audio/signal_processing/vector_scaling_operations.c + webrtc_dsp/common_audio/signal_processing/resample_fractional.c + webrtc_dsp/common_audio/signal_processing/real_fft.c + webrtc_dsp/common_audio/signal_processing/ilbc_specific_functions.c + webrtc_dsp/common_audio/signal_processing/complex_bit_reverse.c + webrtc_dsp/common_audio/signal_processing/randomization_functions.c + webrtc_dsp/common_audio/signal_processing/copy_set_operations.c + webrtc_dsp/common_audio/signal_processing/resample_by_2.c + webrtc_dsp/common_audio/signal_processing/get_hanning_window.c + webrtc_dsp/common_audio/signal_processing/resample_48khz.c + webrtc_dsp/common_audio/signal_processing/spl_inl.c + webrtc_dsp/common_audio/signal_processing/spl_sqrt.c + webrtc_dsp/common_audio/wav_header.h + webrtc_dsp/common_audio/vad/vad_sp.c + webrtc_dsp/common_audio/vad/vad.cc + webrtc_dsp/common_audio/vad/webrtc_vad.c + webrtc_dsp/common_audio/vad/vad_core.h + webrtc_dsp/common_audio/vad/include/vad.h + webrtc_dsp/common_audio/vad/include/webrtc_vad.h + webrtc_dsp/common_audio/vad/vad_gmm.h + webrtc_dsp/common_audio/vad/vad_filterbank.c + webrtc_dsp/common_audio/vad/vad_core.c + webrtc_dsp/common_audio/vad/vad_sp.h + webrtc_dsp/common_audio/vad/vad_filterbank.h + webrtc_dsp/common_audio/vad/vad_gmm.c + + # ARM/NEON sources + # TODO check if there's a good way to make these compile with ARM ports of TDesktop + # webrtc_dsp/modules/audio_processing/ns/nsx_core_neon.c + # webrtc_dsp/modules/audio_processing/aec/aec_core_neon.cc + # webrtc_dsp/modules/audio_processing/aecm/aecm_core_neon.cc + # webrtc_dsp/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h + # webrtc_dsp/modules/audio_processing/utility/ooura_fft_neon.cc + # webrtc_dsp/common_audio/fir_filter_neon.cc + # webrtc_dsp/common_audio/resampler/sinc_resampler_neon.cc + # webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor_arm.S + # webrtc_dsp/common_audio/fir_filter_neon.h + # webrtc_dsp/common_audio/signal_processing/downsample_fast_neon.c + # webrtc_dsp/common_audio/signal_processing/complex_bit_reverse_arm.S + # webrtc_dsp/common_audio/signal_processing/include/spl_inl_armv7.h + # webrtc_dsp/common_audio/signal_processing/min_max_operations_neon.c + # webrtc_dsp/common_audio/signal_processing/cross_correlation_neon.c + # webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12_armv7.S +) + +nice_target_sources(lib_tgvoip ${tgvoip_loc} "${lib_tgvoip_sources}") + +target_compile_definitions(lib_tgvoip +PRIVATE + WEBRTC_APM_DEBUG_DUMP=0 + TGVOIP_USE_DESKTOP_DSP + WEBRTC_NS_FLOAT + WEBRTC_WIN +) + +if (WIN32) + target_compile_options(lib_tgvoip + PRIVATE + /wd4005 + ) +endif() + +target_include_directories(lib_tgvoip +PUBLIC + ${tgvoip_loc} +PRIVATE + ${tgvoip_loc}/webrtc_dsp + ${libs_loc}/opus/include +) + +target_link_libraries(lib_tgvoip +PRIVATE + external_openssl +) diff --git a/Telegram/lib_lottie b/Telegram/lib_lottie index 94efb93b07..b8127c8aa2 160000 --- a/Telegram/lib_lottie +++ b/Telegram/lib_lottie @@ -1 +1 @@ -Subproject commit 94efb93b07ca46a3f0142cf75059093f8dfe6f06 +Subproject commit b8127c8aa2d55a3e110249e63b766db5cbe82f97 diff --git a/Telegram/lib_rlottie b/Telegram/lib_rlottie index 0671bf7054..3f9823f939 160000 --- a/Telegram/lib_rlottie +++ b/Telegram/lib_rlottie @@ -1 +1 @@ -Subproject commit 0671bf70547381effcf442ec9618e04502a8adbc +Subproject commit 3f9823f939eeb9524d5b15d30993589b8860a168 diff --git a/Telegram/lib_spellcheck b/Telegram/lib_spellcheck index 0269666dea..01f028516b 160000 --- a/Telegram/lib_spellcheck +++ b/Telegram/lib_spellcheck @@ -1 +1 @@ -Subproject commit 0269666dea57837f56f0eca965fc1f1a61bb9e27 +Subproject commit 01f028516bcb2041b6ad2aaba1bcd4d62bc32e90 diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 6126263fa6..ec3b9b5e62 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -1,19 +1,29 @@ add_subdirectory(external) -add_library(common INTERFACE) +add_library(with_ranges INTERFACE) -target_compile_features(common +if (WIN32) + target_compile_options(with_ranges + INTERFACE + /experimental:preprocessor # need for range-v3 see https://github.com/ericniebler/range-v3#supported-compilers + /wd5105 # needed for `/experimental:preprocessor`, suppressing C5105 "macro expansion producing 'defined' has undefined behavior" + ) +endif() + +add_library(common_no_ranges INTERFACE) + +target_compile_features(common_no_ranges INTERFACE cxx_std_17 ) -target_compile_definitions(common +target_compile_definitions(common_no_ranges INTERFACE UNICODE ) if (WIN32) - target_compile_definitions(common + target_compile_definitions(common_no_ranges INTERFACE WIN32 _WINDOWS @@ -25,7 +35,7 @@ if (WIN32) _USING_V110_SDK71_ NOMINMAX ) - target_compile_options(common + target_compile_options(common_no_ranges INTERFACE /permissive- # /Qspectre @@ -36,11 +46,11 @@ if (WIN32) /w14834 # [[nodiscard]] /w15038 # wrong initialization order /w14265 # class has virtual functions, but destructor is not virtual - /experimental:preprocessor # need for range-v3 see https://github.com/ericniebler/range-v3#supported-compilers + /wd4068 # Disable "warning C4068: unknown pragma" /wd5105 # needed for `/experimental:preprocessor`, suppressing C5105 "macro expansion producing 'defined' has undefined behavior" /Zc:wchar_t- # don't tread wchar_t as builtin type ) - target_link_libraries(common + target_link_libraries(common_no_ranges INTERFACE winmm imm32 @@ -72,3 +82,11 @@ if (WIN32) ) else() endif() + +add_library(common INTERFACE) + +target_link_libraries(common +INTERFACE + common_no_ranges + with_ranges +) \ No newline at end of file diff --git a/cmake/external/qt/CMakeLists.txt b/cmake/external/qt/CMakeLists.txt index edd03a6d24..bf16462a91 100644 --- a/cmake/external/qt/CMakeLists.txt +++ b/cmake/external/qt/CMakeLists.txt @@ -1,12 +1,5 @@ add_library(external_qt INTERFACE IMPORTED GLOBAL) -set(qt_version 5.12.5) - -if (WIN32) - set(qt_loc ${libs_loc}/Qt-${qt_version}) -else() -endif() - target_include_directories(external_qt SYSTEM INTERFACE ${qt_loc}/include diff --git a/cmake/external/qt/package.cmake b/cmake/external/qt/package.cmake new file mode 100644 index 0000000000..8c9cfb1e37 --- /dev/null +++ b/cmake/external/qt/package.cmake @@ -0,0 +1,17 @@ +set(qt_version 5.12.5) + +if (WIN32) + set(qt_loc ${libs_loc}/Qt-${qt_version}) +else() +endif() + +set(Qt5_DIR ${qt_loc}/lib/cmake/Qt5) + +find_package(Qt5 COMPONENTS Core Gui Widgets Network REQUIRED) + +if (LINUX) + find_package(Qt5 COMPONENTS DBus) +endif() + +set_property(GLOBAL PROPERTY AUTOGEN_SOURCE_GROUP "(gen)") +set_property(GLOBAL PROPERTY AUTOGEN_TARGETS_FOLDER "(gen)") diff --git a/cmake/generate_target.cmake b/cmake/generate_target.cmake index e4e07aec75..cca0f5a5ec 100644 --- a/cmake/generate_target.cmake +++ b/cmake/generate_target.cmake @@ -1,6 +1,6 @@ function(generate_target parent_name postfix generated_files gen_dst) add_custom_target(${parent_name}_${postfix} DEPENDS ${generated_files}) - init_target(${parent_name}_${postfix} "(gen)") + init_target_folder(${parent_name}_${postfix} "(gen)") add_dependencies(${parent_name} ${parent_name}_${postfix}) target_sources(${parent_name} PRIVATE ${generated_files}) target_include_directories(${parent_name} PUBLIC ${gen_dst}) diff --git a/cmake/init_target.cmake b/cmake/init_target.cmake index 539371b796..20da15d9da 100644 --- a/cmake/init_target.cmake +++ b/cmake/init_target.cmake @@ -1,9 +1,19 @@ -function(init_target target_name) # init_target(my_target folder_name) - set(folder_name "${ARGV1}") - set_property(TARGET ${target_name} PROPERTY - MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") +function(init_target_folder target_name folder_name) if (NOT "${folder_name}" STREQUAL "") set_target_properties(${target_name} PROPERTIES FOLDER ${folder_name}) endif() endfunction() +function(init_target_no_ranges target_name) # init_target(my_target folder_name) + init_target_folder(${target_name} "${ARGV1}") + set_property(TARGET ${target_name} PROPERTY + MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + target_link_libraries(${target_name} PUBLIC common_no_ranges) +endfunction() + +function(init_target target_name) # init_target(my_target folder_name) + init_target_folder(${target_name} "${ARGV1}") + init_target_no_ranges(${target_name}) + target_link_libraries(${target_name} PUBLIC common) +endfunction() + diff --git a/cmake/nice_target_sources.cmake b/cmake/nice_target_sources.cmake index afacbfdd3c..113ab0c97b 100644 --- a/cmake/nice_target_sources.cmake +++ b/cmake/nice_target_sources.cmake @@ -11,10 +11,10 @@ function(nice_target_sources target_name src_loc list) set(writing_now ${file}) else() set(full_name ${src_loc}/${file}) - if (${file} MATCHES "/win/" OR ${file} MATCHES "_win\\.") + if (${file} MATCHES "/win/" OR ${file} MATCHES "_win\\." OR ${file} MATCHES "/windows/") list(APPEND not_mac_sources ${full_name}) list(APPEND not_linux_sources ${full_name}) - elseif (${file} MATCHES "/mac/" OR ${file} MATCHES "_mac\\.") + elseif (${file} MATCHES "/mac/" OR ${file} MATCHES "_mac\\." OR ${file} MATCHES "/darwin/") list(APPEND not_win_sources ${full_name}) list(APPEND not_linux_sources ${full_name}) elseif (${file} MATCHES "/linux/" OR ${file} MATCHES "_linux\\.")